From e9328760105ca6ce6a22002989d30a015c5b29fa Mon Sep 17 00:00:00 2001 From: Trivikram Kamat <16024985+trivikr@users.noreply.github.com> Date: Tue, 24 Nov 2020 09:37:10 -0800 Subject: [PATCH] feat: update clients as of 11/20/2020 (#1711) --- .../client-auto-scaling/models/models_0.ts | 63 +- .../protocols/Aws_query.ts | 14 + clients/client-chime/Chime.ts | 2249 ++- clients/client-chime/ChimeClient.ts | 247 +- .../commands/CreateAppInstanceAdminCommand.ts | 82 + .../commands/CreateAppInstanceCommand.ts | 82 + .../commands/CreateAppInstanceUserCommand.ts | 82 + .../commands/CreateChannelBanCommand.ts | 82 + .../commands/CreateChannelCommand.ts | 82 + .../CreateChannelMembershipCommand.ts | 82 + .../commands/CreateChannelModeratorCommand.ts | 82 + .../commands/DeleteAppInstanceAdminCommand.ts | 82 + .../commands/DeleteAppInstanceCommand.ts | 82 + ...pInstanceStreamingConfigurationsCommand.ts | 91 + .../commands/DeleteAppInstanceUserCommand.ts | 82 + .../commands/DeleteChannelBanCommand.ts | 82 + .../commands/DeleteChannelCommand.ts | 82 + .../DeleteChannelMembershipCommand.ts | 82 + .../commands/DeleteChannelMessageCommand.ts | 82 + .../commands/DeleteChannelModeratorCommand.ts | 82 + .../DescribeAppInstanceAdminCommand.ts | 82 + .../commands/DescribeAppInstanceCommand.ts | 82 + .../DescribeAppInstanceUserCommand.ts | 82 + .../commands/DescribeChannelBanCommand.ts | 82 + .../commands/DescribeChannelCommand.ts | 82 + .../DescribeChannelMembershipCommand.ts | 85 + ...nnelMembershipForAppInstanceUserCommand.ts | 95 + ...hannelModeratedByAppInstanceUserCommand.ts | 95 + .../DescribeChannelModeratorCommand.ts | 82 + .../GetAppInstanceRetentionSettingsCommand.ts | 88 + ...pInstanceStreamingConfigurationsCommand.ts | 92 + .../commands/GetChannelMessageCommand.ts | 82 + .../GetMessagingSessionEndpointCommand.ts | 85 + .../GetVoiceConnectorTerminationCommand.ts | 2 +- ...tVoiceConnectorTerminationHealthCommand.ts | 2 +- .../commands/InviteUsersCommand.ts | 2 +- .../commands/ListAccountsCommand.ts | 2 +- .../commands/ListAppInstanceAdminsCommand.ts | 82 + .../commands/ListAppInstanceUsersCommand.ts | 82 + .../commands/ListAppInstancesCommand.ts | 82 + .../commands/ListAttendeeTagsCommand.ts | 2 +- .../commands/ListAttendeesCommand.ts | 2 +- .../client-chime/commands/ListBotsCommand.ts | 2 +- .../commands/ListChannelBansCommand.ts | 82 + .../commands/ListChannelMembershipsCommand.ts | 82 + ...nelMembershipsForAppInstanceUserCommand.ts | 95 + .../commands/ListChannelMessagesCommand.ts | 82 + .../commands/ListChannelModeratorsCommand.ts | 82 + .../commands/ListChannelsCommand.ts | 82 + ...annelsModeratedByAppInstanceUserCommand.ts | 92 + .../commands/ListMeetingTagsCommand.ts | 2 +- .../commands/ListMeetingsCommand.ts | 2 +- .../commands/ListPhoneNumberOrdersCommand.ts | 2 +- .../commands/ListPhoneNumbersCommand.ts | 2 +- .../commands/ListProxySessionsCommand.ts | 2 +- .../commands/ListRoomMembershipsCommand.ts | 2 +- .../client-chime/commands/ListRoomsCommand.ts | 2 +- .../ListSipMediaApplicationsCommand.ts | 2 +- .../commands/ListSipRulesCommand.ts | 2 +- .../commands/ListTagsForResourceCommand.ts | 2 +- .../client-chime/commands/ListUsersCommand.ts | 2 +- .../ListVoiceConnectorGroupsCommand.ts | 2 +- ...eConnectorTerminationCredentialsCommand.ts | 2 +- .../commands/ListVoiceConnectorsCommand.ts | 2 +- .../commands/LogoutUserCommand.ts | 2 +- .../PutAppInstanceRetentionSettingsCommand.ts | 88 + ...pInstanceStreamingConfigurationsCommand.ts | 92 + .../commands/PutEventsConfigurationCommand.ts | 2 +- .../commands/PutRetentionSettingsCommand.ts | 2 +- ...aApplicationLoggingConfigurationCommand.ts | 2 +- ...torEmergencyCallingConfigurationCommand.ts | 2 +- ...iceConnectorLoggingConfigurationCommand.ts | 2 +- .../PutVoiceConnectorOriginationCommand.ts | 2 +- .../commands/PutVoiceConnectorProxyCommand.ts | 2 +- ...eConnectorStreamingConfigurationCommand.ts | 2 +- .../PutVoiceConnectorTerminationCommand.ts | 2 +- ...eConnectorTerminationCredentialsCommand.ts | 2 +- .../commands/RedactChannelMessageCommand.ts | 82 + .../RedactConversationMessageCommand.ts | 2 +- .../commands/RedactRoomMessageCommand.ts | 2 +- .../RegenerateSecurityTokenCommand.ts | 2 +- .../commands/ResetPersonalPINCommand.ts | 2 +- .../commands/RestorePhoneNumberCommand.ts | 2 +- .../SearchAvailablePhoneNumbersCommand.ts | 2 +- .../commands/SendChannelMessageCommand.ts | 82 + .../commands/TagAttendeeCommand.ts | 2 +- .../commands/UpdateAppInstanceCommand.ts | 82 + .../commands/UpdateAppInstanceUserCommand.ts | 82 + .../commands/UpdateChannelCommand.ts | 82 + .../commands/UpdateChannelMessageCommand.ts | 82 + .../UpdateChannelReadMarkerCommand.ts | 82 + clients/client-chime/index.ts | 60 + clients/client-chime/models/models_0.ts | 5257 +++--- clients/client-chime/models/models_1.ts | 2426 +++ .../ListAppInstanceAdminsPaginator.ts | 51 + .../ListAppInstanceUsersPaginator.ts | 51 + .../pagination/ListAppInstancesPaginator.ts | 51 + .../pagination/ListChannelBansPaginator.ts | 51 + ...lMembershipsForAppInstanceUserPaginator.ts | 51 + .../ListChannelMembershipsPaginator.ts | 51 + .../ListChannelMessagesPaginator.ts | 51 + .../ListChannelModeratorsPaginator.ts | 51 + ...nelsModeratedByAppInstanceUserPaginator.ts | 51 + .../pagination/ListChannelsPaginator.ts | 51 + .../ListSipMediaApplicationsPaginator.ts | 51 + .../pagination/ListSipRulesPaginator.ts | 51 + .../client-chime/protocols/Aws_restJson1.ts | 14059 ++++++++++++---- clients/client-cloudhsm-v2/CloudHSMV2.ts | 74 + .../client-cloudhsm-v2/CloudHSMV2Client.ts | 9 + .../commands/ModifyBackupAttributesCommand.ts | 82 + .../commands/ModifyClusterCommand.ts | 82 + clients/client-cloudhsm-v2/index.ts | 2 + clients/client-cloudhsm-v2/models/models_0.ts | 403 +- .../protocols/Aws_json1_1.ts | 272 + .../CloudWatchEvents.ts | 17 +- .../models/models_0.ts | 1115 +- .../protocols/Aws_json1_1.ts | 19 + .../CodeGuruReviewer.ts | 114 +- .../CodeGuruReviewerClient.ts | 23 +- .../commands/ListTagsForResourceCommand.ts | 82 + .../commands/TagResourceCommand.ts | 82 + .../commands/UntagResourceCommand.ts | 82 + clients/client-codeguru-reviewer/index.ts | 3 + .../models/models_0.ts | 872 +- .../protocols/Aws_restJson1.ts | 361 +- .../models/models_0.ts | 288 +- clients/client-connect/Connect.ts | 895 + clients/client-connect/ConnectClient.ts | 120 + .../AssociateApprovedOriginCommand.ts | 82 + .../AssociateInstanceStorageConfigCommand.ts | 88 + .../AssociateLambdaFunctionCommand.ts | 82 + .../commands/AssociateLexBotCommand.ts | 82 + .../commands/AssociateSecurityKeyCommand.ts | 82 + .../commands/CreateInstanceCommand.ts | 82 + .../commands/DeleteInstanceCommand.ts | 82 + .../DescribeInstanceAttributeCommand.ts | 85 + .../commands/DescribeInstanceCommand.ts | 82 + .../DescribeInstanceStorageConfigCommand.ts | 85 + .../DisassociateApprovedOriginCommand.ts | 85 + ...isassociateInstanceStorageConfigCommand.ts | 88 + .../DisassociateLambdaFunctionCommand.ts | 85 + .../commands/DisassociateLexBotCommand.ts | 82 + .../DisassociateSecurityKeyCommand.ts | 82 + .../commands/ListApprovedOriginsCommand.ts | 82 + .../commands/ListInstanceAttributesCommand.ts | 82 + .../ListInstanceStorageConfigsCommand.ts | 85 + .../commands/ListInstancesCommand.ts | 82 + .../commands/ListLambdaFunctionsCommand.ts | 82 + .../commands/ListLexBotsCommand.ts | 82 + .../commands/ListSecurityKeysCommand.ts | 82 + .../UpdateInstanceAttributeCommand.ts | 82 + .../UpdateInstanceStorageConfigCommand.ts | 85 + clients/client-connect/index.ts | 31 + clients/client-connect/models/models_0.ts | 1544 +- .../ListApprovedOriginsPaginator.ts | 51 + .../ListInstanceAttributesPaginator.ts | 51 + .../ListInstanceStorageConfigsPaginator.ts | 51 + .../pagination/ListInstancesPaginator.ts | 51 + .../ListLambdaFunctionsPaginator.ts | 51 + .../pagination/ListLexBotsPaginator.ts | 47 + .../pagination/ListSecurityKeysPaginator.ts | 51 + .../client-connect/protocols/Aws_restJson1.ts | 5321 ++++-- clients/client-cost-explorer/CostExplorer.ts | 13 +- .../client-cost-explorer/models/models_0.ts | 1679 +- .../protocols/Aws_json1_1.ts | 4 + .../DirectoryService.ts | 157 +- .../DirectoryServiceClient.ts | 9 + .../commands/AddRegionCommand.ts | 79 + .../commands/DescribeRegionsCommand.ts | 82 + .../commands/RemoveRegionCommand.ts | 82 + clients/client-directory-service/index.ts | 3 + .../models/models_0.ts | 1760 +- .../protocols/Aws_json1_1.ts | 531 + clients/client-eventbridge/EventBridge.ts | 17 +- clients/client-eventbridge/models/models_0.ts | 1115 +- .../protocols/Aws_json1_1.ts | 19 + clients/client-glue/Glue.ts | 713 + clients/client-glue/GlueClient.ts | 84 + .../CheckSchemaVersionValidityCommand.ts | 85 + .../commands/CreateRegistryCommand.ts | 82 + .../commands/CreateSchemaCommand.ts | 82 + .../commands/DeleteRegistryCommand.ts | 82 + .../commands/DeleteSchemaCommand.ts | 82 + .../commands/DeleteSchemaVersionsCommand.ts | 82 + .../commands/GetMLTaskRunCommand.ts | 2 +- .../commands/GetMLTaskRunsCommand.ts | 2 +- .../commands/GetMLTransformCommand.ts | 3 +- .../client-glue/commands/GetMappingCommand.ts | 2 +- .../commands/GetRegistryCommand.ts | 82 + .../commands/GetSchemaByDefinitionCommand.ts | 82 + .../client-glue/commands/GetSchemaCommand.ts | 79 + .../commands/GetSchemaVersionCommand.ts | 82 + .../commands/GetSchemaVersionsDiffCommand.ts | 82 + .../commands/ListRegistriesCommand.ts | 82 + .../commands/ListSchemaVersionsCommand.ts | 82 + .../commands/ListSchemasCommand.ts | 82 + .../PutSchemaVersionMetadataCommand.ts | 82 + .../QuerySchemaVersionMetadataCommand.ts | 85 + .../commands/RegisterSchemaVersionCommand.ts | 82 + .../RemoveSchemaVersionMetadataCommand.ts | 85 + .../commands/UpdateRegistryCommand.ts | 82 + .../commands/UpdateSchemaCommand.ts | 82 + clients/client-glue/index.ts | 24 + clients/client-glue/models/models_0.ts | 5641 +++---- clients/client-glue/models/models_1.ts | 4678 +++-- .../GetResourcePoliciesPaginator.ts | 51 + .../pagination/ListRegistriesPaginator.ts | 51 + .../pagination/ListSchemaVersionsPaginator.ts | 51 + .../pagination/ListSchemasPaginator.ts | 47 + clients/client-glue/protocols/Aws_json1_1.ts | 3328 +++- clients/client-kafka/models/models_0.ts | 5 +- .../KinesisAnalyticsV2.ts | 56 +- .../KinesisAnalyticsV2Client.ts | 6 + .../CreateApplicationPresignedUrlCommand.ts | 89 + clients/client-kinesis-analytics-v2/index.ts | 1 + .../models/models_0.ts | 1232 +- .../protocols/Aws_json1_1.ts | 113 + clients/client-lambda/Lambda.ts | 6 + clients/client-lambda/models/models_0.ts | 12 + .../client-lambda/protocols/Aws_restJson1.ts | 38 + .../LexModelBuildingService.ts | 575 +- .../LexModelBuildingServiceClient.ts | 6 +- .../models/models_0.ts | 2181 ++- .../protocols/Aws_restJson1.ts | 125 + .../models/models_0.ts | 937 +- .../protocols/Aws_restJson1.ts | 278 +- clients/client-macie2/models/models_0.ts | 74 +- .../client-macie2/protocols/Aws_restJson1.ts | 19 + clients/client-medialive/models/models_0.ts | 17 +- clients/client-medialive/models/models_1.ts | 19 +- .../protocols/Aws_restJson1.ts | 12 + clients/client-redshift/index.ts | 7 + clients/client-redshift/models/models_0.ts | 3635 ++-- clients/client-redshift/models/models_1.ts | 748 +- .../DescribeClusterDbRevisionsPaginator.ts | 51 + .../DescribeClusterTracksPaginator.ts | 51 + .../DescribeSnapshotCopyGrantsPaginator.ts | 51 + .../DescribeSnapshotSchedulesPaginator.ts | 51 + .../DescribeTableRestoreStatusPaginator.ts | 51 + .../pagination/DescribeTagsPaginator.ts | 51 + ...tReservedNodeExchangeOfferingsPaginator.ts | 51 + .../client-redshift/protocols/Aws_query.ts | 2772 +-- clients/client-s3/S3.ts | 75 +- clients/client-s3/models/models_0.ts | 317 +- clients/client-s3/protocols/Aws_restXml.ts | 204 +- .../ServiceCatalogAppRegistry.ts | 17 +- .../models/models_0.ts | 64 +- .../aws-models/auto-scaling.2011-01-01.json | 24 +- .../aws-models/chime.2018-05-01.json | 9263 +++++++--- .../aws-models/cloudhsm-v2.2017-04-28.json | 531 +- .../cloudwatch-events.2015-10-07.json | 1285 +- .../codeguru-reviewer.2019-09-19.json | 779 +- .../cognito-identity.2014-06-30.json | 373 +- .../aws-models/connect.2017-08-08.json | 4358 +++-- .../aws-models/cost-explorer.2017-10-25.json | 1848 +- .../directory-service.2015-04-16.json | 1961 ++- .../aws-models/eventbridge.2015-10-07.json | 1285 +- .../aws-models/glue.2017-03-31.json | 7541 ++++++--- .../aws-models/kafka.2018-11-14.json | 10 +- .../kinesis-analytics-v2.2018-05-23.json | 1398 +- .../aws-models/lambda.2015-03-31.json | 14 +- ...lex-model-building-service.2017-04-19.json | 887 +- .../lex-runtime-service.2016-11-28.json | 690 +- .../aws-models/macie2.2020-01-01.json | 109 +- .../aws-models/medialive.2017-10-14.json | 37 + .../aws-models/redshift.2012-12-01.json | 3260 ++-- .../sdk-codegen/aws-models/s3.2006-03-01.json | 105 +- ...ervice-catalog-appregistry.2020-06-24.json | 65 +- 268 files changed, 81249 insertions(+), 33785 deletions(-) create mode 100644 clients/client-chime/commands/CreateAppInstanceAdminCommand.ts create mode 100644 clients/client-chime/commands/CreateAppInstanceCommand.ts create mode 100644 clients/client-chime/commands/CreateAppInstanceUserCommand.ts create mode 100644 clients/client-chime/commands/CreateChannelBanCommand.ts create mode 100644 clients/client-chime/commands/CreateChannelCommand.ts create mode 100644 clients/client-chime/commands/CreateChannelMembershipCommand.ts create mode 100644 clients/client-chime/commands/CreateChannelModeratorCommand.ts create mode 100644 clients/client-chime/commands/DeleteAppInstanceAdminCommand.ts create mode 100644 clients/client-chime/commands/DeleteAppInstanceCommand.ts create mode 100644 clients/client-chime/commands/DeleteAppInstanceStreamingConfigurationsCommand.ts create mode 100644 clients/client-chime/commands/DeleteAppInstanceUserCommand.ts create mode 100644 clients/client-chime/commands/DeleteChannelBanCommand.ts create mode 100644 clients/client-chime/commands/DeleteChannelCommand.ts create mode 100644 clients/client-chime/commands/DeleteChannelMembershipCommand.ts create mode 100644 clients/client-chime/commands/DeleteChannelMessageCommand.ts create mode 100644 clients/client-chime/commands/DeleteChannelModeratorCommand.ts create mode 100644 clients/client-chime/commands/DescribeAppInstanceAdminCommand.ts create mode 100644 clients/client-chime/commands/DescribeAppInstanceCommand.ts create mode 100644 clients/client-chime/commands/DescribeAppInstanceUserCommand.ts create mode 100644 clients/client-chime/commands/DescribeChannelBanCommand.ts create mode 100644 clients/client-chime/commands/DescribeChannelCommand.ts create mode 100644 clients/client-chime/commands/DescribeChannelMembershipCommand.ts create mode 100644 clients/client-chime/commands/DescribeChannelMembershipForAppInstanceUserCommand.ts create mode 100644 clients/client-chime/commands/DescribeChannelModeratedByAppInstanceUserCommand.ts create mode 100644 clients/client-chime/commands/DescribeChannelModeratorCommand.ts create mode 100644 clients/client-chime/commands/GetAppInstanceRetentionSettingsCommand.ts create mode 100644 clients/client-chime/commands/GetAppInstanceStreamingConfigurationsCommand.ts create mode 100644 clients/client-chime/commands/GetChannelMessageCommand.ts create mode 100644 clients/client-chime/commands/GetMessagingSessionEndpointCommand.ts create mode 100644 clients/client-chime/commands/ListAppInstanceAdminsCommand.ts create mode 100644 clients/client-chime/commands/ListAppInstanceUsersCommand.ts create mode 100644 clients/client-chime/commands/ListAppInstancesCommand.ts create mode 100644 clients/client-chime/commands/ListChannelBansCommand.ts create mode 100644 clients/client-chime/commands/ListChannelMembershipsCommand.ts create mode 100644 clients/client-chime/commands/ListChannelMembershipsForAppInstanceUserCommand.ts create mode 100644 clients/client-chime/commands/ListChannelMessagesCommand.ts create mode 100644 clients/client-chime/commands/ListChannelModeratorsCommand.ts create mode 100644 clients/client-chime/commands/ListChannelsCommand.ts create mode 100644 clients/client-chime/commands/ListChannelsModeratedByAppInstanceUserCommand.ts create mode 100644 clients/client-chime/commands/PutAppInstanceRetentionSettingsCommand.ts create mode 100644 clients/client-chime/commands/PutAppInstanceStreamingConfigurationsCommand.ts create mode 100644 clients/client-chime/commands/RedactChannelMessageCommand.ts create mode 100644 clients/client-chime/commands/SendChannelMessageCommand.ts create mode 100644 clients/client-chime/commands/UpdateAppInstanceCommand.ts create mode 100644 clients/client-chime/commands/UpdateAppInstanceUserCommand.ts create mode 100644 clients/client-chime/commands/UpdateChannelCommand.ts create mode 100644 clients/client-chime/commands/UpdateChannelMessageCommand.ts create mode 100644 clients/client-chime/commands/UpdateChannelReadMarkerCommand.ts create mode 100644 clients/client-chime/pagination/ListAppInstanceAdminsPaginator.ts create mode 100644 clients/client-chime/pagination/ListAppInstanceUsersPaginator.ts create mode 100644 clients/client-chime/pagination/ListAppInstancesPaginator.ts create mode 100644 clients/client-chime/pagination/ListChannelBansPaginator.ts create mode 100644 clients/client-chime/pagination/ListChannelMembershipsForAppInstanceUserPaginator.ts create mode 100644 clients/client-chime/pagination/ListChannelMembershipsPaginator.ts create mode 100644 clients/client-chime/pagination/ListChannelMessagesPaginator.ts create mode 100644 clients/client-chime/pagination/ListChannelModeratorsPaginator.ts create mode 100644 clients/client-chime/pagination/ListChannelsModeratedByAppInstanceUserPaginator.ts create mode 100644 clients/client-chime/pagination/ListChannelsPaginator.ts create mode 100644 clients/client-chime/pagination/ListSipMediaApplicationsPaginator.ts create mode 100644 clients/client-chime/pagination/ListSipRulesPaginator.ts create mode 100644 clients/client-cloudhsm-v2/commands/ModifyBackupAttributesCommand.ts create mode 100644 clients/client-cloudhsm-v2/commands/ModifyClusterCommand.ts create mode 100644 clients/client-codeguru-reviewer/commands/ListTagsForResourceCommand.ts create mode 100644 clients/client-codeguru-reviewer/commands/TagResourceCommand.ts create mode 100644 clients/client-codeguru-reviewer/commands/UntagResourceCommand.ts create mode 100644 clients/client-connect/commands/AssociateApprovedOriginCommand.ts create mode 100644 clients/client-connect/commands/AssociateInstanceStorageConfigCommand.ts create mode 100644 clients/client-connect/commands/AssociateLambdaFunctionCommand.ts create mode 100644 clients/client-connect/commands/AssociateLexBotCommand.ts create mode 100644 clients/client-connect/commands/AssociateSecurityKeyCommand.ts create mode 100644 clients/client-connect/commands/CreateInstanceCommand.ts create mode 100644 clients/client-connect/commands/DeleteInstanceCommand.ts create mode 100644 clients/client-connect/commands/DescribeInstanceAttributeCommand.ts create mode 100644 clients/client-connect/commands/DescribeInstanceCommand.ts create mode 100644 clients/client-connect/commands/DescribeInstanceStorageConfigCommand.ts create mode 100644 clients/client-connect/commands/DisassociateApprovedOriginCommand.ts create mode 100644 clients/client-connect/commands/DisassociateInstanceStorageConfigCommand.ts create mode 100644 clients/client-connect/commands/DisassociateLambdaFunctionCommand.ts create mode 100644 clients/client-connect/commands/DisassociateLexBotCommand.ts create mode 100644 clients/client-connect/commands/DisassociateSecurityKeyCommand.ts create mode 100644 clients/client-connect/commands/ListApprovedOriginsCommand.ts create mode 100644 clients/client-connect/commands/ListInstanceAttributesCommand.ts create mode 100644 clients/client-connect/commands/ListInstanceStorageConfigsCommand.ts create mode 100644 clients/client-connect/commands/ListInstancesCommand.ts create mode 100644 clients/client-connect/commands/ListLambdaFunctionsCommand.ts create mode 100644 clients/client-connect/commands/ListLexBotsCommand.ts create mode 100644 clients/client-connect/commands/ListSecurityKeysCommand.ts create mode 100644 clients/client-connect/commands/UpdateInstanceAttributeCommand.ts create mode 100644 clients/client-connect/commands/UpdateInstanceStorageConfigCommand.ts create mode 100644 clients/client-connect/pagination/ListApprovedOriginsPaginator.ts create mode 100644 clients/client-connect/pagination/ListInstanceAttributesPaginator.ts create mode 100644 clients/client-connect/pagination/ListInstanceStorageConfigsPaginator.ts create mode 100644 clients/client-connect/pagination/ListInstancesPaginator.ts create mode 100644 clients/client-connect/pagination/ListLambdaFunctionsPaginator.ts create mode 100644 clients/client-connect/pagination/ListLexBotsPaginator.ts create mode 100644 clients/client-connect/pagination/ListSecurityKeysPaginator.ts create mode 100644 clients/client-directory-service/commands/AddRegionCommand.ts create mode 100644 clients/client-directory-service/commands/DescribeRegionsCommand.ts create mode 100644 clients/client-directory-service/commands/RemoveRegionCommand.ts create mode 100644 clients/client-glue/commands/CheckSchemaVersionValidityCommand.ts create mode 100644 clients/client-glue/commands/CreateRegistryCommand.ts create mode 100644 clients/client-glue/commands/CreateSchemaCommand.ts create mode 100644 clients/client-glue/commands/DeleteRegistryCommand.ts create mode 100644 clients/client-glue/commands/DeleteSchemaCommand.ts create mode 100644 clients/client-glue/commands/DeleteSchemaVersionsCommand.ts create mode 100644 clients/client-glue/commands/GetRegistryCommand.ts create mode 100644 clients/client-glue/commands/GetSchemaByDefinitionCommand.ts create mode 100644 clients/client-glue/commands/GetSchemaCommand.ts create mode 100644 clients/client-glue/commands/GetSchemaVersionCommand.ts create mode 100644 clients/client-glue/commands/GetSchemaVersionsDiffCommand.ts create mode 100644 clients/client-glue/commands/ListRegistriesCommand.ts create mode 100644 clients/client-glue/commands/ListSchemaVersionsCommand.ts create mode 100644 clients/client-glue/commands/ListSchemasCommand.ts create mode 100644 clients/client-glue/commands/PutSchemaVersionMetadataCommand.ts create mode 100644 clients/client-glue/commands/QuerySchemaVersionMetadataCommand.ts create mode 100644 clients/client-glue/commands/RegisterSchemaVersionCommand.ts create mode 100644 clients/client-glue/commands/RemoveSchemaVersionMetadataCommand.ts create mode 100644 clients/client-glue/commands/UpdateRegistryCommand.ts create mode 100644 clients/client-glue/commands/UpdateSchemaCommand.ts create mode 100644 clients/client-glue/pagination/GetResourcePoliciesPaginator.ts create mode 100644 clients/client-glue/pagination/ListRegistriesPaginator.ts create mode 100644 clients/client-glue/pagination/ListSchemaVersionsPaginator.ts create mode 100644 clients/client-glue/pagination/ListSchemasPaginator.ts create mode 100644 clients/client-kinesis-analytics-v2/commands/CreateApplicationPresignedUrlCommand.ts create mode 100644 clients/client-redshift/pagination/DescribeClusterDbRevisionsPaginator.ts create mode 100644 clients/client-redshift/pagination/DescribeClusterTracksPaginator.ts create mode 100644 clients/client-redshift/pagination/DescribeSnapshotCopyGrantsPaginator.ts create mode 100644 clients/client-redshift/pagination/DescribeSnapshotSchedulesPaginator.ts create mode 100644 clients/client-redshift/pagination/DescribeTableRestoreStatusPaginator.ts create mode 100644 clients/client-redshift/pagination/DescribeTagsPaginator.ts create mode 100644 clients/client-redshift/pagination/GetReservedNodeExchangeOfferingsPaginator.ts diff --git a/clients/client-auto-scaling/models/models_0.ts b/clients/client-auto-scaling/models/models_0.ts index 132ffcc55094..66230e366ff6 100644 --- a/clients/client-auto-scaling/models/models_0.ts +++ b/clients/client-auto-scaling/models/models_0.ts @@ -557,8 +557,7 @@ export interface LaunchTemplateSpecification { LaunchTemplateName?: string; /** - *

The version number, $Latest, or $Default. To get the version - * number, use the Amazon EC2 DescribeLaunchTemplateVersions API operation. New launch template versions + *

The version number, $Latest, or $Default. To get the version number, use the Amazon EC2 DescribeLaunchTemplateVersions API operation. New launch template versions * can be created using the Amazon EC2 CreateLaunchTemplateVersion API. If the value is $Latest, * Amazon EC2 Auto Scaling selects the latest version of the launch template when launching instances. If * the value is $Default, Amazon EC2 Auto Scaling selects the default version of the launch @@ -750,19 +749,15 @@ export namespace InstancesDistribution { } /** - *

Describes an override for a launch template. Currently, the only supported override is - * instance type.

- *

The maximum number of instance type overrides that can be associated with an Auto Scaling - * group is 20.

+ *

Describes an override for a launch template. The maximum number of instance types that + * can be associated with an Auto Scaling group is 20. For more information, see Configuring overrides in the Amazon EC2 Auto Scaling User Guide.

*/ export interface LaunchTemplateOverrides { /** *

The instance type, such as m3.xlarge. You must use an instance type that - * is supported in your requested Region and Availability Zones. For information about - * available instance types, see Available - * instance types in the Amazon Elastic Compute Cloud User - * Guide. - *

+ * is supported in your requested Region and Availability Zones. For more information, see + * Instance types in the Amazon Elastic Compute Cloud User + * Guide.

*/ InstanceType?: string; @@ -778,6 +773,16 @@ export interface LaunchTemplateOverrides { *

Valid Range: Minimum value of 1. Maximum value of 999.

*/ WeightedCapacity?: string; + + /** + *

Provides the launch template to be used when launching the instance type. For example, + * some instance types might require a launch template with a different AMI. If not + * provided, Amazon EC2 Auto Scaling uses the launch template that's defined for your mixed instances + * policy. For more information, see Specifying a + * different launch template for an instance type in the + * Amazon EC2 Auto Scaling User Guide.

+ */ + LaunchTemplateSpecification?: LaunchTemplateSpecification; } export namespace LaunchTemplateOverrides { @@ -787,14 +792,12 @@ export namespace LaunchTemplateOverrides { } /** - *

Describes a launch template and overrides.

- *

The overrides are used to override the instance type specified by the launch template - * with multiple instance types that can be used to launch On-Demand Instances and Spot - * Instances.

- *

When you update the launch template or overrides, existing Amazon EC2 instances - * continue to run. When scale out occurs, Amazon EC2 Auto Scaling launches instances to match the new - * settings. When scale in occurs, Amazon EC2 Auto Scaling terminates instances according to the group's - * termination policies.

+ *

Describes a launch template and overrides.

+ *

You specify these parameters as part of a mixed instances policy.

+ *

When you update the launch template or overrides, existing Amazon EC2 instances continue to + * run. When scale out occurs, Amazon EC2 Auto Scaling launches instances to match the new settings. When + * scale in occurs, Amazon EC2 Auto Scaling terminates instances according to the group's termination + * policies.

*/ export interface LaunchTemplate { /** @@ -804,9 +807,8 @@ export interface LaunchTemplate { /** *

Any parameters that you specify override the same parameters in the launch template. - * Currently, the only supported override is instance type. You can specify between 1 and - * 20 instance types. If not provided, Amazon EC2 Auto Scaling will use the instance type specified in the - * launch template when it launches an instance.

+ * If not provided, Amazon EC2 Auto Scaling uses the instance type specified in the launch template when + * it launches an instance.

*/ Overrides?: LaunchTemplateOverrides[]; } @@ -820,8 +822,8 @@ export namespace LaunchTemplate { /** *

Describes a mixed instances policy for an Auto Scaling group. With mixed instances, your Auto Scaling * group can provision a combination of On-Demand Instances and Spot Instances across - * multiple instance types. For more information, see Auto Scaling Groups with - * Multiple Instance Types and Purchase Options in the Amazon EC2 Auto Scaling User + * multiple instance types. For more information, see Auto Scaling groups with multiple + * instance types and purchase options in the Amazon EC2 Auto Scaling User * Guide.

*

You can create a mixed instances policy for a new Auto Scaling group, or you can create it for * an existing group by updating the group to specify MixedInstancesPolicy as @@ -921,10 +923,11 @@ export interface CreateAutoScalingGroupType { * used.

*

The policy includes parameters that not only define the distribution of On-Demand * Instances and Spot Instances, the maximum price to pay for Spot Instances, and how the - * Auto Scaling group allocates instance types to fulfill On-Demand and Spot capacities, but also the - * parameters that specify the instance configuration information—the launch template and - * instance types. The policy can also include a weight for each instance type. For more - * information, see Auto Scaling groups with multiple + * Auto Scaling group allocates instance types to fulfill On-Demand and Spot capacities, but also + * the parameters that specify the instance configuration information—the launch template + * and instance types. The policy can also include a weight for each instance type and + * different launch templates for individual instance types. For more information, see + * Auto Scaling groups with multiple * instance types and purchase options in the Amazon EC2 Auto Scaling User * Guide.

*

Conditional: You must specify either a launch template (LaunchTemplate or @@ -5041,8 +5044,8 @@ export interface UpdateAutoScalingGroupType { /** *

An embedded object that specifies a mixed instances policy. When you make changes to * an existing policy, all optional parameters are left unchanged if not specified. For - * more information, see Auto Scaling Groups with Multiple - * Instance Types and Purchase Options in the Amazon EC2 Auto Scaling User + * more information, see Auto Scaling groups with multiple + * instance types and purchase options in the Amazon EC2 Auto Scaling User * Guide.

*/ MixedInstancesPolicy?: MixedInstancesPolicy; diff --git a/clients/client-auto-scaling/protocols/Aws_query.ts b/clients/client-auto-scaling/protocols/Aws_query.ts index c24b5e0c1327..c4e7a22b7d9a 100644 --- a/clients/client-auto-scaling/protocols/Aws_query.ts +++ b/clients/client-auto-scaling/protocols/Aws_query.ts @@ -5863,6 +5863,13 @@ const serializeAws_queryLaunchTemplateOverrides = (input: LaunchTemplateOverride if (input.WeightedCapacity !== undefined) { entries["WeightedCapacity"] = input.WeightedCapacity; } + if (input.LaunchTemplateSpecification !== undefined) { + const memberEntries = serializeAws_queryLaunchTemplateSpecification(input.LaunchTemplateSpecification, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `LaunchTemplateSpecification.${key}`; + entries[loc] = value; + }); + } return entries; }; @@ -7852,6 +7859,7 @@ const deserializeAws_queryLaunchTemplateOverrides = (output: any, context: __Ser let contents: any = { InstanceType: undefined, WeightedCapacity: undefined, + LaunchTemplateSpecification: undefined, }; if (output["InstanceType"] !== undefined) { contents.InstanceType = output["InstanceType"]; @@ -7859,6 +7867,12 @@ const deserializeAws_queryLaunchTemplateOverrides = (output: any, context: __Ser if (output["WeightedCapacity"] !== undefined) { contents.WeightedCapacity = output["WeightedCapacity"]; } + if (output["LaunchTemplateSpecification"] !== undefined) { + contents.LaunchTemplateSpecification = deserializeAws_queryLaunchTemplateSpecification( + output["LaunchTemplateSpecification"], + context + ); + } return contents; }; diff --git a/clients/client-chime/Chime.ts b/clients/client-chime/Chime.ts index e4b0ee78ed18..e4a18da01392 100644 --- a/clients/client-chime/Chime.ts +++ b/clients/client-chime/Chime.ts @@ -59,12 +59,47 @@ import { CreateAccountCommandInput, CreateAccountCommandOutput, } from "./commands/CreateAccountCommand"; +import { + CreateAppInstanceAdminCommand, + CreateAppInstanceAdminCommandInput, + CreateAppInstanceAdminCommandOutput, +} from "./commands/CreateAppInstanceAdminCommand"; +import { + CreateAppInstanceCommand, + CreateAppInstanceCommandInput, + CreateAppInstanceCommandOutput, +} from "./commands/CreateAppInstanceCommand"; +import { + CreateAppInstanceUserCommand, + CreateAppInstanceUserCommandInput, + CreateAppInstanceUserCommandOutput, +} from "./commands/CreateAppInstanceUserCommand"; import { CreateAttendeeCommand, CreateAttendeeCommandInput, CreateAttendeeCommandOutput, } from "./commands/CreateAttendeeCommand"; import { CreateBotCommand, CreateBotCommandInput, CreateBotCommandOutput } from "./commands/CreateBotCommand"; +import { + CreateChannelBanCommand, + CreateChannelBanCommandInput, + CreateChannelBanCommandOutput, +} from "./commands/CreateChannelBanCommand"; +import { + CreateChannelCommand, + CreateChannelCommandInput, + CreateChannelCommandOutput, +} from "./commands/CreateChannelCommand"; +import { + CreateChannelMembershipCommand, + CreateChannelMembershipCommandInput, + CreateChannelMembershipCommandOutput, +} from "./commands/CreateChannelMembershipCommand"; +import { + CreateChannelModeratorCommand, + CreateChannelModeratorCommandInput, + CreateChannelModeratorCommandOutput, +} from "./commands/CreateChannelModeratorCommand"; import { CreateMeetingCommand, CreateMeetingCommandInput, @@ -127,11 +162,56 @@ import { DeleteAccountCommandInput, DeleteAccountCommandOutput, } from "./commands/DeleteAccountCommand"; +import { + DeleteAppInstanceAdminCommand, + DeleteAppInstanceAdminCommandInput, + DeleteAppInstanceAdminCommandOutput, +} from "./commands/DeleteAppInstanceAdminCommand"; +import { + DeleteAppInstanceCommand, + DeleteAppInstanceCommandInput, + DeleteAppInstanceCommandOutput, +} from "./commands/DeleteAppInstanceCommand"; +import { + DeleteAppInstanceStreamingConfigurationsCommand, + DeleteAppInstanceStreamingConfigurationsCommandInput, + DeleteAppInstanceStreamingConfigurationsCommandOutput, +} from "./commands/DeleteAppInstanceStreamingConfigurationsCommand"; +import { + DeleteAppInstanceUserCommand, + DeleteAppInstanceUserCommandInput, + DeleteAppInstanceUserCommandOutput, +} from "./commands/DeleteAppInstanceUserCommand"; import { DeleteAttendeeCommand, DeleteAttendeeCommandInput, DeleteAttendeeCommandOutput, } from "./commands/DeleteAttendeeCommand"; +import { + DeleteChannelBanCommand, + DeleteChannelBanCommandInput, + DeleteChannelBanCommandOutput, +} from "./commands/DeleteChannelBanCommand"; +import { + DeleteChannelCommand, + DeleteChannelCommandInput, + DeleteChannelCommandOutput, +} from "./commands/DeleteChannelCommand"; +import { + DeleteChannelMembershipCommand, + DeleteChannelMembershipCommandInput, + DeleteChannelMembershipCommandOutput, +} from "./commands/DeleteChannelMembershipCommand"; +import { + DeleteChannelMessageCommand, + DeleteChannelMessageCommandInput, + DeleteChannelMessageCommandOutput, +} from "./commands/DeleteChannelMessageCommand"; +import { + DeleteChannelModeratorCommand, + DeleteChannelModeratorCommandInput, + DeleteChannelModeratorCommandOutput, +} from "./commands/DeleteChannelModeratorCommand"; import { DeleteEventsConfigurationCommand, DeleteEventsConfigurationCommandInput, @@ -208,6 +288,51 @@ import { DeleteVoiceConnectorTerminationCredentialsCommandInput, DeleteVoiceConnectorTerminationCredentialsCommandOutput, } from "./commands/DeleteVoiceConnectorTerminationCredentialsCommand"; +import { + DescribeAppInstanceAdminCommand, + DescribeAppInstanceAdminCommandInput, + DescribeAppInstanceAdminCommandOutput, +} from "./commands/DescribeAppInstanceAdminCommand"; +import { + DescribeAppInstanceCommand, + DescribeAppInstanceCommandInput, + DescribeAppInstanceCommandOutput, +} from "./commands/DescribeAppInstanceCommand"; +import { + DescribeAppInstanceUserCommand, + DescribeAppInstanceUserCommandInput, + DescribeAppInstanceUserCommandOutput, +} from "./commands/DescribeAppInstanceUserCommand"; +import { + DescribeChannelBanCommand, + DescribeChannelBanCommandInput, + DescribeChannelBanCommandOutput, +} from "./commands/DescribeChannelBanCommand"; +import { + DescribeChannelCommand, + DescribeChannelCommandInput, + DescribeChannelCommandOutput, +} from "./commands/DescribeChannelCommand"; +import { + DescribeChannelMembershipCommand, + DescribeChannelMembershipCommandInput, + DescribeChannelMembershipCommandOutput, +} from "./commands/DescribeChannelMembershipCommand"; +import { + DescribeChannelMembershipForAppInstanceUserCommand, + DescribeChannelMembershipForAppInstanceUserCommandInput, + DescribeChannelMembershipForAppInstanceUserCommandOutput, +} from "./commands/DescribeChannelMembershipForAppInstanceUserCommand"; +import { + DescribeChannelModeratedByAppInstanceUserCommand, + DescribeChannelModeratedByAppInstanceUserCommandInput, + DescribeChannelModeratedByAppInstanceUserCommandOutput, +} from "./commands/DescribeChannelModeratedByAppInstanceUserCommand"; +import { + DescribeChannelModeratorCommand, + DescribeChannelModeratorCommandInput, + DescribeChannelModeratorCommandOutput, +} from "./commands/DescribeChannelModeratorCommand"; import { DisassociatePhoneNumberFromUserCommand, DisassociatePhoneNumberFromUserCommandInput, @@ -234,8 +359,23 @@ import { GetAccountSettingsCommandInput, GetAccountSettingsCommandOutput, } from "./commands/GetAccountSettingsCommand"; +import { + GetAppInstanceRetentionSettingsCommand, + GetAppInstanceRetentionSettingsCommandInput, + GetAppInstanceRetentionSettingsCommandOutput, +} from "./commands/GetAppInstanceRetentionSettingsCommand"; +import { + GetAppInstanceStreamingConfigurationsCommand, + GetAppInstanceStreamingConfigurationsCommandInput, + GetAppInstanceStreamingConfigurationsCommandOutput, +} from "./commands/GetAppInstanceStreamingConfigurationsCommand"; import { GetAttendeeCommand, GetAttendeeCommandInput, GetAttendeeCommandOutput } from "./commands/GetAttendeeCommand"; import { GetBotCommand, GetBotCommandInput, GetBotCommandOutput } from "./commands/GetBotCommand"; +import { + GetChannelMessageCommand, + GetChannelMessageCommandInput, + GetChannelMessageCommandOutput, +} from "./commands/GetChannelMessageCommand"; import { GetEventsConfigurationCommand, GetEventsConfigurationCommandInput, @@ -247,6 +387,11 @@ import { GetGlobalSettingsCommandOutput, } from "./commands/GetGlobalSettingsCommand"; import { GetMeetingCommand, GetMeetingCommandInput, GetMeetingCommandOutput } from "./commands/GetMeetingCommand"; +import { + GetMessagingSessionEndpointCommand, + GetMessagingSessionEndpointCommandInput, + GetMessagingSessionEndpointCommandOutput, +} from "./commands/GetMessagingSessionEndpointCommand"; import { GetPhoneNumberCommand, GetPhoneNumberCommandInput, @@ -341,6 +486,21 @@ import { ListAccountsCommandInput, ListAccountsCommandOutput, } from "./commands/ListAccountsCommand"; +import { + ListAppInstanceAdminsCommand, + ListAppInstanceAdminsCommandInput, + ListAppInstanceAdminsCommandOutput, +} from "./commands/ListAppInstanceAdminsCommand"; +import { + ListAppInstanceUsersCommand, + ListAppInstanceUsersCommandInput, + ListAppInstanceUsersCommandOutput, +} from "./commands/ListAppInstanceUsersCommand"; +import { + ListAppInstancesCommand, + ListAppInstancesCommandInput, + ListAppInstancesCommandOutput, +} from "./commands/ListAppInstancesCommand"; import { ListAttendeeTagsCommand, ListAttendeeTagsCommandInput, @@ -352,6 +512,41 @@ import { ListAttendeesCommandOutput, } from "./commands/ListAttendeesCommand"; import { ListBotsCommand, ListBotsCommandInput, ListBotsCommandOutput } from "./commands/ListBotsCommand"; +import { + ListChannelBansCommand, + ListChannelBansCommandInput, + ListChannelBansCommandOutput, +} from "./commands/ListChannelBansCommand"; +import { + ListChannelMembershipsCommand, + ListChannelMembershipsCommandInput, + ListChannelMembershipsCommandOutput, +} from "./commands/ListChannelMembershipsCommand"; +import { + ListChannelMembershipsForAppInstanceUserCommand, + ListChannelMembershipsForAppInstanceUserCommandInput, + ListChannelMembershipsForAppInstanceUserCommandOutput, +} from "./commands/ListChannelMembershipsForAppInstanceUserCommand"; +import { + ListChannelMessagesCommand, + ListChannelMessagesCommandInput, + ListChannelMessagesCommandOutput, +} from "./commands/ListChannelMessagesCommand"; +import { + ListChannelModeratorsCommand, + ListChannelModeratorsCommandInput, + ListChannelModeratorsCommandOutput, +} from "./commands/ListChannelModeratorsCommand"; +import { + ListChannelsCommand, + ListChannelsCommandInput, + ListChannelsCommandOutput, +} from "./commands/ListChannelsCommand"; +import { + ListChannelsModeratedByAppInstanceUserCommand, + ListChannelsModeratedByAppInstanceUserCommandInput, + ListChannelsModeratedByAppInstanceUserCommandOutput, +} from "./commands/ListChannelsModeratedByAppInstanceUserCommand"; import { ListMeetingTagsCommand, ListMeetingTagsCommandInput, @@ -415,6 +610,16 @@ import { ListVoiceConnectorsCommandOutput, } from "./commands/ListVoiceConnectorsCommand"; import { LogoutUserCommand, LogoutUserCommandInput, LogoutUserCommandOutput } from "./commands/LogoutUserCommand"; +import { + PutAppInstanceRetentionSettingsCommand, + PutAppInstanceRetentionSettingsCommandInput, + PutAppInstanceRetentionSettingsCommandOutput, +} from "./commands/PutAppInstanceRetentionSettingsCommand"; +import { + PutAppInstanceStreamingConfigurationsCommand, + PutAppInstanceStreamingConfigurationsCommandInput, + PutAppInstanceStreamingConfigurationsCommandOutput, +} from "./commands/PutAppInstanceStreamingConfigurationsCommand"; import { PutEventsConfigurationCommand, PutEventsConfigurationCommandInput, @@ -465,6 +670,11 @@ import { PutVoiceConnectorTerminationCredentialsCommandInput, PutVoiceConnectorTerminationCredentialsCommandOutput, } from "./commands/PutVoiceConnectorTerminationCredentialsCommand"; +import { + RedactChannelMessageCommand, + RedactChannelMessageCommandInput, + RedactChannelMessageCommandOutput, +} from "./commands/RedactChannelMessageCommand"; import { RedactConversationMessageCommand, RedactConversationMessageCommandInput, @@ -495,6 +705,11 @@ import { SearchAvailablePhoneNumbersCommandInput, SearchAvailablePhoneNumbersCommandOutput, } from "./commands/SearchAvailablePhoneNumbersCommand"; +import { + SendChannelMessageCommand, + SendChannelMessageCommandInput, + SendChannelMessageCommandOutput, +} from "./commands/SendChannelMessageCommand"; import { TagAttendeeCommand, TagAttendeeCommandInput, TagAttendeeCommandOutput } from "./commands/TagAttendeeCommand"; import { TagMeetingCommand, TagMeetingCommandInput, TagMeetingCommandOutput } from "./commands/TagMeetingCommand"; import { TagResourceCommand, TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; @@ -523,7 +738,32 @@ import { UpdateAccountSettingsCommandInput, UpdateAccountSettingsCommandOutput, } from "./commands/UpdateAccountSettingsCommand"; +import { + UpdateAppInstanceCommand, + UpdateAppInstanceCommandInput, + UpdateAppInstanceCommandOutput, +} from "./commands/UpdateAppInstanceCommand"; +import { + UpdateAppInstanceUserCommand, + UpdateAppInstanceUserCommandInput, + UpdateAppInstanceUserCommandOutput, +} from "./commands/UpdateAppInstanceUserCommand"; import { UpdateBotCommand, UpdateBotCommandInput, UpdateBotCommandOutput } from "./commands/UpdateBotCommand"; +import { + UpdateChannelCommand, + UpdateChannelCommandInput, + UpdateChannelCommandOutput, +} from "./commands/UpdateChannelCommand"; +import { + UpdateChannelMessageCommand, + UpdateChannelMessageCommandInput, + UpdateChannelMessageCommandOutput, +} from "./commands/UpdateChannelMessageCommand"; +import { + UpdateChannelReadMarkerCommand, + UpdateChannelReadMarkerCommandInput, + UpdateChannelReadMarkerCommandOutput, +} from "./commands/UpdateChannelReadMarkerCommand"; import { UpdateGlobalSettingsCommand, UpdateGlobalSettingsCommandInput, @@ -602,8 +842,10 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; * Interface in the AWS Command Line Interface User Guide. * For a list of available Amazon Chime commands, see the Amazon Chime commands in the * AWS CLI Command Reference.

+ * + * * - *
Using REST API
+ *
Using REST
*
*

If you use REST to make API calls, you must authenticate your request by providing * a signature. Amazon Chime supports Signature Version 4. For more information, see Signature @@ -1041,6 +1283,115 @@ export class Chime extends ChimeClient { } } + /** + *

Creates an Amazon Chime Messaging SDK AppInstance under an AWS Account. Only Messaging SDK customers use this API. + * CreateAppInstance supports idempotency behavior as described in the AWS API Standard.

+ */ + public createAppInstance( + args: CreateAppInstanceCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createAppInstance( + args: CreateAppInstanceCommandInput, + cb: (err: any, data?: CreateAppInstanceCommandOutput) => void + ): void; + public createAppInstance( + args: CreateAppInstanceCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateAppInstanceCommandOutput) => void + ): void; + public createAppInstance( + args: CreateAppInstanceCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateAppInstanceCommandOutput) => void), + cb?: (err: any, data?: CreateAppInstanceCommandOutput) => void + ): Promise | void { + const command = new CreateAppInstanceCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Promotes an AppInstanceUser to an AppInstanceAdmin. The promoted user can perform the following actions.

+ *
    + *
  • + *

    + * ChannelModerator actions across all channels in the app instance.

    + *
  • + *
  • + *

    + * DeleteChannelMessage actions.

    + *
  • + *
+ *

Only an AppInstanceUser can be promoted to an AppInstanceAdmin role.

+ */ + public createAppInstanceAdmin( + args: CreateAppInstanceAdminCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createAppInstanceAdmin( + args: CreateAppInstanceAdminCommandInput, + cb: (err: any, data?: CreateAppInstanceAdminCommandOutput) => void + ): void; + public createAppInstanceAdmin( + args: CreateAppInstanceAdminCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateAppInstanceAdminCommandOutput) => void + ): void; + public createAppInstanceAdmin( + args: CreateAppInstanceAdminCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateAppInstanceAdminCommandOutput) => void), + cb?: (err: any, data?: CreateAppInstanceAdminCommandOutput) => void + ): Promise | void { + const command = new CreateAppInstanceAdminCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Creates a user under an Amazon Chime AppInstance. The request consists of a unique appInstanceUserId and + * Name for that user.

+ */ + public createAppInstanceUser( + args: CreateAppInstanceUserCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createAppInstanceUser( + args: CreateAppInstanceUserCommandInput, + cb: (err: any, data?: CreateAppInstanceUserCommandOutput) => void + ): void; + public createAppInstanceUser( + args: CreateAppInstanceUserCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateAppInstanceUserCommandOutput) => void + ): void; + public createAppInstanceUser( + args: CreateAppInstanceUserCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateAppInstanceUserCommandOutput) => void), + cb?: (err: any, data?: CreateAppInstanceUserCommandOutput) => void + ): Promise | void { + const command = new CreateAppInstanceUserCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

Creates a new attendee for an active Amazon Chime SDK meeting. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide.

*/ @@ -1099,6 +1450,184 @@ export class Chime extends ChimeClient { } } + /** + *

Creates a channel to which you can add users and send messages.

+ *

+ * Restriction: You can't change a channel's privacy.

+ */ + public createChannel( + args: CreateChannelCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createChannel( + args: CreateChannelCommandInput, + cb: (err: any, data?: CreateChannelCommandOutput) => void + ): void; + public createChannel( + args: CreateChannelCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateChannelCommandOutput) => void + ): void; + public createChannel( + args: CreateChannelCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateChannelCommandOutput) => void), + cb?: (err: any, data?: CreateChannelCommandOutput) => void + ): Promise | void { + const command = new CreateChannelCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Permanently bans a member from a channel. Moderators can't add banned members to a channel. + * To undo a ban, you first have to DeleteChannelBan, and then CreateChannelMembership. + * Bans are cleaned up when you delete users or channels. + *

+ *

If you ban a user who is already part of a channel, that user is automatically kicked from the channel.

+ */ + public createChannelBan( + args: CreateChannelBanCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createChannelBan( + args: CreateChannelBanCommandInput, + cb: (err: any, data?: CreateChannelBanCommandOutput) => void + ): void; + public createChannelBan( + args: CreateChannelBanCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateChannelBanCommandOutput) => void + ): void; + public createChannelBan( + args: CreateChannelBanCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateChannelBanCommandOutput) => void), + cb?: (err: any, data?: CreateChannelBanCommandOutput) => void + ): Promise | void { + const command = new CreateChannelBanCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Adds a user to a channel. The InvitedBy response field is derived from the request header. + * A channel member can:

+ *
    + *
  • + *

    List messages

    + *
  • + *
  • + *

    Send messages

    + *
  • + *
  • + *

    Receive messages

    + *
  • + *
  • + *

    Edit their own messages

    + *
  • + *
  • + *

    Leave the channel

    + *
  • + *
+ *

Privacy settings impact this action as follows:

+ *
    + *
  • + *

    Public Channels: You do not need to be a member to list messages, but you must be a member to send messages.

    + *
  • + *
  • + *

    Private Channels: You must be a member to list or send messages.

    + *
  • + *
+ */ + public createChannelMembership( + args: CreateChannelMembershipCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createChannelMembership( + args: CreateChannelMembershipCommandInput, + cb: (err: any, data?: CreateChannelMembershipCommandOutput) => void + ): void; + public createChannelMembership( + args: CreateChannelMembershipCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateChannelMembershipCommandOutput) => void + ): void; + public createChannelMembership( + args: CreateChannelMembershipCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateChannelMembershipCommandOutput) => void), + cb?: (err: any, data?: CreateChannelMembershipCommandOutput) => void + ): Promise | void { + const command = new CreateChannelMembershipCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Creates a new ChannelModerator. A channel moderator can:

+ *
    + *
  • + *

    Add and remove other members of the channel.

    + *
  • + *
  • + *

    Add and remove other moderators of the channel.

    + *
  • + *
  • + *

    Add and remove user bans for the channel.

    + *
  • + *
  • + *

    Redact messages in the channel.

    + *
  • + *
  • + *

    List messages in the channel.

    + *
  • + *
+ */ + public createChannelModerator( + args: CreateChannelModeratorCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createChannelModerator( + args: CreateChannelModeratorCommandInput, + cb: (err: any, data?: CreateChannelModeratorCommandOutput) => void + ): void; + public createChannelModerator( + args: CreateChannelModeratorCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateChannelModeratorCommandOutput) => void + ): void; + public createChannelModerator( + args: CreateChannelModeratorCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateChannelModeratorCommandOutput) => void), + cb?: (err: any, data?: CreateChannelModeratorCommandOutput) => void + ): Promise | void { + const command = new CreateChannelModeratorCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

Creates a new Amazon Chime SDK meeting in the specified media Region with no initial attendees. For more information about specifying media Regions, see Amazon Chime SDK Media Regions in the Amazon Chime Developer Guide. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide.

*/ @@ -1564,27 +2093,27 @@ export class Chime extends ChimeClient { } /** - *

Deletes an attendee from the specified Amazon Chime SDK meeting and deletes their JoinToken. Attendees are automatically deleted when a Amazon Chime SDK meeting is deleted. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide.

+ *

Deletes an AppInstance and all associated data asynchronously.

*/ - public deleteAttendee( - args: DeleteAttendeeCommandInput, + public deleteAppInstance( + args: DeleteAppInstanceCommandInput, options?: __HttpHandlerOptions - ): Promise; - public deleteAttendee( - args: DeleteAttendeeCommandInput, - cb: (err: any, data?: DeleteAttendeeCommandOutput) => void + ): Promise; + public deleteAppInstance( + args: DeleteAppInstanceCommandInput, + cb: (err: any, data?: DeleteAppInstanceCommandOutput) => void ): void; - public deleteAttendee( - args: DeleteAttendeeCommandInput, + public deleteAppInstance( + args: DeleteAppInstanceCommandInput, options: __HttpHandlerOptions, - cb: (err: any, data?: DeleteAttendeeCommandOutput) => void + cb: (err: any, data?: DeleteAppInstanceCommandOutput) => void ): void; - public deleteAttendee( - args: DeleteAttendeeCommandInput, - optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteAttendeeCommandOutput) => void), - cb?: (err: any, data?: DeleteAttendeeCommandOutput) => void - ): Promise | void { - const command = new DeleteAttendeeCommand(args); + public deleteAppInstance( + args: DeleteAppInstanceCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteAppInstanceCommandOutput) => void), + cb?: (err: any, data?: DeleteAppInstanceCommandOutput) => void + ): Promise | void { + const command = new DeleteAppInstanceCommand(args); if (typeof optionsOrCb === "function") { this.send(command, optionsOrCb); } else if (typeof cb === "function") { @@ -1596,27 +2125,27 @@ export class Chime extends ChimeClient { } /** - *

Deletes the events configuration that allows a bot to receive outgoing events.

+ *

Demotes an AppInstanceAdmin to an AppInstanceUser. This action does not delete the user.

*/ - public deleteEventsConfiguration( - args: DeleteEventsConfigurationCommandInput, + public deleteAppInstanceAdmin( + args: DeleteAppInstanceAdminCommandInput, options?: __HttpHandlerOptions - ): Promise; - public deleteEventsConfiguration( - args: DeleteEventsConfigurationCommandInput, - cb: (err: any, data?: DeleteEventsConfigurationCommandOutput) => void + ): Promise; + public deleteAppInstanceAdmin( + args: DeleteAppInstanceAdminCommandInput, + cb: (err: any, data?: DeleteAppInstanceAdminCommandOutput) => void ): void; - public deleteEventsConfiguration( - args: DeleteEventsConfigurationCommandInput, + public deleteAppInstanceAdmin( + args: DeleteAppInstanceAdminCommandInput, options: __HttpHandlerOptions, - cb: (err: any, data?: DeleteEventsConfigurationCommandOutput) => void + cb: (err: any, data?: DeleteAppInstanceAdminCommandOutput) => void ): void; - public deleteEventsConfiguration( - args: DeleteEventsConfigurationCommandInput, - optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteEventsConfigurationCommandOutput) => void), - cb?: (err: any, data?: DeleteEventsConfigurationCommandOutput) => void - ): Promise | void { - const command = new DeleteEventsConfigurationCommand(args); + public deleteAppInstanceAdmin( + args: DeleteAppInstanceAdminCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteAppInstanceAdminCommandOutput) => void), + cb?: (err: any, data?: DeleteAppInstanceAdminCommandOutput) => void + ): Promise | void { + const command = new DeleteAppInstanceAdminCommand(args); if (typeof optionsOrCb === "function") { this.send(command, optionsOrCb); } else if (typeof cb === "function") { @@ -1628,27 +2157,29 @@ export class Chime extends ChimeClient { } /** - *

Deletes the specified Amazon Chime SDK meeting. When a meeting is deleted, its attendees are also deleted and clients can no longer join it. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide.

+ *

Deletes the streaming configurations of an app instance.

*/ - public deleteMeeting( - args: DeleteMeetingCommandInput, + public deleteAppInstanceStreamingConfigurations( + args: DeleteAppInstanceStreamingConfigurationsCommandInput, options?: __HttpHandlerOptions - ): Promise; - public deleteMeeting( - args: DeleteMeetingCommandInput, - cb: (err: any, data?: DeleteMeetingCommandOutput) => void + ): Promise; + public deleteAppInstanceStreamingConfigurations( + args: DeleteAppInstanceStreamingConfigurationsCommandInput, + cb: (err: any, data?: DeleteAppInstanceStreamingConfigurationsCommandOutput) => void ): void; - public deleteMeeting( - args: DeleteMeetingCommandInput, + public deleteAppInstanceStreamingConfigurations( + args: DeleteAppInstanceStreamingConfigurationsCommandInput, options: __HttpHandlerOptions, - cb: (err: any, data?: DeleteMeetingCommandOutput) => void + cb: (err: any, data?: DeleteAppInstanceStreamingConfigurationsCommandOutput) => void ): void; - public deleteMeeting( - args: DeleteMeetingCommandInput, - optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteMeetingCommandOutput) => void), - cb?: (err: any, data?: DeleteMeetingCommandOutput) => void - ): Promise | void { - const command = new DeleteMeetingCommand(args); + public deleteAppInstanceStreamingConfigurations( + args: DeleteAppInstanceStreamingConfigurationsCommandInput, + optionsOrCb?: + | __HttpHandlerOptions + | ((err: any, data?: DeleteAppInstanceStreamingConfigurationsCommandOutput) => void), + cb?: (err: any, data?: DeleteAppInstanceStreamingConfigurationsCommandOutput) => void + ): Promise | void { + const command = new DeleteAppInstanceStreamingConfigurationsCommand(args); if (typeof optionsOrCb === "function") { this.send(command, optionsOrCb); } else if (typeof cb === "function") { @@ -1660,31 +2191,27 @@ export class Chime extends ChimeClient { } /** - *

Moves the specified phone number into the Deletion - * queue. A phone number must be disassociated from any users or Amazon Chime Voice - * Connectors before it can be deleted.

- *

Deleted phone numbers remain in the Deletion queue - * for 7 days before they are deleted permanently.

+ *

Deletes an AppInstanceUser.

*/ - public deletePhoneNumber( - args: DeletePhoneNumberCommandInput, + public deleteAppInstanceUser( + args: DeleteAppInstanceUserCommandInput, options?: __HttpHandlerOptions - ): Promise; - public deletePhoneNumber( - args: DeletePhoneNumberCommandInput, - cb: (err: any, data?: DeletePhoneNumberCommandOutput) => void + ): Promise; + public deleteAppInstanceUser( + args: DeleteAppInstanceUserCommandInput, + cb: (err: any, data?: DeleteAppInstanceUserCommandOutput) => void ): void; - public deletePhoneNumber( - args: DeletePhoneNumberCommandInput, + public deleteAppInstanceUser( + args: DeleteAppInstanceUserCommandInput, options: __HttpHandlerOptions, - cb: (err: any, data?: DeletePhoneNumberCommandOutput) => void + cb: (err: any, data?: DeleteAppInstanceUserCommandOutput) => void ): void; - public deletePhoneNumber( - args: DeletePhoneNumberCommandInput, - optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeletePhoneNumberCommandOutput) => void), - cb?: (err: any, data?: DeletePhoneNumberCommandOutput) => void - ): Promise | void { - const command = new DeletePhoneNumberCommand(args); + public deleteAppInstanceUser( + args: DeleteAppInstanceUserCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteAppInstanceUserCommandOutput) => void), + cb?: (err: any, data?: DeleteAppInstanceUserCommandOutput) => void + ): Promise | void { + const command = new DeleteAppInstanceUserCommand(args); if (typeof optionsOrCb === "function") { this.send(command, optionsOrCb); } else if (typeof cb === "function") { @@ -1696,25 +2223,318 @@ export class Chime extends ChimeClient { } /** - *

Deletes the specified proxy session from the specified Amazon Chime Voice Connector.

+ *

Deletes an attendee from the specified Amazon Chime SDK meeting and deletes their JoinToken. Attendees are automatically deleted when a Amazon Chime SDK meeting is deleted. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide.

*/ - public deleteProxySession( - args: DeleteProxySessionCommandInput, + public deleteAttendee( + args: DeleteAttendeeCommandInput, options?: __HttpHandlerOptions - ): Promise; - public deleteProxySession( - args: DeleteProxySessionCommandInput, - cb: (err: any, data?: DeleteProxySessionCommandOutput) => void + ): Promise; + public deleteAttendee( + args: DeleteAttendeeCommandInput, + cb: (err: any, data?: DeleteAttendeeCommandOutput) => void ): void; - public deleteProxySession( - args: DeleteProxySessionCommandInput, + public deleteAttendee( + args: DeleteAttendeeCommandInput, options: __HttpHandlerOptions, - cb: (err: any, data?: DeleteProxySessionCommandOutput) => void + cb: (err: any, data?: DeleteAttendeeCommandOutput) => void ): void; - public deleteProxySession( - args: DeleteProxySessionCommandInput, - optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteProxySessionCommandOutput) => void), - cb?: (err: any, data?: DeleteProxySessionCommandOutput) => void + public deleteAttendee( + args: DeleteAttendeeCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteAttendeeCommandOutput) => void), + cb?: (err: any, data?: DeleteAttendeeCommandOutput) => void + ): Promise | void { + const command = new DeleteAttendeeCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Immediately makes a channel and its memberships inaccessible and marks them for deletion. This is an irreversible process.

+ */ + public deleteChannel( + args: DeleteChannelCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteChannel( + args: DeleteChannelCommandInput, + cb: (err: any, data?: DeleteChannelCommandOutput) => void + ): void; + public deleteChannel( + args: DeleteChannelCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteChannelCommandOutput) => void + ): void; + public deleteChannel( + args: DeleteChannelCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteChannelCommandOutput) => void), + cb?: (err: any, data?: DeleteChannelCommandOutput) => void + ): Promise | void { + const command = new DeleteChannelCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Removes a user from a channel's ban list.

+ */ + public deleteChannelBan( + args: DeleteChannelBanCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteChannelBan( + args: DeleteChannelBanCommandInput, + cb: (err: any, data?: DeleteChannelBanCommandOutput) => void + ): void; + public deleteChannelBan( + args: DeleteChannelBanCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteChannelBanCommandOutput) => void + ): void; + public deleteChannelBan( + args: DeleteChannelBanCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteChannelBanCommandOutput) => void), + cb?: (err: any, data?: DeleteChannelBanCommandOutput) => void + ): Promise | void { + const command = new DeleteChannelBanCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Removes a member from a channel.

+ */ + public deleteChannelMembership( + args: DeleteChannelMembershipCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteChannelMembership( + args: DeleteChannelMembershipCommandInput, + cb: (err: any, data?: DeleteChannelMembershipCommandOutput) => void + ): void; + public deleteChannelMembership( + args: DeleteChannelMembershipCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteChannelMembershipCommandOutput) => void + ): void; + public deleteChannelMembership( + args: DeleteChannelMembershipCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteChannelMembershipCommandOutput) => void), + cb?: (err: any, data?: DeleteChannelMembershipCommandOutput) => void + ): Promise | void { + const command = new DeleteChannelMembershipCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Deletes a channel message. Only admins can perform this action. Deletion makes messages inaccessible immediately. A + * background process deletes any revisions created by UpdateChannelMessage.

+ */ + public deleteChannelMessage( + args: DeleteChannelMessageCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteChannelMessage( + args: DeleteChannelMessageCommandInput, + cb: (err: any, data?: DeleteChannelMessageCommandOutput) => void + ): void; + public deleteChannelMessage( + args: DeleteChannelMessageCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteChannelMessageCommandOutput) => void + ): void; + public deleteChannelMessage( + args: DeleteChannelMessageCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteChannelMessageCommandOutput) => void), + cb?: (err: any, data?: DeleteChannelMessageCommandOutput) => void + ): Promise | void { + const command = new DeleteChannelMessageCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Deletes a channel moderator.

+ */ + public deleteChannelModerator( + args: DeleteChannelModeratorCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteChannelModerator( + args: DeleteChannelModeratorCommandInput, + cb: (err: any, data?: DeleteChannelModeratorCommandOutput) => void + ): void; + public deleteChannelModerator( + args: DeleteChannelModeratorCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteChannelModeratorCommandOutput) => void + ): void; + public deleteChannelModerator( + args: DeleteChannelModeratorCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteChannelModeratorCommandOutput) => void), + cb?: (err: any, data?: DeleteChannelModeratorCommandOutput) => void + ): Promise | void { + const command = new DeleteChannelModeratorCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Deletes the events configuration that allows a bot to receive outgoing events.

+ */ + public deleteEventsConfiguration( + args: DeleteEventsConfigurationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteEventsConfiguration( + args: DeleteEventsConfigurationCommandInput, + cb: (err: any, data?: DeleteEventsConfigurationCommandOutput) => void + ): void; + public deleteEventsConfiguration( + args: DeleteEventsConfigurationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteEventsConfigurationCommandOutput) => void + ): void; + public deleteEventsConfiguration( + args: DeleteEventsConfigurationCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteEventsConfigurationCommandOutput) => void), + cb?: (err: any, data?: DeleteEventsConfigurationCommandOutput) => void + ): Promise | void { + const command = new DeleteEventsConfigurationCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Deletes the specified Amazon Chime SDK meeting. When a meeting is deleted, its attendees are also deleted and clients can no longer join it. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide.

+ */ + public deleteMeeting( + args: DeleteMeetingCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteMeeting( + args: DeleteMeetingCommandInput, + cb: (err: any, data?: DeleteMeetingCommandOutput) => void + ): void; + public deleteMeeting( + args: DeleteMeetingCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteMeetingCommandOutput) => void + ): void; + public deleteMeeting( + args: DeleteMeetingCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteMeetingCommandOutput) => void), + cb?: (err: any, data?: DeleteMeetingCommandOutput) => void + ): Promise | void { + const command = new DeleteMeetingCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Moves the specified phone number into the Deletion + * queue. A phone number must be disassociated from any users or Amazon Chime Voice + * Connectors before it can be deleted.

+ *

Deleted phone numbers remain in the Deletion queue + * for 7 days before they are deleted permanently.

+ */ + public deletePhoneNumber( + args: DeletePhoneNumberCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deletePhoneNumber( + args: DeletePhoneNumberCommandInput, + cb: (err: any, data?: DeletePhoneNumberCommandOutput) => void + ): void; + public deletePhoneNumber( + args: DeletePhoneNumberCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeletePhoneNumberCommandOutput) => void + ): void; + public deletePhoneNumber( + args: DeletePhoneNumberCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeletePhoneNumberCommandOutput) => void), + cb?: (err: any, data?: DeletePhoneNumberCommandOutput) => void + ): Promise | void { + const command = new DeletePhoneNumberCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Deletes the specified proxy session from the specified Amazon Chime Voice Connector.

+ */ + public deleteProxySession( + args: DeleteProxySessionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteProxySession( + args: DeleteProxySessionCommandInput, + cb: (err: any, data?: DeleteProxySessionCommandOutput) => void + ): void; + public deleteProxySession( + args: DeleteProxySessionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteProxySessionCommandOutput) => void + ): void; + public deleteProxySession( + args: DeleteProxySessionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteProxySessionCommandOutput) => void), + cb?: (err: any, data?: DeleteProxySessionCommandOutput) => void ): Promise | void { const command = new DeleteProxySessionCommand(args); if (typeof optionsOrCb === "function") { @@ -2118,6 +2938,298 @@ export class Chime extends ChimeClient { } } + /** + *

Returns the full details of an AppInstance.

+ */ + public describeAppInstance( + args: DescribeAppInstanceCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeAppInstance( + args: DescribeAppInstanceCommandInput, + cb: (err: any, data?: DescribeAppInstanceCommandOutput) => void + ): void; + public describeAppInstance( + args: DescribeAppInstanceCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeAppInstanceCommandOutput) => void + ): void; + public describeAppInstance( + args: DescribeAppInstanceCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeAppInstanceCommandOutput) => void), + cb?: (err: any, data?: DescribeAppInstanceCommandOutput) => void + ): Promise | void { + const command = new DescribeAppInstanceCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Returns the full details of an AppInstanceAdmin.

+ */ + public describeAppInstanceAdmin( + args: DescribeAppInstanceAdminCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeAppInstanceAdmin( + args: DescribeAppInstanceAdminCommandInput, + cb: (err: any, data?: DescribeAppInstanceAdminCommandOutput) => void + ): void; + public describeAppInstanceAdmin( + args: DescribeAppInstanceAdminCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeAppInstanceAdminCommandOutput) => void + ): void; + public describeAppInstanceAdmin( + args: DescribeAppInstanceAdminCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeAppInstanceAdminCommandOutput) => void), + cb?: (err: any, data?: DescribeAppInstanceAdminCommandOutput) => void + ): Promise | void { + const command = new DescribeAppInstanceAdminCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Returns the full details of an AppInstanceUser.

+ */ + public describeAppInstanceUser( + args: DescribeAppInstanceUserCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeAppInstanceUser( + args: DescribeAppInstanceUserCommandInput, + cb: (err: any, data?: DescribeAppInstanceUserCommandOutput) => void + ): void; + public describeAppInstanceUser( + args: DescribeAppInstanceUserCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeAppInstanceUserCommandOutput) => void + ): void; + public describeAppInstanceUser( + args: DescribeAppInstanceUserCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeAppInstanceUserCommandOutput) => void), + cb?: (err: any, data?: DescribeAppInstanceUserCommandOutput) => void + ): Promise | void { + const command = new DescribeAppInstanceUserCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Returns the full details of a channel in an Amazon Chime app instance.

+ */ + public describeChannel( + args: DescribeChannelCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeChannel( + args: DescribeChannelCommandInput, + cb: (err: any, data?: DescribeChannelCommandOutput) => void + ): void; + public describeChannel( + args: DescribeChannelCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeChannelCommandOutput) => void + ): void; + public describeChannel( + args: DescribeChannelCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeChannelCommandOutput) => void), + cb?: (err: any, data?: DescribeChannelCommandOutput) => void + ): Promise | void { + const command = new DescribeChannelCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Returns the full details of a channel ban.

+ */ + public describeChannelBan( + args: DescribeChannelBanCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeChannelBan( + args: DescribeChannelBanCommandInput, + cb: (err: any, data?: DescribeChannelBanCommandOutput) => void + ): void; + public describeChannelBan( + args: DescribeChannelBanCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeChannelBanCommandOutput) => void + ): void; + public describeChannelBan( + args: DescribeChannelBanCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeChannelBanCommandOutput) => void), + cb?: (err: any, data?: DescribeChannelBanCommandOutput) => void + ): Promise | void { + const command = new DescribeChannelBanCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Returns the full details of a user's channel membership.

+ */ + public describeChannelMembership( + args: DescribeChannelMembershipCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeChannelMembership( + args: DescribeChannelMembershipCommandInput, + cb: (err: any, data?: DescribeChannelMembershipCommandOutput) => void + ): void; + public describeChannelMembership( + args: DescribeChannelMembershipCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeChannelMembershipCommandOutput) => void + ): void; + public describeChannelMembership( + args: DescribeChannelMembershipCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeChannelMembershipCommandOutput) => void), + cb?: (err: any, data?: DescribeChannelMembershipCommandOutput) => void + ): Promise | void { + const command = new DescribeChannelMembershipCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Returns the details of a channel based on the membership of the AppInstanceUser specified.

+ */ + public describeChannelMembershipForAppInstanceUser( + args: DescribeChannelMembershipForAppInstanceUserCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeChannelMembershipForAppInstanceUser( + args: DescribeChannelMembershipForAppInstanceUserCommandInput, + cb: (err: any, data?: DescribeChannelMembershipForAppInstanceUserCommandOutput) => void + ): void; + public describeChannelMembershipForAppInstanceUser( + args: DescribeChannelMembershipForAppInstanceUserCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeChannelMembershipForAppInstanceUserCommandOutput) => void + ): void; + public describeChannelMembershipForAppInstanceUser( + args: DescribeChannelMembershipForAppInstanceUserCommandInput, + optionsOrCb?: + | __HttpHandlerOptions + | ((err: any, data?: DescribeChannelMembershipForAppInstanceUserCommandOutput) => void), + cb?: (err: any, data?: DescribeChannelMembershipForAppInstanceUserCommandOutput) => void + ): Promise | void { + const command = new DescribeChannelMembershipForAppInstanceUserCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Returns the full details of a channel moderated by the specified AppInstanceUser.

+ */ + public describeChannelModeratedByAppInstanceUser( + args: DescribeChannelModeratedByAppInstanceUserCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeChannelModeratedByAppInstanceUser( + args: DescribeChannelModeratedByAppInstanceUserCommandInput, + cb: (err: any, data?: DescribeChannelModeratedByAppInstanceUserCommandOutput) => void + ): void; + public describeChannelModeratedByAppInstanceUser( + args: DescribeChannelModeratedByAppInstanceUserCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeChannelModeratedByAppInstanceUserCommandOutput) => void + ): void; + public describeChannelModeratedByAppInstanceUser( + args: DescribeChannelModeratedByAppInstanceUserCommandInput, + optionsOrCb?: + | __HttpHandlerOptions + | ((err: any, data?: DescribeChannelModeratedByAppInstanceUserCommandOutput) => void), + cb?: (err: any, data?: DescribeChannelModeratedByAppInstanceUserCommandOutput) => void + ): Promise | void { + const command = new DescribeChannelModeratedByAppInstanceUserCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Returns the full details of a single ChannelModerator.

+ */ + public describeChannelModerator( + args: DescribeChannelModeratorCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeChannelModerator( + args: DescribeChannelModeratorCommandInput, + cb: (err: any, data?: DescribeChannelModeratorCommandOutput) => void + ): void; + public describeChannelModerator( + args: DescribeChannelModeratorCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeChannelModeratorCommandOutput) => void + ): void; + public describeChannelModerator( + args: DescribeChannelModeratorCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeChannelModeratorCommandOutput) => void), + cb?: (err: any, data?: DescribeChannelModeratorCommandOutput) => void + ): Promise | void { + const command = new DescribeChannelModeratorCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

Disassociates the primary provisioned phone number from the specified Amazon Chime * user.

@@ -2315,6 +3427,72 @@ export class Chime extends ChimeClient { } } + /** + *

Gets the retention settings for an app instance.

+ */ + public getAppInstanceRetentionSettings( + args: GetAppInstanceRetentionSettingsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getAppInstanceRetentionSettings( + args: GetAppInstanceRetentionSettingsCommandInput, + cb: (err: any, data?: GetAppInstanceRetentionSettingsCommandOutput) => void + ): void; + public getAppInstanceRetentionSettings( + args: GetAppInstanceRetentionSettingsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetAppInstanceRetentionSettingsCommandOutput) => void + ): void; + public getAppInstanceRetentionSettings( + args: GetAppInstanceRetentionSettingsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetAppInstanceRetentionSettingsCommandOutput) => void), + cb?: (err: any, data?: GetAppInstanceRetentionSettingsCommandOutput) => void + ): Promise | void { + const command = new GetAppInstanceRetentionSettingsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Gets the streaming settings for an app instance.

+ */ + public getAppInstanceStreamingConfigurations( + args: GetAppInstanceStreamingConfigurationsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getAppInstanceStreamingConfigurations( + args: GetAppInstanceStreamingConfigurationsCommandInput, + cb: (err: any, data?: GetAppInstanceStreamingConfigurationsCommandOutput) => void + ): void; + public getAppInstanceStreamingConfigurations( + args: GetAppInstanceStreamingConfigurationsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetAppInstanceStreamingConfigurationsCommandOutput) => void + ): void; + public getAppInstanceStreamingConfigurations( + args: GetAppInstanceStreamingConfigurationsCommandInput, + optionsOrCb?: + | __HttpHandlerOptions + | ((err: any, data?: GetAppInstanceStreamingConfigurationsCommandOutput) => void), + cb?: (err: any, data?: GetAppInstanceStreamingConfigurationsCommandOutput) => void + ): Promise | void { + const command = new GetAppInstanceStreamingConfigurationsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

Gets the Amazon Chime SDK attendee details for a specified meeting ID and attendee ID. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide.

*/ @@ -2367,6 +3545,38 @@ export class Chime extends ChimeClient { } } + /** + *

Gets the full details of a channel message.

+ */ + public getChannelMessage( + args: GetChannelMessageCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getChannelMessage( + args: GetChannelMessageCommandInput, + cb: (err: any, data?: GetChannelMessageCommandOutput) => void + ): void; + public getChannelMessage( + args: GetChannelMessageCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetChannelMessageCommandOutput) => void + ): void; + public getChannelMessage( + args: GetChannelMessageCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetChannelMessageCommandOutput) => void), + cb?: (err: any, data?: GetChannelMessageCommandOutput) => void + ): Promise | void { + const command = new GetChannelMessageCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

Gets details for an events configuration that allows a bot to receive outgoing events, such as an HTTPS endpoint or Lambda function ARN.

*/ @@ -2458,6 +3668,38 @@ export class Chime extends ChimeClient { } } + /** + *

The endpoint for the messaging session.

+ */ + public getMessagingSessionEndpoint( + args: GetMessagingSessionEndpointCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getMessagingSessionEndpoint( + args: GetMessagingSessionEndpointCommandInput, + cb: (err: any, data?: GetMessagingSessionEndpointCommandOutput) => void + ): void; + public getMessagingSessionEndpoint( + args: GetMessagingSessionEndpointCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetMessagingSessionEndpointCommandOutput) => void + ): void; + public getMessagingSessionEndpoint( + args: GetMessagingSessionEndpointCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetMessagingSessionEndpointCommandOutput) => void), + cb?: (err: any, data?: GetMessagingSessionEndpointCommandOutput) => void + ): Promise | void { + const command = new GetMessagingSessionEndpointCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

Retrieves details for the specified phone number ID, such as associations, * capabilities, and product type.

@@ -2902,8 +4144,7 @@ export class Chime extends ChimeClient { /** *

Retrieves the logging configuration details for the specified Amazon Chime Voice - * Connector. Shows whether SIP message logs are enabled for sending to Amazon CloudWatch - * Logs.

+ * Connector. Shows whether SIP message logs are enabled for sending to Amazon CloudWatch.

*/ public getVoiceConnectorLoggingConfiguration( args: GetVoiceConnectorLoggingConfigurationCommandInput, @@ -3050,14 +4291,324 @@ export class Chime extends ChimeClient { public getVoiceConnectorTermination( args: GetVoiceConnectorTerminationCommandInput, options: __HttpHandlerOptions, - cb: (err: any, data?: GetVoiceConnectorTerminationCommandOutput) => void + cb: (err: any, data?: GetVoiceConnectorTerminationCommandOutput) => void + ): void; + public getVoiceConnectorTermination( + args: GetVoiceConnectorTerminationCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetVoiceConnectorTerminationCommandOutput) => void), + cb?: (err: any, data?: GetVoiceConnectorTerminationCommandOutput) => void + ): Promise | void { + const command = new GetVoiceConnectorTerminationCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Retrieves information about the last time a SIP OPTIONS ping was received + * from your SIP infrastructure for the specified Amazon Chime Voice Connector.

+ */ + public getVoiceConnectorTerminationHealth( + args: GetVoiceConnectorTerminationHealthCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getVoiceConnectorTerminationHealth( + args: GetVoiceConnectorTerminationHealthCommandInput, + cb: (err: any, data?: GetVoiceConnectorTerminationHealthCommandOutput) => void + ): void; + public getVoiceConnectorTerminationHealth( + args: GetVoiceConnectorTerminationHealthCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetVoiceConnectorTerminationHealthCommandOutput) => void + ): void; + public getVoiceConnectorTerminationHealth( + args: GetVoiceConnectorTerminationHealthCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetVoiceConnectorTerminationHealthCommandOutput) => void), + cb?: (err: any, data?: GetVoiceConnectorTerminationHealthCommandOutput) => void + ): Promise | void { + const command = new GetVoiceConnectorTerminationHealthCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Sends email to a maximum of 50 users, inviting them to the specified Amazon Chime + * Team account. Only Team account types are currently supported for + * this action.

+ */ + public inviteUsers(args: InviteUsersCommandInput, options?: __HttpHandlerOptions): Promise; + public inviteUsers(args: InviteUsersCommandInput, cb: (err: any, data?: InviteUsersCommandOutput) => void): void; + public inviteUsers( + args: InviteUsersCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: InviteUsersCommandOutput) => void + ): void; + public inviteUsers( + args: InviteUsersCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: InviteUsersCommandOutput) => void), + cb?: (err: any, data?: InviteUsersCommandOutput) => void + ): Promise | void { + const command = new InviteUsersCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Lists the Amazon Chime accounts under the administrator's AWS account. You can filter + * accounts by account name prefix. To find out which Amazon Chime account a user belongs to, you + * can filter by the user's email address, which returns one account result.

+ */ + public listAccounts( + args: ListAccountsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listAccounts(args: ListAccountsCommandInput, cb: (err: any, data?: ListAccountsCommandOutput) => void): void; + public listAccounts( + args: ListAccountsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListAccountsCommandOutput) => void + ): void; + public listAccounts( + args: ListAccountsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListAccountsCommandOutput) => void), + cb?: (err: any, data?: ListAccountsCommandOutput) => void + ): Promise | void { + const command = new ListAccountsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Returns a list of the administrators in the app instance.

+ */ + public listAppInstanceAdmins( + args: ListAppInstanceAdminsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listAppInstanceAdmins( + args: ListAppInstanceAdminsCommandInput, + cb: (err: any, data?: ListAppInstanceAdminsCommandOutput) => void + ): void; + public listAppInstanceAdmins( + args: ListAppInstanceAdminsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListAppInstanceAdminsCommandOutput) => void + ): void; + public listAppInstanceAdmins( + args: ListAppInstanceAdminsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListAppInstanceAdminsCommandOutput) => void), + cb?: (err: any, data?: ListAppInstanceAdminsCommandOutput) => void + ): Promise | void { + const command = new ListAppInstanceAdminsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Lists all Amazon Chime app instances created under a single AWS account.

+ */ + public listAppInstances( + args: ListAppInstancesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listAppInstances( + args: ListAppInstancesCommandInput, + cb: (err: any, data?: ListAppInstancesCommandOutput) => void + ): void; + public listAppInstances( + args: ListAppInstancesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListAppInstancesCommandOutput) => void + ): void; + public listAppInstances( + args: ListAppInstancesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListAppInstancesCommandOutput) => void), + cb?: (err: any, data?: ListAppInstancesCommandOutput) => void + ): Promise | void { + const command = new ListAppInstancesCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

List all AppInstanceUsers created under a single app instance.

+ */ + public listAppInstanceUsers( + args: ListAppInstanceUsersCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listAppInstanceUsers( + args: ListAppInstanceUsersCommandInput, + cb: (err: any, data?: ListAppInstanceUsersCommandOutput) => void + ): void; + public listAppInstanceUsers( + args: ListAppInstanceUsersCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListAppInstanceUsersCommandOutput) => void + ): void; + public listAppInstanceUsers( + args: ListAppInstanceUsersCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListAppInstanceUsersCommandOutput) => void), + cb?: (err: any, data?: ListAppInstanceUsersCommandOutput) => void + ): Promise | void { + const command = new ListAppInstanceUsersCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Lists the attendees for the specified Amazon Chime SDK meeting. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide.

+ */ + public listAttendees( + args: ListAttendeesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listAttendees( + args: ListAttendeesCommandInput, + cb: (err: any, data?: ListAttendeesCommandOutput) => void + ): void; + public listAttendees( + args: ListAttendeesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListAttendeesCommandOutput) => void + ): void; + public listAttendees( + args: ListAttendeesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListAttendeesCommandOutput) => void), + cb?: (err: any, data?: ListAttendeesCommandOutput) => void + ): Promise | void { + const command = new ListAttendeesCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Lists the tags applied to an Amazon Chime SDK attendee resource.

+ */ + public listAttendeeTags( + args: ListAttendeeTagsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listAttendeeTags( + args: ListAttendeeTagsCommandInput, + cb: (err: any, data?: ListAttendeeTagsCommandOutput) => void + ): void; + public listAttendeeTags( + args: ListAttendeeTagsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListAttendeeTagsCommandOutput) => void + ): void; + public listAttendeeTags( + args: ListAttendeeTagsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListAttendeeTagsCommandOutput) => void), + cb?: (err: any, data?: ListAttendeeTagsCommandOutput) => void + ): Promise | void { + const command = new ListAttendeeTagsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Lists the bots associated with the administrator's Amazon Chime Enterprise account ID.

+ */ + public listBots(args: ListBotsCommandInput, options?: __HttpHandlerOptions): Promise; + public listBots(args: ListBotsCommandInput, cb: (err: any, data?: ListBotsCommandOutput) => void): void; + public listBots( + args: ListBotsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListBotsCommandOutput) => void + ): void; + public listBots( + args: ListBotsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListBotsCommandOutput) => void), + cb?: (err: any, data?: ListBotsCommandOutput) => void + ): Promise | void { + const command = new ListBotsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Lists all the users banned from a particular channel.

+ */ + public listChannelBans( + args: ListChannelBansCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listChannelBans( + args: ListChannelBansCommandInput, + cb: (err: any, data?: ListChannelBansCommandOutput) => void + ): void; + public listChannelBans( + args: ListChannelBansCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListChannelBansCommandOutput) => void ): void; - public getVoiceConnectorTermination( - args: GetVoiceConnectorTerminationCommandInput, - optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetVoiceConnectorTerminationCommandOutput) => void), - cb?: (err: any, data?: GetVoiceConnectorTerminationCommandOutput) => void - ): Promise | void { - const command = new GetVoiceConnectorTerminationCommand(args); + public listChannelBans( + args: ListChannelBansCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListChannelBansCommandOutput) => void), + cb?: (err: any, data?: ListChannelBansCommandOutput) => void + ): Promise | void { + const command = new ListChannelBansCommand(args); if (typeof optionsOrCb === "function") { this.send(command, optionsOrCb); } else if (typeof cb === "function") { @@ -3069,28 +4620,27 @@ export class Chime extends ChimeClient { } /** - *

Retrieves information about the last time a SIP OPTIONS ping was received - * from your SIP infrastructure for the specified Amazon Chime Voice Connector.

+ *

Lists all channel memberships in a channel.

*/ - public getVoiceConnectorTerminationHealth( - args: GetVoiceConnectorTerminationHealthCommandInput, + public listChannelMemberships( + args: ListChannelMembershipsCommandInput, options?: __HttpHandlerOptions - ): Promise; - public getVoiceConnectorTerminationHealth( - args: GetVoiceConnectorTerminationHealthCommandInput, - cb: (err: any, data?: GetVoiceConnectorTerminationHealthCommandOutput) => void + ): Promise; + public listChannelMemberships( + args: ListChannelMembershipsCommandInput, + cb: (err: any, data?: ListChannelMembershipsCommandOutput) => void ): void; - public getVoiceConnectorTerminationHealth( - args: GetVoiceConnectorTerminationHealthCommandInput, + public listChannelMemberships( + args: ListChannelMembershipsCommandInput, options: __HttpHandlerOptions, - cb: (err: any, data?: GetVoiceConnectorTerminationHealthCommandOutput) => void + cb: (err: any, data?: ListChannelMembershipsCommandOutput) => void ): void; - public getVoiceConnectorTerminationHealth( - args: GetVoiceConnectorTerminationHealthCommandInput, - optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetVoiceConnectorTerminationHealthCommandOutput) => void), - cb?: (err: any, data?: GetVoiceConnectorTerminationHealthCommandOutput) => void - ): Promise | void { - const command = new GetVoiceConnectorTerminationHealthCommand(args); + public listChannelMemberships( + args: ListChannelMembershipsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListChannelMembershipsCommandOutput) => void), + cb?: (err: any, data?: ListChannelMembershipsCommandOutput) => void + ): Promise | void { + const command = new ListChannelMembershipsCommand(args); if (typeof optionsOrCb === "function") { this.send(command, optionsOrCb); } else if (typeof cb === "function") { @@ -3102,23 +4652,30 @@ export class Chime extends ChimeClient { } /** - *

Sends email to a maximum of 50 users, inviting them to the specified Amazon Chime - * Team account. Only Team account types are currently supported for - * this action.

+ *

Lists all channels that a particular AppInstanceUser is a part of. Only an AppInstanceAdmin can call the + * API with a user ARN that is not their own.

*/ - public inviteUsers(args: InviteUsersCommandInput, options?: __HttpHandlerOptions): Promise; - public inviteUsers(args: InviteUsersCommandInput, cb: (err: any, data?: InviteUsersCommandOutput) => void): void; - public inviteUsers( - args: InviteUsersCommandInput, + public listChannelMembershipsForAppInstanceUser( + args: ListChannelMembershipsForAppInstanceUserCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listChannelMembershipsForAppInstanceUser( + args: ListChannelMembershipsForAppInstanceUserCommandInput, + cb: (err: any, data?: ListChannelMembershipsForAppInstanceUserCommandOutput) => void + ): void; + public listChannelMembershipsForAppInstanceUser( + args: ListChannelMembershipsForAppInstanceUserCommandInput, options: __HttpHandlerOptions, - cb: (err: any, data?: InviteUsersCommandOutput) => void + cb: (err: any, data?: ListChannelMembershipsForAppInstanceUserCommandOutput) => void ): void; - public inviteUsers( - args: InviteUsersCommandInput, - optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: InviteUsersCommandOutput) => void), - cb?: (err: any, data?: InviteUsersCommandOutput) => void - ): Promise | void { - const command = new InviteUsersCommand(args); + public listChannelMembershipsForAppInstanceUser( + args: ListChannelMembershipsForAppInstanceUserCommandInput, + optionsOrCb?: + | __HttpHandlerOptions + | ((err: any, data?: ListChannelMembershipsForAppInstanceUserCommandOutput) => void), + cb?: (err: any, data?: ListChannelMembershipsForAppInstanceUserCommandOutput) => void + ): Promise | void { + const command = new ListChannelMembershipsForAppInstanceUserCommand(args); if (typeof optionsOrCb === "function") { this.send(command, optionsOrCb); } else if (typeof cb === "function") { @@ -3130,26 +4687,32 @@ export class Chime extends ChimeClient { } /** - *

Lists the Amazon Chime accounts under the administrator's AWS account. You can filter - * accounts by account name prefix. To find out which Amazon Chime account a user belongs to, you - * can filter by the user's email address, which returns one account result.

+ *

List all the messages in a channel. Returns a paginated list of ChannelMessages. + * Sorted in descending order by default, based on the creation timestamp.

+ * + *

Redacted messages appear in the results as empty, since they are only redacted, not deleted. + * Deleted messages do not appear in the results. This action always returns the latest version of an edited message.

+ *
*/ - public listAccounts( - args: ListAccountsCommandInput, + public listChannelMessages( + args: ListChannelMessagesCommandInput, options?: __HttpHandlerOptions - ): Promise; - public listAccounts(args: ListAccountsCommandInput, cb: (err: any, data?: ListAccountsCommandOutput) => void): void; - public listAccounts( - args: ListAccountsCommandInput, + ): Promise; + public listChannelMessages( + args: ListChannelMessagesCommandInput, + cb: (err: any, data?: ListChannelMessagesCommandOutput) => void + ): void; + public listChannelMessages( + args: ListChannelMessagesCommandInput, options: __HttpHandlerOptions, - cb: (err: any, data?: ListAccountsCommandOutput) => void + cb: (err: any, data?: ListChannelMessagesCommandOutput) => void ): void; - public listAccounts( - args: ListAccountsCommandInput, - optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListAccountsCommandOutput) => void), - cb?: (err: any, data?: ListAccountsCommandOutput) => void - ): Promise | void { - const command = new ListAccountsCommand(args); + public listChannelMessages( + args: ListChannelMessagesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListChannelMessagesCommandOutput) => void), + cb?: (err: any, data?: ListChannelMessagesCommandOutput) => void + ): Promise | void { + const command = new ListChannelMessagesCommand(args); if (typeof optionsOrCb === "function") { this.send(command, optionsOrCb); } else if (typeof cb === "function") { @@ -3161,27 +4724,27 @@ export class Chime extends ChimeClient { } /** - *

Lists the attendees for the specified Amazon Chime SDK meeting. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide.

+ *

Lists all the moderators for a channel.

*/ - public listAttendees( - args: ListAttendeesCommandInput, + public listChannelModerators( + args: ListChannelModeratorsCommandInput, options?: __HttpHandlerOptions - ): Promise; - public listAttendees( - args: ListAttendeesCommandInput, - cb: (err: any, data?: ListAttendeesCommandOutput) => void + ): Promise; + public listChannelModerators( + args: ListChannelModeratorsCommandInput, + cb: (err: any, data?: ListChannelModeratorsCommandOutput) => void ): void; - public listAttendees( - args: ListAttendeesCommandInput, + public listChannelModerators( + args: ListChannelModeratorsCommandInput, options: __HttpHandlerOptions, - cb: (err: any, data?: ListAttendeesCommandOutput) => void + cb: (err: any, data?: ListChannelModeratorsCommandOutput) => void ): void; - public listAttendees( - args: ListAttendeesCommandInput, - optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListAttendeesCommandOutput) => void), - cb?: (err: any, data?: ListAttendeesCommandOutput) => void - ): Promise | void { - const command = new ListAttendeesCommand(args); + public listChannelModerators( + args: ListChannelModeratorsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListChannelModeratorsCommandOutput) => void), + cb?: (err: any, data?: ListChannelModeratorsCommandOutput) => void + ): Promise | void { + const command = new ListChannelModeratorsCommand(args); if (typeof optionsOrCb === "function") { this.send(command, optionsOrCb); } else if (typeof cb === "function") { @@ -3193,27 +4756,36 @@ export class Chime extends ChimeClient { } /** - *

Lists the tags applied to an Amazon Chime SDK attendee resource.

+ *

Lists all Channels created under a single Chime App as a paginated list. You can specify filters to narrow results.

+ *

+ * Functionality & restrictions + *

+ *
    + *
  • + *

    Use privacy = PUBLIC to retrieve all public channels in the account

    + *
  • + *
  • + *

    Only an AppInstanceAdmin can set privacy = PRIVATE to list the private channels in an + * account.

    + *
  • + *
*/ - public listAttendeeTags( - args: ListAttendeeTagsCommandInput, + public listChannels( + args: ListChannelsCommandInput, options?: __HttpHandlerOptions - ): Promise; - public listAttendeeTags( - args: ListAttendeeTagsCommandInput, - cb: (err: any, data?: ListAttendeeTagsCommandOutput) => void - ): void; - public listAttendeeTags( - args: ListAttendeeTagsCommandInput, + ): Promise; + public listChannels(args: ListChannelsCommandInput, cb: (err: any, data?: ListChannelsCommandOutput) => void): void; + public listChannels( + args: ListChannelsCommandInput, options: __HttpHandlerOptions, - cb: (err: any, data?: ListAttendeeTagsCommandOutput) => void + cb: (err: any, data?: ListChannelsCommandOutput) => void ): void; - public listAttendeeTags( - args: ListAttendeeTagsCommandInput, - optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListAttendeeTagsCommandOutput) => void), - cb?: (err: any, data?: ListAttendeeTagsCommandOutput) => void - ): Promise | void { - const command = new ListAttendeeTagsCommand(args); + public listChannels( + args: ListChannelsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListChannelsCommandOutput) => void), + cb?: (err: any, data?: ListChannelsCommandOutput) => void + ): Promise | void { + const command = new ListChannelsCommand(args); if (typeof optionsOrCb === "function") { this.send(command, optionsOrCb); } else if (typeof cb === "function") { @@ -3225,21 +4797,29 @@ export class Chime extends ChimeClient { } /** - *

Lists the bots associated with the administrator's Amazon Chime Enterprise account ID.

+ *

A list of the channels moderated by an app instance user.

*/ - public listBots(args: ListBotsCommandInput, options?: __HttpHandlerOptions): Promise; - public listBots(args: ListBotsCommandInput, cb: (err: any, data?: ListBotsCommandOutput) => void): void; - public listBots( - args: ListBotsCommandInput, + public listChannelsModeratedByAppInstanceUser( + args: ListChannelsModeratedByAppInstanceUserCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listChannelsModeratedByAppInstanceUser( + args: ListChannelsModeratedByAppInstanceUserCommandInput, + cb: (err: any, data?: ListChannelsModeratedByAppInstanceUserCommandOutput) => void + ): void; + public listChannelsModeratedByAppInstanceUser( + args: ListChannelsModeratedByAppInstanceUserCommandInput, options: __HttpHandlerOptions, - cb: (err: any, data?: ListBotsCommandOutput) => void + cb: (err: any, data?: ListChannelsModeratedByAppInstanceUserCommandOutput) => void ): void; - public listBots( - args: ListBotsCommandInput, - optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListBotsCommandOutput) => void), - cb?: (err: any, data?: ListBotsCommandOutput) => void - ): Promise | void { - const command = new ListBotsCommand(args); + public listChannelsModeratedByAppInstanceUser( + args: ListChannelsModeratedByAppInstanceUserCommandInput, + optionsOrCb?: + | __HttpHandlerOptions + | ((err: any, data?: ListChannelsModeratedByAppInstanceUserCommandOutput) => void), + cb?: (err: any, data?: ListChannelsModeratedByAppInstanceUserCommandOutput) => void + ): Promise | void { + const command = new ListChannelsModeratedByAppInstanceUserCommand(args); if (typeof optionsOrCb === "function") { this.send(command, optionsOrCb); } else if (typeof cb === "function") { @@ -3710,6 +5290,72 @@ export class Chime extends ChimeClient { } } + /** + *

Sets the amount of time in days that a given app instance retains data.

+ */ + public putAppInstanceRetentionSettings( + args: PutAppInstanceRetentionSettingsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public putAppInstanceRetentionSettings( + args: PutAppInstanceRetentionSettingsCommandInput, + cb: (err: any, data?: PutAppInstanceRetentionSettingsCommandOutput) => void + ): void; + public putAppInstanceRetentionSettings( + args: PutAppInstanceRetentionSettingsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: PutAppInstanceRetentionSettingsCommandOutput) => void + ): void; + public putAppInstanceRetentionSettings( + args: PutAppInstanceRetentionSettingsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: PutAppInstanceRetentionSettingsCommandOutput) => void), + cb?: (err: any, data?: PutAppInstanceRetentionSettingsCommandOutput) => void + ): Promise | void { + const command = new PutAppInstanceRetentionSettingsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

The data streaming configurations of an app instance.

+ */ + public putAppInstanceStreamingConfigurations( + args: PutAppInstanceStreamingConfigurationsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public putAppInstanceStreamingConfigurations( + args: PutAppInstanceStreamingConfigurationsCommandInput, + cb: (err: any, data?: PutAppInstanceStreamingConfigurationsCommandOutput) => void + ): void; + public putAppInstanceStreamingConfigurations( + args: PutAppInstanceStreamingConfigurationsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: PutAppInstanceStreamingConfigurationsCommandOutput) => void + ): void; + public putAppInstanceStreamingConfigurations( + args: PutAppInstanceStreamingConfigurationsCommandInput, + optionsOrCb?: + | __HttpHandlerOptions + | ((err: any, data?: PutAppInstanceStreamingConfigurationsCommandOutput) => void), + cb?: (err: any, data?: PutAppInstanceStreamingConfigurationsCommandOutput) => void + ): Promise | void { + const command = new PutAppInstanceStreamingConfigurationsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

Creates an events configuration that allows a bot to receive outgoing events sent by Amazon Chime. * Choose either an HTTPS endpoint or a Lambda function ARN. For more information, see Bot.

@@ -4050,6 +5696,39 @@ export class Chime extends ChimeClient { } } + /** + *

Redacts message content, but not metadata. The message exists in the back end, but the action returns null content, and the state + * shows as redacted.

+ */ + public redactChannelMessage( + args: RedactChannelMessageCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public redactChannelMessage( + args: RedactChannelMessageCommandInput, + cb: (err: any, data?: RedactChannelMessageCommandOutput) => void + ): void; + public redactChannelMessage( + args: RedactChannelMessageCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: RedactChannelMessageCommandOutput) => void + ): void; + public redactChannelMessage( + args: RedactChannelMessageCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: RedactChannelMessageCommandOutput) => void), + cb?: (err: any, data?: RedactChannelMessageCommandOutput) => void + ): Promise | void { + const command = new RedactChannelMessageCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

Redacts the specified message from the specified Amazon Chime conversation.

*/ @@ -4083,7 +5762,7 @@ export class Chime extends ChimeClient { } /** - *

Redacts the specified message from the specified Amazon Chime chat room.

+ *

Redacts the specified message from the specified Amazon Chime channel.

*/ public redactRoomMessage( args: RedactRoomMessageCommandInput, @@ -4244,6 +5923,44 @@ export class Chime extends ChimeClient { } } + /** + *

Sends a message to a particular channel that the member is a part of.

+ * + * + *

+ * STANDARD messages can contain 4KB of data and the 1KB of metadata. CONTROL messages can contain 30 + * bytes of data and no metadata.

+ *
+ */ + public sendChannelMessage( + args: SendChannelMessageCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public sendChannelMessage( + args: SendChannelMessageCommandInput, + cb: (err: any, data?: SendChannelMessageCommandOutput) => void + ): void; + public sendChannelMessage( + args: SendChannelMessageCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: SendChannelMessageCommandOutput) => void + ): void; + public sendChannelMessage( + args: SendChannelMessageCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: SendChannelMessageCommandOutput) => void), + cb?: (err: any, data?: SendChannelMessageCommandOutput) => void + ): Promise | void { + const command = new SendChannelMessageCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

Applies the specified tags to the specified Amazon Chime SDK attendee.

*/ @@ -4484,6 +6201,70 @@ export class Chime extends ChimeClient { } } + /** + *

Updates AppInstance metadata.

+ */ + public updateAppInstance( + args: UpdateAppInstanceCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateAppInstance( + args: UpdateAppInstanceCommandInput, + cb: (err: any, data?: UpdateAppInstanceCommandOutput) => void + ): void; + public updateAppInstance( + args: UpdateAppInstanceCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateAppInstanceCommandOutput) => void + ): void; + public updateAppInstance( + args: UpdateAppInstanceCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateAppInstanceCommandOutput) => void), + cb?: (err: any, data?: UpdateAppInstanceCommandOutput) => void + ): Promise | void { + const command = new UpdateAppInstanceCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Updates the details for an AppInstanceUser. You can update names and metadata.

+ */ + public updateAppInstanceUser( + args: UpdateAppInstanceUserCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateAppInstanceUser( + args: UpdateAppInstanceUserCommandInput, + cb: (err: any, data?: UpdateAppInstanceUserCommandOutput) => void + ): void; + public updateAppInstanceUser( + args: UpdateAppInstanceUserCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateAppInstanceUserCommandOutput) => void + ): void; + public updateAppInstanceUser( + args: UpdateAppInstanceUserCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateAppInstanceUserCommandOutput) => void), + cb?: (err: any, data?: UpdateAppInstanceUserCommandOutput) => void + ): Promise | void { + const command = new UpdateAppInstanceUserCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

Updates the status of the specified bot, such as starting or stopping the bot from running in your Amazon Chime Enterprise account.

*/ @@ -4510,6 +6291,104 @@ export class Chime extends ChimeClient { } } + /** + *

Update a channel's attributes.

+ *

+ * Restriction: You can't change a channel's privacy.

+ */ + public updateChannel( + args: UpdateChannelCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateChannel( + args: UpdateChannelCommandInput, + cb: (err: any, data?: UpdateChannelCommandOutput) => void + ): void; + public updateChannel( + args: UpdateChannelCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateChannelCommandOutput) => void + ): void; + public updateChannel( + args: UpdateChannelCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateChannelCommandOutput) => void), + cb?: (err: any, data?: UpdateChannelCommandOutput) => void + ): Promise | void { + const command = new UpdateChannelCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Updates the content of a message.

+ */ + public updateChannelMessage( + args: UpdateChannelMessageCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateChannelMessage( + args: UpdateChannelMessageCommandInput, + cb: (err: any, data?: UpdateChannelMessageCommandOutput) => void + ): void; + public updateChannelMessage( + args: UpdateChannelMessageCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateChannelMessageCommandOutput) => void + ): void; + public updateChannelMessage( + args: UpdateChannelMessageCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateChannelMessageCommandOutput) => void), + cb?: (err: any, data?: UpdateChannelMessageCommandOutput) => void + ): Promise | void { + const command = new UpdateChannelMessageCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Sets the timestamp to the point when a user last read messages in a channel.

+ */ + public updateChannelReadMarker( + args: UpdateChannelReadMarkerCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateChannelReadMarker( + args: UpdateChannelReadMarkerCommandInput, + cb: (err: any, data?: UpdateChannelReadMarkerCommandOutput) => void + ): void; + public updateChannelReadMarker( + args: UpdateChannelReadMarkerCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateChannelReadMarkerCommandOutput) => void + ): void; + public updateChannelReadMarker( + args: UpdateChannelReadMarkerCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateChannelReadMarkerCommandOutput) => void), + cb?: (err: any, data?: UpdateChannelReadMarkerCommandOutput) => void + ): Promise | void { + const command = new UpdateChannelReadMarkerCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

Updates global settings for the administrator's AWS account, such as Amazon Chime Business * Calling and Amazon Chime Voice Connector settings.

diff --git a/clients/client-chime/ChimeClient.ts b/clients/client-chime/ChimeClient.ts index 6e4600902591..e20098421694 100644 --- a/clients/client-chime/ChimeClient.ts +++ b/clients/client-chime/ChimeClient.ts @@ -34,8 +34,27 @@ import { } from "./commands/BatchUpdatePhoneNumberCommand"; import { BatchUpdateUserCommandInput, BatchUpdateUserCommandOutput } from "./commands/BatchUpdateUserCommand"; import { CreateAccountCommandInput, CreateAccountCommandOutput } from "./commands/CreateAccountCommand"; +import { + CreateAppInstanceAdminCommandInput, + CreateAppInstanceAdminCommandOutput, +} from "./commands/CreateAppInstanceAdminCommand"; +import { CreateAppInstanceCommandInput, CreateAppInstanceCommandOutput } from "./commands/CreateAppInstanceCommand"; +import { + CreateAppInstanceUserCommandInput, + CreateAppInstanceUserCommandOutput, +} from "./commands/CreateAppInstanceUserCommand"; import { CreateAttendeeCommandInput, CreateAttendeeCommandOutput } from "./commands/CreateAttendeeCommand"; import { CreateBotCommandInput, CreateBotCommandOutput } from "./commands/CreateBotCommand"; +import { CreateChannelBanCommandInput, CreateChannelBanCommandOutput } from "./commands/CreateChannelBanCommand"; +import { CreateChannelCommandInput, CreateChannelCommandOutput } from "./commands/CreateChannelCommand"; +import { + CreateChannelMembershipCommandInput, + CreateChannelMembershipCommandOutput, +} from "./commands/CreateChannelMembershipCommand"; +import { + CreateChannelModeratorCommandInput, + CreateChannelModeratorCommandOutput, +} from "./commands/CreateChannelModeratorCommand"; import { CreateMeetingCommandInput, CreateMeetingCommandOutput } from "./commands/CreateMeetingCommand"; import { CreateMeetingDialOutCommandInput, @@ -74,7 +93,34 @@ import { CreateVoiceConnectorGroupCommandOutput, } from "./commands/CreateVoiceConnectorGroupCommand"; import { DeleteAccountCommandInput, DeleteAccountCommandOutput } from "./commands/DeleteAccountCommand"; +import { + DeleteAppInstanceAdminCommandInput, + DeleteAppInstanceAdminCommandOutput, +} from "./commands/DeleteAppInstanceAdminCommand"; +import { DeleteAppInstanceCommandInput, DeleteAppInstanceCommandOutput } from "./commands/DeleteAppInstanceCommand"; +import { + DeleteAppInstanceStreamingConfigurationsCommandInput, + DeleteAppInstanceStreamingConfigurationsCommandOutput, +} from "./commands/DeleteAppInstanceStreamingConfigurationsCommand"; +import { + DeleteAppInstanceUserCommandInput, + DeleteAppInstanceUserCommandOutput, +} from "./commands/DeleteAppInstanceUserCommand"; import { DeleteAttendeeCommandInput, DeleteAttendeeCommandOutput } from "./commands/DeleteAttendeeCommand"; +import { DeleteChannelBanCommandInput, DeleteChannelBanCommandOutput } from "./commands/DeleteChannelBanCommand"; +import { DeleteChannelCommandInput, DeleteChannelCommandOutput } from "./commands/DeleteChannelCommand"; +import { + DeleteChannelMembershipCommandInput, + DeleteChannelMembershipCommandOutput, +} from "./commands/DeleteChannelMembershipCommand"; +import { + DeleteChannelMessageCommandInput, + DeleteChannelMessageCommandOutput, +} from "./commands/DeleteChannelMessageCommand"; +import { + DeleteChannelModeratorCommandInput, + DeleteChannelModeratorCommandOutput, +} from "./commands/DeleteChannelModeratorCommand"; import { DeleteEventsConfigurationCommandInput, DeleteEventsConfigurationCommandOutput, @@ -124,6 +170,36 @@ import { DeleteVoiceConnectorTerminationCredentialsCommandInput, DeleteVoiceConnectorTerminationCredentialsCommandOutput, } from "./commands/DeleteVoiceConnectorTerminationCredentialsCommand"; +import { + DescribeAppInstanceAdminCommandInput, + DescribeAppInstanceAdminCommandOutput, +} from "./commands/DescribeAppInstanceAdminCommand"; +import { + DescribeAppInstanceCommandInput, + DescribeAppInstanceCommandOutput, +} from "./commands/DescribeAppInstanceCommand"; +import { + DescribeAppInstanceUserCommandInput, + DescribeAppInstanceUserCommandOutput, +} from "./commands/DescribeAppInstanceUserCommand"; +import { DescribeChannelBanCommandInput, DescribeChannelBanCommandOutput } from "./commands/DescribeChannelBanCommand"; +import { DescribeChannelCommandInput, DescribeChannelCommandOutput } from "./commands/DescribeChannelCommand"; +import { + DescribeChannelMembershipCommandInput, + DescribeChannelMembershipCommandOutput, +} from "./commands/DescribeChannelMembershipCommand"; +import { + DescribeChannelMembershipForAppInstanceUserCommandInput, + DescribeChannelMembershipForAppInstanceUserCommandOutput, +} from "./commands/DescribeChannelMembershipForAppInstanceUserCommand"; +import { + DescribeChannelModeratedByAppInstanceUserCommandInput, + DescribeChannelModeratedByAppInstanceUserCommandOutput, +} from "./commands/DescribeChannelModeratedByAppInstanceUserCommand"; +import { + DescribeChannelModeratorCommandInput, + DescribeChannelModeratorCommandOutput, +} from "./commands/DescribeChannelModeratorCommand"; import { DisassociatePhoneNumberFromUserCommandInput, DisassociatePhoneNumberFromUserCommandOutput, @@ -142,14 +218,27 @@ import { } from "./commands/DisassociateSigninDelegateGroupsFromAccountCommand"; import { GetAccountCommandInput, GetAccountCommandOutput } from "./commands/GetAccountCommand"; import { GetAccountSettingsCommandInput, GetAccountSettingsCommandOutput } from "./commands/GetAccountSettingsCommand"; +import { + GetAppInstanceRetentionSettingsCommandInput, + GetAppInstanceRetentionSettingsCommandOutput, +} from "./commands/GetAppInstanceRetentionSettingsCommand"; +import { + GetAppInstanceStreamingConfigurationsCommandInput, + GetAppInstanceStreamingConfigurationsCommandOutput, +} from "./commands/GetAppInstanceStreamingConfigurationsCommand"; import { GetAttendeeCommandInput, GetAttendeeCommandOutput } from "./commands/GetAttendeeCommand"; import { GetBotCommandInput, GetBotCommandOutput } from "./commands/GetBotCommand"; +import { GetChannelMessageCommandInput, GetChannelMessageCommandOutput } from "./commands/GetChannelMessageCommand"; import { GetEventsConfigurationCommandInput, GetEventsConfigurationCommandOutput, } from "./commands/GetEventsConfigurationCommand"; import { GetGlobalSettingsCommandInput, GetGlobalSettingsCommandOutput } from "./commands/GetGlobalSettingsCommand"; import { GetMeetingCommandInput, GetMeetingCommandOutput } from "./commands/GetMeetingCommand"; +import { + GetMessagingSessionEndpointCommandInput, + GetMessagingSessionEndpointCommandOutput, +} from "./commands/GetMessagingSessionEndpointCommand"; import { GetPhoneNumberCommandInput, GetPhoneNumberCommandOutput } from "./commands/GetPhoneNumberCommand"; import { GetPhoneNumberOrderCommandInput, @@ -211,9 +300,40 @@ import { } from "./commands/GetVoiceConnectorTerminationHealthCommand"; import { InviteUsersCommandInput, InviteUsersCommandOutput } from "./commands/InviteUsersCommand"; import { ListAccountsCommandInput, ListAccountsCommandOutput } from "./commands/ListAccountsCommand"; +import { + ListAppInstanceAdminsCommandInput, + ListAppInstanceAdminsCommandOutput, +} from "./commands/ListAppInstanceAdminsCommand"; +import { + ListAppInstanceUsersCommandInput, + ListAppInstanceUsersCommandOutput, +} from "./commands/ListAppInstanceUsersCommand"; +import { ListAppInstancesCommandInput, ListAppInstancesCommandOutput } from "./commands/ListAppInstancesCommand"; import { ListAttendeeTagsCommandInput, ListAttendeeTagsCommandOutput } from "./commands/ListAttendeeTagsCommand"; import { ListAttendeesCommandInput, ListAttendeesCommandOutput } from "./commands/ListAttendeesCommand"; import { ListBotsCommandInput, ListBotsCommandOutput } from "./commands/ListBotsCommand"; +import { ListChannelBansCommandInput, ListChannelBansCommandOutput } from "./commands/ListChannelBansCommand"; +import { + ListChannelMembershipsCommandInput, + ListChannelMembershipsCommandOutput, +} from "./commands/ListChannelMembershipsCommand"; +import { + ListChannelMembershipsForAppInstanceUserCommandInput, + ListChannelMembershipsForAppInstanceUserCommandOutput, +} from "./commands/ListChannelMembershipsForAppInstanceUserCommand"; +import { + ListChannelMessagesCommandInput, + ListChannelMessagesCommandOutput, +} from "./commands/ListChannelMessagesCommand"; +import { + ListChannelModeratorsCommandInput, + ListChannelModeratorsCommandOutput, +} from "./commands/ListChannelModeratorsCommand"; +import { ListChannelsCommandInput, ListChannelsCommandOutput } from "./commands/ListChannelsCommand"; +import { + ListChannelsModeratedByAppInstanceUserCommandInput, + ListChannelsModeratedByAppInstanceUserCommandOutput, +} from "./commands/ListChannelsModeratedByAppInstanceUserCommand"; import { ListMeetingTagsCommandInput, ListMeetingTagsCommandOutput } from "./commands/ListMeetingTagsCommand"; import { ListMeetingsCommandInput, ListMeetingsCommandOutput } from "./commands/ListMeetingsCommand"; import { @@ -250,6 +370,14 @@ import { ListVoiceConnectorsCommandOutput, } from "./commands/ListVoiceConnectorsCommand"; import { LogoutUserCommandInput, LogoutUserCommandOutput } from "./commands/LogoutUserCommand"; +import { + PutAppInstanceRetentionSettingsCommandInput, + PutAppInstanceRetentionSettingsCommandOutput, +} from "./commands/PutAppInstanceRetentionSettingsCommand"; +import { + PutAppInstanceStreamingConfigurationsCommandInput, + PutAppInstanceStreamingConfigurationsCommandOutput, +} from "./commands/PutAppInstanceStreamingConfigurationsCommand"; import { PutEventsConfigurationCommandInput, PutEventsConfigurationCommandOutput, @@ -290,6 +418,10 @@ import { PutVoiceConnectorTerminationCredentialsCommandInput, PutVoiceConnectorTerminationCredentialsCommandOutput, } from "./commands/PutVoiceConnectorTerminationCredentialsCommand"; +import { + RedactChannelMessageCommandInput, + RedactChannelMessageCommandOutput, +} from "./commands/RedactChannelMessageCommand"; import { RedactConversationMessageCommandInput, RedactConversationMessageCommandOutput, @@ -305,6 +437,7 @@ import { SearchAvailablePhoneNumbersCommandInput, SearchAvailablePhoneNumbersCommandOutput, } from "./commands/SearchAvailablePhoneNumbersCommand"; +import { SendChannelMessageCommandInput, SendChannelMessageCommandOutput } from "./commands/SendChannelMessageCommand"; import { TagAttendeeCommandInput, TagAttendeeCommandOutput } from "./commands/TagAttendeeCommand"; import { TagMeetingCommandInput, TagMeetingCommandOutput } from "./commands/TagMeetingCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; @@ -316,7 +449,21 @@ import { UpdateAccountSettingsCommandInput, UpdateAccountSettingsCommandOutput, } from "./commands/UpdateAccountSettingsCommand"; +import { UpdateAppInstanceCommandInput, UpdateAppInstanceCommandOutput } from "./commands/UpdateAppInstanceCommand"; +import { + UpdateAppInstanceUserCommandInput, + UpdateAppInstanceUserCommandOutput, +} from "./commands/UpdateAppInstanceUserCommand"; import { UpdateBotCommandInput, UpdateBotCommandOutput } from "./commands/UpdateBotCommand"; +import { UpdateChannelCommandInput, UpdateChannelCommandOutput } from "./commands/UpdateChannelCommand"; +import { + UpdateChannelMessageCommandInput, + UpdateChannelMessageCommandOutput, +} from "./commands/UpdateChannelMessageCommand"; +import { + UpdateChannelReadMarkerCommandInput, + UpdateChannelReadMarkerCommandOutput, +} from "./commands/UpdateChannelReadMarkerCommand"; import { UpdateGlobalSettingsCommandInput, UpdateGlobalSettingsCommandOutput, @@ -409,8 +556,15 @@ export type ServiceInputTypes = | BatchUpdatePhoneNumberCommandInput | BatchUpdateUserCommandInput | CreateAccountCommandInput + | CreateAppInstanceAdminCommandInput + | CreateAppInstanceCommandInput + | CreateAppInstanceUserCommandInput | CreateAttendeeCommandInput | CreateBotCommandInput + | CreateChannelBanCommandInput + | CreateChannelCommandInput + | CreateChannelMembershipCommandInput + | CreateChannelModeratorCommandInput | CreateMeetingCommandInput | CreateMeetingDialOutCommandInput | CreateMeetingWithAttendeesCommandInput @@ -425,7 +579,16 @@ export type ServiceInputTypes = | CreateVoiceConnectorCommandInput | CreateVoiceConnectorGroupCommandInput | DeleteAccountCommandInput + | DeleteAppInstanceAdminCommandInput + | DeleteAppInstanceCommandInput + | DeleteAppInstanceStreamingConfigurationsCommandInput + | DeleteAppInstanceUserCommandInput | DeleteAttendeeCommandInput + | DeleteChannelBanCommandInput + | DeleteChannelCommandInput + | DeleteChannelMembershipCommandInput + | DeleteChannelMessageCommandInput + | DeleteChannelModeratorCommandInput | DeleteEventsConfigurationCommandInput | DeleteMeetingCommandInput | DeletePhoneNumberCommandInput @@ -442,17 +605,30 @@ export type ServiceInputTypes = | DeleteVoiceConnectorStreamingConfigurationCommandInput | DeleteVoiceConnectorTerminationCommandInput | DeleteVoiceConnectorTerminationCredentialsCommandInput + | DescribeAppInstanceAdminCommandInput + | DescribeAppInstanceCommandInput + | DescribeAppInstanceUserCommandInput + | DescribeChannelBanCommandInput + | DescribeChannelCommandInput + | DescribeChannelMembershipCommandInput + | DescribeChannelMembershipForAppInstanceUserCommandInput + | DescribeChannelModeratedByAppInstanceUserCommandInput + | DescribeChannelModeratorCommandInput | DisassociatePhoneNumberFromUserCommandInput | DisassociatePhoneNumbersFromVoiceConnectorCommandInput | DisassociatePhoneNumbersFromVoiceConnectorGroupCommandInput | DisassociateSigninDelegateGroupsFromAccountCommandInput | GetAccountCommandInput | GetAccountSettingsCommandInput + | GetAppInstanceRetentionSettingsCommandInput + | GetAppInstanceStreamingConfigurationsCommandInput | GetAttendeeCommandInput | GetBotCommandInput + | GetChannelMessageCommandInput | GetEventsConfigurationCommandInput | GetGlobalSettingsCommandInput | GetMeetingCommandInput + | GetMessagingSessionEndpointCommandInput | GetPhoneNumberCommandInput | GetPhoneNumberOrderCommandInput | GetPhoneNumberSettingsCommandInput @@ -475,9 +651,19 @@ export type ServiceInputTypes = | GetVoiceConnectorTerminationHealthCommandInput | InviteUsersCommandInput | ListAccountsCommandInput + | ListAppInstanceAdminsCommandInput + | ListAppInstanceUsersCommandInput + | ListAppInstancesCommandInput | ListAttendeeTagsCommandInput | ListAttendeesCommandInput | ListBotsCommandInput + | ListChannelBansCommandInput + | ListChannelMembershipsCommandInput + | ListChannelMembershipsForAppInstanceUserCommandInput + | ListChannelMessagesCommandInput + | ListChannelModeratorsCommandInput + | ListChannelsCommandInput + | ListChannelsModeratedByAppInstanceUserCommandInput | ListMeetingTagsCommandInput | ListMeetingsCommandInput | ListPhoneNumberOrdersCommandInput @@ -493,6 +679,8 @@ export type ServiceInputTypes = | ListVoiceConnectorTerminationCredentialsCommandInput | ListVoiceConnectorsCommandInput | LogoutUserCommandInput + | PutAppInstanceRetentionSettingsCommandInput + | PutAppInstanceStreamingConfigurationsCommandInput | PutEventsConfigurationCommandInput | PutRetentionSettingsCommandInput | PutSipMediaApplicationLoggingConfigurationCommandInput @@ -503,12 +691,14 @@ export type ServiceInputTypes = | PutVoiceConnectorStreamingConfigurationCommandInput | PutVoiceConnectorTerminationCommandInput | PutVoiceConnectorTerminationCredentialsCommandInput + | RedactChannelMessageCommandInput | RedactConversationMessageCommandInput | RedactRoomMessageCommandInput | RegenerateSecurityTokenCommandInput | ResetPersonalPINCommandInput | RestorePhoneNumberCommandInput | SearchAvailablePhoneNumbersCommandInput + | SendChannelMessageCommandInput | TagAttendeeCommandInput | TagMeetingCommandInput | TagResourceCommandInput @@ -517,7 +707,12 @@ export type ServiceInputTypes = | UntagResourceCommandInput | UpdateAccountCommandInput | UpdateAccountSettingsCommandInput + | UpdateAppInstanceCommandInput + | UpdateAppInstanceUserCommandInput | UpdateBotCommandInput + | UpdateChannelCommandInput + | UpdateChannelMessageCommandInput + | UpdateChannelReadMarkerCommandInput | UpdateGlobalSettingsCommandInput | UpdatePhoneNumberCommandInput | UpdatePhoneNumberSettingsCommandInput @@ -544,8 +739,15 @@ export type ServiceOutputTypes = | BatchUpdatePhoneNumberCommandOutput | BatchUpdateUserCommandOutput | CreateAccountCommandOutput + | CreateAppInstanceAdminCommandOutput + | CreateAppInstanceCommandOutput + | CreateAppInstanceUserCommandOutput | CreateAttendeeCommandOutput | CreateBotCommandOutput + | CreateChannelBanCommandOutput + | CreateChannelCommandOutput + | CreateChannelMembershipCommandOutput + | CreateChannelModeratorCommandOutput | CreateMeetingCommandOutput | CreateMeetingDialOutCommandOutput | CreateMeetingWithAttendeesCommandOutput @@ -560,7 +762,16 @@ export type ServiceOutputTypes = | CreateVoiceConnectorCommandOutput | CreateVoiceConnectorGroupCommandOutput | DeleteAccountCommandOutput + | DeleteAppInstanceAdminCommandOutput + | DeleteAppInstanceCommandOutput + | DeleteAppInstanceStreamingConfigurationsCommandOutput + | DeleteAppInstanceUserCommandOutput | DeleteAttendeeCommandOutput + | DeleteChannelBanCommandOutput + | DeleteChannelCommandOutput + | DeleteChannelMembershipCommandOutput + | DeleteChannelMessageCommandOutput + | DeleteChannelModeratorCommandOutput | DeleteEventsConfigurationCommandOutput | DeleteMeetingCommandOutput | DeletePhoneNumberCommandOutput @@ -577,17 +788,30 @@ export type ServiceOutputTypes = | DeleteVoiceConnectorStreamingConfigurationCommandOutput | DeleteVoiceConnectorTerminationCommandOutput | DeleteVoiceConnectorTerminationCredentialsCommandOutput + | DescribeAppInstanceAdminCommandOutput + | DescribeAppInstanceCommandOutput + | DescribeAppInstanceUserCommandOutput + | DescribeChannelBanCommandOutput + | DescribeChannelCommandOutput + | DescribeChannelMembershipCommandOutput + | DescribeChannelMembershipForAppInstanceUserCommandOutput + | DescribeChannelModeratedByAppInstanceUserCommandOutput + | DescribeChannelModeratorCommandOutput | DisassociatePhoneNumberFromUserCommandOutput | DisassociatePhoneNumbersFromVoiceConnectorCommandOutput | DisassociatePhoneNumbersFromVoiceConnectorGroupCommandOutput | DisassociateSigninDelegateGroupsFromAccountCommandOutput | GetAccountCommandOutput | GetAccountSettingsCommandOutput + | GetAppInstanceRetentionSettingsCommandOutput + | GetAppInstanceStreamingConfigurationsCommandOutput | GetAttendeeCommandOutput | GetBotCommandOutput + | GetChannelMessageCommandOutput | GetEventsConfigurationCommandOutput | GetGlobalSettingsCommandOutput | GetMeetingCommandOutput + | GetMessagingSessionEndpointCommandOutput | GetPhoneNumberCommandOutput | GetPhoneNumberOrderCommandOutput | GetPhoneNumberSettingsCommandOutput @@ -610,9 +834,19 @@ export type ServiceOutputTypes = | GetVoiceConnectorTerminationHealthCommandOutput | InviteUsersCommandOutput | ListAccountsCommandOutput + | ListAppInstanceAdminsCommandOutput + | ListAppInstanceUsersCommandOutput + | ListAppInstancesCommandOutput | ListAttendeeTagsCommandOutput | ListAttendeesCommandOutput | ListBotsCommandOutput + | ListChannelBansCommandOutput + | ListChannelMembershipsCommandOutput + | ListChannelMembershipsForAppInstanceUserCommandOutput + | ListChannelMessagesCommandOutput + | ListChannelModeratorsCommandOutput + | ListChannelsCommandOutput + | ListChannelsModeratedByAppInstanceUserCommandOutput | ListMeetingTagsCommandOutput | ListMeetingsCommandOutput | ListPhoneNumberOrdersCommandOutput @@ -628,6 +862,8 @@ export type ServiceOutputTypes = | ListVoiceConnectorTerminationCredentialsCommandOutput | ListVoiceConnectorsCommandOutput | LogoutUserCommandOutput + | PutAppInstanceRetentionSettingsCommandOutput + | PutAppInstanceStreamingConfigurationsCommandOutput | PutEventsConfigurationCommandOutput | PutRetentionSettingsCommandOutput | PutSipMediaApplicationLoggingConfigurationCommandOutput @@ -638,12 +874,14 @@ export type ServiceOutputTypes = | PutVoiceConnectorStreamingConfigurationCommandOutput | PutVoiceConnectorTerminationCommandOutput | PutVoiceConnectorTerminationCredentialsCommandOutput + | RedactChannelMessageCommandOutput | RedactConversationMessageCommandOutput | RedactRoomMessageCommandOutput | RegenerateSecurityTokenCommandOutput | ResetPersonalPINCommandOutput | RestorePhoneNumberCommandOutput | SearchAvailablePhoneNumbersCommandOutput + | SendChannelMessageCommandOutput | TagAttendeeCommandOutput | TagMeetingCommandOutput | TagResourceCommandOutput @@ -652,7 +890,12 @@ export type ServiceOutputTypes = | UntagResourceCommandOutput | UpdateAccountCommandOutput | UpdateAccountSettingsCommandOutput + | UpdateAppInstanceCommandOutput + | UpdateAppInstanceUserCommandOutput | UpdateBotCommandOutput + | UpdateChannelCommandOutput + | UpdateChannelMessageCommandOutput + | UpdateChannelReadMarkerCommandOutput | UpdateGlobalSettingsCommandOutput | UpdatePhoneNumberCommandOutput | UpdatePhoneNumberSettingsCommandOutput @@ -802,8 +1045,10 @@ export type ChimeClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHand * Interface in the AWS Command Line Interface User Guide. * For a list of available Amazon Chime commands, see the Amazon Chime commands in the * AWS CLI Command Reference.

+ * + * *
- *
Using REST API
+ *
Using REST
*
*

If you use REST to make API calls, you must authenticate your request by providing * a signature. Amazon Chime supports Signature Version 4. For more information, see Signature diff --git a/clients/client-chime/commands/CreateAppInstanceAdminCommand.ts b/clients/client-chime/commands/CreateAppInstanceAdminCommand.ts new file mode 100644 index 000000000000..5dab3b447a7c --- /dev/null +++ b/clients/client-chime/commands/CreateAppInstanceAdminCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { CreateAppInstanceAdminRequest, CreateAppInstanceAdminResponse } from "../models/models_0"; +import { + deserializeAws_restJson1CreateAppInstanceAdminCommand, + serializeAws_restJson1CreateAppInstanceAdminCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type CreateAppInstanceAdminCommandInput = CreateAppInstanceAdminRequest; +export type CreateAppInstanceAdminCommandOutput = CreateAppInstanceAdminResponse & __MetadataBearer; + +export class CreateAppInstanceAdminCommand extends $Command< + CreateAppInstanceAdminCommandInput, + CreateAppInstanceAdminCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateAppInstanceAdminCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "CreateAppInstanceAdminCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreateAppInstanceAdminRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateAppInstanceAdminResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateAppInstanceAdminCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1CreateAppInstanceAdminCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1CreateAppInstanceAdminCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/CreateAppInstanceCommand.ts b/clients/client-chime/commands/CreateAppInstanceCommand.ts new file mode 100644 index 000000000000..8a4162033517 --- /dev/null +++ b/clients/client-chime/commands/CreateAppInstanceCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { CreateAppInstanceRequest, CreateAppInstanceResponse } from "../models/models_0"; +import { + deserializeAws_restJson1CreateAppInstanceCommand, + serializeAws_restJson1CreateAppInstanceCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type CreateAppInstanceCommandInput = CreateAppInstanceRequest; +export type CreateAppInstanceCommandOutput = CreateAppInstanceResponse & __MetadataBearer; + +export class CreateAppInstanceCommand extends $Command< + CreateAppInstanceCommandInput, + CreateAppInstanceCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateAppInstanceCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "CreateAppInstanceCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreateAppInstanceRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateAppInstanceResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateAppInstanceCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1CreateAppInstanceCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1CreateAppInstanceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/CreateAppInstanceUserCommand.ts b/clients/client-chime/commands/CreateAppInstanceUserCommand.ts new file mode 100644 index 000000000000..3a773d6e3aa8 --- /dev/null +++ b/clients/client-chime/commands/CreateAppInstanceUserCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { CreateAppInstanceUserRequest, CreateAppInstanceUserResponse } from "../models/models_0"; +import { + deserializeAws_restJson1CreateAppInstanceUserCommand, + serializeAws_restJson1CreateAppInstanceUserCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type CreateAppInstanceUserCommandInput = CreateAppInstanceUserRequest; +export type CreateAppInstanceUserCommandOutput = CreateAppInstanceUserResponse & __MetadataBearer; + +export class CreateAppInstanceUserCommand extends $Command< + CreateAppInstanceUserCommandInput, + CreateAppInstanceUserCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateAppInstanceUserCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "CreateAppInstanceUserCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreateAppInstanceUserRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateAppInstanceUserResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateAppInstanceUserCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1CreateAppInstanceUserCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1CreateAppInstanceUserCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/CreateChannelBanCommand.ts b/clients/client-chime/commands/CreateChannelBanCommand.ts new file mode 100644 index 000000000000..81d826266178 --- /dev/null +++ b/clients/client-chime/commands/CreateChannelBanCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { CreateChannelBanRequest, CreateChannelBanResponse } from "../models/models_0"; +import { + deserializeAws_restJson1CreateChannelBanCommand, + serializeAws_restJson1CreateChannelBanCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type CreateChannelBanCommandInput = CreateChannelBanRequest; +export type CreateChannelBanCommandOutput = CreateChannelBanResponse & __MetadataBearer; + +export class CreateChannelBanCommand extends $Command< + CreateChannelBanCommandInput, + CreateChannelBanCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateChannelBanCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "CreateChannelBanCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreateChannelBanRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateChannelBanResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateChannelBanCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1CreateChannelBanCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1CreateChannelBanCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/CreateChannelCommand.ts b/clients/client-chime/commands/CreateChannelCommand.ts new file mode 100644 index 000000000000..5d64c523d265 --- /dev/null +++ b/clients/client-chime/commands/CreateChannelCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { CreateChannelRequest, CreateChannelResponse } from "../models/models_0"; +import { + deserializeAws_restJson1CreateChannelCommand, + serializeAws_restJson1CreateChannelCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type CreateChannelCommandInput = CreateChannelRequest; +export type CreateChannelCommandOutput = CreateChannelResponse & __MetadataBearer; + +export class CreateChannelCommand extends $Command< + CreateChannelCommandInput, + CreateChannelCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateChannelCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "CreateChannelCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreateChannelRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateChannelResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateChannelCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1CreateChannelCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1CreateChannelCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/CreateChannelMembershipCommand.ts b/clients/client-chime/commands/CreateChannelMembershipCommand.ts new file mode 100644 index 000000000000..bf1f217f5358 --- /dev/null +++ b/clients/client-chime/commands/CreateChannelMembershipCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { CreateChannelMembershipRequest, CreateChannelMembershipResponse } from "../models/models_0"; +import { + deserializeAws_restJson1CreateChannelMembershipCommand, + serializeAws_restJson1CreateChannelMembershipCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type CreateChannelMembershipCommandInput = CreateChannelMembershipRequest; +export type CreateChannelMembershipCommandOutput = CreateChannelMembershipResponse & __MetadataBearer; + +export class CreateChannelMembershipCommand extends $Command< + CreateChannelMembershipCommandInput, + CreateChannelMembershipCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateChannelMembershipCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "CreateChannelMembershipCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreateChannelMembershipRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateChannelMembershipResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateChannelMembershipCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1CreateChannelMembershipCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1CreateChannelMembershipCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/CreateChannelModeratorCommand.ts b/clients/client-chime/commands/CreateChannelModeratorCommand.ts new file mode 100644 index 000000000000..9ce94c8f1b8a --- /dev/null +++ b/clients/client-chime/commands/CreateChannelModeratorCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { CreateChannelModeratorRequest, CreateChannelModeratorResponse } from "../models/models_0"; +import { + deserializeAws_restJson1CreateChannelModeratorCommand, + serializeAws_restJson1CreateChannelModeratorCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type CreateChannelModeratorCommandInput = CreateChannelModeratorRequest; +export type CreateChannelModeratorCommandOutput = CreateChannelModeratorResponse & __MetadataBearer; + +export class CreateChannelModeratorCommand extends $Command< + CreateChannelModeratorCommandInput, + CreateChannelModeratorCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateChannelModeratorCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "CreateChannelModeratorCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreateChannelModeratorRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateChannelModeratorResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateChannelModeratorCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1CreateChannelModeratorCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1CreateChannelModeratorCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/DeleteAppInstanceAdminCommand.ts b/clients/client-chime/commands/DeleteAppInstanceAdminCommand.ts new file mode 100644 index 000000000000..b24bf7d903c6 --- /dev/null +++ b/clients/client-chime/commands/DeleteAppInstanceAdminCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { DeleteAppInstanceAdminRequest } from "../models/models_0"; +import { + deserializeAws_restJson1DeleteAppInstanceAdminCommand, + serializeAws_restJson1DeleteAppInstanceAdminCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DeleteAppInstanceAdminCommandInput = DeleteAppInstanceAdminRequest; +export type DeleteAppInstanceAdminCommandOutput = __MetadataBearer; + +export class DeleteAppInstanceAdminCommand extends $Command< + DeleteAppInstanceAdminCommandInput, + DeleteAppInstanceAdminCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteAppInstanceAdminCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "DeleteAppInstanceAdminCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteAppInstanceAdminRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteAppInstanceAdminCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DeleteAppInstanceAdminCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DeleteAppInstanceAdminCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/DeleteAppInstanceCommand.ts b/clients/client-chime/commands/DeleteAppInstanceCommand.ts new file mode 100644 index 000000000000..9a721ef20fd8 --- /dev/null +++ b/clients/client-chime/commands/DeleteAppInstanceCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { DeleteAppInstanceRequest } from "../models/models_0"; +import { + deserializeAws_restJson1DeleteAppInstanceCommand, + serializeAws_restJson1DeleteAppInstanceCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DeleteAppInstanceCommandInput = DeleteAppInstanceRequest; +export type DeleteAppInstanceCommandOutput = __MetadataBearer; + +export class DeleteAppInstanceCommand extends $Command< + DeleteAppInstanceCommandInput, + DeleteAppInstanceCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteAppInstanceCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "DeleteAppInstanceCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteAppInstanceRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteAppInstanceCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DeleteAppInstanceCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DeleteAppInstanceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/DeleteAppInstanceStreamingConfigurationsCommand.ts b/clients/client-chime/commands/DeleteAppInstanceStreamingConfigurationsCommand.ts new file mode 100644 index 000000000000..087905325d76 --- /dev/null +++ b/clients/client-chime/commands/DeleteAppInstanceStreamingConfigurationsCommand.ts @@ -0,0 +1,91 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { DeleteAppInstanceStreamingConfigurationsRequest } from "../models/models_0"; +import { + deserializeAws_restJson1DeleteAppInstanceStreamingConfigurationsCommand, + serializeAws_restJson1DeleteAppInstanceStreamingConfigurationsCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DeleteAppInstanceStreamingConfigurationsCommandInput = DeleteAppInstanceStreamingConfigurationsRequest; +export type DeleteAppInstanceStreamingConfigurationsCommandOutput = __MetadataBearer; + +export class DeleteAppInstanceStreamingConfigurationsCommand extends $Command< + DeleteAppInstanceStreamingConfigurationsCommandInput, + DeleteAppInstanceStreamingConfigurationsCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteAppInstanceStreamingConfigurationsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler< + DeleteAppInstanceStreamingConfigurationsCommandInput, + DeleteAppInstanceStreamingConfigurationsCommandOutput + > { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "DeleteAppInstanceStreamingConfigurationsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteAppInstanceStreamingConfigurationsRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DeleteAppInstanceStreamingConfigurationsCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restJson1DeleteAppInstanceStreamingConfigurationsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1DeleteAppInstanceStreamingConfigurationsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/DeleteAppInstanceUserCommand.ts b/clients/client-chime/commands/DeleteAppInstanceUserCommand.ts new file mode 100644 index 000000000000..482bce9b2e01 --- /dev/null +++ b/clients/client-chime/commands/DeleteAppInstanceUserCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { DeleteAppInstanceUserRequest } from "../models/models_0"; +import { + deserializeAws_restJson1DeleteAppInstanceUserCommand, + serializeAws_restJson1DeleteAppInstanceUserCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DeleteAppInstanceUserCommandInput = DeleteAppInstanceUserRequest; +export type DeleteAppInstanceUserCommandOutput = __MetadataBearer; + +export class DeleteAppInstanceUserCommand extends $Command< + DeleteAppInstanceUserCommandInput, + DeleteAppInstanceUserCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteAppInstanceUserCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "DeleteAppInstanceUserCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteAppInstanceUserRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteAppInstanceUserCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DeleteAppInstanceUserCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DeleteAppInstanceUserCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/DeleteChannelBanCommand.ts b/clients/client-chime/commands/DeleteChannelBanCommand.ts new file mode 100644 index 000000000000..55d22523eca9 --- /dev/null +++ b/clients/client-chime/commands/DeleteChannelBanCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { DeleteChannelBanRequest } from "../models/models_0"; +import { + deserializeAws_restJson1DeleteChannelBanCommand, + serializeAws_restJson1DeleteChannelBanCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DeleteChannelBanCommandInput = DeleteChannelBanRequest; +export type DeleteChannelBanCommandOutput = __MetadataBearer; + +export class DeleteChannelBanCommand extends $Command< + DeleteChannelBanCommandInput, + DeleteChannelBanCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteChannelBanCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "DeleteChannelBanCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteChannelBanRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteChannelBanCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DeleteChannelBanCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DeleteChannelBanCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/DeleteChannelCommand.ts b/clients/client-chime/commands/DeleteChannelCommand.ts new file mode 100644 index 000000000000..bd52cf0293ce --- /dev/null +++ b/clients/client-chime/commands/DeleteChannelCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { DeleteChannelRequest } from "../models/models_0"; +import { + deserializeAws_restJson1DeleteChannelCommand, + serializeAws_restJson1DeleteChannelCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DeleteChannelCommandInput = DeleteChannelRequest; +export type DeleteChannelCommandOutput = __MetadataBearer; + +export class DeleteChannelCommand extends $Command< + DeleteChannelCommandInput, + DeleteChannelCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteChannelCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "DeleteChannelCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteChannelRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteChannelCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DeleteChannelCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DeleteChannelCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/DeleteChannelMembershipCommand.ts b/clients/client-chime/commands/DeleteChannelMembershipCommand.ts new file mode 100644 index 000000000000..352abe3c6624 --- /dev/null +++ b/clients/client-chime/commands/DeleteChannelMembershipCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { DeleteChannelMembershipRequest } from "../models/models_0"; +import { + deserializeAws_restJson1DeleteChannelMembershipCommand, + serializeAws_restJson1DeleteChannelMembershipCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DeleteChannelMembershipCommandInput = DeleteChannelMembershipRequest; +export type DeleteChannelMembershipCommandOutput = __MetadataBearer; + +export class DeleteChannelMembershipCommand extends $Command< + DeleteChannelMembershipCommandInput, + DeleteChannelMembershipCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteChannelMembershipCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "DeleteChannelMembershipCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteChannelMembershipRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteChannelMembershipCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DeleteChannelMembershipCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DeleteChannelMembershipCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/DeleteChannelMessageCommand.ts b/clients/client-chime/commands/DeleteChannelMessageCommand.ts new file mode 100644 index 000000000000..3a8a5d8766ae --- /dev/null +++ b/clients/client-chime/commands/DeleteChannelMessageCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { DeleteChannelMessageRequest } from "../models/models_0"; +import { + deserializeAws_restJson1DeleteChannelMessageCommand, + serializeAws_restJson1DeleteChannelMessageCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DeleteChannelMessageCommandInput = DeleteChannelMessageRequest; +export type DeleteChannelMessageCommandOutput = __MetadataBearer; + +export class DeleteChannelMessageCommand extends $Command< + DeleteChannelMessageCommandInput, + DeleteChannelMessageCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteChannelMessageCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "DeleteChannelMessageCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteChannelMessageRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteChannelMessageCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DeleteChannelMessageCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DeleteChannelMessageCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/DeleteChannelModeratorCommand.ts b/clients/client-chime/commands/DeleteChannelModeratorCommand.ts new file mode 100644 index 000000000000..57890958e7c3 --- /dev/null +++ b/clients/client-chime/commands/DeleteChannelModeratorCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { DeleteChannelModeratorRequest } from "../models/models_0"; +import { + deserializeAws_restJson1DeleteChannelModeratorCommand, + serializeAws_restJson1DeleteChannelModeratorCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DeleteChannelModeratorCommandInput = DeleteChannelModeratorRequest; +export type DeleteChannelModeratorCommandOutput = __MetadataBearer; + +export class DeleteChannelModeratorCommand extends $Command< + DeleteChannelModeratorCommandInput, + DeleteChannelModeratorCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteChannelModeratorCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "DeleteChannelModeratorCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteChannelModeratorRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteChannelModeratorCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DeleteChannelModeratorCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DeleteChannelModeratorCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/DescribeAppInstanceAdminCommand.ts b/clients/client-chime/commands/DescribeAppInstanceAdminCommand.ts new file mode 100644 index 000000000000..1b689a7b1ae0 --- /dev/null +++ b/clients/client-chime/commands/DescribeAppInstanceAdminCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { DescribeAppInstanceAdminRequest, DescribeAppInstanceAdminResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeAppInstanceAdminCommand, + serializeAws_restJson1DescribeAppInstanceAdminCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DescribeAppInstanceAdminCommandInput = DescribeAppInstanceAdminRequest; +export type DescribeAppInstanceAdminCommandOutput = DescribeAppInstanceAdminResponse & __MetadataBearer; + +export class DescribeAppInstanceAdminCommand extends $Command< + DescribeAppInstanceAdminCommandInput, + DescribeAppInstanceAdminCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeAppInstanceAdminCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "DescribeAppInstanceAdminCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeAppInstanceAdminRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeAppInstanceAdminResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeAppInstanceAdminCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeAppInstanceAdminCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DescribeAppInstanceAdminCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/DescribeAppInstanceCommand.ts b/clients/client-chime/commands/DescribeAppInstanceCommand.ts new file mode 100644 index 000000000000..e6a785cb2a40 --- /dev/null +++ b/clients/client-chime/commands/DescribeAppInstanceCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { DescribeAppInstanceRequest, DescribeAppInstanceResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeAppInstanceCommand, + serializeAws_restJson1DescribeAppInstanceCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DescribeAppInstanceCommandInput = DescribeAppInstanceRequest; +export type DescribeAppInstanceCommandOutput = DescribeAppInstanceResponse & __MetadataBearer; + +export class DescribeAppInstanceCommand extends $Command< + DescribeAppInstanceCommandInput, + DescribeAppInstanceCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeAppInstanceCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "DescribeAppInstanceCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeAppInstanceRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeAppInstanceResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeAppInstanceCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeAppInstanceCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DescribeAppInstanceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/DescribeAppInstanceUserCommand.ts b/clients/client-chime/commands/DescribeAppInstanceUserCommand.ts new file mode 100644 index 000000000000..6afec9390ce3 --- /dev/null +++ b/clients/client-chime/commands/DescribeAppInstanceUserCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { DescribeAppInstanceUserRequest, DescribeAppInstanceUserResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeAppInstanceUserCommand, + serializeAws_restJson1DescribeAppInstanceUserCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DescribeAppInstanceUserCommandInput = DescribeAppInstanceUserRequest; +export type DescribeAppInstanceUserCommandOutput = DescribeAppInstanceUserResponse & __MetadataBearer; + +export class DescribeAppInstanceUserCommand extends $Command< + DescribeAppInstanceUserCommandInput, + DescribeAppInstanceUserCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeAppInstanceUserCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "DescribeAppInstanceUserCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeAppInstanceUserRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeAppInstanceUserResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeAppInstanceUserCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeAppInstanceUserCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DescribeAppInstanceUserCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/DescribeChannelBanCommand.ts b/clients/client-chime/commands/DescribeChannelBanCommand.ts new file mode 100644 index 000000000000..2770d7f1e2c4 --- /dev/null +++ b/clients/client-chime/commands/DescribeChannelBanCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { DescribeChannelBanRequest, DescribeChannelBanResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeChannelBanCommand, + serializeAws_restJson1DescribeChannelBanCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DescribeChannelBanCommandInput = DescribeChannelBanRequest; +export type DescribeChannelBanCommandOutput = DescribeChannelBanResponse & __MetadataBearer; + +export class DescribeChannelBanCommand extends $Command< + DescribeChannelBanCommandInput, + DescribeChannelBanCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeChannelBanCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "DescribeChannelBanCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeChannelBanRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeChannelBanResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeChannelBanCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeChannelBanCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DescribeChannelBanCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/DescribeChannelCommand.ts b/clients/client-chime/commands/DescribeChannelCommand.ts new file mode 100644 index 000000000000..87f2e0abc72a --- /dev/null +++ b/clients/client-chime/commands/DescribeChannelCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { DescribeChannelRequest, DescribeChannelResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeChannelCommand, + serializeAws_restJson1DescribeChannelCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DescribeChannelCommandInput = DescribeChannelRequest; +export type DescribeChannelCommandOutput = DescribeChannelResponse & __MetadataBearer; + +export class DescribeChannelCommand extends $Command< + DescribeChannelCommandInput, + DescribeChannelCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeChannelCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "DescribeChannelCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeChannelRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeChannelResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeChannelCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeChannelCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DescribeChannelCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/DescribeChannelMembershipCommand.ts b/clients/client-chime/commands/DescribeChannelMembershipCommand.ts new file mode 100644 index 000000000000..09e9916c4dd0 --- /dev/null +++ b/clients/client-chime/commands/DescribeChannelMembershipCommand.ts @@ -0,0 +1,85 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { DescribeChannelMembershipRequest, DescribeChannelMembershipResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeChannelMembershipCommand, + serializeAws_restJson1DescribeChannelMembershipCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DescribeChannelMembershipCommandInput = DescribeChannelMembershipRequest; +export type DescribeChannelMembershipCommandOutput = DescribeChannelMembershipResponse & __MetadataBearer; + +export class DescribeChannelMembershipCommand extends $Command< + DescribeChannelMembershipCommandInput, + DescribeChannelMembershipCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeChannelMembershipCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "DescribeChannelMembershipCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeChannelMembershipRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeChannelMembershipResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeChannelMembershipCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeChannelMembershipCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1DescribeChannelMembershipCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/DescribeChannelMembershipForAppInstanceUserCommand.ts b/clients/client-chime/commands/DescribeChannelMembershipForAppInstanceUserCommand.ts new file mode 100644 index 000000000000..262200deec92 --- /dev/null +++ b/clients/client-chime/commands/DescribeChannelMembershipForAppInstanceUserCommand.ts @@ -0,0 +1,95 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { + DescribeChannelMembershipForAppInstanceUserRequest, + DescribeChannelMembershipForAppInstanceUserResponse, +} from "../models/models_0"; +import { + deserializeAws_restJson1DescribeChannelMembershipForAppInstanceUserCommand, + serializeAws_restJson1DescribeChannelMembershipForAppInstanceUserCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DescribeChannelMembershipForAppInstanceUserCommandInput = DescribeChannelMembershipForAppInstanceUserRequest; +export type DescribeChannelMembershipForAppInstanceUserCommandOutput = DescribeChannelMembershipForAppInstanceUserResponse & + __MetadataBearer; + +export class DescribeChannelMembershipForAppInstanceUserCommand extends $Command< + DescribeChannelMembershipForAppInstanceUserCommandInput, + DescribeChannelMembershipForAppInstanceUserCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeChannelMembershipForAppInstanceUserCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler< + DescribeChannelMembershipForAppInstanceUserCommandInput, + DescribeChannelMembershipForAppInstanceUserCommandOutput + > { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "DescribeChannelMembershipForAppInstanceUserCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeChannelMembershipForAppInstanceUserRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeChannelMembershipForAppInstanceUserResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DescribeChannelMembershipForAppInstanceUserCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeChannelMembershipForAppInstanceUserCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1DescribeChannelMembershipForAppInstanceUserCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/DescribeChannelModeratedByAppInstanceUserCommand.ts b/clients/client-chime/commands/DescribeChannelModeratedByAppInstanceUserCommand.ts new file mode 100644 index 000000000000..c86b180d5294 --- /dev/null +++ b/clients/client-chime/commands/DescribeChannelModeratedByAppInstanceUserCommand.ts @@ -0,0 +1,95 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { + DescribeChannelModeratedByAppInstanceUserRequest, + DescribeChannelModeratedByAppInstanceUserResponse, +} from "../models/models_0"; +import { + deserializeAws_restJson1DescribeChannelModeratedByAppInstanceUserCommand, + serializeAws_restJson1DescribeChannelModeratedByAppInstanceUserCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DescribeChannelModeratedByAppInstanceUserCommandInput = DescribeChannelModeratedByAppInstanceUserRequest; +export type DescribeChannelModeratedByAppInstanceUserCommandOutput = DescribeChannelModeratedByAppInstanceUserResponse & + __MetadataBearer; + +export class DescribeChannelModeratedByAppInstanceUserCommand extends $Command< + DescribeChannelModeratedByAppInstanceUserCommandInput, + DescribeChannelModeratedByAppInstanceUserCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeChannelModeratedByAppInstanceUserCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler< + DescribeChannelModeratedByAppInstanceUserCommandInput, + DescribeChannelModeratedByAppInstanceUserCommandOutput + > { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "DescribeChannelModeratedByAppInstanceUserCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeChannelModeratedByAppInstanceUserRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeChannelModeratedByAppInstanceUserResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DescribeChannelModeratedByAppInstanceUserCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeChannelModeratedByAppInstanceUserCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1DescribeChannelModeratedByAppInstanceUserCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/DescribeChannelModeratorCommand.ts b/clients/client-chime/commands/DescribeChannelModeratorCommand.ts new file mode 100644 index 000000000000..c2d1b3b0cf2d --- /dev/null +++ b/clients/client-chime/commands/DescribeChannelModeratorCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { DescribeChannelModeratorRequest, DescribeChannelModeratorResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeChannelModeratorCommand, + serializeAws_restJson1DescribeChannelModeratorCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DescribeChannelModeratorCommandInput = DescribeChannelModeratorRequest; +export type DescribeChannelModeratorCommandOutput = DescribeChannelModeratorResponse & __MetadataBearer; + +export class DescribeChannelModeratorCommand extends $Command< + DescribeChannelModeratorCommandInput, + DescribeChannelModeratorCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeChannelModeratorCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "DescribeChannelModeratorCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeChannelModeratorRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeChannelModeratorResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeChannelModeratorCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeChannelModeratorCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DescribeChannelModeratorCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/GetAppInstanceRetentionSettingsCommand.ts b/clients/client-chime/commands/GetAppInstanceRetentionSettingsCommand.ts new file mode 100644 index 000000000000..efebfe2b4ca6 --- /dev/null +++ b/clients/client-chime/commands/GetAppInstanceRetentionSettingsCommand.ts @@ -0,0 +1,88 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { GetAppInstanceRetentionSettingsRequest, GetAppInstanceRetentionSettingsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1GetAppInstanceRetentionSettingsCommand, + serializeAws_restJson1GetAppInstanceRetentionSettingsCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type GetAppInstanceRetentionSettingsCommandInput = GetAppInstanceRetentionSettingsRequest; +export type GetAppInstanceRetentionSettingsCommandOutput = GetAppInstanceRetentionSettingsResponse & __MetadataBearer; + +export class GetAppInstanceRetentionSettingsCommand extends $Command< + GetAppInstanceRetentionSettingsCommandInput, + GetAppInstanceRetentionSettingsCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetAppInstanceRetentionSettingsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "GetAppInstanceRetentionSettingsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: GetAppInstanceRetentionSettingsRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetAppInstanceRetentionSettingsResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: GetAppInstanceRetentionSettingsCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restJson1GetAppInstanceRetentionSettingsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1GetAppInstanceRetentionSettingsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/GetAppInstanceStreamingConfigurationsCommand.ts b/clients/client-chime/commands/GetAppInstanceStreamingConfigurationsCommand.ts new file mode 100644 index 000000000000..f5ebfd50d24d --- /dev/null +++ b/clients/client-chime/commands/GetAppInstanceStreamingConfigurationsCommand.ts @@ -0,0 +1,92 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { + GetAppInstanceStreamingConfigurationsRequest, + GetAppInstanceStreamingConfigurationsResponse, +} from "../models/models_0"; +import { + deserializeAws_restJson1GetAppInstanceStreamingConfigurationsCommand, + serializeAws_restJson1GetAppInstanceStreamingConfigurationsCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type GetAppInstanceStreamingConfigurationsCommandInput = GetAppInstanceStreamingConfigurationsRequest; +export type GetAppInstanceStreamingConfigurationsCommandOutput = GetAppInstanceStreamingConfigurationsResponse & + __MetadataBearer; + +export class GetAppInstanceStreamingConfigurationsCommand extends $Command< + GetAppInstanceStreamingConfigurationsCommandInput, + GetAppInstanceStreamingConfigurationsCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetAppInstanceStreamingConfigurationsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "GetAppInstanceStreamingConfigurationsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: GetAppInstanceStreamingConfigurationsRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetAppInstanceStreamingConfigurationsResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: GetAppInstanceStreamingConfigurationsCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restJson1GetAppInstanceStreamingConfigurationsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1GetAppInstanceStreamingConfigurationsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/GetChannelMessageCommand.ts b/clients/client-chime/commands/GetChannelMessageCommand.ts new file mode 100644 index 000000000000..b6149bcbe188 --- /dev/null +++ b/clients/client-chime/commands/GetChannelMessageCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { GetChannelMessageRequest, GetChannelMessageResponse } from "../models/models_0"; +import { + deserializeAws_restJson1GetChannelMessageCommand, + serializeAws_restJson1GetChannelMessageCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type GetChannelMessageCommandInput = GetChannelMessageRequest; +export type GetChannelMessageCommandOutput = GetChannelMessageResponse & __MetadataBearer; + +export class GetChannelMessageCommand extends $Command< + GetChannelMessageCommandInput, + GetChannelMessageCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetChannelMessageCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "GetChannelMessageCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: GetChannelMessageRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetChannelMessageResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetChannelMessageCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1GetChannelMessageCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1GetChannelMessageCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/GetMessagingSessionEndpointCommand.ts b/clients/client-chime/commands/GetMessagingSessionEndpointCommand.ts new file mode 100644 index 000000000000..cb6121a84b31 --- /dev/null +++ b/clients/client-chime/commands/GetMessagingSessionEndpointCommand.ts @@ -0,0 +1,85 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { GetMessagingSessionEndpointRequest, GetMessagingSessionEndpointResponse } from "../models/models_0"; +import { + deserializeAws_restJson1GetMessagingSessionEndpointCommand, + serializeAws_restJson1GetMessagingSessionEndpointCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type GetMessagingSessionEndpointCommandInput = GetMessagingSessionEndpointRequest; +export type GetMessagingSessionEndpointCommandOutput = GetMessagingSessionEndpointResponse & __MetadataBearer; + +export class GetMessagingSessionEndpointCommand extends $Command< + GetMessagingSessionEndpointCommandInput, + GetMessagingSessionEndpointCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetMessagingSessionEndpointCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "GetMessagingSessionEndpointCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: GetMessagingSessionEndpointRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetMessagingSessionEndpointResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetMessagingSessionEndpointCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1GetMessagingSessionEndpointCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1GetMessagingSessionEndpointCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/GetVoiceConnectorTerminationCommand.ts b/clients/client-chime/commands/GetVoiceConnectorTerminationCommand.ts index 8c2e735a7dbd..25be1a83c8a7 100644 --- a/clients/client-chime/commands/GetVoiceConnectorTerminationCommand.ts +++ b/clients/client-chime/commands/GetVoiceConnectorTerminationCommand.ts @@ -1,5 +1,5 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; -import { GetVoiceConnectorTerminationRequest, GetVoiceConnectorTerminationResponse } from "../models/models_0"; +import { GetVoiceConnectorTerminationRequest, GetVoiceConnectorTerminationResponse } from "../models/models_1"; import { deserializeAws_restJson1GetVoiceConnectorTerminationCommand, serializeAws_restJson1GetVoiceConnectorTerminationCommand, diff --git a/clients/client-chime/commands/GetVoiceConnectorTerminationHealthCommand.ts b/clients/client-chime/commands/GetVoiceConnectorTerminationHealthCommand.ts index dbb9a84e323a..738496ddf367 100644 --- a/clients/client-chime/commands/GetVoiceConnectorTerminationHealthCommand.ts +++ b/clients/client-chime/commands/GetVoiceConnectorTerminationHealthCommand.ts @@ -2,7 +2,7 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from import { GetVoiceConnectorTerminationHealthRequest, GetVoiceConnectorTerminationHealthResponse, -} from "../models/models_0"; +} from "../models/models_1"; import { deserializeAws_restJson1GetVoiceConnectorTerminationHealthCommand, serializeAws_restJson1GetVoiceConnectorTerminationHealthCommand, diff --git a/clients/client-chime/commands/InviteUsersCommand.ts b/clients/client-chime/commands/InviteUsersCommand.ts index f9534dbc52bf..201a53fd4d6f 100644 --- a/clients/client-chime/commands/InviteUsersCommand.ts +++ b/clients/client-chime/commands/InviteUsersCommand.ts @@ -1,5 +1,5 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; -import { InviteUsersRequest, InviteUsersResponse } from "../models/models_0"; +import { InviteUsersRequest, InviteUsersResponse } from "../models/models_1"; import { deserializeAws_restJson1InviteUsersCommand, serializeAws_restJson1InviteUsersCommand, diff --git a/clients/client-chime/commands/ListAccountsCommand.ts b/clients/client-chime/commands/ListAccountsCommand.ts index ecb8936eba6b..ab8da1f27716 100644 --- a/clients/client-chime/commands/ListAccountsCommand.ts +++ b/clients/client-chime/commands/ListAccountsCommand.ts @@ -1,5 +1,5 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; -import { ListAccountsRequest, ListAccountsResponse } from "../models/models_0"; +import { ListAccountsRequest, ListAccountsResponse } from "../models/models_1"; import { deserializeAws_restJson1ListAccountsCommand, serializeAws_restJson1ListAccountsCommand, diff --git a/clients/client-chime/commands/ListAppInstanceAdminsCommand.ts b/clients/client-chime/commands/ListAppInstanceAdminsCommand.ts new file mode 100644 index 000000000000..89e361c6748f --- /dev/null +++ b/clients/client-chime/commands/ListAppInstanceAdminsCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { ListAppInstanceAdminsRequest, ListAppInstanceAdminsResponse } from "../models/models_1"; +import { + deserializeAws_restJson1ListAppInstanceAdminsCommand, + serializeAws_restJson1ListAppInstanceAdminsCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ListAppInstanceAdminsCommandInput = ListAppInstanceAdminsRequest; +export type ListAppInstanceAdminsCommandOutput = ListAppInstanceAdminsResponse & __MetadataBearer; + +export class ListAppInstanceAdminsCommand extends $Command< + ListAppInstanceAdminsCommandInput, + ListAppInstanceAdminsCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListAppInstanceAdminsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "ListAppInstanceAdminsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListAppInstanceAdminsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListAppInstanceAdminsResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListAppInstanceAdminsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListAppInstanceAdminsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListAppInstanceAdminsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/ListAppInstanceUsersCommand.ts b/clients/client-chime/commands/ListAppInstanceUsersCommand.ts new file mode 100644 index 000000000000..533e9123f5ce --- /dev/null +++ b/clients/client-chime/commands/ListAppInstanceUsersCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { ListAppInstanceUsersRequest, ListAppInstanceUsersResponse } from "../models/models_1"; +import { + deserializeAws_restJson1ListAppInstanceUsersCommand, + serializeAws_restJson1ListAppInstanceUsersCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ListAppInstanceUsersCommandInput = ListAppInstanceUsersRequest; +export type ListAppInstanceUsersCommandOutput = ListAppInstanceUsersResponse & __MetadataBearer; + +export class ListAppInstanceUsersCommand extends $Command< + ListAppInstanceUsersCommandInput, + ListAppInstanceUsersCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListAppInstanceUsersCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "ListAppInstanceUsersCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListAppInstanceUsersRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListAppInstanceUsersResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListAppInstanceUsersCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListAppInstanceUsersCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListAppInstanceUsersCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/ListAppInstancesCommand.ts b/clients/client-chime/commands/ListAppInstancesCommand.ts new file mode 100644 index 000000000000..8cbd36b2f08b --- /dev/null +++ b/clients/client-chime/commands/ListAppInstancesCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { ListAppInstancesRequest, ListAppInstancesResponse } from "../models/models_1"; +import { + deserializeAws_restJson1ListAppInstancesCommand, + serializeAws_restJson1ListAppInstancesCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ListAppInstancesCommandInput = ListAppInstancesRequest; +export type ListAppInstancesCommandOutput = ListAppInstancesResponse & __MetadataBearer; + +export class ListAppInstancesCommand extends $Command< + ListAppInstancesCommandInput, + ListAppInstancesCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListAppInstancesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "ListAppInstancesCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListAppInstancesRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListAppInstancesResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListAppInstancesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListAppInstancesCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListAppInstancesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/ListAttendeeTagsCommand.ts b/clients/client-chime/commands/ListAttendeeTagsCommand.ts index 67b6a81a2497..82f2524e311a 100644 --- a/clients/client-chime/commands/ListAttendeeTagsCommand.ts +++ b/clients/client-chime/commands/ListAttendeeTagsCommand.ts @@ -1,5 +1,5 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; -import { ListAttendeeTagsRequest, ListAttendeeTagsResponse } from "../models/models_0"; +import { ListAttendeeTagsRequest, ListAttendeeTagsResponse } from "../models/models_1"; import { deserializeAws_restJson1ListAttendeeTagsCommand, serializeAws_restJson1ListAttendeeTagsCommand, diff --git a/clients/client-chime/commands/ListAttendeesCommand.ts b/clients/client-chime/commands/ListAttendeesCommand.ts index 0b7940840676..05a8165663cb 100644 --- a/clients/client-chime/commands/ListAttendeesCommand.ts +++ b/clients/client-chime/commands/ListAttendeesCommand.ts @@ -1,5 +1,5 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; -import { ListAttendeesRequest, ListAttendeesResponse } from "../models/models_0"; +import { ListAttendeesRequest, ListAttendeesResponse } from "../models/models_1"; import { deserializeAws_restJson1ListAttendeesCommand, serializeAws_restJson1ListAttendeesCommand, diff --git a/clients/client-chime/commands/ListBotsCommand.ts b/clients/client-chime/commands/ListBotsCommand.ts index dd3074a0e66e..1b481e427a96 100644 --- a/clients/client-chime/commands/ListBotsCommand.ts +++ b/clients/client-chime/commands/ListBotsCommand.ts @@ -1,5 +1,5 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; -import { ListBotsRequest, ListBotsResponse } from "../models/models_0"; +import { ListBotsRequest, ListBotsResponse } from "../models/models_1"; import { deserializeAws_restJson1ListBotsCommand, serializeAws_restJson1ListBotsCommand, diff --git a/clients/client-chime/commands/ListChannelBansCommand.ts b/clients/client-chime/commands/ListChannelBansCommand.ts new file mode 100644 index 000000000000..d07ae7c547af --- /dev/null +++ b/clients/client-chime/commands/ListChannelBansCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { ListChannelBansRequest, ListChannelBansResponse } from "../models/models_1"; +import { + deserializeAws_restJson1ListChannelBansCommand, + serializeAws_restJson1ListChannelBansCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ListChannelBansCommandInput = ListChannelBansRequest; +export type ListChannelBansCommandOutput = ListChannelBansResponse & __MetadataBearer; + +export class ListChannelBansCommand extends $Command< + ListChannelBansCommandInput, + ListChannelBansCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListChannelBansCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "ListChannelBansCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListChannelBansRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListChannelBansResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListChannelBansCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListChannelBansCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListChannelBansCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/ListChannelMembershipsCommand.ts b/clients/client-chime/commands/ListChannelMembershipsCommand.ts new file mode 100644 index 000000000000..1147acd800b6 --- /dev/null +++ b/clients/client-chime/commands/ListChannelMembershipsCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { ListChannelMembershipsRequest, ListChannelMembershipsResponse } from "../models/models_1"; +import { + deserializeAws_restJson1ListChannelMembershipsCommand, + serializeAws_restJson1ListChannelMembershipsCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ListChannelMembershipsCommandInput = ListChannelMembershipsRequest; +export type ListChannelMembershipsCommandOutput = ListChannelMembershipsResponse & __MetadataBearer; + +export class ListChannelMembershipsCommand extends $Command< + ListChannelMembershipsCommandInput, + ListChannelMembershipsCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListChannelMembershipsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "ListChannelMembershipsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListChannelMembershipsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListChannelMembershipsResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListChannelMembershipsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListChannelMembershipsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListChannelMembershipsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/ListChannelMembershipsForAppInstanceUserCommand.ts b/clients/client-chime/commands/ListChannelMembershipsForAppInstanceUserCommand.ts new file mode 100644 index 000000000000..23fa9096e296 --- /dev/null +++ b/clients/client-chime/commands/ListChannelMembershipsForAppInstanceUserCommand.ts @@ -0,0 +1,95 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { + ListChannelMembershipsForAppInstanceUserRequest, + ListChannelMembershipsForAppInstanceUserResponse, +} from "../models/models_1"; +import { + deserializeAws_restJson1ListChannelMembershipsForAppInstanceUserCommand, + serializeAws_restJson1ListChannelMembershipsForAppInstanceUserCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ListChannelMembershipsForAppInstanceUserCommandInput = ListChannelMembershipsForAppInstanceUserRequest; +export type ListChannelMembershipsForAppInstanceUserCommandOutput = ListChannelMembershipsForAppInstanceUserResponse & + __MetadataBearer; + +export class ListChannelMembershipsForAppInstanceUserCommand extends $Command< + ListChannelMembershipsForAppInstanceUserCommandInput, + ListChannelMembershipsForAppInstanceUserCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListChannelMembershipsForAppInstanceUserCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler< + ListChannelMembershipsForAppInstanceUserCommandInput, + ListChannelMembershipsForAppInstanceUserCommandOutput + > { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "ListChannelMembershipsForAppInstanceUserCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListChannelMembershipsForAppInstanceUserRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListChannelMembershipsForAppInstanceUserResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: ListChannelMembershipsForAppInstanceUserCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restJson1ListChannelMembershipsForAppInstanceUserCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1ListChannelMembershipsForAppInstanceUserCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/ListChannelMessagesCommand.ts b/clients/client-chime/commands/ListChannelMessagesCommand.ts new file mode 100644 index 000000000000..862d693ef44b --- /dev/null +++ b/clients/client-chime/commands/ListChannelMessagesCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { ListChannelMessagesRequest, ListChannelMessagesResponse } from "../models/models_1"; +import { + deserializeAws_restJson1ListChannelMessagesCommand, + serializeAws_restJson1ListChannelMessagesCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ListChannelMessagesCommandInput = ListChannelMessagesRequest; +export type ListChannelMessagesCommandOutput = ListChannelMessagesResponse & __MetadataBearer; + +export class ListChannelMessagesCommand extends $Command< + ListChannelMessagesCommandInput, + ListChannelMessagesCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListChannelMessagesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "ListChannelMessagesCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListChannelMessagesRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListChannelMessagesResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListChannelMessagesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListChannelMessagesCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListChannelMessagesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/ListChannelModeratorsCommand.ts b/clients/client-chime/commands/ListChannelModeratorsCommand.ts new file mode 100644 index 000000000000..216dce7a37a1 --- /dev/null +++ b/clients/client-chime/commands/ListChannelModeratorsCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { ListChannelModeratorsRequest, ListChannelModeratorsResponse } from "../models/models_1"; +import { + deserializeAws_restJson1ListChannelModeratorsCommand, + serializeAws_restJson1ListChannelModeratorsCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ListChannelModeratorsCommandInput = ListChannelModeratorsRequest; +export type ListChannelModeratorsCommandOutput = ListChannelModeratorsResponse & __MetadataBearer; + +export class ListChannelModeratorsCommand extends $Command< + ListChannelModeratorsCommandInput, + ListChannelModeratorsCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListChannelModeratorsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "ListChannelModeratorsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListChannelModeratorsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListChannelModeratorsResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListChannelModeratorsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListChannelModeratorsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListChannelModeratorsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/ListChannelsCommand.ts b/clients/client-chime/commands/ListChannelsCommand.ts new file mode 100644 index 000000000000..a4356fa18076 --- /dev/null +++ b/clients/client-chime/commands/ListChannelsCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { ListChannelsRequest, ListChannelsResponse } from "../models/models_1"; +import { + deserializeAws_restJson1ListChannelsCommand, + serializeAws_restJson1ListChannelsCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ListChannelsCommandInput = ListChannelsRequest; +export type ListChannelsCommandOutput = ListChannelsResponse & __MetadataBearer; + +export class ListChannelsCommand extends $Command< + ListChannelsCommandInput, + ListChannelsCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListChannelsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "ListChannelsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListChannelsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListChannelsResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListChannelsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListChannelsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListChannelsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/ListChannelsModeratedByAppInstanceUserCommand.ts b/clients/client-chime/commands/ListChannelsModeratedByAppInstanceUserCommand.ts new file mode 100644 index 000000000000..ef9b18bd824e --- /dev/null +++ b/clients/client-chime/commands/ListChannelsModeratedByAppInstanceUserCommand.ts @@ -0,0 +1,92 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { + ListChannelsModeratedByAppInstanceUserRequest, + ListChannelsModeratedByAppInstanceUserResponse, +} from "../models/models_1"; +import { + deserializeAws_restJson1ListChannelsModeratedByAppInstanceUserCommand, + serializeAws_restJson1ListChannelsModeratedByAppInstanceUserCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ListChannelsModeratedByAppInstanceUserCommandInput = ListChannelsModeratedByAppInstanceUserRequest; +export type ListChannelsModeratedByAppInstanceUserCommandOutput = ListChannelsModeratedByAppInstanceUserResponse & + __MetadataBearer; + +export class ListChannelsModeratedByAppInstanceUserCommand extends $Command< + ListChannelsModeratedByAppInstanceUserCommandInput, + ListChannelsModeratedByAppInstanceUserCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListChannelsModeratedByAppInstanceUserCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "ListChannelsModeratedByAppInstanceUserCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListChannelsModeratedByAppInstanceUserRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListChannelsModeratedByAppInstanceUserResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: ListChannelsModeratedByAppInstanceUserCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restJson1ListChannelsModeratedByAppInstanceUserCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1ListChannelsModeratedByAppInstanceUserCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/ListMeetingTagsCommand.ts b/clients/client-chime/commands/ListMeetingTagsCommand.ts index 765170faecbb..3afbe95b1568 100644 --- a/clients/client-chime/commands/ListMeetingTagsCommand.ts +++ b/clients/client-chime/commands/ListMeetingTagsCommand.ts @@ -1,5 +1,5 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; -import { ListMeetingTagsRequest, ListMeetingTagsResponse } from "../models/models_0"; +import { ListMeetingTagsRequest, ListMeetingTagsResponse } from "../models/models_1"; import { deserializeAws_restJson1ListMeetingTagsCommand, serializeAws_restJson1ListMeetingTagsCommand, diff --git a/clients/client-chime/commands/ListMeetingsCommand.ts b/clients/client-chime/commands/ListMeetingsCommand.ts index a3978e4e85b0..65cf0cb5b121 100644 --- a/clients/client-chime/commands/ListMeetingsCommand.ts +++ b/clients/client-chime/commands/ListMeetingsCommand.ts @@ -1,5 +1,5 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; -import { ListMeetingsRequest, ListMeetingsResponse } from "../models/models_0"; +import { ListMeetingsRequest, ListMeetingsResponse } from "../models/models_1"; import { deserializeAws_restJson1ListMeetingsCommand, serializeAws_restJson1ListMeetingsCommand, diff --git a/clients/client-chime/commands/ListPhoneNumberOrdersCommand.ts b/clients/client-chime/commands/ListPhoneNumberOrdersCommand.ts index ca965cc33155..4a835626aefc 100644 --- a/clients/client-chime/commands/ListPhoneNumberOrdersCommand.ts +++ b/clients/client-chime/commands/ListPhoneNumberOrdersCommand.ts @@ -1,5 +1,5 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; -import { ListPhoneNumberOrdersRequest, ListPhoneNumberOrdersResponse } from "../models/models_0"; +import { ListPhoneNumberOrdersRequest, ListPhoneNumberOrdersResponse } from "../models/models_1"; import { deserializeAws_restJson1ListPhoneNumberOrdersCommand, serializeAws_restJson1ListPhoneNumberOrdersCommand, diff --git a/clients/client-chime/commands/ListPhoneNumbersCommand.ts b/clients/client-chime/commands/ListPhoneNumbersCommand.ts index 9278e8c26d0d..83e01cf8ffe6 100644 --- a/clients/client-chime/commands/ListPhoneNumbersCommand.ts +++ b/clients/client-chime/commands/ListPhoneNumbersCommand.ts @@ -1,5 +1,5 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; -import { ListPhoneNumbersRequest, ListPhoneNumbersResponse } from "../models/models_0"; +import { ListPhoneNumbersRequest, ListPhoneNumbersResponse } from "../models/models_1"; import { deserializeAws_restJson1ListPhoneNumbersCommand, serializeAws_restJson1ListPhoneNumbersCommand, diff --git a/clients/client-chime/commands/ListProxySessionsCommand.ts b/clients/client-chime/commands/ListProxySessionsCommand.ts index 68f4aa06cbc8..4f3483b8c193 100644 --- a/clients/client-chime/commands/ListProxySessionsCommand.ts +++ b/clients/client-chime/commands/ListProxySessionsCommand.ts @@ -1,5 +1,5 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; -import { ListProxySessionsRequest, ListProxySessionsResponse } from "../models/models_0"; +import { ListProxySessionsRequest, ListProxySessionsResponse } from "../models/models_1"; import { deserializeAws_restJson1ListProxySessionsCommand, serializeAws_restJson1ListProxySessionsCommand, diff --git a/clients/client-chime/commands/ListRoomMembershipsCommand.ts b/clients/client-chime/commands/ListRoomMembershipsCommand.ts index 4bd813eaf257..53626ea75a27 100644 --- a/clients/client-chime/commands/ListRoomMembershipsCommand.ts +++ b/clients/client-chime/commands/ListRoomMembershipsCommand.ts @@ -1,5 +1,5 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; -import { ListRoomMembershipsRequest, ListRoomMembershipsResponse } from "../models/models_0"; +import { ListRoomMembershipsRequest, ListRoomMembershipsResponse } from "../models/models_1"; import { deserializeAws_restJson1ListRoomMembershipsCommand, serializeAws_restJson1ListRoomMembershipsCommand, diff --git a/clients/client-chime/commands/ListRoomsCommand.ts b/clients/client-chime/commands/ListRoomsCommand.ts index e926d4f2666b..fe841a0bfd17 100644 --- a/clients/client-chime/commands/ListRoomsCommand.ts +++ b/clients/client-chime/commands/ListRoomsCommand.ts @@ -1,5 +1,5 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; -import { ListRoomsRequest, ListRoomsResponse } from "../models/models_0"; +import { ListRoomsRequest, ListRoomsResponse } from "../models/models_1"; import { deserializeAws_restJson1ListRoomsCommand, serializeAws_restJson1ListRoomsCommand, diff --git a/clients/client-chime/commands/ListSipMediaApplicationsCommand.ts b/clients/client-chime/commands/ListSipMediaApplicationsCommand.ts index b4fcfea627aa..c5991957c98b 100644 --- a/clients/client-chime/commands/ListSipMediaApplicationsCommand.ts +++ b/clients/client-chime/commands/ListSipMediaApplicationsCommand.ts @@ -1,5 +1,5 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; -import { ListSipMediaApplicationsRequest, ListSipMediaApplicationsResponse } from "../models/models_0"; +import { ListSipMediaApplicationsRequest, ListSipMediaApplicationsResponse } from "../models/models_1"; import { deserializeAws_restJson1ListSipMediaApplicationsCommand, serializeAws_restJson1ListSipMediaApplicationsCommand, diff --git a/clients/client-chime/commands/ListSipRulesCommand.ts b/clients/client-chime/commands/ListSipRulesCommand.ts index 3bae51571f7e..e38a7dcbea2e 100644 --- a/clients/client-chime/commands/ListSipRulesCommand.ts +++ b/clients/client-chime/commands/ListSipRulesCommand.ts @@ -1,5 +1,5 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; -import { ListSipRulesRequest, ListSipRulesResponse } from "../models/models_0"; +import { ListSipRulesRequest, ListSipRulesResponse } from "../models/models_1"; import { deserializeAws_restJson1ListSipRulesCommand, serializeAws_restJson1ListSipRulesCommand, diff --git a/clients/client-chime/commands/ListTagsForResourceCommand.ts b/clients/client-chime/commands/ListTagsForResourceCommand.ts index 126a770ee2db..e08f82e7f5d1 100644 --- a/clients/client-chime/commands/ListTagsForResourceCommand.ts +++ b/clients/client-chime/commands/ListTagsForResourceCommand.ts @@ -1,5 +1,5 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; -import { ListTagsForResourceRequest, ListTagsForResourceResponse } from "../models/models_0"; +import { ListTagsForResourceRequest, ListTagsForResourceResponse } from "../models/models_1"; import { deserializeAws_restJson1ListTagsForResourceCommand, serializeAws_restJson1ListTagsForResourceCommand, diff --git a/clients/client-chime/commands/ListUsersCommand.ts b/clients/client-chime/commands/ListUsersCommand.ts index e2129f70f067..8b6e02992513 100644 --- a/clients/client-chime/commands/ListUsersCommand.ts +++ b/clients/client-chime/commands/ListUsersCommand.ts @@ -1,5 +1,5 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; -import { ListUsersRequest, ListUsersResponse } from "../models/models_0"; +import { ListUsersRequest, ListUsersResponse } from "../models/models_1"; import { deserializeAws_restJson1ListUsersCommand, serializeAws_restJson1ListUsersCommand, diff --git a/clients/client-chime/commands/ListVoiceConnectorGroupsCommand.ts b/clients/client-chime/commands/ListVoiceConnectorGroupsCommand.ts index 0238108524cf..53502cc54967 100644 --- a/clients/client-chime/commands/ListVoiceConnectorGroupsCommand.ts +++ b/clients/client-chime/commands/ListVoiceConnectorGroupsCommand.ts @@ -1,5 +1,5 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; -import { ListVoiceConnectorGroupsRequest, ListVoiceConnectorGroupsResponse } from "../models/models_0"; +import { ListVoiceConnectorGroupsRequest, ListVoiceConnectorGroupsResponse } from "../models/models_1"; import { deserializeAws_restJson1ListVoiceConnectorGroupsCommand, serializeAws_restJson1ListVoiceConnectorGroupsCommand, diff --git a/clients/client-chime/commands/ListVoiceConnectorTerminationCredentialsCommand.ts b/clients/client-chime/commands/ListVoiceConnectorTerminationCredentialsCommand.ts index 2d299841245a..62fa3054b855 100644 --- a/clients/client-chime/commands/ListVoiceConnectorTerminationCredentialsCommand.ts +++ b/clients/client-chime/commands/ListVoiceConnectorTerminationCredentialsCommand.ts @@ -2,7 +2,7 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from import { ListVoiceConnectorTerminationCredentialsRequest, ListVoiceConnectorTerminationCredentialsResponse, -} from "../models/models_0"; +} from "../models/models_1"; import { deserializeAws_restJson1ListVoiceConnectorTerminationCredentialsCommand, serializeAws_restJson1ListVoiceConnectorTerminationCredentialsCommand, diff --git a/clients/client-chime/commands/ListVoiceConnectorsCommand.ts b/clients/client-chime/commands/ListVoiceConnectorsCommand.ts index 8d22b4ce302e..4f7c70441aea 100644 --- a/clients/client-chime/commands/ListVoiceConnectorsCommand.ts +++ b/clients/client-chime/commands/ListVoiceConnectorsCommand.ts @@ -1,5 +1,5 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; -import { ListVoiceConnectorsRequest, ListVoiceConnectorsResponse } from "../models/models_0"; +import { ListVoiceConnectorsRequest, ListVoiceConnectorsResponse } from "../models/models_1"; import { deserializeAws_restJson1ListVoiceConnectorsCommand, serializeAws_restJson1ListVoiceConnectorsCommand, diff --git a/clients/client-chime/commands/LogoutUserCommand.ts b/clients/client-chime/commands/LogoutUserCommand.ts index 64f9cda0a054..a2cc8a8df7d6 100644 --- a/clients/client-chime/commands/LogoutUserCommand.ts +++ b/clients/client-chime/commands/LogoutUserCommand.ts @@ -1,5 +1,5 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; -import { LogoutUserRequest, LogoutUserResponse } from "../models/models_0"; +import { LogoutUserRequest, LogoutUserResponse } from "../models/models_1"; import { deserializeAws_restJson1LogoutUserCommand, serializeAws_restJson1LogoutUserCommand, diff --git a/clients/client-chime/commands/PutAppInstanceRetentionSettingsCommand.ts b/clients/client-chime/commands/PutAppInstanceRetentionSettingsCommand.ts new file mode 100644 index 000000000000..95b3e184be5e --- /dev/null +++ b/clients/client-chime/commands/PutAppInstanceRetentionSettingsCommand.ts @@ -0,0 +1,88 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { PutAppInstanceRetentionSettingsRequest, PutAppInstanceRetentionSettingsResponse } from "../models/models_1"; +import { + deserializeAws_restJson1PutAppInstanceRetentionSettingsCommand, + serializeAws_restJson1PutAppInstanceRetentionSettingsCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type PutAppInstanceRetentionSettingsCommandInput = PutAppInstanceRetentionSettingsRequest; +export type PutAppInstanceRetentionSettingsCommandOutput = PutAppInstanceRetentionSettingsResponse & __MetadataBearer; + +export class PutAppInstanceRetentionSettingsCommand extends $Command< + PutAppInstanceRetentionSettingsCommandInput, + PutAppInstanceRetentionSettingsCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: PutAppInstanceRetentionSettingsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "PutAppInstanceRetentionSettingsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: PutAppInstanceRetentionSettingsRequest.filterSensitiveLog, + outputFilterSensitiveLog: PutAppInstanceRetentionSettingsResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: PutAppInstanceRetentionSettingsCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restJson1PutAppInstanceRetentionSettingsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1PutAppInstanceRetentionSettingsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/PutAppInstanceStreamingConfigurationsCommand.ts b/clients/client-chime/commands/PutAppInstanceStreamingConfigurationsCommand.ts new file mode 100644 index 000000000000..7b33c4743bcf --- /dev/null +++ b/clients/client-chime/commands/PutAppInstanceStreamingConfigurationsCommand.ts @@ -0,0 +1,92 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { + PutAppInstanceStreamingConfigurationsRequest, + PutAppInstanceStreamingConfigurationsResponse, +} from "../models/models_1"; +import { + deserializeAws_restJson1PutAppInstanceStreamingConfigurationsCommand, + serializeAws_restJson1PutAppInstanceStreamingConfigurationsCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type PutAppInstanceStreamingConfigurationsCommandInput = PutAppInstanceStreamingConfigurationsRequest; +export type PutAppInstanceStreamingConfigurationsCommandOutput = PutAppInstanceStreamingConfigurationsResponse & + __MetadataBearer; + +export class PutAppInstanceStreamingConfigurationsCommand extends $Command< + PutAppInstanceStreamingConfigurationsCommandInput, + PutAppInstanceStreamingConfigurationsCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: PutAppInstanceStreamingConfigurationsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "PutAppInstanceStreamingConfigurationsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: PutAppInstanceStreamingConfigurationsRequest.filterSensitiveLog, + outputFilterSensitiveLog: PutAppInstanceStreamingConfigurationsResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: PutAppInstanceStreamingConfigurationsCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restJson1PutAppInstanceStreamingConfigurationsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1PutAppInstanceStreamingConfigurationsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/PutEventsConfigurationCommand.ts b/clients/client-chime/commands/PutEventsConfigurationCommand.ts index 5381eed11292..c3f96b467404 100644 --- a/clients/client-chime/commands/PutEventsConfigurationCommand.ts +++ b/clients/client-chime/commands/PutEventsConfigurationCommand.ts @@ -1,5 +1,5 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; -import { PutEventsConfigurationRequest, PutEventsConfigurationResponse } from "../models/models_0"; +import { PutEventsConfigurationRequest, PutEventsConfigurationResponse } from "../models/models_1"; import { deserializeAws_restJson1PutEventsConfigurationCommand, serializeAws_restJson1PutEventsConfigurationCommand, diff --git a/clients/client-chime/commands/PutRetentionSettingsCommand.ts b/clients/client-chime/commands/PutRetentionSettingsCommand.ts index f3a6b16a3482..74ad7a15567f 100644 --- a/clients/client-chime/commands/PutRetentionSettingsCommand.ts +++ b/clients/client-chime/commands/PutRetentionSettingsCommand.ts @@ -1,5 +1,5 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; -import { PutRetentionSettingsRequest, PutRetentionSettingsResponse } from "../models/models_0"; +import { PutRetentionSettingsRequest, PutRetentionSettingsResponse } from "../models/models_1"; import { deserializeAws_restJson1PutRetentionSettingsCommand, serializeAws_restJson1PutRetentionSettingsCommand, diff --git a/clients/client-chime/commands/PutSipMediaApplicationLoggingConfigurationCommand.ts b/clients/client-chime/commands/PutSipMediaApplicationLoggingConfigurationCommand.ts index 83dcfae015b0..00eb3d8b2001 100644 --- a/clients/client-chime/commands/PutSipMediaApplicationLoggingConfigurationCommand.ts +++ b/clients/client-chime/commands/PutSipMediaApplicationLoggingConfigurationCommand.ts @@ -2,7 +2,7 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from import { PutSipMediaApplicationLoggingConfigurationRequest, PutSipMediaApplicationLoggingConfigurationResponse, -} from "../models/models_0"; +} from "../models/models_1"; import { deserializeAws_restJson1PutSipMediaApplicationLoggingConfigurationCommand, serializeAws_restJson1PutSipMediaApplicationLoggingConfigurationCommand, diff --git a/clients/client-chime/commands/PutVoiceConnectorEmergencyCallingConfigurationCommand.ts b/clients/client-chime/commands/PutVoiceConnectorEmergencyCallingConfigurationCommand.ts index bdb785f30080..79a86a38cc2a 100644 --- a/clients/client-chime/commands/PutVoiceConnectorEmergencyCallingConfigurationCommand.ts +++ b/clients/client-chime/commands/PutVoiceConnectorEmergencyCallingConfigurationCommand.ts @@ -2,7 +2,7 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from import { PutVoiceConnectorEmergencyCallingConfigurationRequest, PutVoiceConnectorEmergencyCallingConfigurationResponse, -} from "../models/models_0"; +} from "../models/models_1"; import { deserializeAws_restJson1PutVoiceConnectorEmergencyCallingConfigurationCommand, serializeAws_restJson1PutVoiceConnectorEmergencyCallingConfigurationCommand, diff --git a/clients/client-chime/commands/PutVoiceConnectorLoggingConfigurationCommand.ts b/clients/client-chime/commands/PutVoiceConnectorLoggingConfigurationCommand.ts index a136f68eb457..5044980935eb 100644 --- a/clients/client-chime/commands/PutVoiceConnectorLoggingConfigurationCommand.ts +++ b/clients/client-chime/commands/PutVoiceConnectorLoggingConfigurationCommand.ts @@ -2,7 +2,7 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from import { PutVoiceConnectorLoggingConfigurationRequest, PutVoiceConnectorLoggingConfigurationResponse, -} from "../models/models_0"; +} from "../models/models_1"; import { deserializeAws_restJson1PutVoiceConnectorLoggingConfigurationCommand, serializeAws_restJson1PutVoiceConnectorLoggingConfigurationCommand, diff --git a/clients/client-chime/commands/PutVoiceConnectorOriginationCommand.ts b/clients/client-chime/commands/PutVoiceConnectorOriginationCommand.ts index b71302bba30a..7863e8884e54 100644 --- a/clients/client-chime/commands/PutVoiceConnectorOriginationCommand.ts +++ b/clients/client-chime/commands/PutVoiceConnectorOriginationCommand.ts @@ -1,5 +1,5 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; -import { PutVoiceConnectorOriginationRequest, PutVoiceConnectorOriginationResponse } from "../models/models_0"; +import { PutVoiceConnectorOriginationRequest, PutVoiceConnectorOriginationResponse } from "../models/models_1"; import { deserializeAws_restJson1PutVoiceConnectorOriginationCommand, serializeAws_restJson1PutVoiceConnectorOriginationCommand, diff --git a/clients/client-chime/commands/PutVoiceConnectorProxyCommand.ts b/clients/client-chime/commands/PutVoiceConnectorProxyCommand.ts index 4f72b1b5a8e0..9064244b3fb4 100644 --- a/clients/client-chime/commands/PutVoiceConnectorProxyCommand.ts +++ b/clients/client-chime/commands/PutVoiceConnectorProxyCommand.ts @@ -1,5 +1,5 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; -import { PutVoiceConnectorProxyRequest, PutVoiceConnectorProxyResponse } from "../models/models_0"; +import { PutVoiceConnectorProxyRequest, PutVoiceConnectorProxyResponse } from "../models/models_1"; import { deserializeAws_restJson1PutVoiceConnectorProxyCommand, serializeAws_restJson1PutVoiceConnectorProxyCommand, diff --git a/clients/client-chime/commands/PutVoiceConnectorStreamingConfigurationCommand.ts b/clients/client-chime/commands/PutVoiceConnectorStreamingConfigurationCommand.ts index 9d8daa8f8397..c46305668807 100644 --- a/clients/client-chime/commands/PutVoiceConnectorStreamingConfigurationCommand.ts +++ b/clients/client-chime/commands/PutVoiceConnectorStreamingConfigurationCommand.ts @@ -2,7 +2,7 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from import { PutVoiceConnectorStreamingConfigurationRequest, PutVoiceConnectorStreamingConfigurationResponse, -} from "../models/models_0"; +} from "../models/models_1"; import { deserializeAws_restJson1PutVoiceConnectorStreamingConfigurationCommand, serializeAws_restJson1PutVoiceConnectorStreamingConfigurationCommand, diff --git a/clients/client-chime/commands/PutVoiceConnectorTerminationCommand.ts b/clients/client-chime/commands/PutVoiceConnectorTerminationCommand.ts index 35d4b1bd123f..2fe8ec989229 100644 --- a/clients/client-chime/commands/PutVoiceConnectorTerminationCommand.ts +++ b/clients/client-chime/commands/PutVoiceConnectorTerminationCommand.ts @@ -1,5 +1,5 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; -import { PutVoiceConnectorTerminationRequest, PutVoiceConnectorTerminationResponse } from "../models/models_0"; +import { PutVoiceConnectorTerminationRequest, PutVoiceConnectorTerminationResponse } from "../models/models_1"; import { deserializeAws_restJson1PutVoiceConnectorTerminationCommand, serializeAws_restJson1PutVoiceConnectorTerminationCommand, diff --git a/clients/client-chime/commands/PutVoiceConnectorTerminationCredentialsCommand.ts b/clients/client-chime/commands/PutVoiceConnectorTerminationCredentialsCommand.ts index 5fab107f97c7..62a53a24a630 100644 --- a/clients/client-chime/commands/PutVoiceConnectorTerminationCredentialsCommand.ts +++ b/clients/client-chime/commands/PutVoiceConnectorTerminationCredentialsCommand.ts @@ -1,5 +1,5 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; -import { PutVoiceConnectorTerminationCredentialsRequest } from "../models/models_0"; +import { PutVoiceConnectorTerminationCredentialsRequest } from "../models/models_1"; import { deserializeAws_restJson1PutVoiceConnectorTerminationCredentialsCommand, serializeAws_restJson1PutVoiceConnectorTerminationCredentialsCommand, diff --git a/clients/client-chime/commands/RedactChannelMessageCommand.ts b/clients/client-chime/commands/RedactChannelMessageCommand.ts new file mode 100644 index 000000000000..03751f667ae7 --- /dev/null +++ b/clients/client-chime/commands/RedactChannelMessageCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { RedactChannelMessageRequest, RedactChannelMessageResponse } from "../models/models_1"; +import { + deserializeAws_restJson1RedactChannelMessageCommand, + serializeAws_restJson1RedactChannelMessageCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type RedactChannelMessageCommandInput = RedactChannelMessageRequest; +export type RedactChannelMessageCommandOutput = RedactChannelMessageResponse & __MetadataBearer; + +export class RedactChannelMessageCommand extends $Command< + RedactChannelMessageCommandInput, + RedactChannelMessageCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: RedactChannelMessageCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "RedactChannelMessageCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: RedactChannelMessageRequest.filterSensitiveLog, + outputFilterSensitiveLog: RedactChannelMessageResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: RedactChannelMessageCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1RedactChannelMessageCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1RedactChannelMessageCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/RedactConversationMessageCommand.ts b/clients/client-chime/commands/RedactConversationMessageCommand.ts index 479e9f05a958..4b47d9c30a77 100644 --- a/clients/client-chime/commands/RedactConversationMessageCommand.ts +++ b/clients/client-chime/commands/RedactConversationMessageCommand.ts @@ -1,5 +1,5 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; -import { RedactConversationMessageRequest, RedactConversationMessageResponse } from "../models/models_0"; +import { RedactConversationMessageRequest, RedactConversationMessageResponse } from "../models/models_1"; import { deserializeAws_restJson1RedactConversationMessageCommand, serializeAws_restJson1RedactConversationMessageCommand, diff --git a/clients/client-chime/commands/RedactRoomMessageCommand.ts b/clients/client-chime/commands/RedactRoomMessageCommand.ts index 507904900cb9..b17c3f2d873f 100644 --- a/clients/client-chime/commands/RedactRoomMessageCommand.ts +++ b/clients/client-chime/commands/RedactRoomMessageCommand.ts @@ -1,5 +1,5 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; -import { RedactRoomMessageRequest, RedactRoomMessageResponse } from "../models/models_0"; +import { RedactRoomMessageRequest, RedactRoomMessageResponse } from "../models/models_1"; import { deserializeAws_restJson1RedactRoomMessageCommand, serializeAws_restJson1RedactRoomMessageCommand, diff --git a/clients/client-chime/commands/RegenerateSecurityTokenCommand.ts b/clients/client-chime/commands/RegenerateSecurityTokenCommand.ts index 9eb6cee66d69..a44c71cd15c2 100644 --- a/clients/client-chime/commands/RegenerateSecurityTokenCommand.ts +++ b/clients/client-chime/commands/RegenerateSecurityTokenCommand.ts @@ -1,5 +1,5 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; -import { RegenerateSecurityTokenRequest, RegenerateSecurityTokenResponse } from "../models/models_0"; +import { RegenerateSecurityTokenRequest, RegenerateSecurityTokenResponse } from "../models/models_1"; import { deserializeAws_restJson1RegenerateSecurityTokenCommand, serializeAws_restJson1RegenerateSecurityTokenCommand, diff --git a/clients/client-chime/commands/ResetPersonalPINCommand.ts b/clients/client-chime/commands/ResetPersonalPINCommand.ts index cee01b39e41d..9e36acb675d4 100644 --- a/clients/client-chime/commands/ResetPersonalPINCommand.ts +++ b/clients/client-chime/commands/ResetPersonalPINCommand.ts @@ -1,5 +1,5 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; -import { ResetPersonalPINRequest, ResetPersonalPINResponse } from "../models/models_0"; +import { ResetPersonalPINRequest, ResetPersonalPINResponse } from "../models/models_1"; import { deserializeAws_restJson1ResetPersonalPINCommand, serializeAws_restJson1ResetPersonalPINCommand, diff --git a/clients/client-chime/commands/RestorePhoneNumberCommand.ts b/clients/client-chime/commands/RestorePhoneNumberCommand.ts index ed92e78053f3..5aad5f2ce4cd 100644 --- a/clients/client-chime/commands/RestorePhoneNumberCommand.ts +++ b/clients/client-chime/commands/RestorePhoneNumberCommand.ts @@ -1,5 +1,5 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; -import { RestorePhoneNumberRequest, RestorePhoneNumberResponse } from "../models/models_0"; +import { RestorePhoneNumberRequest, RestorePhoneNumberResponse } from "../models/models_1"; import { deserializeAws_restJson1RestorePhoneNumberCommand, serializeAws_restJson1RestorePhoneNumberCommand, diff --git a/clients/client-chime/commands/SearchAvailablePhoneNumbersCommand.ts b/clients/client-chime/commands/SearchAvailablePhoneNumbersCommand.ts index c0cdf7e27bf7..a3e189710d4f 100644 --- a/clients/client-chime/commands/SearchAvailablePhoneNumbersCommand.ts +++ b/clients/client-chime/commands/SearchAvailablePhoneNumbersCommand.ts @@ -1,5 +1,5 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; -import { SearchAvailablePhoneNumbersRequest, SearchAvailablePhoneNumbersResponse } from "../models/models_0"; +import { SearchAvailablePhoneNumbersRequest, SearchAvailablePhoneNumbersResponse } from "../models/models_1"; import { deserializeAws_restJson1SearchAvailablePhoneNumbersCommand, serializeAws_restJson1SearchAvailablePhoneNumbersCommand, diff --git a/clients/client-chime/commands/SendChannelMessageCommand.ts b/clients/client-chime/commands/SendChannelMessageCommand.ts new file mode 100644 index 000000000000..42dbeb31974a --- /dev/null +++ b/clients/client-chime/commands/SendChannelMessageCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { SendChannelMessageRequest, SendChannelMessageResponse } from "../models/models_1"; +import { + deserializeAws_restJson1SendChannelMessageCommand, + serializeAws_restJson1SendChannelMessageCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type SendChannelMessageCommandInput = SendChannelMessageRequest; +export type SendChannelMessageCommandOutput = SendChannelMessageResponse & __MetadataBearer; + +export class SendChannelMessageCommand extends $Command< + SendChannelMessageCommandInput, + SendChannelMessageCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: SendChannelMessageCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "SendChannelMessageCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: SendChannelMessageRequest.filterSensitiveLog, + outputFilterSensitiveLog: SendChannelMessageResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: SendChannelMessageCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1SendChannelMessageCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1SendChannelMessageCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/TagAttendeeCommand.ts b/clients/client-chime/commands/TagAttendeeCommand.ts index cd25abed8000..49917e8156cc 100644 --- a/clients/client-chime/commands/TagAttendeeCommand.ts +++ b/clients/client-chime/commands/TagAttendeeCommand.ts @@ -1,5 +1,5 @@ import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; -import { TagAttendeeRequest } from "../models/models_0"; +import { TagAttendeeRequest } from "../models/models_1"; import { deserializeAws_restJson1TagAttendeeCommand, serializeAws_restJson1TagAttendeeCommand, diff --git a/clients/client-chime/commands/UpdateAppInstanceCommand.ts b/clients/client-chime/commands/UpdateAppInstanceCommand.ts new file mode 100644 index 000000000000..7b3314936c33 --- /dev/null +++ b/clients/client-chime/commands/UpdateAppInstanceCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { UpdateAppInstanceRequest, UpdateAppInstanceResponse } from "../models/models_1"; +import { + deserializeAws_restJson1UpdateAppInstanceCommand, + serializeAws_restJson1UpdateAppInstanceCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type UpdateAppInstanceCommandInput = UpdateAppInstanceRequest; +export type UpdateAppInstanceCommandOutput = UpdateAppInstanceResponse & __MetadataBearer; + +export class UpdateAppInstanceCommand extends $Command< + UpdateAppInstanceCommandInput, + UpdateAppInstanceCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateAppInstanceCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "UpdateAppInstanceCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpdateAppInstanceRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateAppInstanceResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateAppInstanceCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1UpdateAppInstanceCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1UpdateAppInstanceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/UpdateAppInstanceUserCommand.ts b/clients/client-chime/commands/UpdateAppInstanceUserCommand.ts new file mode 100644 index 000000000000..ad19d3145a24 --- /dev/null +++ b/clients/client-chime/commands/UpdateAppInstanceUserCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { UpdateAppInstanceUserRequest, UpdateAppInstanceUserResponse } from "../models/models_1"; +import { + deserializeAws_restJson1UpdateAppInstanceUserCommand, + serializeAws_restJson1UpdateAppInstanceUserCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type UpdateAppInstanceUserCommandInput = UpdateAppInstanceUserRequest; +export type UpdateAppInstanceUserCommandOutput = UpdateAppInstanceUserResponse & __MetadataBearer; + +export class UpdateAppInstanceUserCommand extends $Command< + UpdateAppInstanceUserCommandInput, + UpdateAppInstanceUserCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateAppInstanceUserCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "UpdateAppInstanceUserCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpdateAppInstanceUserRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateAppInstanceUserResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateAppInstanceUserCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1UpdateAppInstanceUserCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1UpdateAppInstanceUserCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/UpdateChannelCommand.ts b/clients/client-chime/commands/UpdateChannelCommand.ts new file mode 100644 index 000000000000..a91a4100ccc5 --- /dev/null +++ b/clients/client-chime/commands/UpdateChannelCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { UpdateChannelRequest, UpdateChannelResponse } from "../models/models_1"; +import { + deserializeAws_restJson1UpdateChannelCommand, + serializeAws_restJson1UpdateChannelCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type UpdateChannelCommandInput = UpdateChannelRequest; +export type UpdateChannelCommandOutput = UpdateChannelResponse & __MetadataBearer; + +export class UpdateChannelCommand extends $Command< + UpdateChannelCommandInput, + UpdateChannelCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateChannelCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "UpdateChannelCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpdateChannelRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateChannelResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateChannelCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1UpdateChannelCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1UpdateChannelCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/UpdateChannelMessageCommand.ts b/clients/client-chime/commands/UpdateChannelMessageCommand.ts new file mode 100644 index 000000000000..5c1db56fc177 --- /dev/null +++ b/clients/client-chime/commands/UpdateChannelMessageCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { UpdateChannelMessageRequest, UpdateChannelMessageResponse } from "../models/models_1"; +import { + deserializeAws_restJson1UpdateChannelMessageCommand, + serializeAws_restJson1UpdateChannelMessageCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type UpdateChannelMessageCommandInput = UpdateChannelMessageRequest; +export type UpdateChannelMessageCommandOutput = UpdateChannelMessageResponse & __MetadataBearer; + +export class UpdateChannelMessageCommand extends $Command< + UpdateChannelMessageCommandInput, + UpdateChannelMessageCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateChannelMessageCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "UpdateChannelMessageCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpdateChannelMessageRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateChannelMessageResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateChannelMessageCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1UpdateChannelMessageCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1UpdateChannelMessageCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/commands/UpdateChannelReadMarkerCommand.ts b/clients/client-chime/commands/UpdateChannelReadMarkerCommand.ts new file mode 100644 index 000000000000..f7ae0489655d --- /dev/null +++ b/clients/client-chime/commands/UpdateChannelReadMarkerCommand.ts @@ -0,0 +1,82 @@ +import { ChimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeClient"; +import { UpdateChannelReadMarkerRequest, UpdateChannelReadMarkerResponse } from "../models/models_1"; +import { + deserializeAws_restJson1UpdateChannelReadMarkerCommand, + serializeAws_restJson1UpdateChannelReadMarkerCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type UpdateChannelReadMarkerCommandInput = UpdateChannelReadMarkerRequest; +export type UpdateChannelReadMarkerCommandOutput = UpdateChannelReadMarkerResponse & __MetadataBearer; + +export class UpdateChannelReadMarkerCommand extends $Command< + UpdateChannelReadMarkerCommandInput, + UpdateChannelReadMarkerCommandOutput, + ChimeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateChannelReadMarkerCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeClient"; + const commandName = "UpdateChannelReadMarkerCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpdateChannelReadMarkerRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateChannelReadMarkerResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateChannelReadMarkerCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1UpdateChannelReadMarkerCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1UpdateChannelReadMarkerCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime/index.ts b/clients/client-chime/index.ts index ac09ebd0ca7a..9c318ba75898 100644 --- a/clients/client-chime/index.ts +++ b/clients/client-chime/index.ts @@ -12,8 +12,15 @@ export * from "./commands/BatchUnsuspendUserCommand"; export * from "./commands/BatchUpdatePhoneNumberCommand"; export * from "./commands/BatchUpdateUserCommand"; export * from "./commands/CreateAccountCommand"; +export * from "./commands/CreateAppInstanceCommand"; +export * from "./commands/CreateAppInstanceAdminCommand"; +export * from "./commands/CreateAppInstanceUserCommand"; export * from "./commands/CreateAttendeeCommand"; export * from "./commands/CreateBotCommand"; +export * from "./commands/CreateChannelCommand"; +export * from "./commands/CreateChannelBanCommand"; +export * from "./commands/CreateChannelMembershipCommand"; +export * from "./commands/CreateChannelModeratorCommand"; export * from "./commands/CreateMeetingCommand"; export * from "./commands/CreateMeetingDialOutCommand"; export * from "./commands/CreateMeetingWithAttendeesCommand"; @@ -28,7 +35,16 @@ export * from "./commands/CreateUserCommand"; export * from "./commands/CreateVoiceConnectorCommand"; export * from "./commands/CreateVoiceConnectorGroupCommand"; export * from "./commands/DeleteAccountCommand"; +export * from "./commands/DeleteAppInstanceCommand"; +export * from "./commands/DeleteAppInstanceAdminCommand"; +export * from "./commands/DeleteAppInstanceStreamingConfigurationsCommand"; +export * from "./commands/DeleteAppInstanceUserCommand"; export * from "./commands/DeleteAttendeeCommand"; +export * from "./commands/DeleteChannelCommand"; +export * from "./commands/DeleteChannelBanCommand"; +export * from "./commands/DeleteChannelMembershipCommand"; +export * from "./commands/DeleteChannelMessageCommand"; +export * from "./commands/DeleteChannelModeratorCommand"; export * from "./commands/DeleteEventsConfigurationCommand"; export * from "./commands/DeleteMeetingCommand"; export * from "./commands/DeletePhoneNumberCommand"; @@ -45,17 +61,30 @@ export * from "./commands/DeleteVoiceConnectorProxyCommand"; export * from "./commands/DeleteVoiceConnectorStreamingConfigurationCommand"; export * from "./commands/DeleteVoiceConnectorTerminationCommand"; export * from "./commands/DeleteVoiceConnectorTerminationCredentialsCommand"; +export * from "./commands/DescribeAppInstanceCommand"; +export * from "./commands/DescribeAppInstanceAdminCommand"; +export * from "./commands/DescribeAppInstanceUserCommand"; +export * from "./commands/DescribeChannelCommand"; +export * from "./commands/DescribeChannelBanCommand"; +export * from "./commands/DescribeChannelMembershipCommand"; +export * from "./commands/DescribeChannelMembershipForAppInstanceUserCommand"; +export * from "./commands/DescribeChannelModeratedByAppInstanceUserCommand"; +export * from "./commands/DescribeChannelModeratorCommand"; export * from "./commands/DisassociatePhoneNumberFromUserCommand"; export * from "./commands/DisassociatePhoneNumbersFromVoiceConnectorCommand"; export * from "./commands/DisassociatePhoneNumbersFromVoiceConnectorGroupCommand"; export * from "./commands/DisassociateSigninDelegateGroupsFromAccountCommand"; export * from "./commands/GetAccountCommand"; export * from "./commands/GetAccountSettingsCommand"; +export * from "./commands/GetAppInstanceRetentionSettingsCommand"; +export * from "./commands/GetAppInstanceStreamingConfigurationsCommand"; export * from "./commands/GetAttendeeCommand"; export * from "./commands/GetBotCommand"; +export * from "./commands/GetChannelMessageCommand"; export * from "./commands/GetEventsConfigurationCommand"; export * from "./commands/GetGlobalSettingsCommand"; export * from "./commands/GetMeetingCommand"; +export * from "./commands/GetMessagingSessionEndpointCommand"; export * from "./commands/GetPhoneNumberCommand"; export * from "./commands/GetPhoneNumberOrderCommand"; export * from "./commands/GetPhoneNumberSettingsCommand"; @@ -79,11 +108,31 @@ export * from "./commands/GetVoiceConnectorTerminationHealthCommand"; export * from "./commands/InviteUsersCommand"; export * from "./commands/ListAccountsCommand"; export * from "./pagination/ListAccountsPaginator"; +export * from "./commands/ListAppInstanceAdminsCommand"; +export * from "./pagination/ListAppInstanceAdminsPaginator"; +export * from "./commands/ListAppInstancesCommand"; +export * from "./pagination/ListAppInstancesPaginator"; +export * from "./commands/ListAppInstanceUsersCommand"; +export * from "./pagination/ListAppInstanceUsersPaginator"; export * from "./commands/ListAttendeesCommand"; export * from "./pagination/ListAttendeesPaginator"; export * from "./commands/ListAttendeeTagsCommand"; export * from "./commands/ListBotsCommand"; export * from "./pagination/ListBotsPaginator"; +export * from "./commands/ListChannelBansCommand"; +export * from "./pagination/ListChannelBansPaginator"; +export * from "./commands/ListChannelMembershipsCommand"; +export * from "./pagination/ListChannelMembershipsPaginator"; +export * from "./commands/ListChannelMembershipsForAppInstanceUserCommand"; +export * from "./pagination/ListChannelMembershipsForAppInstanceUserPaginator"; +export * from "./commands/ListChannelMessagesCommand"; +export * from "./pagination/ListChannelMessagesPaginator"; +export * from "./commands/ListChannelModeratorsCommand"; +export * from "./pagination/ListChannelModeratorsPaginator"; +export * from "./commands/ListChannelsCommand"; +export * from "./pagination/ListChannelsPaginator"; +export * from "./commands/ListChannelsModeratedByAppInstanceUserCommand"; +export * from "./pagination/ListChannelsModeratedByAppInstanceUserPaginator"; export * from "./commands/ListMeetingsCommand"; export * from "./pagination/ListMeetingsPaginator"; export * from "./commands/ListMeetingTagsCommand"; @@ -98,7 +147,9 @@ export * from "./pagination/ListRoomMembershipsPaginator"; export * from "./commands/ListRoomsCommand"; export * from "./pagination/ListRoomsPaginator"; export * from "./commands/ListSipMediaApplicationsCommand"; +export * from "./pagination/ListSipMediaApplicationsPaginator"; export * from "./commands/ListSipRulesCommand"; +export * from "./pagination/ListSipRulesPaginator"; export * from "./commands/ListTagsForResourceCommand"; export * from "./commands/ListUsersCommand"; export * from "./pagination/ListUsersPaginator"; @@ -108,6 +159,8 @@ export * from "./commands/ListVoiceConnectorsCommand"; export * from "./pagination/ListVoiceConnectorsPaginator"; export * from "./commands/ListVoiceConnectorTerminationCredentialsCommand"; export * from "./commands/LogoutUserCommand"; +export * from "./commands/PutAppInstanceRetentionSettingsCommand"; +export * from "./commands/PutAppInstanceStreamingConfigurationsCommand"; export * from "./commands/PutEventsConfigurationCommand"; export * from "./commands/PutRetentionSettingsCommand"; export * from "./commands/PutSipMediaApplicationLoggingConfigurationCommand"; @@ -118,12 +171,14 @@ export * from "./commands/PutVoiceConnectorProxyCommand"; export * from "./commands/PutVoiceConnectorStreamingConfigurationCommand"; export * from "./commands/PutVoiceConnectorTerminationCommand"; export * from "./commands/PutVoiceConnectorTerminationCredentialsCommand"; +export * from "./commands/RedactChannelMessageCommand"; export * from "./commands/RedactConversationMessageCommand"; export * from "./commands/RedactRoomMessageCommand"; export * from "./commands/RegenerateSecurityTokenCommand"; export * from "./commands/ResetPersonalPINCommand"; export * from "./commands/RestorePhoneNumberCommand"; export * from "./commands/SearchAvailablePhoneNumbersCommand"; +export * from "./commands/SendChannelMessageCommand"; export * from "./commands/TagAttendeeCommand"; export * from "./commands/TagMeetingCommand"; export * from "./commands/TagResourceCommand"; @@ -132,7 +187,12 @@ export * from "./commands/UntagMeetingCommand"; export * from "./commands/UntagResourceCommand"; export * from "./commands/UpdateAccountCommand"; export * from "./commands/UpdateAccountSettingsCommand"; +export * from "./commands/UpdateAppInstanceCommand"; +export * from "./commands/UpdateAppInstanceUserCommand"; export * from "./commands/UpdateBotCommand"; +export * from "./commands/UpdateChannelCommand"; +export * from "./commands/UpdateChannelMessageCommand"; +export * from "./commands/UpdateChannelReadMarkerCommand"; export * from "./commands/UpdateGlobalSettingsCommand"; export * from "./commands/UpdatePhoneNumberCommand"; export * from "./commands/UpdatePhoneNumberSettingsCommand"; diff --git a/clients/client-chime/models/models_0.ts b/clients/client-chime/models/models_0.ts index 74b41c062a21..bb84ecc90098 100644 --- a/clients/client-chime/models/models_0.ts +++ b/clients/client-chime/models/models_0.ts @@ -166,6 +166,289 @@ export namespace AlexaForBusinessMetadata { }); } +/** + *

An instance of a Chime messaging application.

+ */ +export interface AppInstance { + /** + *

The ARN of the messaging instance.

+ */ + AppInstanceArn?: string; + + /** + *

The name of an app instance.

+ */ + Name?: string; + + /** + *

The metadata of an app instance.

+ */ + Metadata?: string; + + /** + *

The time at which an app instance was created. In epoch milliseconds.

+ */ + CreatedTimestamp?: Date; + + /** + *

The time an app instance was last updated. In epoch milliseconds.

+ */ + LastUpdatedTimestamp?: Date; +} + +export namespace AppInstance { + export const filterSensitiveLog = (obj: AppInstance): any => ({ + ...obj, + ...(obj.Name && { Name: SENSITIVE_STRING }), + ...(obj.Metadata && { Metadata: SENSITIVE_STRING }), + }); +} + +/** + *

The ARN and name of a user.

+ */ +export interface Identity { + /** + *

The ARN in an Identity.

+ */ + Arn?: string; + + /** + *

The name in an Identity.

+ */ + Name?: string; +} + +export namespace Identity { + export const filterSensitiveLog = (obj: Identity): any => ({ + ...obj, + ...(obj.Name && { Name: SENSITIVE_STRING }), + }); +} + +/** + *

Promotes a user to the administrator role for the duration of an app instance.

+ */ +export interface AppInstanceAdmin { + /** + *

The name and metadata of the app instance administrator.

+ */ + Admin?: Identity; + + /** + *

The ARN of the app instance administrator.

+ */ + AppInstanceArn?: string; + + /** + *

The time at which an administrator was created.

+ */ + CreatedTimestamp?: Date; +} + +export namespace AppInstanceAdmin { + export const filterSensitiveLog = (obj: AppInstanceAdmin): any => ({ + ...obj, + ...(obj.Admin && { Admin: Identity.filterSensitiveLog(obj.Admin) }), + }); +} + +/** + *

The identity and metadata of an administrator.

+ */ +export interface AppInstanceAdminSummary { + /** + *

The name and metadata of the app instance administrator.

+ */ + Admin?: Identity; +} + +export namespace AppInstanceAdminSummary { + export const filterSensitiveLog = (obj: AppInstanceAdminSummary): any => ({ + ...obj, + ...(obj.Admin && { Admin: Identity.filterSensitiveLog(obj.Admin) }), + }); +} + +export enum AppInstanceDataType { + Channel = "Channel", + ChannelMessage = "ChannelMessage", +} + +/** + *

The summary data for an app instance.

+ */ +export interface AppInstanceSummary { + /** + *

The app instance ARN.

+ */ + AppInstanceArn?: string; + + /** + *

The name of the app instance summary.

+ */ + Name?: string; + + /** + *

The metadata of the app instance summary.

+ */ + Metadata?: string; +} + +export namespace AppInstanceSummary { + export const filterSensitiveLog = (obj: AppInstanceSummary): any => ({ + ...obj, + ...(obj.Name && { Name: SENSITIVE_STRING }), + ...(obj.Metadata && { Metadata: SENSITIVE_STRING }), + }); +} + +/** + *

The retention settings for a channel.

+ */ +export interface ChannelRetentionSettings { + /** + *

The time in days to retain a channel.

+ */ + RetentionDays?: number; +} + +export namespace ChannelRetentionSettings { + export const filterSensitiveLog = (obj: ChannelRetentionSettings): any => ({ + ...obj, + }); +} + +/** + *

The length of time in days to retain messages.

+ */ +export interface AppInstanceRetentionSettings { + /** + *

The length of time in days to retain a channel.

+ */ + ChannelRetentionSettings?: ChannelRetentionSettings; +} + +export namespace AppInstanceRetentionSettings { + export const filterSensitiveLog = (obj: AppInstanceRetentionSettings): any => ({ + ...obj, + }); +} + +/** + *

The streaming configuration of an app instance.

+ */ +export interface AppInstanceStreamingConfiguration { + /** + *

The data type of the app instance.

+ */ + AppInstanceDataType: AppInstanceDataType | string | undefined; + + /** + *

The resource ARN.

+ */ + ResourceArn: string | undefined; +} + +export namespace AppInstanceStreamingConfiguration { + export const filterSensitiveLog = (obj: AppInstanceStreamingConfiguration): any => ({ + ...obj, + ...(obj.ResourceArn && { ResourceArn: SENSITIVE_STRING }), + }); +} + +/** + *

The app instance user.

+ */ +export interface AppInstanceUser { + /** + *

The ARN of the app instance user.

+ */ + AppInstanceUserArn?: string; + + /** + *

The name of the app instance user.

+ */ + Name?: string; + + /** + *

The time at which the app instance user was created.

+ */ + CreatedTimestamp?: Date; + + /** + *

The metadata of the app instance user.

+ */ + Metadata?: string; + + /** + *

The time at which the app instance user was last updated.

+ */ + LastUpdatedTimestamp?: Date; +} + +export namespace AppInstanceUser { + export const filterSensitiveLog = (obj: AppInstanceUser): any => ({ + ...obj, + ...(obj.Name && { Name: SENSITIVE_STRING }), + ...(obj.Metadata && { Metadata: SENSITIVE_STRING }), + }); +} + +/** + *

The app instance user summary data .

+ */ +export interface AppInstanceUserSummary { + /** + *

The ARN of the app instance user.

+ */ + AppInstanceUserArn?: string; + + /** + *

The name in an app instance user summary.

+ */ + Name?: string; + + /** + *

The metadata in an app instance user summary.

+ */ + Metadata?: string; +} + +export namespace AppInstanceUserSummary { + export const filterSensitiveLog = (obj: AppInstanceUserSummary): any => ({ + ...obj, + ...(obj.Name && { Name: SENSITIVE_STRING }), + ...(obj.Metadata && { Metadata: SENSITIVE_STRING }), + }); +} + +export enum ChannelMembershipType { + DEFAULT = "DEFAULT", + HIDDEN = "HIDDEN", +} + +/** + *

Lists the channels to which app instance users belong.

+ */ +export interface AppInstanceUserMembershipSummary { + /** + *

The type of channel summary,

+ */ + Type?: ChannelMembershipType | string; + + /** + *

The time at which a summary was last read.

+ */ + ReadMarkerTimestamp?: Date; +} + +export namespace AppInstanceUserMembershipSummary { + export const filterSensitiveLog = (obj: AppInstanceUserMembershipSummary): any => ({ + ...obj, + }); +} + export interface AssociatePhoneNumbersWithVoiceConnectorRequest { /** *

The Amazon Chime Voice Connector ID.

@@ -247,8 +530,7 @@ export namespace BadRequestException { } /** - *

The client is permanently forbidden from making the request. For example, when a user - * tries to create an account from an unsupported Region.

+ *

The client is permanently forbidden from making the request.

*/ export interface ForbiddenException extends __SmithyException, $MetadataBearer { name: "ForbiddenException"; @@ -500,6 +782,9 @@ export interface CreateAttendeeRequestItem { /** *

The Amazon Chime SDK external user ID. An idempotency token. Links the attendee to an identity managed by a builder application. * If you create an attendee with the same external user id, the service returns the existing record.

+ * + * + *

The Amazon Chime SDK external user ID. Links the attendee to an identity managed by a builder application.

*/ ExternalUserId: string | undefined; @@ -1039,4737 +1324,4523 @@ export enum Capability { Voice = "Voice", } -/** - *

The request could not be processed because of conflict in the current state of the - * resource.

- */ -export interface ConflictException extends __SmithyException, $MetadataBearer { - name: "ConflictException"; - $fault: "client"; - Code?: ErrorCode | string; - Message?: string; +export enum ChannelMode { + RESTRICTED = "RESTRICTED", + UNRESTRICTED = "UNRESTRICTED", } -export namespace ConflictException { - export const filterSensitiveLog = (obj: ConflictException): any => ({ - ...obj, - }); +export enum ChannelPrivacy { + PRIVATE = "PRIVATE", + PUBLIC = "PUBLIC", } /** - *

The retention settings that determine how long to retain chat conversation messages for an Amazon Chime Enterprise account.

+ *

Creates a channel.

*/ -export interface ConversationRetentionSettings { +export interface Channel { /** - *

The number of days for which to retain chat conversation messages.

+ *

The name of the channel.

*/ - RetentionDays?: number; -} + Name?: string; -export namespace ConversationRetentionSettings { - export const filterSensitiveLog = (obj: ConversationRetentionSettings): any => ({ - ...obj, - }); -} + /** + *

The ARN of the channel.

+ */ + ChannelArn?: string; -export interface CreateAccountRequest { /** - *

The name of the Amazon Chime account.

+ *

The mode of the channel.

*/ - Name: string | undefined; -} + Mode?: ChannelMode | string; -export namespace CreateAccountRequest { - export const filterSensitiveLog = (obj: CreateAccountRequest): any => ({ - ...obj, - }); -} + /** + *

The channel's privacy setting, PUBLIC or HIDDEN.

+ */ + Privacy?: ChannelPrivacy | string; -export interface CreateAccountResponse { /** - *

The Amazon Chime account details. An AWS account can have multiple Amazon Chime accounts.

+ *

The metadata of the channel.

*/ - Account?: Account; + Metadata?: string; + + /** + *

The administrator who created the channel.

+ */ + CreatedBy?: Identity; + + /** + *

The time at which the administrator created the channel.

+ */ + CreatedTimestamp?: Date; + + /** + *

The time at which a member sent the last message in a session.

+ */ + LastMessageTimestamp?: Date; + + /** + *

The time at which a channel was last updated.

+ */ + LastUpdatedTimestamp?: Date; } -export namespace CreateAccountResponse { - export const filterSensitiveLog = (obj: CreateAccountResponse): any => ({ +export namespace Channel { + export const filterSensitiveLog = (obj: Channel): any => ({ ...obj, + ...(obj.Name && { Name: SENSITIVE_STRING }), + ...(obj.Metadata && { Metadata: SENSITIVE_STRING }), + ...(obj.CreatedBy && { CreatedBy: Identity.filterSensitiveLog(obj.CreatedBy) }), }); } -export interface CreateAttendeeRequest { +/** + *

Bans a user from a channel.

+ */ +export interface ChannelBan { /** - *

The Amazon Chime SDK meeting ID.

+ *

The member being banned from the channel.

*/ - MeetingId: string | undefined; + Member?: Identity; /** - *

The Amazon Chime SDK external user ID. An idempotency token. Links the attendee to an identity managed by a builder application. - * If you create an attendee with the same external user id, the service returns the existing record.

+ *

The ARN of the channel from which a member is being banned.

*/ - ExternalUserId: string | undefined; + ChannelArn?: string; /** - *

The tag key-value pairs.

+ *

The time at which the ban was created.

*/ - Tags?: Tag[]; + CreatedTimestamp?: Date; + + /** + *

The parameter of the action.

+ */ + CreatedBy?: Identity; } -export namespace CreateAttendeeRequest { - export const filterSensitiveLog = (obj: CreateAttendeeRequest): any => ({ +export namespace ChannelBan { + export const filterSensitiveLog = (obj: ChannelBan): any => ({ ...obj, - ...(obj.ExternalUserId && { ExternalUserId: SENSITIVE_STRING }), - ...(obj.Tags && { Tags: obj.Tags.map((item) => Tag.filterSensitiveLog(item)) }), + ...(obj.Member && { Member: Identity.filterSensitiveLog(obj.Member) }), + ...(obj.CreatedBy && { CreatedBy: Identity.filterSensitiveLog(obj.CreatedBy) }), }); } -export interface CreateAttendeeResponse { +/** + *

The summary data for the channel ban.

+ */ +export interface ChannelBanSummary { /** - *

The attendee information, including attendee ID and join token.

+ *

The member being banned from a channel.

*/ - Attendee?: Attendee; + Member?: Identity; } -export namespace CreateAttendeeResponse { - export const filterSensitiveLog = (obj: CreateAttendeeResponse): any => ({ +export namespace ChannelBanSummary { + export const filterSensitiveLog = (obj: ChannelBanSummary): any => ({ ...obj, - ...(obj.Attendee && { Attendee: Attendee.filterSensitiveLog(obj.Attendee) }), + ...(obj.Member && { Member: Identity.filterSensitiveLog(obj.Member) }), }); } -export interface CreateBotRequest { +/** + *

Creates a channel member.

+ */ +export interface ChannelMembership { /** - *

The Amazon Chime account ID.

+ *

The identifier of the member who invited another member. Taken from the message header.

*/ - AccountId: string | undefined; + InvitedBy?: Identity; /** - *

The bot display name.

+ *

The membership type set for the channel member.

*/ - DisplayName: string | undefined; + Type?: ChannelMembershipType | string; /** - *

The domain of the Amazon Chime Enterprise account.

+ *

The data of the channel member.

*/ - Domain?: string; -} - -export namespace CreateBotRequest { - export const filterSensitiveLog = (obj: CreateBotRequest): any => ({ - ...obj, - ...(obj.DisplayName && { DisplayName: SENSITIVE_STRING }), - }); -} + Member?: Identity; -export interface CreateBotResponse { /** - *

The bot details.

+ *

The ARN of the member's channel.

*/ - Bot?: Bot; -} - -export namespace CreateBotResponse { - export const filterSensitiveLog = (obj: CreateBotResponse): any => ({ - ...obj, - ...(obj.Bot && { Bot: Bot.filterSensitiveLog(obj.Bot) }), - }); -} + ChannelArn?: string; -/** - *

The configuration for resource targets to receive notifications when Amazon Chime SDK meeting and attendee events occur. The Amazon Chime SDK supports resource targets located in the US East (N. Virginia) AWS Region (us-east-1).

- */ -export interface MeetingNotificationConfiguration { /** - *

The SNS topic ARN.

+ *

The time at which the channel membership was created.

*/ - SnsTopicArn?: string; + CreatedTimestamp?: Date; /** - *

The SQS queue ARN.

+ *

The time at which a channel membership was last updated.

*/ - SqsQueueArn?: string; + LastUpdatedTimestamp?: Date; } -export namespace MeetingNotificationConfiguration { - export const filterSensitiveLog = (obj: MeetingNotificationConfiguration): any => ({ +export namespace ChannelMembership { + export const filterSensitiveLog = (obj: ChannelMembership): any => ({ ...obj, - ...(obj.SnsTopicArn && { SnsTopicArn: SENSITIVE_STRING }), - ...(obj.SqsQueueArn && { SqsQueueArn: SENSITIVE_STRING }), + ...(obj.InvitedBy && { InvitedBy: Identity.filterSensitiveLog(obj.InvitedBy) }), + ...(obj.Member && { Member: Identity.filterSensitiveLog(obj.Member) }), }); } -export interface CreateMeetingRequest { +/** + *

The summary data for a channel.

+ */ +export interface ChannelSummary { /** - *

The unique identifier for the client request. Use a different token for different meetings.

+ *

The parameter of the action.

*/ - ClientRequestToken?: string; + Name?: string; /** - *

The external meeting ID.

+ *

The ARN of the channel summary.

*/ - ExternalMeetingId?: string; + ChannelArn?: string; /** - *

Reserved.

+ *

The summary mode of the channel.

*/ - MeetingHostId?: string; + Mode?: ChannelMode | string; /** - *

The Region in which to create the meeting. Default: us-east-1.

- *

Available values: af-south-1, ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, ca-central-1, eu-central-1, eu-north-1, eu-south-1, eu-west-1, eu-west-2, eu-west-3, sa-east-1, us-east-1, us-east-2, us-west-1, us-west-2.

+ *

The privacy setting of the channel being summarized, PUBLIC or HIDDEN.

*/ - MediaRegion?: string; + Privacy?: ChannelPrivacy | string; /** - *

The tag key-value pairs.

+ *

The metadata of the channel summary.

*/ - Tags?: Tag[]; + Metadata?: string; /** - *

The configuration for resource targets to receive notifications when meeting and attendee events occur.

+ *

The time at which the last message in a channel was sent.

*/ - NotificationsConfiguration?: MeetingNotificationConfiguration; + LastMessageTimestamp?: Date; } -export namespace CreateMeetingRequest { - export const filterSensitiveLog = (obj: CreateMeetingRequest): any => ({ +export namespace ChannelSummary { + export const filterSensitiveLog = (obj: ChannelSummary): any => ({ ...obj, - ...(obj.ClientRequestToken && { ClientRequestToken: SENSITIVE_STRING }), - ...(obj.ExternalMeetingId && { ExternalMeetingId: SENSITIVE_STRING }), - ...(obj.MeetingHostId && { MeetingHostId: SENSITIVE_STRING }), - ...(obj.Tags && { Tags: obj.Tags.map((item) => Tag.filterSensitiveLog(item)) }), - ...(obj.NotificationsConfiguration && { - NotificationsConfiguration: MeetingNotificationConfiguration.filterSensitiveLog(obj.NotificationsConfiguration), - }), + ...(obj.Name && { Name: SENSITIVE_STRING }), + ...(obj.Metadata && { Metadata: SENSITIVE_STRING }), }); } /** - *

A set of endpoints used by clients to connect to the media service group for a Amazon Chime SDK meeting.

+ *

Returns the channel membership summary data for an app instance.

*/ -export interface MediaPlacement { - /** - *

The audio host URL.

- */ - AudioHostUrl?: string; - - /** - *

The audio fallback URL.

- */ - AudioFallbackUrl?: string; - +export interface ChannelMembershipForAppInstanceUserSummary { /** - *

The screen data URL.

- */ - ScreenDataUrl?: string; - - /** - *

The screen sharing URL.

+ *

The summary data for a channel.

*/ - ScreenSharingUrl?: string; + ChannelSummary?: ChannelSummary; /** - *

The screen viewing URL.

+ *

Returns the channel membership data for an app instance.

*/ - ScreenViewingUrl?: string; + AppInstanceUserMembershipSummary?: AppInstanceUserMembershipSummary; +} - /** - *

The signaling URL.

- */ - SignalingUrl?: string; +export namespace ChannelMembershipForAppInstanceUserSummary { + export const filterSensitiveLog = (obj: ChannelMembershipForAppInstanceUserSummary): any => ({ + ...obj, + ...(obj.ChannelSummary && { ChannelSummary: ChannelSummary.filterSensitiveLog(obj.ChannelSummary) }), + }); +} +/** + *

The summary data of a channel membership.

+ */ +export interface ChannelMembershipSummary { /** - *

The turn control URL.

+ *

A member's summary data.

*/ - TurnControlUrl?: string; + Member?: Identity; } -export namespace MediaPlacement { - export const filterSensitiveLog = (obj: MediaPlacement): any => ({ +export namespace ChannelMembershipSummary { + export const filterSensitiveLog = (obj: ChannelMembershipSummary): any => ({ ...obj, + ...(obj.Member && { Member: Identity.filterSensitiveLog(obj.Member) }), }); } +export enum ChannelMessagePersistenceType { + NON_PERSISTENT = "NON_PERSISTENT", + PERSISTENT = "PERSISTENT", +} + +export enum ChannelMessageType { + CONTROL = "CONTROL", + STANDARD = "STANDARD", +} + /** - *

A meeting created using the Amazon Chime SDK.

+ *

Creates a message in a channel.

*/ -export interface Meeting { +export interface ChannelMessage { /** - *

The Amazon Chime SDK meeting ID.

+ *

The ARN of the channel.

*/ - MeetingId?: string; + ChannelArn?: string; /** - *

The external meeting ID.

+ *

The ID of a message.

*/ - ExternalMeetingId?: string; + MessageId?: string; /** - *

The media placement for the meeting.

+ *

The message content.

*/ - MediaPlacement?: MediaPlacement; + Content?: string; /** - *

The Region in which to create the meeting. Available values: af-south-1, ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, ca-central-1, eu-central-1, eu-north-1, eu-south-1, eu-west-1, eu-west-2, eu-west-3, sa-east-1, us-east-1, us-east-2, us-west-1, us-west-2.

+ *

The message metadata.

*/ - MediaRegion?: string; -} - -export namespace Meeting { - export const filterSensitiveLog = (obj: Meeting): any => ({ - ...obj, - ...(obj.ExternalMeetingId && { ExternalMeetingId: SENSITIVE_STRING }), - }); -} + Metadata?: string; -export interface CreateMeetingResponse { /** - *

The meeting information, including the meeting ID and MediaPlacement.

+ *

The message type.

*/ - Meeting?: Meeting; -} - -export namespace CreateMeetingResponse { - export const filterSensitiveLog = (obj: CreateMeetingResponse): any => ({ - ...obj, - ...(obj.Meeting && { Meeting: Meeting.filterSensitiveLog(obj.Meeting) }), - }); -} + Type?: ChannelMessageType | string; -export interface CreateMeetingDialOutRequest { /** - *

The Amazon Chime SDK meeting ID.

- * - *

Type: String

- * - *

Pattern: [a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}

- * - *

Required: No

+ *

The time at which the message was created.

*/ - MeetingId: string | undefined; + CreatedTimestamp?: Date; /** - *

Phone number used as the caller ID when the remote party receives a call.

+ *

The time at which a message was edited.

*/ - FromPhoneNumber: string | undefined; + LastEditedTimestamp?: Date; /** - *

Phone number called when inviting someone to a meeting.

+ *

The time at which a message was updated.

*/ - ToPhoneNumber: string | undefined; + LastUpdatedTimestamp?: Date; /** - *

Token used by the Amazon Chime SDK attendee. Call the - * CreateAttendee API to get a join token.

+ *

The message sender.

*/ - JoinToken: string | undefined; -} - -export namespace CreateMeetingDialOutRequest { - export const filterSensitiveLog = (obj: CreateMeetingDialOutRequest): any => ({ - ...obj, - ...(obj.FromPhoneNumber && { FromPhoneNumber: SENSITIVE_STRING }), - ...(obj.ToPhoneNumber && { ToPhoneNumber: SENSITIVE_STRING }), - ...(obj.JoinToken && { JoinToken: SENSITIVE_STRING }), - }); -} + Sender?: Identity; -export interface CreateMeetingDialOutResponse { /** - *

Unique ID that tracks API calls.

+ *

Hides the content of a message. The message still exists on the back end, but this action + * only returns metadata.

*/ - TransactionId?: string; + Redacted?: boolean; + + Persistence?: ChannelMessagePersistenceType | string; } -export namespace CreateMeetingDialOutResponse { - export const filterSensitiveLog = (obj: CreateMeetingDialOutResponse): any => ({ +export namespace ChannelMessage { + export const filterSensitiveLog = (obj: ChannelMessage): any => ({ ...obj, + ...(obj.Content && { Content: SENSITIVE_STRING }), + ...(obj.Metadata && { Metadata: SENSITIVE_STRING }), + ...(obj.Sender && { Sender: Identity.filterSensitiveLog(obj.Sender) }), }); } -export interface CreateMeetingWithAttendeesRequest { +/** + *

A summary of the messages in a channel.

+ */ +export interface ChannelMessageSummary { /** - *

The unique identifier for the client request. Use a different token for different meetings.

+ *

The ID of the message summary.

*/ - ClientRequestToken?: string; + MessageId?: string; /** - *

The external meeting ID.

+ *

The content of the message summary.

*/ - ExternalMeetingId?: string; + Content?: string; /** - *

Reserved.

+ *

The metadata of the message summary.

*/ - MeetingHostId?: string; + Metadata?: string; /** - *

The Region in which to create the meeting. Default: us-east-1.

- *

Available values: af-south-1, ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, ca-central-1, eu-central-1, eu-north-1, eu-south-1, eu-west-1, eu-west-2, eu-west-3, sa-east-1, us-east-1, us-east-2, us-west-1, us-west-2.

+ *

The type of message summary.

*/ - MediaRegion?: string; + Type?: ChannelMessageType | string; /** - *

The tag key-value pairs.

+ *

The time at which the message summary was created.

*/ - Tags?: Tag[]; + CreatedTimestamp?: Date; + LastUpdatedTimestamp?: Date; + LastEditedTimestamp?: Date; /** - *

The configuration for resource targets to receive notifications when Amazon Chime SDK meeting and attendee events occur. The Amazon Chime SDK supports resource targets located in the US East (N. Virginia) AWS Region (us-east-1).

+ *

The sender of the message summary.

*/ - NotificationsConfiguration?: MeetingNotificationConfiguration; + Sender?: Identity; /** - *

The request containing the attendees to create.

+ *

Redacts the content of a message summary.

*/ - Attendees?: CreateAttendeeRequestItem[]; + Redacted?: boolean; } -export namespace CreateMeetingWithAttendeesRequest { - export const filterSensitiveLog = (obj: CreateMeetingWithAttendeesRequest): any => ({ +export namespace ChannelMessageSummary { + export const filterSensitiveLog = (obj: ChannelMessageSummary): any => ({ ...obj, - ...(obj.ClientRequestToken && { ClientRequestToken: SENSITIVE_STRING }), - ...(obj.ExternalMeetingId && { ExternalMeetingId: SENSITIVE_STRING }), - ...(obj.MeetingHostId && { MeetingHostId: SENSITIVE_STRING }), - ...(obj.Tags && { Tags: obj.Tags.map((item) => Tag.filterSensitiveLog(item)) }), - ...(obj.NotificationsConfiguration && { - NotificationsConfiguration: MeetingNotificationConfiguration.filterSensitiveLog(obj.NotificationsConfiguration), - }), - ...(obj.Attendees && { - Attendees: obj.Attendees.map((item) => CreateAttendeeRequestItem.filterSensitiveLog(item)), - }), + ...(obj.Content && { Content: SENSITIVE_STRING }), + ...(obj.Metadata && { Metadata: SENSITIVE_STRING }), + ...(obj.Sender && { Sender: Identity.filterSensitiveLog(obj.Sender) }), }); } -export interface CreateMeetingWithAttendeesResponse { +/** + *

Returns the summary data for a moderated channel.

+ */ +export interface ChannelModeratedByAppInstanceUserSummary { /** - *

A meeting created using the Amazon Chime SDK.

+ *

The summary data for a channel.

*/ - Meeting?: Meeting; + ChannelSummary?: ChannelSummary; +} + +export namespace ChannelModeratedByAppInstanceUserSummary { + export const filterSensitiveLog = (obj: ChannelModeratedByAppInstanceUserSummary): any => ({ + ...obj, + ...(obj.ChannelSummary && { ChannelSummary: ChannelSummary.filterSensitiveLog(obj.ChannelSummary) }), + }); +} +/** + *

Creates a moderator on a channel.

+ */ +export interface ChannelModerator { /** - *

The attendee information, including attendees IDs and join tokens.

+ *

The moderator's data.

*/ - Attendees?: Attendee[]; + Moderator?: Identity; /** - *

If the action fails for one or more of the attendees in the request, a list of the attendees is returned, along with error codes and error messages.

+ *

The ARN of the moderator's channel.

*/ - Errors?: CreateAttendeeError[]; -} - -export namespace CreateMeetingWithAttendeesResponse { - export const filterSensitiveLog = (obj: CreateMeetingWithAttendeesResponse): any => ({ - ...obj, - ...(obj.Meeting && { Meeting: Meeting.filterSensitiveLog(obj.Meeting) }), - ...(obj.Attendees && { Attendees: obj.Attendees.map((item) => Attendee.filterSensitiveLog(item)) }), - ...(obj.Errors && { Errors: obj.Errors.map((item) => CreateAttendeeError.filterSensitiveLog(item)) }), - }); -} + ChannelArn?: string; -export interface CreatePhoneNumberOrderRequest { /** - *

The phone number product type.

+ *

The time at which the moderator was created.

*/ - ProductType: PhoneNumberProductType | string | undefined; + CreatedTimestamp?: Date; /** - *

List of phone numbers, in E.164 format.

+ *

The member who created the moderator.

*/ - E164PhoneNumbers: string[] | undefined; + CreatedBy?: Identity; } -export namespace CreatePhoneNumberOrderRequest { - export const filterSensitiveLog = (obj: CreatePhoneNumberOrderRequest): any => ({ +export namespace ChannelModerator { + export const filterSensitiveLog = (obj: ChannelModerator): any => ({ ...obj, - ...(obj.E164PhoneNumbers && { E164PhoneNumbers: SENSITIVE_STRING }), + ...(obj.Moderator && { Moderator: Identity.filterSensitiveLog(obj.Moderator) }), + ...(obj.CreatedBy && { CreatedBy: Identity.filterSensitiveLog(obj.CreatedBy) }), }); } -export enum OrderedPhoneNumberStatus { - Acquired = "Acquired", - Failed = "Failed", - Processing = "Processing", -} - /** - *

A phone number for which an order has been placed.

+ *

Summary data of the moderators in a channel.

*/ -export interface OrderedPhoneNumber { +export interface ChannelModeratorSummary { /** - *

The phone number, in E.164 format.

+ *

The data for a moderator.

*/ - E164PhoneNumber?: string; + Moderator?: Identity; +} - /** - *

The phone number status.

- */ - Status?: OrderedPhoneNumberStatus | string; -} - -export namespace OrderedPhoneNumber { - export const filterSensitiveLog = (obj: OrderedPhoneNumber): any => ({ +export namespace ChannelModeratorSummary { + export const filterSensitiveLog = (obj: ChannelModeratorSummary): any => ({ ...obj, - ...(obj.E164PhoneNumber && { E164PhoneNumber: SENSITIVE_STRING }), + ...(obj.Moderator && { Moderator: Identity.filterSensitiveLog(obj.Moderator) }), }); } -export enum PhoneNumberOrderStatus { - Failed = "Failed", - Partial = "Partial", - Processing = "Processing", - Successful = "Successful", +/** + *

The request could not be processed because of conflict in the current state of the + * resource.

+ */ +export interface ConflictException extends __SmithyException, $MetadataBearer { + name: "ConflictException"; + $fault: "client"; + Code?: ErrorCode | string; + Message?: string; +} + +export namespace ConflictException { + export const filterSensitiveLog = (obj: ConflictException): any => ({ + ...obj, + }); } /** - *

The details of a phone number order created for Amazon Chime.

+ *

The retention settings that determine how long to retain chat conversation messages for an Amazon Chime Enterprise account.

*/ -export interface PhoneNumberOrder { +export interface ConversationRetentionSettings { /** - *

The phone number order ID.

+ *

The number of days for which to retain chat conversation messages.

*/ - PhoneNumberOrderId?: string; + RetentionDays?: number; +} + +export namespace ConversationRetentionSettings { + export const filterSensitiveLog = (obj: ConversationRetentionSettings): any => ({ + ...obj, + }); +} +export interface CreateAccountRequest { /** - *

The phone number order product type.

+ *

The name of the Amazon Chime account.

*/ - ProductType?: PhoneNumberProductType | string; + Name: string | undefined; +} +export namespace CreateAccountRequest { + export const filterSensitiveLog = (obj: CreateAccountRequest): any => ({ + ...obj, + }); +} + +export interface CreateAccountResponse { /** - *

The status of the phone number order.

+ *

The Amazon Chime account details. An AWS account can have multiple Amazon Chime accounts.

*/ - Status?: PhoneNumberOrderStatus | string; + Account?: Account; +} + +export namespace CreateAccountResponse { + export const filterSensitiveLog = (obj: CreateAccountResponse): any => ({ + ...obj, + }); +} +export interface CreateAppInstanceRequest { /** - *

The ordered phone number details, such as the phone number in E.164 format and the - * phone number status.

+ *

The name of the app instance.

*/ - OrderedPhoneNumbers?: OrderedPhoneNumber[]; + Name: string | undefined; /** - *

The phone number order creation timestamp, in ISO 8601 format.

+ *

The metadata of the app instance. Limited to a 1KB string in UTF-8.

*/ - CreatedTimestamp?: Date; + Metadata?: string; /** - *

The updated phone number order timestamp, in ISO 8601 format.

+ *

The ClientRequestToken of the app instance.

*/ - UpdatedTimestamp?: Date; + ClientRequestToken?: string; } -export namespace PhoneNumberOrder { - export const filterSensitiveLog = (obj: PhoneNumberOrder): any => ({ +export namespace CreateAppInstanceRequest { + export const filterSensitiveLog = (obj: CreateAppInstanceRequest): any => ({ ...obj, - ...(obj.OrderedPhoneNumbers && { - OrderedPhoneNumbers: obj.OrderedPhoneNumbers.map((item) => OrderedPhoneNumber.filterSensitiveLog(item)), - }), + ...(obj.Name && { Name: SENSITIVE_STRING }), + ...(obj.Metadata && { Metadata: SENSITIVE_STRING }), + ...(obj.ClientRequestToken && { ClientRequestToken: SENSITIVE_STRING }), }); } -export interface CreatePhoneNumberOrderResponse { +export interface CreateAppInstanceResponse { /** - *

The phone number order details.

+ *

The Amazon Resource Number (ARN) of the app instance.

*/ - PhoneNumberOrder?: PhoneNumberOrder; + AppInstanceArn?: string; } -export namespace CreatePhoneNumberOrderResponse { - export const filterSensitiveLog = (obj: CreatePhoneNumberOrderResponse): any => ({ +export namespace CreateAppInstanceResponse { + export const filterSensitiveLog = (obj: CreateAppInstanceResponse): any => ({ ...obj, - ...(obj.PhoneNumberOrder && { PhoneNumberOrder: PhoneNumberOrder.filterSensitiveLog(obj.PhoneNumberOrder) }), }); } -export enum GeoMatchLevel { - AreaCode = "AreaCode", - Country = "Country", -} - -/** - *

The country and area code for a proxy phone number in a proxy phone session.

- */ -export interface GeoMatchParams { +export interface CreateAppInstanceAdminRequest { /** - *

The country.

+ *

The ARN of the administrator of the current app instance.

*/ - Country: string | undefined; + AppInstanceAdminArn: string | undefined; /** - *

The area code.

+ *

The ARN of the app instance.

*/ - AreaCode: string | undefined; + AppInstanceArn: string | undefined; } -export namespace GeoMatchParams { - export const filterSensitiveLog = (obj: GeoMatchParams): any => ({ +export namespace CreateAppInstanceAdminRequest { + export const filterSensitiveLog = (obj: CreateAppInstanceAdminRequest): any => ({ ...obj, }); } -export enum NumberSelectionBehavior { - AvoidSticky = "AvoidSticky", - PreferSticky = "PreferSticky", -} - -export interface CreateProxySessionRequest { +export interface CreateAppInstanceAdminResponse { /** - *

The Amazon Chime voice connector ID.

+ *

The name and ARN of the admin for the app instance.

*/ - VoiceConnectorId: string | undefined; + AppInstanceAdmin?: Identity; /** - *

The participant phone numbers.

+ *

The ARN of the of the admin for the app instance.

*/ - ParticipantPhoneNumbers: string[] | undefined; + AppInstanceArn?: string; +} - /** - *

The name of the proxy session.

- */ - Name?: string; +export namespace CreateAppInstanceAdminResponse { + export const filterSensitiveLog = (obj: CreateAppInstanceAdminResponse): any => ({ + ...obj, + ...(obj.AppInstanceAdmin && { AppInstanceAdmin: Identity.filterSensitiveLog(obj.AppInstanceAdmin) }), + }); +} +export interface CreateAppInstanceUserRequest { /** - *

The number of minutes allowed for the proxy session.

+ *

The ARN of the app instance request.

*/ - ExpiryMinutes?: number; + AppInstanceArn: string | undefined; /** - *

The proxy session capabilities.

+ *

The user ID of the app instance.

*/ - Capabilities: (Capability | string)[] | undefined; + AppInstanceUserId: string | undefined; /** - *

The preference for proxy phone number reuse, or stickiness, between the same participants across sessions.

+ *

The user's name.

*/ - NumberSelectionBehavior?: NumberSelectionBehavior | string; + Name: string | undefined; /** - *

The preference for matching the country or area code of the proxy phone number with that of the first participant.

+ *

The request's metadata. Limited to a 1KB string in UTF-8.

*/ - GeoMatchLevel?: GeoMatchLevel | string; + Metadata?: string; /** - *

The country and area code for the proxy phone number.

+ *

The token assigned to the user requesting an app instance.

*/ - GeoMatchParams?: GeoMatchParams; + ClientRequestToken?: string; } -export namespace CreateProxySessionRequest { - export const filterSensitiveLog = (obj: CreateProxySessionRequest): any => ({ +export namespace CreateAppInstanceUserRequest { + export const filterSensitiveLog = (obj: CreateAppInstanceUserRequest): any => ({ ...obj, - ...(obj.ParticipantPhoneNumbers && { ParticipantPhoneNumbers: SENSITIVE_STRING }), + ...(obj.AppInstanceUserId && { AppInstanceUserId: SENSITIVE_STRING }), ...(obj.Name && { Name: SENSITIVE_STRING }), + ...(obj.Metadata && { Metadata: SENSITIVE_STRING }), + ...(obj.ClientRequestToken && { ClientRequestToken: SENSITIVE_STRING }), }); } -/** - *

The phone number and proxy phone number for a participant in an Amazon Chime Voice Connector proxy session.

- */ -export interface Participant { - /** - *

The participant's phone number.

- */ - PhoneNumber?: string; - +export interface CreateAppInstanceUserResponse { /** - *

The participant's proxy phone number.

+ *

The user's ARN.

*/ - ProxyPhoneNumber?: string; + AppInstanceUserArn?: string; } -export namespace Participant { - export const filterSensitiveLog = (obj: Participant): any => ({ +export namespace CreateAppInstanceUserResponse { + export const filterSensitiveLog = (obj: CreateAppInstanceUserResponse): any => ({ ...obj, - ...(obj.PhoneNumber && { PhoneNumber: SENSITIVE_STRING }), - ...(obj.ProxyPhoneNumber && { ProxyPhoneNumber: SENSITIVE_STRING }), }); } -export enum ProxySessionStatus { - Closed = "Closed", - InProgress = "InProgress", - Open = "Open", -} +export interface CreateAttendeeRequest { + /** + *

The Amazon Chime SDK meeting ID.

+ */ + MeetingId: string | undefined; -/** - *

The proxy session for an Amazon Chime Voice Connector.

- */ -export interface ProxySession { /** - *

The Amazon Chime voice connector ID.

+ *

The Amazon Chime SDK external user ID. An idempotency token. Links the attendee to an identity managed by a builder application. + * If you create an attendee with the same external user id, the service returns the existing record.

*/ - VoiceConnectorId?: string; + ExternalUserId: string | undefined; /** - *

The proxy session ID.

+ *

The tag key-value pairs.

*/ - ProxySessionId?: string; + Tags?: Tag[]; +} +export namespace CreateAttendeeRequest { + export const filterSensitiveLog = (obj: CreateAttendeeRequest): any => ({ + ...obj, + ...(obj.ExternalUserId && { ExternalUserId: SENSITIVE_STRING }), + ...(obj.Tags && { Tags: obj.Tags.map((item) => Tag.filterSensitiveLog(item)) }), + }); +} + +export interface CreateAttendeeResponse { /** - *

The name of the proxy session.

+ *

The attendee information, including attendee ID and join token.

*/ - Name?: string; + Attendee?: Attendee; +} + +export namespace CreateAttendeeResponse { + export const filterSensitiveLog = (obj: CreateAttendeeResponse): any => ({ + ...obj, + ...(obj.Attendee && { Attendee: Attendee.filterSensitiveLog(obj.Attendee) }), + }); +} +export interface CreateBotRequest { /** - *

The status of the proxy session.

+ *

The Amazon Chime account ID.

*/ - Status?: ProxySessionStatus | string; + AccountId: string | undefined; /** - *

The number of minutes allowed for the proxy session.

+ *

The bot display name.

*/ - ExpiryMinutes?: number; + DisplayName: string | undefined; /** - *

The proxy session capabilities.

+ *

The domain of the Amazon Chime Enterprise account.

*/ - Capabilities?: (Capability | string)[]; + Domain?: string; +} + +export namespace CreateBotRequest { + export const filterSensitiveLog = (obj: CreateBotRequest): any => ({ + ...obj, + ...(obj.DisplayName && { DisplayName: SENSITIVE_STRING }), + }); +} +export interface CreateBotResponse { /** - *

The created timestamp, in ISO 8601 format.

+ *

The bot details.

*/ - CreatedTimestamp?: Date; + Bot?: Bot; +} +export namespace CreateBotResponse { + export const filterSensitiveLog = (obj: CreateBotResponse): any => ({ + ...obj, + ...(obj.Bot && { Bot: Bot.filterSensitiveLog(obj.Bot) }), + }); +} + +export interface CreateChannelRequest { /** - *

The updated timestamp, in ISO 8601 format.

+ *

The ARN of the channel request.

*/ - UpdatedTimestamp?: Date; + AppInstanceArn: string | undefined; /** - *

The ended timestamp, in ISO 8601 format.

+ *

The name of the channel.

*/ - EndedTimestamp?: Date; + Name: string | undefined; /** - *

The proxy session participants.

+ *

The channel mode: UNRESTRICTED or RESTRICTED. Administrators, moderators, and channel members can add + * themselves and other members to unrestricted channels. Only administrators and moderators can add members to restricted channels.

*/ - Participants?: Participant[]; + Mode?: ChannelMode | string; /** - *

The preference for proxy phone number reuse, or stickiness, between the same participants across sessions.

+ *

The channel's privacy level: PUBLIC or PRIVATE. Private channels aren't discoverable by users outside + * the channel. Public channels are discoverable by anyone in the app instance.

*/ - NumberSelectionBehavior?: NumberSelectionBehavior | string; + Privacy?: ChannelPrivacy | string; /** - *

The preference for matching the country or area code of the proxy phone number with that of the first participant.

+ *

The metadata of the creation request. Limited to 1KB and UTF-8.

*/ - GeoMatchLevel?: GeoMatchLevel | string; + Metadata?: string; /** - *

The country and area code for the proxy phone number.

+ *

The client token for the request. An Idempotency token.

*/ - GeoMatchParams?: GeoMatchParams; + ClientRequestToken?: string; + + Tags?: Tag[]; } -export namespace ProxySession { - export const filterSensitiveLog = (obj: ProxySession): any => ({ +export namespace CreateChannelRequest { + export const filterSensitiveLog = (obj: CreateChannelRequest): any => ({ ...obj, - ...(obj.Participants && { Participants: obj.Participants.map((item) => Participant.filterSensitiveLog(item)) }), + ...(obj.Name && { Name: SENSITIVE_STRING }), + ...(obj.Metadata && { Metadata: SENSITIVE_STRING }), + ...(obj.ClientRequestToken && { ClientRequestToken: SENSITIVE_STRING }), + ...(obj.Tags && { Tags: obj.Tags.map((item) => Tag.filterSensitiveLog(item)) }), }); } -export interface CreateProxySessionResponse { +export interface CreateChannelResponse { /** - *

The proxy session details.

+ *

The ARN of the channel.

*/ - ProxySession?: ProxySession; + ChannelArn?: string; } -export namespace CreateProxySessionResponse { - export const filterSensitiveLog = (obj: CreateProxySessionResponse): any => ({ +export namespace CreateChannelResponse { + export const filterSensitiveLog = (obj: CreateChannelResponse): any => ({ ...obj, }); } -export interface CreateRoomRequest { +export interface CreateChannelBanRequest { /** - *

The Amazon Chime account ID.

+ *

The ARN of the ban request.

*/ - AccountId: string | undefined; + ChannelArn: string | undefined; /** - *

The room name.

+ *

The ARN of the member being banned.

*/ - Name: string | undefined; + MemberArn: string | undefined; +} +export namespace CreateChannelBanRequest { + export const filterSensitiveLog = (obj: CreateChannelBanRequest): any => ({ + ...obj, + }); +} + +export interface CreateChannelBanResponse { /** - *

The idempotency token for the request.

+ *

The ARN of the response to the ban request.

*/ - ClientRequestToken?: string; + ChannelArn?: string; + + /** + *

The ChannelArn and BannedIdentity of the member in the ban response.

+ */ + Member?: Identity; } -export namespace CreateRoomRequest { - export const filterSensitiveLog = (obj: CreateRoomRequest): any => ({ +export namespace CreateChannelBanResponse { + export const filterSensitiveLog = (obj: CreateChannelBanResponse): any => ({ ...obj, - ...(obj.Name && { Name: SENSITIVE_STRING }), - ...(obj.ClientRequestToken && { ClientRequestToken: SENSITIVE_STRING }), + ...(obj.Member && { Member: Identity.filterSensitiveLog(obj.Member) }), }); } -/** - *

The Amazon Chime chat room details.

- */ -export interface Room { +export interface CreateChannelMembershipRequest { /** - *

The room ID.

+ *

The ARN of the channel to which you're adding users.

*/ - RoomId?: string; + ChannelArn: string | undefined; /** - *

The room name.

+ *

The ARN of the member you want to add to the channel.

*/ - Name?: string; + MemberArn: string | undefined; /** - *

The Amazon Chime account ID.

+ *

The membership type of a user, DEFAULT or HIDDEN. Default members are always returned as part of + * ListChannelMemberships. Hidden members are only returned if the type filter in ListChannelMemberships + * equals HIDDEN. Otherwise hidden members are not returned. This is only supported by moderators.

*/ - AccountId?: string; + Type: ChannelMembershipType | string | undefined; +} - /** - *

The identifier of the room creator.

- */ - CreatedBy?: string; +export namespace CreateChannelMembershipRequest { + export const filterSensitiveLog = (obj: CreateChannelMembershipRequest): any => ({ + ...obj, + }); +} +export interface CreateChannelMembershipResponse { /** - *

The room creation timestamp, in ISO 8601 format.

+ *

The ARN of the channel.

*/ - CreatedTimestamp?: Date; + ChannelArn?: string; /** - *

The room update timestamp, in ISO 8601 format.

+ *

The ARN and metadata of the member being added.

*/ - UpdatedTimestamp?: Date; + Member?: Identity; } -export namespace Room { - export const filterSensitiveLog = (obj: Room): any => ({ +export namespace CreateChannelMembershipResponse { + export const filterSensitiveLog = (obj: CreateChannelMembershipResponse): any => ({ ...obj, - ...(obj.Name && { Name: SENSITIVE_STRING }), + ...(obj.Member && { Member: Identity.filterSensitiveLog(obj.Member) }), }); } -export interface CreateRoomResponse { +export interface CreateChannelModeratorRequest { /** - *

The room details.

+ *

The ARN of the channel.

*/ - Room?: Room; + ChannelArn: string | undefined; + + /** + *

The ARN of the moderator.

+ */ + ChannelModeratorArn: string | undefined; } -export namespace CreateRoomResponse { - export const filterSensitiveLog = (obj: CreateRoomResponse): any => ({ +export namespace CreateChannelModeratorRequest { + export const filterSensitiveLog = (obj: CreateChannelModeratorRequest): any => ({ ...obj, - ...(obj.Room && { Room: Room.filterSensitiveLog(obj.Room) }), }); } -export interface CreateRoomMembershipRequest { +export interface CreateChannelModeratorResponse { /** - *

The Amazon Chime account ID.

+ *

The ARN of the channel.

*/ - AccountId: string | undefined; + ChannelArn?: string; /** - *

The room ID.

+ *

The ARNs of the channel and the moderator.

*/ - RoomId: string | undefined; + ChannelModerator?: Identity; +} + +export namespace CreateChannelModeratorResponse { + export const filterSensitiveLog = (obj: CreateChannelModeratorResponse): any => ({ + ...obj, + ...(obj.ChannelModerator && { ChannelModerator: Identity.filterSensitiveLog(obj.ChannelModerator) }), + }); +} +/** + *

The configuration for resource targets to receive notifications when Amazon Chime SDK meeting and attendee events occur. The Amazon Chime SDK supports resource targets located in the US East (N. Virginia) AWS Region (us-east-1).

+ */ +export interface MeetingNotificationConfiguration { /** - *

The Amazon Chime member ID (user ID or bot ID).

+ *

The SNS topic ARN.

*/ - MemberId: string | undefined; + SnsTopicArn?: string; /** - *

The role of the member.

+ *

The SQS queue ARN.

*/ - Role?: RoomMembershipRole | string; + SqsQueueArn?: string; } -export namespace CreateRoomMembershipRequest { - export const filterSensitiveLog = (obj: CreateRoomMembershipRequest): any => ({ +export namespace MeetingNotificationConfiguration { + export const filterSensitiveLog = (obj: MeetingNotificationConfiguration): any => ({ ...obj, + ...(obj.SnsTopicArn && { SnsTopicArn: SENSITIVE_STRING }), + ...(obj.SqsQueueArn && { SqsQueueArn: SENSITIVE_STRING }), }); } -export enum MemberType { - Bot = "Bot", - User = "User", - Webhook = "Webhook", -} +export interface CreateMeetingRequest { + /** + *

The unique identifier for the client request. Use a different token for different meetings.

+ */ + ClientRequestToken?: string; -/** - *

The member details, such as email address, name, member ID, and member type.

- */ -export interface Member { /** - *

The member ID (user ID or bot ID).

+ *

The external meeting ID.

*/ - MemberId?: string; + ExternalMeetingId?: string; /** - *

The member type.

+ *

Reserved.

*/ - MemberType?: MemberType | string; + MeetingHostId?: string; /** - *

The member email address.

+ *

The Region in which to create the meeting. Default: us-east-1.

+ *

Available values: af-south-1, ap-northeast-1, ap-northeast-2, ap-south-1, + * ap-southeast-1, ap-southeast-2, ca-central-1, eu-central-1, eu-north-1, + * eu-south-1, eu-west-1, eu-west-2, eu-west-3, sa-east-1, us-east-1, + * us-east-2, us-west-1, us-west-2.

*/ - Email?: string; + MediaRegion?: string; /** - *

The member name.

+ *

The tag key-value pairs.

*/ - FullName?: string; + Tags?: Tag[]; /** - *

The Amazon Chime account ID.

+ *

The configuration for resource targets to receive notifications when meeting and attendee events occur.

*/ - AccountId?: string; + NotificationsConfiguration?: MeetingNotificationConfiguration; } -export namespace Member { - export const filterSensitiveLog = (obj: Member): any => ({ +export namespace CreateMeetingRequest { + export const filterSensitiveLog = (obj: CreateMeetingRequest): any => ({ ...obj, - ...(obj.Email && { Email: SENSITIVE_STRING }), - ...(obj.FullName && { FullName: SENSITIVE_STRING }), + ...(obj.ClientRequestToken && { ClientRequestToken: SENSITIVE_STRING }), + ...(obj.ExternalMeetingId && { ExternalMeetingId: SENSITIVE_STRING }), + ...(obj.MeetingHostId && { MeetingHostId: SENSITIVE_STRING }), + ...(obj.Tags && { Tags: obj.Tags.map((item) => Tag.filterSensitiveLog(item)) }), + ...(obj.NotificationsConfiguration && { + NotificationsConfiguration: MeetingNotificationConfiguration.filterSensitiveLog(obj.NotificationsConfiguration), + }), }); } /** - *

The room membership details.

+ *

A set of endpoints used by clients to connect to the media service group for a Amazon Chime SDK meeting.

*/ -export interface RoomMembership { +export interface MediaPlacement { /** - *

The room ID.

+ *

The audio host URL.

*/ - RoomId?: string; + AudioHostUrl?: string; /** - *

The member details, such as email address, name, member ID, and member type.

+ *

The audio fallback URL.

*/ - Member?: Member; + AudioFallbackUrl?: string; /** - *

The membership role.

+ *

The screen data URL.

*/ - Role?: RoomMembershipRole | string; + ScreenDataUrl?: string; /** - *

The identifier of the user that invited the room member.

+ *

The screen sharing URL.

*/ - InvitedBy?: string; + ScreenSharingUrl?: string; /** - *

The room membership update timestamp, in ISO 8601 format.

+ *

The screen viewing URL.

*/ - UpdatedTimestamp?: Date; -} + ScreenViewingUrl?: string; -export namespace RoomMembership { - export const filterSensitiveLog = (obj: RoomMembership): any => ({ - ...obj, - ...(obj.Member && { Member: Member.filterSensitiveLog(obj.Member) }), - }); -} + /** + *

The signaling URL.

+ */ + SignalingUrl?: string; -export interface CreateRoomMembershipResponse { /** - *

The room membership details.

+ *

The turn control URL.

*/ - RoomMembership?: RoomMembership; + TurnControlUrl?: string; } -export namespace CreateRoomMembershipResponse { - export const filterSensitiveLog = (obj: CreateRoomMembershipResponse): any => ({ +export namespace MediaPlacement { + export const filterSensitiveLog = (obj: MediaPlacement): any => ({ ...obj, - ...(obj.RoomMembership && { RoomMembership: RoomMembership.filterSensitiveLog(obj.RoomMembership) }), }); } /** - *

Endpoints to specify as part of a SIP media application.

+ *

A meeting created using the Amazon Chime SDK.

*/ -export interface SipMediaApplicationEndpoint { +export interface Meeting { /** - *

Valid Amazon Resource Name (ARN) of the Lambda function of the same AWS Region where the - * SIP media application is created.

+ *

The Amazon Chime SDK meeting ID.

*/ - LambdaArn?: string; -} - -export namespace SipMediaApplicationEndpoint { - export const filterSensitiveLog = (obj: SipMediaApplicationEndpoint): any => ({ - ...obj, - ...(obj.LambdaArn && { LambdaArn: SENSITIVE_STRING }), - }); -} + MeetingId?: string; -export interface CreateSipMediaApplicationRequest { /** - *

AWS Region assigned to the SIP media application.

+ *

The external meeting ID.

*/ - AwsRegion: string | undefined; + ExternalMeetingId?: string; /** - *

The SIP media application name.

+ *

The media placement for the meeting.

*/ - Name?: string; + MediaPlacement?: MediaPlacement; /** - *

List of endpoints (Lambda Amazon Resource Names) specified for the SIP media - * application. Currently, only one endpoint is supported.

+ *

The Region in which to create the meeting. Available values: af-south-1, ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, ca-central-1, eu-central-1, eu-north-1, eu-south-1, eu-west-1, eu-west-2, eu-west-3, sa-east-1, us-east-1, us-east-2, us-west-1, us-west-2.

*/ - Endpoints: SipMediaApplicationEndpoint[] | undefined; + MediaRegion?: string; } -export namespace CreateSipMediaApplicationRequest { - export const filterSensitiveLog = (obj: CreateSipMediaApplicationRequest): any => ({ +export namespace Meeting { + export const filterSensitiveLog = (obj: Meeting): any => ({ ...obj, - ...(obj.Endpoints && { - Endpoints: obj.Endpoints.map((item) => SipMediaApplicationEndpoint.filterSensitiveLog(item)), - }), + ...(obj.ExternalMeetingId && { ExternalMeetingId: SENSITIVE_STRING }), }); } -/** - *

The SIP media application details, including name and endpoints. An AWS account can have multiple SIP media applications.

- */ -export interface SipMediaApplication { +export interface CreateMeetingResponse { /** - *

The SIP media application ID.

+ *

The meeting information, including the meeting ID and MediaPlacement.

*/ - SipMediaApplicationId?: string; + Meeting?: Meeting; +} - /** - *

The AWS Region in which the SIP media application is created.

- */ - AwsRegion?: string; +export namespace CreateMeetingResponse { + export const filterSensitiveLog = (obj: CreateMeetingResponse): any => ({ + ...obj, + ...(obj.Meeting && { Meeting: Meeting.filterSensitiveLog(obj.Meeting) }), + }); +} +export interface CreateMeetingDialOutRequest { /** - *

The name of the SIP media application.

+ *

The Amazon Chime SDK meeting ID.

+ * + *

Type: String

+ * + *

Pattern: [a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}

+ * + *

Required: No

*/ - Name?: string; + MeetingId: string | undefined; /** - *

List of endpoints for SIP media application. Currently, only one endpoint per SIP media - * application is permitted.

+ *

Phone number used as the caller ID when the remote party receives a call.

*/ - Endpoints?: SipMediaApplicationEndpoint[]; + FromPhoneNumber: string | undefined; /** - *

The SIP media application creation timestamp, in ISO 8601 format.

+ *

Phone number called when inviting someone to a meeting.

*/ - CreatedTimestamp?: Date; + ToPhoneNumber: string | undefined; /** - *

The SIP media application updated timestamp, in ISO 8601 format.

- */ - UpdatedTimestamp?: Date; + *

Token used by the Amazon Chime SDK attendee. Call the + * CreateAttendee API to get a join token.

+ */ + JoinToken: string | undefined; } -export namespace SipMediaApplication { - export const filterSensitiveLog = (obj: SipMediaApplication): any => ({ +export namespace CreateMeetingDialOutRequest { + export const filterSensitiveLog = (obj: CreateMeetingDialOutRequest): any => ({ ...obj, - ...(obj.Endpoints && { - Endpoints: obj.Endpoints.map((item) => SipMediaApplicationEndpoint.filterSensitiveLog(item)), - }), + ...(obj.FromPhoneNumber && { FromPhoneNumber: SENSITIVE_STRING }), + ...(obj.ToPhoneNumber && { ToPhoneNumber: SENSITIVE_STRING }), + ...(obj.JoinToken && { JoinToken: SENSITIVE_STRING }), }); } -export interface CreateSipMediaApplicationResponse { +export interface CreateMeetingDialOutResponse { /** - *

The Sip media application details.

+ *

Unique ID that tracks API calls.

*/ - SipMediaApplication?: SipMediaApplication; + TransactionId?: string; } -export namespace CreateSipMediaApplicationResponse { - export const filterSensitiveLog = (obj: CreateSipMediaApplicationResponse): any => ({ +export namespace CreateMeetingDialOutResponse { + export const filterSensitiveLog = (obj: CreateMeetingDialOutResponse): any => ({ ...obj, - ...(obj.SipMediaApplication && { - SipMediaApplication: SipMediaApplication.filterSensitiveLog(obj.SipMediaApplication), - }), }); } -export interface CreateSipMediaApplicationCallRequest { +export interface CreateMeetingWithAttendeesRequest { /** - *

The phone number that a user calls from.

+ *

The unique identifier for the client request. Use a different token for different meetings.

*/ - FromPhoneNumber?: string; + ClientRequestToken?: string; /** - *

The phone number that the user dials in order to connect to a meeting

+ *

The external meeting ID.

*/ - ToPhoneNumber?: string; + ExternalMeetingId?: string; /** - *

The ID of the SIP media application.

+ *

Reserved.

*/ - SipMediaApplicationId: string | undefined; -} + MeetingHostId?: string; -export namespace CreateSipMediaApplicationCallRequest { - export const filterSensitiveLog = (obj: CreateSipMediaApplicationCallRequest): any => ({ - ...obj, - ...(obj.FromPhoneNumber && { FromPhoneNumber: SENSITIVE_STRING }), - ...(obj.ToPhoneNumber && { ToPhoneNumber: SENSITIVE_STRING }), - }); -} + /** + *

The Region in which to create the meeting. Default: us-east-1.

+ *

Available values: af-south-1, ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, ca-central-1, eu-central-1, eu-north-1, eu-south-1, eu-west-1, eu-west-2, eu-west-3, sa-east-1, us-east-1, us-east-2, us-west-1, us-west-2.

+ */ + MediaRegion?: string; -/** - *

A Call instance for a SIP media application.

- */ -export interface SipMediaApplicationCall { /** - *

The transaction ID of a call.

+ *

The tag key-value pairs.

*/ - TransactionId?: string; -} + Tags?: Tag[]; -export namespace SipMediaApplicationCall { - export const filterSensitiveLog = (obj: SipMediaApplicationCall): any => ({ - ...obj, - }); -} + /** + *

The configuration for resource targets to receive notifications when Amazon Chime SDK meeting and attendee events occur. The Amazon Chime SDK supports resource targets located in the US East (N. Virginia) AWS Region (us-east-1).

+ */ + NotificationsConfiguration?: MeetingNotificationConfiguration; -export interface CreateSipMediaApplicationCallResponse { /** - *

The actual call.

+ *

The request containing the attendees to create.

*/ - SipMediaApplicationCall?: SipMediaApplicationCall; + Attendees?: CreateAttendeeRequestItem[]; } -export namespace CreateSipMediaApplicationCallResponse { - export const filterSensitiveLog = (obj: CreateSipMediaApplicationCallResponse): any => ({ +export namespace CreateMeetingWithAttendeesRequest { + export const filterSensitiveLog = (obj: CreateMeetingWithAttendeesRequest): any => ({ ...obj, + ...(obj.ClientRequestToken && { ClientRequestToken: SENSITIVE_STRING }), + ...(obj.ExternalMeetingId && { ExternalMeetingId: SENSITIVE_STRING }), + ...(obj.MeetingHostId && { MeetingHostId: SENSITIVE_STRING }), + ...(obj.Tags && { Tags: obj.Tags.map((item) => Tag.filterSensitiveLog(item)) }), + ...(obj.NotificationsConfiguration && { + NotificationsConfiguration: MeetingNotificationConfiguration.filterSensitiveLog(obj.NotificationsConfiguration), + }), + ...(obj.Attendees && { + Attendees: obj.Attendees.map((item) => CreateAttendeeRequestItem.filterSensitiveLog(item)), + }), }); } -/** - *

Target SIP media application along with other details like priority and AWS Region to be - * specified in the SIP rule. Only one SIP rule per AWS Region can be provided.

- */ -export interface SipRuleTargetApplication { +export interface CreateMeetingWithAttendeesResponse { /** - *

The SIP media application ID.

+ *

A meeting created using the Amazon Chime SDK.

*/ - SipMediaApplicationId?: string; + Meeting?: Meeting; /** - *

Priority of the SIP media application in the target list.

+ *

The attendee information, including attendees IDs and join tokens.

*/ - Priority?: number; + Attendees?: Attendee[]; /** - *

AWS Region of target application.

+ *

If the action fails for one or more of the attendees in the request, a list of the attendees is returned, along with error codes and error messages.

*/ - AwsRegion?: string; + Errors?: CreateAttendeeError[]; } -export namespace SipRuleTargetApplication { - export const filterSensitiveLog = (obj: SipRuleTargetApplication): any => ({ +export namespace CreateMeetingWithAttendeesResponse { + export const filterSensitiveLog = (obj: CreateMeetingWithAttendeesResponse): any => ({ ...obj, + ...(obj.Meeting && { Meeting: Meeting.filterSensitiveLog(obj.Meeting) }), + ...(obj.Attendees && { Attendees: obj.Attendees.map((item) => Attendee.filterSensitiveLog(item)) }), + ...(obj.Errors && { Errors: obj.Errors.map((item) => CreateAttendeeError.filterSensitiveLog(item)) }), }); } -export enum SipRuleTriggerType { - RequestUriHostname = "RequestUriHostname", - ToPhoneNumber = "ToPhoneNumber", -} - -export interface CreateSipRuleRequest { +export interface CreatePhoneNumberOrderRequest { /** - *

The name of the SIP rule.

+ *

The phone number product type.

*/ - Name: string | undefined; + ProductType: PhoneNumberProductType | string | undefined; /** - *

The type of trigger whose value is assigned to the SIP rule in - * TriggerValue. Allowed trigger values are RequestUriHostname and ToPhoneNumber.

+ *

List of phone numbers, in E.164 format.

*/ - TriggerType: SipRuleTriggerType | string | undefined; + E164PhoneNumbers: string[] | undefined; +} - /** - *

If TriggerType is RequestUriHostname then the value can be the - * outbound host name of an Amazon Chime Voice Connector. If TriggerType is - * ToPhoneNumber then the value can be a customer-owned phone number in E164 - * format. SipRule is triggered if the SIP application requests a host name, or a If - * TriggerType is RequestUriHostname, then the value can be the - * outbound hostname of an Amazon Chime Voice Connector. If TriggerType is - * ToPhoneNumber, then the value can be a customer-owned phone number in E164 - * format. SipRule is triggered if the SIP application requests a host name, or a - * ToPhoneNumber value matches the incoming SIP request.

- */ - TriggerValue: string | undefined; +export namespace CreatePhoneNumberOrderRequest { + export const filterSensitiveLog = (obj: CreatePhoneNumberOrderRequest): any => ({ + ...obj, + ...(obj.E164PhoneNumbers && { E164PhoneNumbers: SENSITIVE_STRING }), + }); +} +export enum OrderedPhoneNumberStatus { + Acquired = "Acquired", + Failed = "Failed", + Processing = "Processing", +} + +/** + *

A phone number for which an order has been placed.

+ */ +export interface OrderedPhoneNumber { /** - *

Enables or disables a rule. You must disable rules before you can delete them.

+ *

The phone number, in E.164 format.

*/ - Disabled?: boolean; + E164PhoneNumber?: string; /** - *

List of SIP media applications with priority and AWS Region. Only one SIP application - * per AWS Region can be used.

+ *

The phone number status.

*/ - TargetApplications: SipRuleTargetApplication[] | undefined; + Status?: OrderedPhoneNumberStatus | string; } -export namespace CreateSipRuleRequest { - export const filterSensitiveLog = (obj: CreateSipRuleRequest): any => ({ +export namespace OrderedPhoneNumber { + export const filterSensitiveLog = (obj: OrderedPhoneNumber): any => ({ ...obj, + ...(obj.E164PhoneNumber && { E164PhoneNumber: SENSITIVE_STRING }), }); } +export enum PhoneNumberOrderStatus { + Failed = "Failed", + Partial = "Partial", + Processing = "Processing", + Successful = "Successful", +} + /** - *

The SIP rule details, including name, triggers, and target applications. An AWS account - * can have multiple SIP rules.

+ *

The details of a phone number order created for Amazon Chime.

*/ -export interface SipRule { - /** - *

The SIP rule ID.

- */ - SipRuleId?: string; - - /** - *

The name of the SIP rule.

- */ - Name?: string; - +export interface PhoneNumberOrder { /** - *

Indicates if the SIP rule is enabled or disabled. You must disable a rule before you can - * delete it.

+ *

The phone number order ID.

*/ - Disabled?: boolean; + PhoneNumberOrderId?: string; /** - *

The type of trigger whose value is assigned to the SIP rule in - * TriggerValue.

+ *

The phone number order product type.

*/ - TriggerType?: SipRuleTriggerType | string; + ProductType?: PhoneNumberProductType | string; /** - *

If TriggerType is RequestUriHostname, then the value can be the - * outbound host name of the Amazon Chime Voice Connector. If TriggerType is - * ToPhoneNumber, then the value can be a customer-owned phone number in E164 - * format. SipRule is triggered when a SIP rule requests host name or - * ToPhoneNumber matches in the incoming SIP request.

+ *

The status of the phone number order.

*/ - TriggerValue?: string; + Status?: PhoneNumberOrderStatus | string; /** - *

List of SIP media applications with priority and AWS Region. You can only use one SIP - * application per AWS Region and priority combination.

+ *

The ordered phone number details, such as the phone number in E.164 format and the + * phone number status.

*/ - TargetApplications?: SipRuleTargetApplication[]; + OrderedPhoneNumbers?: OrderedPhoneNumber[]; /** - *

The SIP rule created timestamp, in ISO 8601 format.

+ *

The phone number order creation timestamp, in ISO 8601 format.

*/ CreatedTimestamp?: Date; /** - *

The SIP rule updated timestamp, in ISO 8601 format.

+ *

The updated phone number order timestamp, in ISO 8601 format.

*/ UpdatedTimestamp?: Date; } -export namespace SipRule { - export const filterSensitiveLog = (obj: SipRule): any => ({ +export namespace PhoneNumberOrder { + export const filterSensitiveLog = (obj: PhoneNumberOrder): any => ({ ...obj, + ...(obj.OrderedPhoneNumbers && { + OrderedPhoneNumbers: obj.OrderedPhoneNumbers.map((item) => OrderedPhoneNumber.filterSensitiveLog(item)), + }), }); } -export interface CreateSipRuleResponse { +export interface CreatePhoneNumberOrderResponse { /** - *

Returns the SIP rule information, including the rule ID, triggers, and target applications.

+ *

The phone number order details.

*/ - SipRule?: SipRule; + PhoneNumberOrder?: PhoneNumberOrder; } -export namespace CreateSipRuleResponse { - export const filterSensitiveLog = (obj: CreateSipRuleResponse): any => ({ +export namespace CreatePhoneNumberOrderResponse { + export const filterSensitiveLog = (obj: CreatePhoneNumberOrderResponse): any => ({ ...obj, + ...(obj.PhoneNumberOrder && { PhoneNumberOrder: PhoneNumberOrder.filterSensitiveLog(obj.PhoneNumberOrder) }), }); } -export interface CreateUserRequest { +export enum GeoMatchLevel { + AreaCode = "AreaCode", + Country = "Country", +} + +/** + *

The country and area code for a proxy phone number in a proxy phone session.

+ */ +export interface GeoMatchParams { /** - *

The Amazon Chime account ID.

+ *

The country.

*/ - AccountId: string | undefined; + Country: string | undefined; /** - *

The user name.

+ *

The area code.

*/ - Username?: string; + AreaCode: string | undefined; +} + +export namespace GeoMatchParams { + export const filterSensitiveLog = (obj: GeoMatchParams): any => ({ + ...obj, + }); +} + +export enum NumberSelectionBehavior { + AvoidSticky = "AvoidSticky", + PreferSticky = "PreferSticky", +} +export interface CreateProxySessionRequest { /** - *

The user's email address.

+ *

The Amazon Chime voice connector ID.

*/ - Email?: string; + VoiceConnectorId: string | undefined; /** - *

The user type.

+ *

The participant phone numbers.

*/ - UserType?: UserType | string; + ParticipantPhoneNumbers: string[] | undefined; + + /** + *

The name of the proxy session.

+ */ + Name?: string; + + /** + *

The number of minutes allowed for the proxy session.

+ */ + ExpiryMinutes?: number; + + /** + *

The proxy session capabilities.

+ */ + Capabilities: (Capability | string)[] | undefined; + + /** + *

The preference for proxy phone number reuse, or stickiness, between the same participants across sessions.

+ */ + NumberSelectionBehavior?: NumberSelectionBehavior | string; + + /** + *

The preference for matching the country or area code of the proxy phone number with that of the first participant.

+ */ + GeoMatchLevel?: GeoMatchLevel | string; + + /** + *

The country and area code for the proxy phone number.

+ */ + GeoMatchParams?: GeoMatchParams; } -export namespace CreateUserRequest { - export const filterSensitiveLog = (obj: CreateUserRequest): any => ({ +export namespace CreateProxySessionRequest { + export const filterSensitiveLog = (obj: CreateProxySessionRequest): any => ({ ...obj, - ...(obj.Email && { Email: SENSITIVE_STRING }), + ...(obj.ParticipantPhoneNumbers && { ParticipantPhoneNumbers: SENSITIVE_STRING }), + ...(obj.Name && { Name: SENSITIVE_STRING }), }); } -export enum InviteStatus { - Accepted = "Accepted", - Failed = "Failed", - Pending = "Pending", +/** + *

The phone number and proxy phone number for a participant in an Amazon Chime Voice Connector proxy session.

+ */ +export interface Participant { + /** + *

The participant's phone number.

+ */ + PhoneNumber?: string; + + /** + *

The participant's proxy phone number.

+ */ + ProxyPhoneNumber?: string; } -export enum RegistrationStatus { - Registered = "Registered", - Suspended = "Suspended", - Unregistered = "Unregistered", +export namespace Participant { + export const filterSensitiveLog = (obj: Participant): any => ({ + ...obj, + ...(obj.PhoneNumber && { PhoneNumber: SENSITIVE_STRING }), + ...(obj.ProxyPhoneNumber && { ProxyPhoneNumber: SENSITIVE_STRING }), + }); +} + +export enum ProxySessionStatus { + Closed = "Closed", + InProgress = "InProgress", + Open = "Open", } /** - *

The user on the Amazon Chime account.

+ *

The proxy session for an Amazon Chime Voice Connector.

*/ -export interface User { +export interface ProxySession { /** - *

The user ID.

+ *

The Amazon Chime voice connector ID.

*/ - UserId: string | undefined; + VoiceConnectorId?: string; /** - *

The Amazon Chime account ID.

+ *

The proxy session ID.

*/ - AccountId?: string; + ProxySessionId?: string; /** - *

The primary email address of the user.

+ *

The name of the proxy session.

*/ - PrimaryEmail?: string; + Name?: string; /** - *

The primary phone number associated with the user.

+ *

The status of the proxy session.

*/ - PrimaryProvisionedNumber?: string; + Status?: ProxySessionStatus | string; /** - *

The display name of the user.

+ *

The number of minutes allowed for the proxy session.

*/ - DisplayName?: string; + ExpiryMinutes?: number; /** - *

The license type for the user.

+ *

The proxy session capabilities.

*/ - LicenseType?: License | string; + Capabilities?: (Capability | string)[]; /** - *

The user type.

+ *

The created timestamp, in ISO 8601 format.

*/ - UserType?: UserType | string; + CreatedTimestamp?: Date; /** - *

The user registration status.

+ *

The updated timestamp, in ISO 8601 format.

*/ - UserRegistrationStatus?: RegistrationStatus | string; + UpdatedTimestamp?: Date; /** - *

The user invite status.

+ *

The ended timestamp, in ISO 8601 format.

*/ - UserInvitationStatus?: InviteStatus | string; + EndedTimestamp?: Date; /** - *

Date and time when the user is registered, in ISO 8601 format.

+ *

The proxy session participants.

*/ - RegisteredOn?: Date; + Participants?: Participant[]; /** - *

Date and time when the user is invited to the Amazon Chime account, in ISO 8601 - * format.

+ *

The preference for proxy phone number reuse, or stickiness, between the same participants across sessions.

*/ - InvitedOn?: Date; + NumberSelectionBehavior?: NumberSelectionBehavior | string; /** - *

The Alexa for Business metadata.

+ *

The preference for matching the country or area code of the proxy phone number with that of the first participant.

*/ - AlexaForBusinessMetadata?: AlexaForBusinessMetadata; + GeoMatchLevel?: GeoMatchLevel | string; /** - *

The user's personal meeting PIN.

+ *

The country and area code for the proxy phone number.

*/ - PersonalPIN?: string; + GeoMatchParams?: GeoMatchParams; } -export namespace User { - export const filterSensitiveLog = (obj: User): any => ({ +export namespace ProxySession { + export const filterSensitiveLog = (obj: ProxySession): any => ({ ...obj, - ...(obj.PrimaryEmail && { PrimaryEmail: SENSITIVE_STRING }), - ...(obj.PrimaryProvisionedNumber && { PrimaryProvisionedNumber: SENSITIVE_STRING }), - ...(obj.DisplayName && { DisplayName: SENSITIVE_STRING }), - ...(obj.AlexaForBusinessMetadata && { - AlexaForBusinessMetadata: AlexaForBusinessMetadata.filterSensitiveLog(obj.AlexaForBusinessMetadata), - }), + ...(obj.Participants && { Participants: obj.Participants.map((item) => Participant.filterSensitiveLog(item)) }), }); } -export interface CreateUserResponse { +export interface CreateProxySessionResponse { /** - *

The user on the Amazon Chime account.

+ *

The proxy session details.

*/ - User?: User; + ProxySession?: ProxySession; } -export namespace CreateUserResponse { - export const filterSensitiveLog = (obj: CreateUserResponse): any => ({ +export namespace CreateProxySessionResponse { + export const filterSensitiveLog = (obj: CreateProxySessionResponse): any => ({ ...obj, - ...(obj.User && { User: User.filterSensitiveLog(obj.User) }), }); } -export enum VoiceConnectorAwsRegion { - US_EAST_1 = "us-east-1", - US_WEST_2 = "us-west-2", -} - -export interface CreateVoiceConnectorRequest { +export interface CreateRoomRequest { /** - *

The name of the Amazon Chime Voice Connector.

+ *

The Amazon Chime account ID.

*/ - Name: string | undefined; + AccountId: string | undefined; /** - *

The AWS Region in which the Amazon Chime Voice Connector is created. Default value: us-east-1.

+ *

The room name.

*/ - AwsRegion?: VoiceConnectorAwsRegion | string; + Name: string | undefined; /** - *

When enabled, requires encryption for the Amazon Chime Voice Connector.

+ *

The idempotency token for the request.

*/ - RequireEncryption: boolean | undefined; + ClientRequestToken?: string; } -export namespace CreateVoiceConnectorRequest { - export const filterSensitiveLog = (obj: CreateVoiceConnectorRequest): any => ({ +export namespace CreateRoomRequest { + export const filterSensitiveLog = (obj: CreateRoomRequest): any => ({ ...obj, + ...(obj.Name && { Name: SENSITIVE_STRING }), + ...(obj.ClientRequestToken && { ClientRequestToken: SENSITIVE_STRING }), }); } /** - *

The Amazon Chime Voice Connector configuration, including outbound host name and - * encryption settings.

+ *

The Amazon Chime chat room details.

*/ -export interface VoiceConnector { - /** - *

The Amazon Chime Voice Connector ID.

- */ - VoiceConnectorId?: string; - +export interface Room { /** - *

The AWS Region in which the Amazon Chime Voice Connector is created. Default: us-east-1.

+ *

The room ID.

*/ - AwsRegion?: VoiceConnectorAwsRegion | string; + RoomId?: string; /** - *

The name of the Amazon Chime Voice Connector.

+ *

The room name.

*/ Name?: string; /** - *

The outbound host name for the Amazon Chime Voice Connector.

+ *

The Amazon Chime account ID.

*/ - OutboundHostName?: string; + AccountId?: string; /** - *

Designates whether encryption is required for the Amazon Chime Voice Connector.

+ *

The identifier of the room creator.

*/ - RequireEncryption?: boolean; + CreatedBy?: string; /** - *

The Amazon Chime Voice Connector creation timestamp, in ISO 8601 format.

+ *

The room creation timestamp, in ISO 8601 format.

*/ CreatedTimestamp?: Date; /** - *

The updated Amazon Chime Voice Connector timestamp, in ISO 8601 format.

+ *

The room update timestamp, in ISO 8601 format.

*/ UpdatedTimestamp?: Date; } -export namespace VoiceConnector { - export const filterSensitiveLog = (obj: VoiceConnector): any => ({ +export namespace Room { + export const filterSensitiveLog = (obj: Room): any => ({ ...obj, + ...(obj.Name && { Name: SENSITIVE_STRING }), }); } -export interface CreateVoiceConnectorResponse { +export interface CreateRoomResponse { /** - *

The Amazon Chime Voice Connector details.

+ *

The room details.

*/ - VoiceConnector?: VoiceConnector; + Room?: Room; } -export namespace CreateVoiceConnectorResponse { - export const filterSensitiveLog = (obj: CreateVoiceConnectorResponse): any => ({ +export namespace CreateRoomResponse { + export const filterSensitiveLog = (obj: CreateRoomResponse): any => ({ ...obj, + ...(obj.Room && { Room: Room.filterSensitiveLog(obj.Room) }), }); } -/** - *

For Amazon Chime Voice Connector groups, the Amazon Chime Voice Connectors to which to route inbound calls. Includes priority configuration settings. Limit: 3 VoiceConnectorItems per Amazon Chime Voice Connector group.

- */ -export interface VoiceConnectorItem { +export interface CreateRoomMembershipRequest { /** - *

The Amazon Chime Voice Connector ID.

+ *

The Amazon Chime account ID.

*/ - VoiceConnectorId: string | undefined; + AccountId: string | undefined; /** - *

The priority associated with the Amazon Chime Voice Connector, with 1 being the highest priority. Higher priority Amazon Chime Voice Connectors are attempted first.

+ *

The room ID.

*/ - Priority: number | undefined; -} - -export namespace VoiceConnectorItem { - export const filterSensitiveLog = (obj: VoiceConnectorItem): any => ({ - ...obj, - }); -} + RoomId: string | undefined; -export interface CreateVoiceConnectorGroupRequest { /** - *

The name of the Amazon Chime Voice Connector group.

+ *

The Amazon Chime member ID (user ID or bot ID).

*/ - Name: string | undefined; + MemberId: string | undefined; /** - *

The Amazon Chime Voice Connectors to route inbound calls to.

+ *

The role of the member.

*/ - VoiceConnectorItems?: VoiceConnectorItem[]; + Role?: RoomMembershipRole | string; } -export namespace CreateVoiceConnectorGroupRequest { - export const filterSensitiveLog = (obj: CreateVoiceConnectorGroupRequest): any => ({ +export namespace CreateRoomMembershipRequest { + export const filterSensitiveLog = (obj: CreateRoomMembershipRequest): any => ({ ...obj, }); } +export enum MemberType { + Bot = "Bot", + User = "User", + Webhook = "Webhook", +} + /** - *

The Amazon Chime Voice Connector group configuration, including associated Amazon Chime - * Voice Connectors. You can include Amazon Chime Voice Connectors from different AWS Regions in - * your group. This creates a fault tolerant mechanism for fallback in case of availability - * events.

+ *

The member details, such as email address, name, member ID, and member type.

*/ -export interface VoiceConnectorGroup { +export interface Member { /** - *

The Amazon Chime Voice Connector group ID.

+ *

The member ID (user ID or bot ID).

*/ - VoiceConnectorGroupId?: string; + MemberId?: string; /** - *

The name of the Amazon Chime Voice Connector group.

+ *

The member type.

*/ - Name?: string; + MemberType?: MemberType | string; /** - *

The Amazon Chime Voice Connectors to which to route inbound calls.

+ *

The member email address.

*/ - VoiceConnectorItems?: VoiceConnectorItem[]; + Email?: string; /** - *

The Amazon Chime Voice Connector group creation timestamp, in ISO 8601 format.

+ *

The member name.

*/ - CreatedTimestamp?: Date; + FullName?: string; /** - *

The updated Amazon Chime Voice Connector group timestamp, in ISO 8601 format.

+ *

The Amazon Chime account ID.

*/ - UpdatedTimestamp?: Date; + AccountId?: string; } -export namespace VoiceConnectorGroup { - export const filterSensitiveLog = (obj: VoiceConnectorGroup): any => ({ +export namespace Member { + export const filterSensitiveLog = (obj: Member): any => ({ ...obj, + ...(obj.Email && { Email: SENSITIVE_STRING }), + ...(obj.FullName && { FullName: SENSITIVE_STRING }), }); } -export interface CreateVoiceConnectorGroupResponse { +/** + *

The room membership details.

+ */ +export interface RoomMembership { /** - *

The Amazon Chime Voice Connector group details.

+ *

The room ID.

*/ - VoiceConnectorGroup?: VoiceConnectorGroup; -} - -export namespace CreateVoiceConnectorGroupResponse { - export const filterSensitiveLog = (obj: CreateVoiceConnectorGroupResponse): any => ({ - ...obj, - }); -} + RoomId?: string; -/** - *

The SIP credentials used to authenticate requests to your Amazon Chime Voice Connector.

- */ -export interface Credential { /** - *

The RFC2617 compliant user name associated with the SIP credentials, in US-ASCII - * format.

+ *

The member details, such as email address, name, member ID, and member type.

*/ - Username?: string; + Member?: Member; /** - *

The RFC2617 compliant password associated with the SIP credentials, in US-ASCII format.

+ *

The membership role.

*/ - Password?: string; -} + Role?: RoomMembershipRole | string; -export namespace Credential { - export const filterSensitiveLog = (obj: Credential): any => ({ - ...obj, - ...(obj.Username && { Username: SENSITIVE_STRING }), - ...(obj.Password && { Password: SENSITIVE_STRING }), - }); -} + /** + *

The identifier of the user that invited the room member.

+ */ + InvitedBy?: string; -export interface DeleteAccountRequest { /** - *

The Amazon Chime account ID.

+ *

The room membership update timestamp, in ISO 8601 format.

*/ - AccountId: string | undefined; + UpdatedTimestamp?: Date; } -export namespace DeleteAccountRequest { - export const filterSensitiveLog = (obj: DeleteAccountRequest): any => ({ +export namespace RoomMembership { + export const filterSensitiveLog = (obj: RoomMembership): any => ({ ...obj, + ...(obj.Member && { Member: Member.filterSensitiveLog(obj.Member) }), }); } -export interface DeleteAccountResponse {} +export interface CreateRoomMembershipResponse { + /** + *

The room membership details.

+ */ + RoomMembership?: RoomMembership; +} -export namespace DeleteAccountResponse { - export const filterSensitiveLog = (obj: DeleteAccountResponse): any => ({ +export namespace CreateRoomMembershipResponse { + export const filterSensitiveLog = (obj: CreateRoomMembershipResponse): any => ({ ...obj, + ...(obj.RoomMembership && { RoomMembership: RoomMembership.filterSensitiveLog(obj.RoomMembership) }), }); } /** - *

The request was well-formed but was unable to be followed due to semantic errors.

+ *

Endpoints to specify as part of a SIP media application.

*/ -export interface UnprocessableEntityException extends __SmithyException, $MetadataBearer { - name: "UnprocessableEntityException"; - $fault: "client"; - Code?: ErrorCode | string; - Message?: string; +export interface SipMediaApplicationEndpoint { + /** + *

Valid Amazon Resource Name (ARN) of the Lambda function of the same AWS Region where the + * SIP media application is created.

+ */ + LambdaArn?: string; } -export namespace UnprocessableEntityException { - export const filterSensitiveLog = (obj: UnprocessableEntityException): any => ({ +export namespace SipMediaApplicationEndpoint { + export const filterSensitiveLog = (obj: SipMediaApplicationEndpoint): any => ({ ...obj, + ...(obj.LambdaArn && { LambdaArn: SENSITIVE_STRING }), }); } -export interface DeleteAttendeeRequest { +export interface CreateSipMediaApplicationRequest { /** - *

The Amazon Chime SDK meeting ID.

+ *

AWS Region assigned to the SIP media application.

*/ - MeetingId: string | undefined; + AwsRegion: string | undefined; /** - *

The Amazon Chime SDK attendee ID.

+ *

The SIP media application name.

*/ - AttendeeId: string | undefined; + Name?: string; + + /** + *

List of endpoints (Lambda Amazon Resource Names) specified for the SIP media + * application. Currently, only one endpoint is supported.

+ */ + Endpoints: SipMediaApplicationEndpoint[] | undefined; } -export namespace DeleteAttendeeRequest { - export const filterSensitiveLog = (obj: DeleteAttendeeRequest): any => ({ +export namespace CreateSipMediaApplicationRequest { + export const filterSensitiveLog = (obj: CreateSipMediaApplicationRequest): any => ({ ...obj, + ...(obj.Endpoints && { + Endpoints: obj.Endpoints.map((item) => SipMediaApplicationEndpoint.filterSensitiveLog(item)), + }), }); } -export interface DeleteEventsConfigurationRequest { +/** + *

The SIP media application details, including name and endpoints. An AWS account can have multiple SIP media applications.

+ */ +export interface SipMediaApplication { /** - *

The Amazon Chime account ID.

+ *

The SIP media application ID.

*/ - AccountId: string | undefined; + SipMediaApplicationId?: string; /** - *

The bot ID.

+ *

The AWS Region in which the SIP media application is created.

*/ - BotId: string | undefined; -} - -export namespace DeleteEventsConfigurationRequest { - export const filterSensitiveLog = (obj: DeleteEventsConfigurationRequest): any => ({ - ...obj, - }); -} + AwsRegion?: string; -export interface DeleteMeetingRequest { /** - *

The Amazon Chime SDK meeting ID.

+ *

The name of the SIP media application.

*/ - MeetingId: string | undefined; -} - -export namespace DeleteMeetingRequest { - export const filterSensitiveLog = (obj: DeleteMeetingRequest): any => ({ - ...obj, - }); -} + Name?: string; -export interface DeletePhoneNumberRequest { /** - *

The phone number ID.

+ *

List of endpoints for SIP media application. Currently, only one endpoint per SIP media + * application is permitted.

*/ - PhoneNumberId: string | undefined; -} - -export namespace DeletePhoneNumberRequest { - export const filterSensitiveLog = (obj: DeletePhoneNumberRequest): any => ({ - ...obj, - }); -} + Endpoints?: SipMediaApplicationEndpoint[]; -export interface DeleteProxySessionRequest { /** - *

The Amazon Chime voice connector ID.

+ *

The SIP media application creation timestamp, in ISO 8601 format.

*/ - VoiceConnectorId: string | undefined; + CreatedTimestamp?: Date; /** - *

The proxy session ID.

+ *

The SIP media application updated timestamp, in ISO 8601 format.

*/ - ProxySessionId: string | undefined; + UpdatedTimestamp?: Date; } -export namespace DeleteProxySessionRequest { - export const filterSensitiveLog = (obj: DeleteProxySessionRequest): any => ({ +export namespace SipMediaApplication { + export const filterSensitiveLog = (obj: SipMediaApplication): any => ({ ...obj, + ...(obj.Endpoints && { + Endpoints: obj.Endpoints.map((item) => SipMediaApplicationEndpoint.filterSensitiveLog(item)), + }), }); } -export interface DeleteRoomRequest { - /** - *

The Amazon Chime account ID.

- */ - AccountId: string | undefined; - +export interface CreateSipMediaApplicationResponse { /** - *

The chat room ID.

+ *

The Sip media application details.

*/ - RoomId: string | undefined; + SipMediaApplication?: SipMediaApplication; } -export namespace DeleteRoomRequest { - export const filterSensitiveLog = (obj: DeleteRoomRequest): any => ({ +export namespace CreateSipMediaApplicationResponse { + export const filterSensitiveLog = (obj: CreateSipMediaApplicationResponse): any => ({ ...obj, + ...(obj.SipMediaApplication && { + SipMediaApplication: SipMediaApplication.filterSensitiveLog(obj.SipMediaApplication), + }), }); } -export interface DeleteRoomMembershipRequest { +export interface CreateSipMediaApplicationCallRequest { /** - *

The Amazon Chime account ID.

+ *

The phone number that a user calls from.

*/ - AccountId: string | undefined; + FromPhoneNumber?: string; /** - *

The room ID.

+ *

The phone number that the user dials in order to connect to a meeting

*/ - RoomId: string | undefined; + ToPhoneNumber?: string; /** - *

The member ID (user ID or bot ID).

+ *

The ID of the SIP media application.

*/ - MemberId: string | undefined; -} - -export namespace DeleteRoomMembershipRequest { - export const filterSensitiveLog = (obj: DeleteRoomMembershipRequest): any => ({ - ...obj, - }); -} - -export interface DeleteSipMediaApplicationRequest { - /** - *

The SIP media application ID.

- */ - SipMediaApplicationId: string | undefined; -} - -export namespace DeleteSipMediaApplicationRequest { - export const filterSensitiveLog = (obj: DeleteSipMediaApplicationRequest): any => ({ - ...obj, - }); -} - -export interface DeleteSipRuleRequest { - /** - *

The SIP rule ID.

- */ - SipRuleId: string | undefined; -} - -export namespace DeleteSipRuleRequest { - export const filterSensitiveLog = (obj: DeleteSipRuleRequest): any => ({ - ...obj, - }); -} - -export interface DeleteVoiceConnectorRequest { - /** - *

The Amazon Chime Voice Connector ID.

- */ - VoiceConnectorId: string | undefined; -} - -export namespace DeleteVoiceConnectorRequest { - export const filterSensitiveLog = (obj: DeleteVoiceConnectorRequest): any => ({ - ...obj, - }); -} - -export interface DeleteVoiceConnectorEmergencyCallingConfigurationRequest { - /** - *

The Amazon Chime Voice Connector ID.

- */ - VoiceConnectorId: string | undefined; -} - -export namespace DeleteVoiceConnectorEmergencyCallingConfigurationRequest { - export const filterSensitiveLog = (obj: DeleteVoiceConnectorEmergencyCallingConfigurationRequest): any => ({ - ...obj, - }); -} - -export interface DeleteVoiceConnectorGroupRequest { - /** - *

The Amazon Chime Voice Connector group ID.

- */ - VoiceConnectorGroupId: string | undefined; -} - -export namespace DeleteVoiceConnectorGroupRequest { - export const filterSensitiveLog = (obj: DeleteVoiceConnectorGroupRequest): any => ({ - ...obj, - }); -} - -export interface DeleteVoiceConnectorOriginationRequest { - /** - *

The Amazon Chime Voice Connector ID.

- */ - VoiceConnectorId: string | undefined; -} - -export namespace DeleteVoiceConnectorOriginationRequest { - export const filterSensitiveLog = (obj: DeleteVoiceConnectorOriginationRequest): any => ({ - ...obj, - }); -} - -export interface DeleteVoiceConnectorProxyRequest { - /** - *

The Amazon Chime Voice Connector ID.

- */ - VoiceConnectorId: string | undefined; -} - -export namespace DeleteVoiceConnectorProxyRequest { - export const filterSensitiveLog = (obj: DeleteVoiceConnectorProxyRequest): any => ({ - ...obj, - }); -} - -export interface DeleteVoiceConnectorStreamingConfigurationRequest { - /** - *

The Amazon Chime Voice Connector ID.

- */ - VoiceConnectorId: string | undefined; -} - -export namespace DeleteVoiceConnectorStreamingConfigurationRequest { - export const filterSensitiveLog = (obj: DeleteVoiceConnectorStreamingConfigurationRequest): any => ({ - ...obj, - }); -} - -export interface DeleteVoiceConnectorTerminationRequest { - /** - *

The Amazon Chime Voice Connector ID.

- */ - VoiceConnectorId: string | undefined; -} - -export namespace DeleteVoiceConnectorTerminationRequest { - export const filterSensitiveLog = (obj: DeleteVoiceConnectorTerminationRequest): any => ({ - ...obj, - }); -} - -export interface DeleteVoiceConnectorTerminationCredentialsRequest { - /** - *

The Amazon Chime Voice Connector ID.

- */ - VoiceConnectorId: string | undefined; - - /** - *

The RFC2617 compliant username associated with the SIP credentials, in US-ASCII format.

- */ - Usernames: string[] | undefined; -} - -export namespace DeleteVoiceConnectorTerminationCredentialsRequest { - export const filterSensitiveLog = (obj: DeleteVoiceConnectorTerminationCredentialsRequest): any => ({ - ...obj, - ...(obj.Usernames && { Usernames: SENSITIVE_STRING }), - }); -} - -export interface DisassociatePhoneNumberFromUserRequest { - /** - *

The Amazon Chime account ID.

- */ - AccountId: string | undefined; - - /** - *

The user ID.

- */ - UserId: string | undefined; -} - -export namespace DisassociatePhoneNumberFromUserRequest { - export const filterSensitiveLog = (obj: DisassociatePhoneNumberFromUserRequest): any => ({ - ...obj, - }); -} - -export interface DisassociatePhoneNumberFromUserResponse {} - -export namespace DisassociatePhoneNumberFromUserResponse { - export const filterSensitiveLog = (obj: DisassociatePhoneNumberFromUserResponse): any => ({ - ...obj, - }); -} - -export interface DisassociatePhoneNumbersFromVoiceConnectorRequest { - /** - *

The Amazon Chime Voice Connector ID.

- */ - VoiceConnectorId: string | undefined; - - /** - *

List of phone numbers, in E.164 format.

- */ - E164PhoneNumbers: string[] | undefined; -} - -export namespace DisassociatePhoneNumbersFromVoiceConnectorRequest { - export const filterSensitiveLog = (obj: DisassociatePhoneNumbersFromVoiceConnectorRequest): any => ({ - ...obj, - ...(obj.E164PhoneNumbers && { E164PhoneNumbers: SENSITIVE_STRING }), - }); -} - -export interface DisassociatePhoneNumbersFromVoiceConnectorResponse { - /** - *

If the action fails for one or more of the phone numbers in the request, a list of the phone numbers is returned, along with error codes and error messages.

- */ - PhoneNumberErrors?: PhoneNumberError[]; -} - -export namespace DisassociatePhoneNumbersFromVoiceConnectorResponse { - export const filterSensitiveLog = (obj: DisassociatePhoneNumbersFromVoiceConnectorResponse): any => ({ - ...obj, - }); -} - -export interface DisassociatePhoneNumbersFromVoiceConnectorGroupRequest { - /** - *

The Amazon Chime Voice Connector group ID.

- */ - VoiceConnectorGroupId: string | undefined; - - /** - *

List of phone numbers, in E.164 format.

- */ - E164PhoneNumbers: string[] | undefined; -} - -export namespace DisassociatePhoneNumbersFromVoiceConnectorGroupRequest { - export const filterSensitiveLog = (obj: DisassociatePhoneNumbersFromVoiceConnectorGroupRequest): any => ({ - ...obj, - ...(obj.E164PhoneNumbers && { E164PhoneNumbers: SENSITIVE_STRING }), - }); -} - -export interface DisassociatePhoneNumbersFromVoiceConnectorGroupResponse { - /** - *

If the action fails for one or more of the phone numbers in the request, a list of the phone numbers is returned, along with error codes and error messages.

- */ - PhoneNumberErrors?: PhoneNumberError[]; -} - -export namespace DisassociatePhoneNumbersFromVoiceConnectorGroupResponse { - export const filterSensitiveLog = (obj: DisassociatePhoneNumbersFromVoiceConnectorGroupResponse): any => ({ - ...obj, - }); -} - -export interface DisassociateSigninDelegateGroupsFromAccountRequest { - /** - *

The Amazon Chime account ID.

- */ - AccountId: string | undefined; - - /** - *

The sign-in delegate group names.

- */ - GroupNames: string[] | undefined; -} - -export namespace DisassociateSigninDelegateGroupsFromAccountRequest { - export const filterSensitiveLog = (obj: DisassociateSigninDelegateGroupsFromAccountRequest): any => ({ - ...obj, - }); -} - -export interface DisassociateSigninDelegateGroupsFromAccountResponse {} - -export namespace DisassociateSigninDelegateGroupsFromAccountResponse { - export const filterSensitiveLog = (obj: DisassociateSigninDelegateGroupsFromAccountResponse): any => ({ - ...obj, - }); -} - -/** - *

The Dialed Number Identification Service (DNIS) emergency calling configuration details associated with an Amazon Chime Voice Connector's emergency calling configuration.

- */ -export interface DNISEmergencyCallingConfiguration { - /** - *

The DNIS phone number to route emergency calls to, in E.164 format.

- */ - EmergencyPhoneNumber: string | undefined; - - /** - *

The DNIS phone number to route test emergency calls to, in E.164 format.

- */ - TestPhoneNumber?: string; - - /** - *

The country from which emergency calls are allowed, in ISO 3166-1 alpha-2 format.

- */ - CallingCountry: string | undefined; -} - -export namespace DNISEmergencyCallingConfiguration { - export const filterSensitiveLog = (obj: DNISEmergencyCallingConfiguration): any => ({ - ...obj, - ...(obj.EmergencyPhoneNumber && { EmergencyPhoneNumber: SENSITIVE_STRING }), - ...(obj.TestPhoneNumber && { TestPhoneNumber: SENSITIVE_STRING }), - }); -} - -export enum EmailStatus { - Failed = "Failed", - NotSent = "NotSent", - Sent = "Sent", -} - -/** - *

The emergency calling configuration details associated with an Amazon Chime Voice Connector.

- */ -export interface EmergencyCallingConfiguration { - /** - *

The Dialed Number Identification Service (DNIS) emergency calling configuration details.

- */ - DNIS?: DNISEmergencyCallingConfiguration[]; -} - -export namespace EmergencyCallingConfiguration { - export const filterSensitiveLog = (obj: EmergencyCallingConfiguration): any => ({ - ...obj, - ...(obj.DNIS && { DNIS: obj.DNIS.map((item) => DNISEmergencyCallingConfiguration.filterSensitiveLog(item)) }), - }); -} - -/** - *

The configuration that allows a bot to receive outgoing events. Can be either an HTTPS endpoint or a Lambda function ARN.

- */ -export interface EventsConfiguration { - /** - *

The bot ID.

- */ - BotId?: string; - - /** - *

HTTPS endpoint that allows a bot to receive outgoing events.

- */ - OutboundEventsHTTPSEndpoint?: string; - - /** - *

Lambda function ARN that allows a bot to receive outgoing events.

- */ - LambdaFunctionArn?: string; -} - -export namespace EventsConfiguration { - export const filterSensitiveLog = (obj: EventsConfiguration): any => ({ - ...obj, - ...(obj.OutboundEventsHTTPSEndpoint && { OutboundEventsHTTPSEndpoint: SENSITIVE_STRING }), - ...(obj.LambdaFunctionArn && { LambdaFunctionArn: SENSITIVE_STRING }), - }); -} - -export interface GetAccountRequest { - /** - *

The Amazon Chime account ID.

- */ - AccountId: string | undefined; + SipMediaApplicationId: string | undefined; } -export namespace GetAccountRequest { - export const filterSensitiveLog = (obj: GetAccountRequest): any => ({ +export namespace CreateSipMediaApplicationCallRequest { + export const filterSensitiveLog = (obj: CreateSipMediaApplicationCallRequest): any => ({ ...obj, + ...(obj.FromPhoneNumber && { FromPhoneNumber: SENSITIVE_STRING }), + ...(obj.ToPhoneNumber && { ToPhoneNumber: SENSITIVE_STRING }), }); } -export interface GetAccountResponse { +/** + *

A Call instance for a SIP media application.

+ */ +export interface SipMediaApplicationCall { /** - *

The Amazon Chime account details. An AWS account can have multiple Amazon Chime accounts.

+ *

The transaction ID of a call.

*/ - Account?: Account; + TransactionId?: string; } -export namespace GetAccountResponse { - export const filterSensitiveLog = (obj: GetAccountResponse): any => ({ +export namespace SipMediaApplicationCall { + export const filterSensitiveLog = (obj: SipMediaApplicationCall): any => ({ ...obj, }); } -export interface GetAccountSettingsRequest { +export interface CreateSipMediaApplicationCallResponse { /** - *

The Amazon Chime account ID.

+ *

The actual call.

*/ - AccountId: string | undefined; + SipMediaApplicationCall?: SipMediaApplicationCall; } -export namespace GetAccountSettingsRequest { - export const filterSensitiveLog = (obj: GetAccountSettingsRequest): any => ({ +export namespace CreateSipMediaApplicationCallResponse { + export const filterSensitiveLog = (obj: CreateSipMediaApplicationCallResponse): any => ({ ...obj, }); } -export interface GetAccountSettingsResponse { +/** + *

Target SIP media application along with other details like priority and AWS Region to be + * specified in the SIP rule. Only one SIP rule per AWS Region can be provided.

+ */ +export interface SipRuleTargetApplication { /** - *

The Amazon Chime account settings.

+ *

The SIP media application ID.

*/ - AccountSettings?: AccountSettings; -} - -export namespace GetAccountSettingsResponse { - export const filterSensitiveLog = (obj: GetAccountSettingsResponse): any => ({ - ...obj, - }); -} + SipMediaApplicationId?: string; -export interface GetAttendeeRequest { /** - *

The Amazon Chime SDK meeting ID.

+ *

Priority of the SIP media application in the target list.

*/ - MeetingId: string | undefined; + Priority?: number; /** - *

The Amazon Chime SDK attendee ID.

+ *

AWS Region of target application.

*/ - AttendeeId: string | undefined; + AwsRegion?: string; } -export namespace GetAttendeeRequest { - export const filterSensitiveLog = (obj: GetAttendeeRequest): any => ({ +export namespace SipRuleTargetApplication { + export const filterSensitiveLog = (obj: SipRuleTargetApplication): any => ({ ...obj, }); } -export interface GetAttendeeResponse { - /** - *

The Amazon Chime SDK attendee information.

- */ - Attendee?: Attendee; -} - -export namespace GetAttendeeResponse { - export const filterSensitiveLog = (obj: GetAttendeeResponse): any => ({ - ...obj, - ...(obj.Attendee && { Attendee: Attendee.filterSensitiveLog(obj.Attendee) }), - }); +export enum SipRuleTriggerType { + RequestUriHostname = "RequestUriHostname", + ToPhoneNumber = "ToPhoneNumber", } -export interface GetBotRequest { - /** - *

The Amazon Chime account ID.

- */ - AccountId: string | undefined; - +export interface CreateSipRuleRequest { /** - *

The bot ID.

+ *

The name of the SIP rule.

*/ - BotId: string | undefined; -} - -export namespace GetBotRequest { - export const filterSensitiveLog = (obj: GetBotRequest): any => ({ - ...obj, - }); -} + Name: string | undefined; -export interface GetBotResponse { /** - *

The chat bot details.

+ *

The type of trigger whose value is assigned to the SIP rule in + * TriggerValue. Allowed trigger values are RequestUriHostname and ToPhoneNumber.

*/ - Bot?: Bot; -} - -export namespace GetBotResponse { - export const filterSensitiveLog = (obj: GetBotResponse): any => ({ - ...obj, - ...(obj.Bot && { Bot: Bot.filterSensitiveLog(obj.Bot) }), - }); -} + TriggerType: SipRuleTriggerType | string | undefined; -export interface GetEventsConfigurationRequest { /** - *

The Amazon Chime account ID.

+ *

If TriggerType is RequestUriHostname then the value can be the + * outbound host name of an Amazon Chime Voice Connector. If TriggerType is + * ToPhoneNumber then the value can be a customer-owned phone number in E164 + * format. SipRule is triggered if the SIP application requests a host name, or a If + * TriggerType is RequestUriHostname, then the value can be the + * outbound hostname of an Amazon Chime Voice Connector. If TriggerType is + * ToPhoneNumber, then the value can be a customer-owned phone number in E164 + * format. SipRule is triggered if the SIP application requests a host name, or a + * ToPhoneNumber value matches the incoming SIP request.

*/ - AccountId: string | undefined; + TriggerValue: string | undefined; /** - *

The bot ID.

+ *

Enables or disables a rule. You must disable rules before you can delete them.

*/ - BotId: string | undefined; -} - -export namespace GetEventsConfigurationRequest { - export const filterSensitiveLog = (obj: GetEventsConfigurationRequest): any => ({ - ...obj, - }); -} + Disabled?: boolean; -export interface GetEventsConfigurationResponse { /** - *

The events configuration details.

+ *

List of SIP media applications with priority and AWS Region. Only one SIP application + * per AWS Region can be used.

*/ - EventsConfiguration?: EventsConfiguration; + TargetApplications: SipRuleTargetApplication[] | undefined; } -export namespace GetEventsConfigurationResponse { - export const filterSensitiveLog = (obj: GetEventsConfigurationResponse): any => ({ +export namespace CreateSipRuleRequest { + export const filterSensitiveLog = (obj: CreateSipRuleRequest): any => ({ ...obj, - ...(obj.EventsConfiguration && { - EventsConfiguration: EventsConfiguration.filterSensitiveLog(obj.EventsConfiguration), - }), }); } /** - *

The Amazon Chime Voice Connector settings. - * Includes any Amazon S3 buckets designated for storing call detail records.

+ *

The SIP rule details, including name, triggers, and target applications. An AWS account + * can have multiple SIP rules.

*/ -export interface VoiceConnectorSettings { - /** - *

The Amazon S3 bucket designated for call detail record storage.

- */ - CdrBucket?: string; -} - -export namespace VoiceConnectorSettings { - export const filterSensitiveLog = (obj: VoiceConnectorSettings): any => ({ - ...obj, - }); -} - -export interface GetGlobalSettingsResponse { +export interface SipRule { /** - *

The Amazon Chime Business Calling settings.

+ *

The SIP rule ID.

*/ - BusinessCalling?: BusinessCallingSettings; + SipRuleId?: string; /** - *

The Amazon Chime Voice Connector settings.

+ *

The name of the SIP rule.

*/ - VoiceConnector?: VoiceConnectorSettings; -} - -export namespace GetGlobalSettingsResponse { - export const filterSensitiveLog = (obj: GetGlobalSettingsResponse): any => ({ - ...obj, - }); -} + Name?: string; -export interface GetMeetingRequest { /** - *

The Amazon Chime SDK meeting ID.

+ *

Indicates if the SIP rule is enabled or disabled. You must disable a rule before you can + * delete it.

*/ - MeetingId: string | undefined; -} - -export namespace GetMeetingRequest { - export const filterSensitiveLog = (obj: GetMeetingRequest): any => ({ - ...obj, - }); -} + Disabled?: boolean; -export interface GetMeetingResponse { /** - *

The Amazon Chime SDK meeting information.

+ *

The type of trigger whose value is assigned to the SIP rule in + * TriggerValue.

*/ - Meeting?: Meeting; -} - -export namespace GetMeetingResponse { - export const filterSensitiveLog = (obj: GetMeetingResponse): any => ({ - ...obj, - ...(obj.Meeting && { Meeting: Meeting.filterSensitiveLog(obj.Meeting) }), - }); -} + TriggerType?: SipRuleTriggerType | string; -export interface GetPhoneNumberRequest { /** - *

The phone number ID.

+ *

If TriggerType is RequestUriHostname, then the value can be the + * outbound host name of the Amazon Chime Voice Connector. If TriggerType is + * ToPhoneNumber, then the value can be a customer-owned phone number in E164 + * format. SipRule is triggered when a SIP rule requests host name or + * ToPhoneNumber matches in the incoming SIP request.

*/ - PhoneNumberId: string | undefined; -} - -export namespace GetPhoneNumberRequest { - export const filterSensitiveLog = (obj: GetPhoneNumberRequest): any => ({ - ...obj, - }); -} - -export enum PhoneNumberAssociationName { - AccountId = "AccountId", - SipRuleId = "SipRuleId", - UserId = "UserId", - VoiceConnectorGroupId = "VoiceConnectorGroupId", - VoiceConnectorId = "VoiceConnectorId", -} + TriggerValue?: string; -/** - *

The phone number associations, such as Amazon Chime account ID, Amazon Chime user ID, Amazon Chime Voice - * Connector ID, or Amazon Chime Voice Connector group ID.

- */ -export interface PhoneNumberAssociation { /** - *

Contains the ID for the entity specified in Name.

+ *

List of SIP media applications with priority and AWS Region. You can only use one SIP + * application per AWS Region and priority combination.

*/ - Value?: string; + TargetApplications?: SipRuleTargetApplication[]; /** - *

Defines the association with an Amazon Chime account ID, user ID, Amazon Chime Voice - * Connector ID, or Amazon Chime Voice Connector group ID.

+ *

The SIP rule created timestamp, in ISO 8601 format.

*/ - Name?: PhoneNumberAssociationName | string; + CreatedTimestamp?: Date; /** - *

The timestamp of the phone number association, in ISO 8601 format.

+ *

The SIP rule updated timestamp, in ISO 8601 format.

*/ - AssociatedTimestamp?: Date; + UpdatedTimestamp?: Date; } -export namespace PhoneNumberAssociation { - export const filterSensitiveLog = (obj: PhoneNumberAssociation): any => ({ +export namespace SipRule { + export const filterSensitiveLog = (obj: SipRule): any => ({ ...obj, }); } -/** - *

The phone number capabilities for Amazon Chime Business Calling phone numbers, such as enabled inbound and outbound calling and text - * messaging.

- */ -export interface PhoneNumberCapabilities { +export interface CreateSipRuleResponse { /** - *

Allows or denies inbound calling for the specified phone number.

+ *

Returns the SIP rule information, including the rule ID, triggers, and target applications.

*/ - InboundCall?: boolean; + SipRule?: SipRule; +} - /** - *

Allows or denies outbound calling for the specified phone number.

- */ - OutboundCall?: boolean; +export namespace CreateSipRuleResponse { + export const filterSensitiveLog = (obj: CreateSipRuleResponse): any => ({ + ...obj, + }); +} +export interface CreateUserRequest { /** - *

Allows or denies inbound SMS messaging for the specified phone number.

+ *

The Amazon Chime account ID.

*/ - InboundSMS?: boolean; + AccountId: string | undefined; /** - *

Allows or denies outbound SMS messaging for the specified phone number.

+ *

The user name.

*/ - OutboundSMS?: boolean; + Username?: string; /** - *

Allows or denies inbound MMS messaging for the specified phone number.

+ *

The user's email address.

*/ - InboundMMS?: boolean; + Email?: string; /** - *

Allows or denies outbound MMS messaging for the specified phone number.

+ *

The user type.

*/ - OutboundMMS?: boolean; + UserType?: UserType | string; } -export namespace PhoneNumberCapabilities { - export const filterSensitiveLog = (obj: PhoneNumberCapabilities): any => ({ +export namespace CreateUserRequest { + export const filterSensitiveLog = (obj: CreateUserRequest): any => ({ ...obj, + ...(obj.Email && { Email: SENSITIVE_STRING }), }); } -export enum PhoneNumberStatus { - AcquireFailed = "AcquireFailed", - AcquireInProgress = "AcquireInProgress", - Assigned = "Assigned", - DeleteFailed = "DeleteFailed", - DeleteInProgress = "DeleteInProgress", - ReleaseFailed = "ReleaseFailed", - ReleaseInProgress = "ReleaseInProgress", - Unassigned = "Unassigned", +export enum InviteStatus { + Accepted = "Accepted", + Failed = "Failed", + Pending = "Pending", } -export enum PhoneNumberType { - Local = "Local", - TollFree = "TollFree", +export enum RegistrationStatus { + Registered = "Registered", + Suspended = "Suspended", + Unregistered = "Unregistered", } /** - *

A phone number used for Amazon Chime Business Calling or an Amazon Chime Voice - * Connector.

+ *

The user on the Amazon Chime account.

*/ -export interface PhoneNumber { +export interface User { /** - *

The phone number ID.

+ *

The user ID.

*/ - PhoneNumberId?: string; + UserId: string | undefined; /** - *

The phone number, in E.164 format.

+ *

The Amazon Chime account ID.

*/ - E164PhoneNumber?: string; + AccountId?: string; /** - *

The phone number type.

+ *

The primary email address of the user.

*/ - Type?: PhoneNumberType | string; + PrimaryEmail?: string; /** - *

The phone number product type.

+ *

The primary phone number associated with the user.

*/ - ProductType?: PhoneNumberProductType | string; + PrimaryProvisionedNumber?: string; /** - *

The phone number status.

+ *

The display name of the user.

*/ - Status?: PhoneNumberStatus | string; + DisplayName?: string; /** - *

The phone number capabilities.

+ *

The license type for the user.

*/ - Capabilities?: PhoneNumberCapabilities; + LicenseType?: License | string; /** - *

The phone number associations.

+ *

The user type.

*/ - Associations?: PhoneNumberAssociation[]; + UserType?: UserType | string; /** - *

The outbound calling name associated with the phone number.

+ *

The user registration status.

*/ - CallingName?: string; + UserRegistrationStatus?: RegistrationStatus | string; /** - *

The outbound calling name status.

+ *

The user invite status.

*/ - CallingNameStatus?: CallingNameStatus | string; + UserInvitationStatus?: InviteStatus | string; /** - *

The phone number creation timestamp, in ISO 8601 format.

+ *

Date and time when the user is registered, in ISO 8601 format.

*/ - CreatedTimestamp?: Date; + RegisteredOn?: Date; /** - *

The updated phone number timestamp, in ISO 8601 format.

+ *

Date and time when the user is invited to the Amazon Chime account, in ISO 8601 + * format.

*/ - UpdatedTimestamp?: Date; + InvitedOn?: Date; /** - *

The deleted phone number timestamp, in ISO 8601 format.

+ *

The Alexa for Business metadata.

*/ - DeletionTimestamp?: Date; -} - -export namespace PhoneNumber { - export const filterSensitiveLog = (obj: PhoneNumber): any => ({ - ...obj, - ...(obj.E164PhoneNumber && { E164PhoneNumber: SENSITIVE_STRING }), - ...(obj.CallingName && { CallingName: SENSITIVE_STRING }), - }); -} + AlexaForBusinessMetadata?: AlexaForBusinessMetadata; -export interface GetPhoneNumberResponse { /** - *

The phone number details.

+ *

The user's personal meeting PIN.

*/ - PhoneNumber?: PhoneNumber; + PersonalPIN?: string; } -export namespace GetPhoneNumberResponse { - export const filterSensitiveLog = (obj: GetPhoneNumberResponse): any => ({ +export namespace User { + export const filterSensitiveLog = (obj: User): any => ({ ...obj, - ...(obj.PhoneNumber && { PhoneNumber: PhoneNumber.filterSensitiveLog(obj.PhoneNumber) }), + ...(obj.PrimaryEmail && { PrimaryEmail: SENSITIVE_STRING }), + ...(obj.PrimaryProvisionedNumber && { PrimaryProvisionedNumber: SENSITIVE_STRING }), + ...(obj.DisplayName && { DisplayName: SENSITIVE_STRING }), + ...(obj.AlexaForBusinessMetadata && { + AlexaForBusinessMetadata: AlexaForBusinessMetadata.filterSensitiveLog(obj.AlexaForBusinessMetadata), + }), }); } -export interface GetPhoneNumberOrderRequest { +export interface CreateUserResponse { /** - *

The ID for the phone number order.

+ *

The user on the Amazon Chime account.

*/ - PhoneNumberOrderId: string | undefined; + User?: User; } -export namespace GetPhoneNumberOrderRequest { - export const filterSensitiveLog = (obj: GetPhoneNumberOrderRequest): any => ({ +export namespace CreateUserResponse { + export const filterSensitiveLog = (obj: CreateUserResponse): any => ({ ...obj, + ...(obj.User && { User: User.filterSensitiveLog(obj.User) }), }); } -export interface GetPhoneNumberOrderResponse { - /** - *

The phone number order details.

- */ - PhoneNumberOrder?: PhoneNumberOrder; +export enum VoiceConnectorAwsRegion { + US_EAST_1 = "us-east-1", + US_WEST_2 = "us-west-2", } -export namespace GetPhoneNumberOrderResponse { - export const filterSensitiveLog = (obj: GetPhoneNumberOrderResponse): any => ({ - ...obj, - ...(obj.PhoneNumberOrder && { PhoneNumberOrder: PhoneNumberOrder.filterSensitiveLog(obj.PhoneNumberOrder) }), - }); -} +export interface CreateVoiceConnectorRequest { + /** + *

The name of the Amazon Chime Voice Connector.

+ */ + Name: string | undefined; -export interface GetPhoneNumberSettingsResponse { /** - *

The default outbound calling name for the account.

+ *

The AWS Region in which the Amazon Chime Voice Connector is created. Default value: us-east-1.

*/ - CallingName?: string; + AwsRegion?: VoiceConnectorAwsRegion | string; /** - *

The updated outbound calling name timestamp, in ISO 8601 format.

+ *

When enabled, requires encryption for the Amazon Chime Voice Connector.

*/ - CallingNameUpdatedTimestamp?: Date; + RequireEncryption: boolean | undefined; } -export namespace GetPhoneNumberSettingsResponse { - export const filterSensitiveLog = (obj: GetPhoneNumberSettingsResponse): any => ({ +export namespace CreateVoiceConnectorRequest { + export const filterSensitiveLog = (obj: CreateVoiceConnectorRequest): any => ({ ...obj, - ...(obj.CallingName && { CallingName: SENSITIVE_STRING }), }); } -export interface GetProxySessionRequest { +/** + *

The Amazon Chime Voice Connector configuration, including outbound host name and + * encryption settings.

+ */ +export interface VoiceConnector { /** - *

The Amazon Chime voice connector ID.

+ *

The Amazon Chime Voice Connector ID.

*/ - VoiceConnectorId: string | undefined; + VoiceConnectorId?: string; /** - *

The proxy session ID.

+ *

The AWS Region in which the Amazon Chime Voice Connector is created. Default: us-east-1.

*/ - ProxySessionId: string | undefined; -} + AwsRegion?: VoiceConnectorAwsRegion | string; -export namespace GetProxySessionRequest { - export const filterSensitiveLog = (obj: GetProxySessionRequest): any => ({ - ...obj, - }); -} + /** + *

The name of the Amazon Chime Voice Connector.

+ */ + Name?: string; -export interface GetProxySessionResponse { /** - *

The proxy session details.

+ *

The outbound host name for the Amazon Chime Voice Connector.

*/ - ProxySession?: ProxySession; -} + OutboundHostName?: string; -export namespace GetProxySessionResponse { - export const filterSensitiveLog = (obj: GetProxySessionResponse): any => ({ - ...obj, - }); -} + /** + *

Designates whether encryption is required for the Amazon Chime Voice Connector.

+ */ + RequireEncryption?: boolean; -export interface GetRetentionSettingsRequest { /** - *

The Amazon Chime account ID.

+ *

The Amazon Chime Voice Connector creation timestamp, in ISO 8601 format.

*/ - AccountId: string | undefined; + CreatedTimestamp?: Date; + + /** + *

The updated Amazon Chime Voice Connector timestamp, in ISO 8601 format.

+ */ + UpdatedTimestamp?: Date; } -export namespace GetRetentionSettingsRequest { - export const filterSensitiveLog = (obj: GetRetentionSettingsRequest): any => ({ +export namespace VoiceConnector { + export const filterSensitiveLog = (obj: VoiceConnector): any => ({ ...obj, }); } -/** - *

The retention settings that determine how long to retain chat room messages for an Amazon Chime Enterprise account.

- */ -export interface RoomRetentionSettings { +export interface CreateVoiceConnectorResponse { /** - *

The number of days for which to retain chat room messages.

+ *

The Amazon Chime Voice Connector details.

*/ - RetentionDays?: number; + VoiceConnector?: VoiceConnector; } -export namespace RoomRetentionSettings { - export const filterSensitiveLog = (obj: RoomRetentionSettings): any => ({ +export namespace CreateVoiceConnectorResponse { + export const filterSensitiveLog = (obj: CreateVoiceConnectorResponse): any => ({ ...obj, }); } /** - *

The retention settings for an Amazon Chime Enterprise account that determine how long to retain items such as chat room messages and chat conversation messages.

+ *

For Amazon Chime Voice Connector groups, the Amazon Chime Voice Connectors to which to route inbound calls. Includes priority configuration settings. Limit: 3 VoiceConnectorItems per Amazon Chime Voice Connector group.

*/ -export interface RetentionSettings { +export interface VoiceConnectorItem { /** - *

The chat room retention settings.

+ *

The Amazon Chime Voice Connector ID.

*/ - RoomRetentionSettings?: RoomRetentionSettings; + VoiceConnectorId: string | undefined; /** - *

The chat conversation retention settings.

+ *

The priority associated with the Amazon Chime Voice Connector, with 1 being the highest priority. Higher priority Amazon Chime Voice Connectors are attempted first.

*/ - ConversationRetentionSettings?: ConversationRetentionSettings; + Priority: number | undefined; } -export namespace RetentionSettings { - export const filterSensitiveLog = (obj: RetentionSettings): any => ({ +export namespace VoiceConnectorItem { + export const filterSensitiveLog = (obj: VoiceConnectorItem): any => ({ ...obj, }); } -export interface GetRetentionSettingsResponse { +export interface CreateVoiceConnectorGroupRequest { /** - *

The retention settings.

+ *

The name of the Amazon Chime Voice Connector group.

*/ - RetentionSettings?: RetentionSettings; + Name: string | undefined; /** - *

The timestamp representing the time at which the specified items are permanently deleted, in ISO 8601 format.

+ *

The Amazon Chime Voice Connectors to route inbound calls to.

*/ - InitiateDeletionTimestamp?: Date; + VoiceConnectorItems?: VoiceConnectorItem[]; } -export namespace GetRetentionSettingsResponse { - export const filterSensitiveLog = (obj: GetRetentionSettingsResponse): any => ({ +export namespace CreateVoiceConnectorGroupRequest { + export const filterSensitiveLog = (obj: CreateVoiceConnectorGroupRequest): any => ({ ...obj, }); } -export interface GetRoomRequest { +/** + *

The Amazon Chime Voice Connector group configuration, including associated Amazon Chime + * Voice Connectors. You can include Amazon Chime Voice Connectors from different AWS Regions in + * your group. This creates a fault tolerant mechanism for fallback in case of availability + * events.

+ */ +export interface VoiceConnectorGroup { /** - *

The Amazon Chime account ID.

+ *

The Amazon Chime Voice Connector group ID.

*/ - AccountId: string | undefined; + VoiceConnectorGroupId?: string; /** - *

The room ID.

+ *

The name of the Amazon Chime Voice Connector group.

*/ - RoomId: string | undefined; + Name?: string; + + /** + *

The Amazon Chime Voice Connectors to which to route inbound calls.

+ */ + VoiceConnectorItems?: VoiceConnectorItem[]; + + /** + *

The Amazon Chime Voice Connector group creation timestamp, in ISO 8601 format.

+ */ + CreatedTimestamp?: Date; + + /** + *

The updated Amazon Chime Voice Connector group timestamp, in ISO 8601 format.

+ */ + UpdatedTimestamp?: Date; } -export namespace GetRoomRequest { - export const filterSensitiveLog = (obj: GetRoomRequest): any => ({ +export namespace VoiceConnectorGroup { + export const filterSensitiveLog = (obj: VoiceConnectorGroup): any => ({ ...obj, }); } -export interface GetRoomResponse { +export interface CreateVoiceConnectorGroupResponse { /** - *

The room details.

+ *

The Amazon Chime Voice Connector group details.

*/ - Room?: Room; + VoiceConnectorGroup?: VoiceConnectorGroup; } -export namespace GetRoomResponse { - export const filterSensitiveLog = (obj: GetRoomResponse): any => ({ +export namespace CreateVoiceConnectorGroupResponse { + export const filterSensitiveLog = (obj: CreateVoiceConnectorGroupResponse): any => ({ ...obj, - ...(obj.Room && { Room: Room.filterSensitiveLog(obj.Room) }), }); } -export interface GetSipMediaApplicationRequest { +/** + *

The SIP credentials used to authenticate requests to your Amazon Chime Voice Connector.

+ */ +export interface Credential { /** - *

The SIP media application ID.

+ *

The RFC2617 compliant user name associated with the SIP credentials, in US-ASCII + * format.

*/ - SipMediaApplicationId: string | undefined; + Username?: string; + + /** + *

The RFC2617 compliant password associated with the SIP credentials, in US-ASCII format.

+ */ + Password?: string; } -export namespace GetSipMediaApplicationRequest { - export const filterSensitiveLog = (obj: GetSipMediaApplicationRequest): any => ({ +export namespace Credential { + export const filterSensitiveLog = (obj: Credential): any => ({ ...obj, + ...(obj.Username && { Username: SENSITIVE_STRING }), + ...(obj.Password && { Password: SENSITIVE_STRING }), }); } -export interface GetSipMediaApplicationResponse { +export interface DeleteAccountRequest { /** - *

The SIP media application details.

+ *

The Amazon Chime account ID.

*/ - SipMediaApplication?: SipMediaApplication; + AccountId: string | undefined; } -export namespace GetSipMediaApplicationResponse { - export const filterSensitiveLog = (obj: GetSipMediaApplicationResponse): any => ({ +export namespace DeleteAccountRequest { + export const filterSensitiveLog = (obj: DeleteAccountRequest): any => ({ ...obj, - ...(obj.SipMediaApplication && { - SipMediaApplication: SipMediaApplication.filterSensitiveLog(obj.SipMediaApplication), - }), }); } -export interface GetSipMediaApplicationLoggingConfigurationRequest { - /** - *

The ID of the SIP media application.

- */ - SipMediaApplicationId: string | undefined; -} +export interface DeleteAccountResponse {} -export namespace GetSipMediaApplicationLoggingConfigurationRequest { - export const filterSensitiveLog = (obj: GetSipMediaApplicationLoggingConfigurationRequest): any => ({ +export namespace DeleteAccountResponse { + export const filterSensitiveLog = (obj: DeleteAccountResponse): any => ({ ...obj, }); } /** - *

Logging configuration of the SIP media application.

+ *

The request was well-formed but was unable to be followed due to semantic errors.

*/ -export interface SipMediaApplicationLoggingConfiguration { +export interface UnprocessableEntityException extends __SmithyException, $MetadataBearer { + name: "UnprocessableEntityException"; + $fault: "client"; + Code?: ErrorCode | string; + Message?: string; +} + +export namespace UnprocessableEntityException { + export const filterSensitiveLog = (obj: UnprocessableEntityException): any => ({ + ...obj, + }); +} + +export interface DeleteAppInstanceRequest { /** - *

Enables application message logs for the SIP media application.

+ *

The ARN of the app instance.

*/ - EnableSipMediaApplicationMessageLogs?: boolean; + AppInstanceArn: string | undefined; } -export namespace SipMediaApplicationLoggingConfiguration { - export const filterSensitiveLog = (obj: SipMediaApplicationLoggingConfiguration): any => ({ +export namespace DeleteAppInstanceRequest { + export const filterSensitiveLog = (obj: DeleteAppInstanceRequest): any => ({ ...obj, }); } -export interface GetSipMediaApplicationLoggingConfigurationResponse { +export interface DeleteAppInstanceAdminRequest { /** - *

The actual logging configuration.

+ *

The ARN of the app instance's administrator.

*/ - SipMediaApplicationLoggingConfiguration?: SipMediaApplicationLoggingConfiguration; + AppInstanceAdminArn: string | undefined; + + /** + *

The ARN of the app instance.

+ */ + AppInstanceArn: string | undefined; } -export namespace GetSipMediaApplicationLoggingConfigurationResponse { - export const filterSensitiveLog = (obj: GetSipMediaApplicationLoggingConfigurationResponse): any => ({ +export namespace DeleteAppInstanceAdminRequest { + export const filterSensitiveLog = (obj: DeleteAppInstanceAdminRequest): any => ({ ...obj, }); } -export interface GetSipRuleRequest { +export interface DeleteAppInstanceStreamingConfigurationsRequest { /** - *

The SIP rule ID.

+ *

The ARN of the streaming configurations being deleted.

*/ - SipRuleId: string | undefined; + AppInstanceArn: string | undefined; } -export namespace GetSipRuleRequest { - export const filterSensitiveLog = (obj: GetSipRuleRequest): any => ({ +export namespace DeleteAppInstanceStreamingConfigurationsRequest { + export const filterSensitiveLog = (obj: DeleteAppInstanceStreamingConfigurationsRequest): any => ({ ...obj, }); } -export interface GetSipRuleResponse { +export interface DeleteAppInstanceUserRequest { /** - *

The SIP rule details.

+ *

The ARN of the user request being deleted.

*/ - SipRule?: SipRule; + AppInstanceUserArn: string | undefined; } -export namespace GetSipRuleResponse { - export const filterSensitiveLog = (obj: GetSipRuleResponse): any => ({ +export namespace DeleteAppInstanceUserRequest { + export const filterSensitiveLog = (obj: DeleteAppInstanceUserRequest): any => ({ ...obj, }); } -export interface GetUserRequest { +export interface DeleteAttendeeRequest { /** - *

The Amazon Chime account ID.

+ *

The Amazon Chime SDK meeting ID.

*/ - AccountId: string | undefined; + MeetingId: string | undefined; /** - *

The user ID.

+ *

The Amazon Chime SDK attendee ID.

*/ - UserId: string | undefined; + AttendeeId: string | undefined; } -export namespace GetUserRequest { - export const filterSensitiveLog = (obj: GetUserRequest): any => ({ +export namespace DeleteAttendeeRequest { + export const filterSensitiveLog = (obj: DeleteAttendeeRequest): any => ({ ...obj, }); } -export interface GetUserResponse { +export interface DeleteChannelRequest { /** - *

The user details.

+ *

The ARN of the channel being deleted.

*/ - User?: User; + ChannelArn: string | undefined; } -export namespace GetUserResponse { - export const filterSensitiveLog = (obj: GetUserResponse): any => ({ +export namespace DeleteChannelRequest { + export const filterSensitiveLog = (obj: DeleteChannelRequest): any => ({ ...obj, - ...(obj.User && { User: User.filterSensitiveLog(obj.User) }), }); } -export interface GetUserSettingsRequest { +export interface DeleteChannelBanRequest { /** - *

The Amazon Chime account ID.

+ *

The ARN of the channel from which the app instance user was banned.

*/ - AccountId: string | undefined; + ChannelArn: string | undefined; /** - *

The user ID.

+ *

The ARN of the app instance user that you want to reinstate.

*/ - UserId: string | undefined; + MemberArn: string | undefined; } -export namespace GetUserSettingsRequest { - export const filterSensitiveLog = (obj: GetUserSettingsRequest): any => ({ +export namespace DeleteChannelBanRequest { + export const filterSensitiveLog = (obj: DeleteChannelBanRequest): any => ({ ...obj, }); } -/** - *

Settings that allow management of telephony permissions for an Amazon Chime user, such - * as inbound and outbound calling and text messaging.

- */ -export interface TelephonySettings { +export interface DeleteChannelMembershipRequest { /** - *

Allows or denies inbound calling.

+ *

The ARN of the channel from which you want to remove the user.

*/ - InboundCalling: boolean | undefined; + ChannelArn: string | undefined; /** - *

Allows or denies outbound calling.

+ *

The ARN of the member that you're removing from the channel.

*/ - OutboundCalling: boolean | undefined; + MemberArn: string | undefined; +} + +export namespace DeleteChannelMembershipRequest { + export const filterSensitiveLog = (obj: DeleteChannelMembershipRequest): any => ({ + ...obj, + }); +} +export interface DeleteChannelMessageRequest { /** - *

Allows or denies SMS messaging.

+ *

The ARN of the channel.

*/ - SMS: boolean | undefined; + ChannelArn: string | undefined; + + /** + *

The ID of the message being deleted.

+ */ + MessageId: string | undefined; } -export namespace TelephonySettings { - export const filterSensitiveLog = (obj: TelephonySettings): any => ({ +export namespace DeleteChannelMessageRequest { + export const filterSensitiveLog = (obj: DeleteChannelMessageRequest): any => ({ ...obj, }); } -/** - *

Settings associated with an Amazon Chime user, including inbound and outbound calling and - * text messaging.

- */ -export interface UserSettings { +export interface DeleteChannelModeratorRequest { /** - *

The telephony settings associated with the user.

+ *

The ARN of the channel.

*/ - Telephony: TelephonySettings | undefined; + ChannelArn: string | undefined; + + /** + *

The ARN of the moderator being deleted.

+ */ + ChannelModeratorArn: string | undefined; } -export namespace UserSettings { - export const filterSensitiveLog = (obj: UserSettings): any => ({ +export namespace DeleteChannelModeratorRequest { + export const filterSensitiveLog = (obj: DeleteChannelModeratorRequest): any => ({ ...obj, }); } -export interface GetUserSettingsResponse { +export interface DeleteEventsConfigurationRequest { /** - *

The user settings.

+ *

The Amazon Chime account ID.

*/ - UserSettings?: UserSettings; + AccountId: string | undefined; + + /** + *

The bot ID.

+ */ + BotId: string | undefined; } -export namespace GetUserSettingsResponse { - export const filterSensitiveLog = (obj: GetUserSettingsResponse): any => ({ +export namespace DeleteEventsConfigurationRequest { + export const filterSensitiveLog = (obj: DeleteEventsConfigurationRequest): any => ({ ...obj, }); } -export interface GetVoiceConnectorRequest { +export interface DeleteMeetingRequest { /** - *

The Amazon Chime Voice Connector ID.

+ *

The Amazon Chime SDK meeting ID.

*/ - VoiceConnectorId: string | undefined; + MeetingId: string | undefined; } -export namespace GetVoiceConnectorRequest { - export const filterSensitiveLog = (obj: GetVoiceConnectorRequest): any => ({ +export namespace DeleteMeetingRequest { + export const filterSensitiveLog = (obj: DeleteMeetingRequest): any => ({ ...obj, }); } -export interface GetVoiceConnectorResponse { +export interface DeletePhoneNumberRequest { /** - *

The Amazon Chime Voice Connector details.

+ *

The phone number ID.

*/ - VoiceConnector?: VoiceConnector; + PhoneNumberId: string | undefined; } -export namespace GetVoiceConnectorResponse { - export const filterSensitiveLog = (obj: GetVoiceConnectorResponse): any => ({ +export namespace DeletePhoneNumberRequest { + export const filterSensitiveLog = (obj: DeletePhoneNumberRequest): any => ({ ...obj, }); } -export interface GetVoiceConnectorEmergencyCallingConfigurationRequest { +export interface DeleteProxySessionRequest { /** - *

The Amazon Chime Voice Connector ID.

+ *

The Amazon Chime voice connector ID.

*/ VoiceConnectorId: string | undefined; + + /** + *

The proxy session ID.

+ */ + ProxySessionId: string | undefined; } -export namespace GetVoiceConnectorEmergencyCallingConfigurationRequest { - export const filterSensitiveLog = (obj: GetVoiceConnectorEmergencyCallingConfigurationRequest): any => ({ +export namespace DeleteProxySessionRequest { + export const filterSensitiveLog = (obj: DeleteProxySessionRequest): any => ({ ...obj, }); } -export interface GetVoiceConnectorEmergencyCallingConfigurationResponse { +export interface DeleteRoomRequest { /** - *

The emergency calling configuration details.

+ *

The Amazon Chime account ID.

*/ - EmergencyCallingConfiguration?: EmergencyCallingConfiguration; + AccountId: string | undefined; + + /** + *

The chat room ID.

+ */ + RoomId: string | undefined; } -export namespace GetVoiceConnectorEmergencyCallingConfigurationResponse { - export const filterSensitiveLog = (obj: GetVoiceConnectorEmergencyCallingConfigurationResponse): any => ({ +export namespace DeleteRoomRequest { + export const filterSensitiveLog = (obj: DeleteRoomRequest): any => ({ ...obj, - ...(obj.EmergencyCallingConfiguration && { - EmergencyCallingConfiguration: EmergencyCallingConfiguration.filterSensitiveLog( - obj.EmergencyCallingConfiguration - ), - }), }); } -export interface GetVoiceConnectorGroupRequest { +export interface DeleteRoomMembershipRequest { /** - *

The Amazon Chime Voice Connector group ID.

+ *

The Amazon Chime account ID.

*/ - VoiceConnectorGroupId: string | undefined; -} + AccountId: string | undefined; -export namespace GetVoiceConnectorGroupRequest { - export const filterSensitiveLog = (obj: GetVoiceConnectorGroupRequest): any => ({ - ...obj, - }); -} + /** + *

The room ID.

+ */ + RoomId: string | undefined; -export interface GetVoiceConnectorGroupResponse { /** - *

The Amazon Chime Voice Connector group details.

+ *

The member ID (user ID or bot ID).

*/ - VoiceConnectorGroup?: VoiceConnectorGroup; + MemberId: string | undefined; } -export namespace GetVoiceConnectorGroupResponse { - export const filterSensitiveLog = (obj: GetVoiceConnectorGroupResponse): any => ({ +export namespace DeleteRoomMembershipRequest { + export const filterSensitiveLog = (obj: DeleteRoomMembershipRequest): any => ({ ...obj, }); } -export interface GetVoiceConnectorLoggingConfigurationRequest { +export interface DeleteSipMediaApplicationRequest { /** - *

The Amazon Chime Voice Connector ID.

+ *

The SIP media application ID.

*/ - VoiceConnectorId: string | undefined; + SipMediaApplicationId: string | undefined; } -export namespace GetVoiceConnectorLoggingConfigurationRequest { - export const filterSensitiveLog = (obj: GetVoiceConnectorLoggingConfigurationRequest): any => ({ +export namespace DeleteSipMediaApplicationRequest { + export const filterSensitiveLog = (obj: DeleteSipMediaApplicationRequest): any => ({ ...obj, }); } -/** - *

The logging configuration associated with an Amazon Chime Voice Connector. Specifies whether SIP message logs are enabled for sending to Amazon CloudWatch Logs.

- */ -export interface LoggingConfiguration { +export interface DeleteSipRuleRequest { /** - *

When true, enables SIP message logs for sending to Amazon CloudWatch Logs.

+ *

The SIP rule ID.

*/ - EnableSIPLogs?: boolean; + SipRuleId: string | undefined; } -export namespace LoggingConfiguration { - export const filterSensitiveLog = (obj: LoggingConfiguration): any => ({ +export namespace DeleteSipRuleRequest { + export const filterSensitiveLog = (obj: DeleteSipRuleRequest): any => ({ ...obj, }); } -export interface GetVoiceConnectorLoggingConfigurationResponse { +export interface DeleteVoiceConnectorRequest { /** - *

The logging configuration details.

+ *

The Amazon Chime Voice Connector ID.

*/ - LoggingConfiguration?: LoggingConfiguration; + VoiceConnectorId: string | undefined; } -export namespace GetVoiceConnectorLoggingConfigurationResponse { - export const filterSensitiveLog = (obj: GetVoiceConnectorLoggingConfigurationResponse): any => ({ +export namespace DeleteVoiceConnectorRequest { + export const filterSensitiveLog = (obj: DeleteVoiceConnectorRequest): any => ({ ...obj, }); } -export interface GetVoiceConnectorOriginationRequest { +export interface DeleteVoiceConnectorEmergencyCallingConfigurationRequest { /** *

The Amazon Chime Voice Connector ID.

*/ VoiceConnectorId: string | undefined; } -export namespace GetVoiceConnectorOriginationRequest { - export const filterSensitiveLog = (obj: GetVoiceConnectorOriginationRequest): any => ({ +export namespace DeleteVoiceConnectorEmergencyCallingConfigurationRequest { + export const filterSensitiveLog = (obj: DeleteVoiceConnectorEmergencyCallingConfigurationRequest): any => ({ ...obj, }); } -export enum OriginationRouteProtocol { - TCP = "TCP", - UDP = "UDP", -} - -/** - *

Origination routes define call distribution properties for your SIP hosts to receive - * inbound calls using your Amazon Chime Voice Connector. Limit: Ten origination routes for each - * Amazon Chime Voice Connector.

- */ -export interface OriginationRoute { - /** - *

The FQDN or IP address to contact for origination traffic.

- */ - Host?: string; - - /** - *

The designated origination route port. Defaults to 5060.

- */ - Port?: number; - +export interface DeleteVoiceConnectorGroupRequest { /** - *

The protocol to use for the origination route. Encryption-enabled Amazon Chime Voice Connectors use TCP protocol by default.

+ *

The Amazon Chime Voice Connector group ID.

*/ - Protocol?: OriginationRouteProtocol | string; + VoiceConnectorGroupId: string | undefined; +} - /** - *

The priority associated with the host, with 1 being the highest priority. Higher - * priority hosts are attempted first.

- */ - Priority?: number; +export namespace DeleteVoiceConnectorGroupRequest { + export const filterSensitiveLog = (obj: DeleteVoiceConnectorGroupRequest): any => ({ + ...obj, + }); +} +export interface DeleteVoiceConnectorOriginationRequest { /** - *

The weight associated with the host. If hosts are equal in priority, calls are - * distributed among them based on their relative weight.

+ *

The Amazon Chime Voice Connector ID.

*/ - Weight?: number; + VoiceConnectorId: string | undefined; } -export namespace OriginationRoute { - export const filterSensitiveLog = (obj: OriginationRoute): any => ({ +export namespace DeleteVoiceConnectorOriginationRequest { + export const filterSensitiveLog = (obj: DeleteVoiceConnectorOriginationRequest): any => ({ ...obj, }); } -/** - *

Origination settings enable your SIP hosts to receive inbound calls using your Amazon - * Chime Voice Connector.

- */ -export interface Origination { - /** - *

The call distribution properties defined for your SIP hosts. Valid range: Minimum value - * of 1. Maximum value of 20.

- */ - Routes?: OriginationRoute[]; - +export interface DeleteVoiceConnectorProxyRequest { /** - *

When origination settings are disabled, inbound calls are not enabled for your Amazon - * Chime Voice Connector.

+ *

The Amazon Chime Voice Connector ID.

*/ - Disabled?: boolean; + VoiceConnectorId: string | undefined; } -export namespace Origination { - export const filterSensitiveLog = (obj: Origination): any => ({ +export namespace DeleteVoiceConnectorProxyRequest { + export const filterSensitiveLog = (obj: DeleteVoiceConnectorProxyRequest): any => ({ ...obj, }); } -export interface GetVoiceConnectorOriginationResponse { +export interface DeleteVoiceConnectorStreamingConfigurationRequest { /** - *

The origination setting details.

+ *

The Amazon Chime Voice Connector ID.

*/ - Origination?: Origination; + VoiceConnectorId: string | undefined; } -export namespace GetVoiceConnectorOriginationResponse { - export const filterSensitiveLog = (obj: GetVoiceConnectorOriginationResponse): any => ({ +export namespace DeleteVoiceConnectorStreamingConfigurationRequest { + export const filterSensitiveLog = (obj: DeleteVoiceConnectorStreamingConfigurationRequest): any => ({ ...obj, }); } -export interface GetVoiceConnectorProxyRequest { +export interface DeleteVoiceConnectorTerminationRequest { /** - *

The Amazon Chime voice connector ID.

+ *

The Amazon Chime Voice Connector ID.

*/ VoiceConnectorId: string | undefined; } -export namespace GetVoiceConnectorProxyRequest { - export const filterSensitiveLog = (obj: GetVoiceConnectorProxyRequest): any => ({ +export namespace DeleteVoiceConnectorTerminationRequest { + export const filterSensitiveLog = (obj: DeleteVoiceConnectorTerminationRequest): any => ({ ...obj, }); } -/** - *

The proxy configuration for an Amazon Chime Voice Connector.

- */ -export interface Proxy { +export interface DeleteVoiceConnectorTerminationCredentialsRequest { /** - *

The default number of minutes allowed for proxy sessions.

+ *

The Amazon Chime Voice Connector ID.

*/ - DefaultSessionExpiryMinutes?: number; + VoiceConnectorId: string | undefined; /** - *

When true, stops proxy sessions from being created on the specified Amazon Chime Voice Connector.

+ *

The RFC2617 compliant username associated with the SIP credentials, in US-ASCII format.

*/ - Disabled?: boolean; + Usernames: string[] | undefined; +} - /** - *

The phone number to route calls to after a proxy session expires.

- */ - FallBackPhoneNumber?: string; +export namespace DeleteVoiceConnectorTerminationCredentialsRequest { + export const filterSensitiveLog = (obj: DeleteVoiceConnectorTerminationCredentialsRequest): any => ({ + ...obj, + ...(obj.Usernames && { Usernames: SENSITIVE_STRING }), + }); +} +export interface DescribeAppInstanceRequest { /** - *

The countries for proxy phone numbers to be selected from.

+ *

The ARN of the app instance.

*/ - PhoneNumberCountries?: string[]; + AppInstanceArn: string | undefined; } -export namespace Proxy { - export const filterSensitiveLog = (obj: Proxy): any => ({ +export namespace DescribeAppInstanceRequest { + export const filterSensitiveLog = (obj: DescribeAppInstanceRequest): any => ({ ...obj, - ...(obj.FallBackPhoneNumber && { FallBackPhoneNumber: SENSITIVE_STRING }), }); } -export interface GetVoiceConnectorProxyResponse { +export interface DescribeAppInstanceResponse { /** - *

The proxy configuration details.

+ *

The ARN, metadata, created and last-updated timestamps, and the name of the app instance. All timestamps + * use epoch milliseconds.

*/ - Proxy?: Proxy; + AppInstance?: AppInstance; } -export namespace GetVoiceConnectorProxyResponse { - export const filterSensitiveLog = (obj: GetVoiceConnectorProxyResponse): any => ({ +export namespace DescribeAppInstanceResponse { + export const filterSensitiveLog = (obj: DescribeAppInstanceResponse): any => ({ ...obj, - ...(obj.Proxy && { Proxy: Proxy.filterSensitiveLog(obj.Proxy) }), + ...(obj.AppInstance && { AppInstance: AppInstance.filterSensitiveLog(obj.AppInstance) }), }); } -export interface GetVoiceConnectorStreamingConfigurationRequest { +export interface DescribeAppInstanceAdminRequest { /** - *

The Amazon Chime Voice Connector ID.

+ *

The ARN of the app instance administrator.

*/ - VoiceConnectorId: string | undefined; + AppInstanceAdminArn: string | undefined; + + /** + *

The ARN of the app instance.

+ */ + AppInstanceArn: string | undefined; } -export namespace GetVoiceConnectorStreamingConfigurationRequest { - export const filterSensitiveLog = (obj: GetVoiceConnectorStreamingConfigurationRequest): any => ({ +export namespace DescribeAppInstanceAdminRequest { + export const filterSensitiveLog = (obj: DescribeAppInstanceAdminRequest): any => ({ ...obj, }); } -export enum NotificationTarget { - EventBridge = "EventBridge", - SNS = "SNS", - SQS = "SQS", -} - -/** - *

The targeted recipient for a streaming configuration notification.

- */ -export interface StreamingNotificationTarget { +export interface DescribeAppInstanceAdminResponse { /** - *

The streaming notification target.

+ *

The ARN and name of the app instance user, the ARN of the app instance, and the created and last-updated timestamps. All timestamps + * use epoch milliseconds.

*/ - NotificationTarget: NotificationTarget | string | undefined; + AppInstanceAdmin?: AppInstanceAdmin; } -export namespace StreamingNotificationTarget { - export const filterSensitiveLog = (obj: StreamingNotificationTarget): any => ({ +export namespace DescribeAppInstanceAdminResponse { + export const filterSensitiveLog = (obj: DescribeAppInstanceAdminResponse): any => ({ ...obj, + ...(obj.AppInstanceAdmin && { AppInstanceAdmin: AppInstanceAdmin.filterSensitiveLog(obj.AppInstanceAdmin) }), }); } -/** - *

The streaming configuration associated with an Amazon Chime Voice Connector. Specifies whether media streaming is enabled for sending to Amazon Kinesis, and shows the retention period for the Amazon Kinesis data, in hours.

- */ -export interface StreamingConfiguration { +export interface DescribeAppInstanceUserRequest { /** - *

The retention period, in hours, for the Amazon Kinesis data.

+ *

The ARN of the app instance user.

*/ - DataRetentionInHours: number | undefined; + AppInstanceUserArn: string | undefined; +} - /** - *

When true, media streaming to Amazon Kinesis is turned off.

- */ - Disabled?: boolean; +export namespace DescribeAppInstanceUserRequest { + export const filterSensitiveLog = (obj: DescribeAppInstanceUserRequest): any => ({ + ...obj, + }); +} +export interface DescribeAppInstanceUserResponse { /** - *

The streaming notification targets.

+ *

The name of the app instance user.

*/ - StreamingNotificationTargets?: StreamingNotificationTarget[]; + AppInstanceUser?: AppInstanceUser; } -export namespace StreamingConfiguration { - export const filterSensitiveLog = (obj: StreamingConfiguration): any => ({ +export namespace DescribeAppInstanceUserResponse { + export const filterSensitiveLog = (obj: DescribeAppInstanceUserResponse): any => ({ ...obj, + ...(obj.AppInstanceUser && { AppInstanceUser: AppInstanceUser.filterSensitiveLog(obj.AppInstanceUser) }), }); } -export interface GetVoiceConnectorStreamingConfigurationResponse { +export interface DescribeChannelRequest { /** - *

The streaming configuration details.

+ *

The ARN of the channel.

*/ - StreamingConfiguration?: StreamingConfiguration; + ChannelArn: string | undefined; } -export namespace GetVoiceConnectorStreamingConfigurationResponse { - export const filterSensitiveLog = (obj: GetVoiceConnectorStreamingConfigurationResponse): any => ({ +export namespace DescribeChannelRequest { + export const filterSensitiveLog = (obj: DescribeChannelRequest): any => ({ ...obj, }); } -export interface GetVoiceConnectorTerminationRequest { +export interface DescribeChannelResponse { /** - *

The Amazon Chime Voice Connector ID.

+ *

The channel details.

*/ - VoiceConnectorId: string | undefined; + Channel?: Channel; } -export namespace GetVoiceConnectorTerminationRequest { - export const filterSensitiveLog = (obj: GetVoiceConnectorTerminationRequest): any => ({ +export namespace DescribeChannelResponse { + export const filterSensitiveLog = (obj: DescribeChannelResponse): any => ({ ...obj, + ...(obj.Channel && { Channel: Channel.filterSensitiveLog(obj.Channel) }), }); } -/** - *

Termination settings enable your SIP hosts to make outbound calls using your Amazon - * Chime Voice Connector.

- */ -export interface Termination { +export interface DescribeChannelBanRequest { /** - *

The limit on calls per second. Max value based on account service quota. Default value - * of 1.

+ *

The ARN of the channel from which the user is banned.

*/ - CpsLimit?: number; + ChannelArn: string | undefined; /** - *

The default caller ID phone number.

+ *

The ARN of the member being banned.

*/ - DefaultPhoneNumber?: string; + MemberArn: string | undefined; +} +export namespace DescribeChannelBanRequest { + export const filterSensitiveLog = (obj: DescribeChannelBanRequest): any => ({ + ...obj, + }); +} + +export interface DescribeChannelBanResponse { /** - *

The countries to which calls are allowed, in ISO 3166-1 alpha-2 format. Required.

+ *

The the details of the ban.

*/ - CallingRegions?: string[]; + ChannelBan?: ChannelBan; +} + +export namespace DescribeChannelBanResponse { + export const filterSensitiveLog = (obj: DescribeChannelBanResponse): any => ({ + ...obj, + ...(obj.ChannelBan && { ChannelBan: ChannelBan.filterSensitiveLog(obj.ChannelBan) }), + }); +} +export interface DescribeChannelMembershipRequest { /** - *

The IP addresses allowed to make calls, in CIDR format. Required.

+ *

The ARN of the channel.

*/ - CidrAllowedList?: string[]; + ChannelArn: string | undefined; /** - *

When termination settings are disabled, outbound calls can not be made.

+ *

The ARN of the member.

*/ - Disabled?: boolean; + MemberArn: string | undefined; } -export namespace Termination { - export const filterSensitiveLog = (obj: Termination): any => ({ +export namespace DescribeChannelMembershipRequest { + export const filterSensitiveLog = (obj: DescribeChannelMembershipRequest): any => ({ ...obj, - ...(obj.DefaultPhoneNumber && { DefaultPhoneNumber: SENSITIVE_STRING }), }); } -export interface GetVoiceConnectorTerminationResponse { +export interface DescribeChannelMembershipResponse { /** - *

The termination setting details.

+ *

The details of the membership.

*/ - Termination?: Termination; + ChannelMembership?: ChannelMembership; } -export namespace GetVoiceConnectorTerminationResponse { - export const filterSensitiveLog = (obj: GetVoiceConnectorTerminationResponse): any => ({ +export namespace DescribeChannelMembershipResponse { + export const filterSensitiveLog = (obj: DescribeChannelMembershipResponse): any => ({ ...obj, - ...(obj.Termination && { Termination: Termination.filterSensitiveLog(obj.Termination) }), + ...(obj.ChannelMembership && { ChannelMembership: ChannelMembership.filterSensitiveLog(obj.ChannelMembership) }), }); } -export interface GetVoiceConnectorTerminationHealthRequest { +export interface DescribeChannelMembershipForAppInstanceUserRequest { /** - *

The Amazon Chime Voice Connector ID.

+ *

The ARN of the channel to which the user belongs.

*/ - VoiceConnectorId: string | undefined; + ChannelArn: string | undefined; + + /** + *

The ARN of the user in a channel.

+ */ + AppInstanceUserArn: string | undefined; } -export namespace GetVoiceConnectorTerminationHealthRequest { - export const filterSensitiveLog = (obj: GetVoiceConnectorTerminationHealthRequest): any => ({ +export namespace DescribeChannelMembershipForAppInstanceUserRequest { + export const filterSensitiveLog = (obj: DescribeChannelMembershipForAppInstanceUserRequest): any => ({ ...obj, }); } -/** - *

The termination health details, including the source IP address and timestamp of the - * last successful SIP OPTIONS message from your SIP infrastructure.

- */ -export interface TerminationHealth { +export interface DescribeChannelMembershipForAppInstanceUserResponse { + /** + *

The channel to which a user belongs.

+ */ + ChannelMembership?: ChannelMembershipForAppInstanceUserSummary; +} + +export namespace DescribeChannelMembershipForAppInstanceUserResponse { + export const filterSensitiveLog = (obj: DescribeChannelMembershipForAppInstanceUserResponse): any => ({ + ...obj, + ...(obj.ChannelMembership && { + ChannelMembership: ChannelMembershipForAppInstanceUserSummary.filterSensitiveLog(obj.ChannelMembership), + }), + }); +} + +export interface DescribeChannelModeratedByAppInstanceUserRequest { /** - *

The timestamp, in ISO 8601 format.

+ *

The ARN of the moderated channel.

*/ - Timestamp?: Date; + ChannelArn: string | undefined; /** - *

The source IP address.

+ *

The ARN of the app instance user in the moderated channel.

*/ - Source?: string; + AppInstanceUserArn: string | undefined; } -export namespace TerminationHealth { - export const filterSensitiveLog = (obj: TerminationHealth): any => ({ +export namespace DescribeChannelModeratedByAppInstanceUserRequest { + export const filterSensitiveLog = (obj: DescribeChannelModeratedByAppInstanceUserRequest): any => ({ ...obj, }); } -export interface GetVoiceConnectorTerminationHealthResponse { +export interface DescribeChannelModeratedByAppInstanceUserResponse { /** - *

The termination health details.

+ *

The moderated channel.

*/ - TerminationHealth?: TerminationHealth; + Channel?: ChannelModeratedByAppInstanceUserSummary; } -export namespace GetVoiceConnectorTerminationHealthResponse { - export const filterSensitiveLog = (obj: GetVoiceConnectorTerminationHealthResponse): any => ({ +export namespace DescribeChannelModeratedByAppInstanceUserResponse { + export const filterSensitiveLog = (obj: DescribeChannelModeratedByAppInstanceUserResponse): any => ({ ...obj, + ...(obj.Channel && { Channel: ChannelModeratedByAppInstanceUserSummary.filterSensitiveLog(obj.Channel) }), }); } -/** - *

Invitation object returned after emailing users to invite them to join the - * Amazon Chime Team account.

- */ -export interface Invite { +export interface DescribeChannelModeratorRequest { /** - *

The invite ID.

+ *

The ARN of the channel.

*/ - InviteId?: string; + ChannelArn: string | undefined; /** - *

The status of the invite.

+ *

The ARN of the channel moderator.

*/ - Status?: InviteStatus | string; + ChannelModeratorArn: string | undefined; +} - /** - *

The email address to which the invite is sent.

- */ - EmailAddress?: string; +export namespace DescribeChannelModeratorRequest { + export const filterSensitiveLog = (obj: DescribeChannelModeratorRequest): any => ({ + ...obj, + }); +} +export interface DescribeChannelModeratorResponse { /** - *

The status of the invite email.

+ *

The details of the channel moderator.

*/ - EmailStatus?: EmailStatus | string; + ChannelModerator?: ChannelModerator; } -export namespace Invite { - export const filterSensitiveLog = (obj: Invite): any => ({ +export namespace DescribeChannelModeratorResponse { + export const filterSensitiveLog = (obj: DescribeChannelModeratorResponse): any => ({ ...obj, - ...(obj.EmailAddress && { EmailAddress: SENSITIVE_STRING }), + ...(obj.ChannelModerator && { ChannelModerator: ChannelModerator.filterSensitiveLog(obj.ChannelModerator) }), }); } -export interface InviteUsersRequest { +export interface DisassociatePhoneNumberFromUserRequest { /** *

The Amazon Chime account ID.

*/ AccountId: string | undefined; /** - *

The user email addresses to which to send the email invitation.

+ *

The user ID.

*/ - UserEmailList: string[] | undefined; + UserId: string | undefined; +} - /** - *

The user type.

- */ - UserType?: UserType | string; +export namespace DisassociatePhoneNumberFromUserRequest { + export const filterSensitiveLog = (obj: DisassociatePhoneNumberFromUserRequest): any => ({ + ...obj, + }); } -export namespace InviteUsersRequest { - export const filterSensitiveLog = (obj: InviteUsersRequest): any => ({ +export interface DisassociatePhoneNumberFromUserResponse {} + +export namespace DisassociatePhoneNumberFromUserResponse { + export const filterSensitiveLog = (obj: DisassociatePhoneNumberFromUserResponse): any => ({ ...obj, - ...(obj.UserEmailList && { UserEmailList: SENSITIVE_STRING }), }); } -export interface InviteUsersResponse { +export interface DisassociatePhoneNumbersFromVoiceConnectorRequest { + /** + *

The Amazon Chime Voice Connector ID.

+ */ + VoiceConnectorId: string | undefined; + /** - *

The email invitation details.

+ *

List of phone numbers, in E.164 format.

*/ - Invites?: Invite[]; + E164PhoneNumbers: string[] | undefined; } -export namespace InviteUsersResponse { - export const filterSensitiveLog = (obj: InviteUsersResponse): any => ({ +export namespace DisassociatePhoneNumbersFromVoiceConnectorRequest { + export const filterSensitiveLog = (obj: DisassociatePhoneNumbersFromVoiceConnectorRequest): any => ({ ...obj, - ...(obj.Invites && { Invites: obj.Invites.map((item) => Invite.filterSensitiveLog(item)) }), + ...(obj.E164PhoneNumbers && { E164PhoneNumbers: SENSITIVE_STRING }), }); } -export interface ListAccountsRequest { +export interface DisassociatePhoneNumbersFromVoiceConnectorResponse { /** - *

Amazon Chime account name prefix with which to filter results.

+ *

If the action fails for one or more of the phone numbers in the request, a list of the phone numbers is returned, along with error codes and error messages.

*/ - Name?: string; + PhoneNumberErrors?: PhoneNumberError[]; +} + +export namespace DisassociatePhoneNumbersFromVoiceConnectorResponse { + export const filterSensitiveLog = (obj: DisassociatePhoneNumbersFromVoiceConnectorResponse): any => ({ + ...obj, + }); +} +export interface DisassociatePhoneNumbersFromVoiceConnectorGroupRequest { /** - *

User email address with which to filter results.

+ *

The Amazon Chime Voice Connector group ID.

*/ - UserEmail?: string; + VoiceConnectorGroupId: string | undefined; /** - *

The token to use to retrieve the next page of results.

+ *

List of phone numbers, in E.164 format.

*/ - NextToken?: string; + E164PhoneNumbers: string[] | undefined; +} + +export namespace DisassociatePhoneNumbersFromVoiceConnectorGroupRequest { + export const filterSensitiveLog = (obj: DisassociatePhoneNumbersFromVoiceConnectorGroupRequest): any => ({ + ...obj, + ...(obj.E164PhoneNumbers && { E164PhoneNumbers: SENSITIVE_STRING }), + }); +} +export interface DisassociatePhoneNumbersFromVoiceConnectorGroupResponse { /** - *

The maximum number of results to return in a single call. Defaults to 100.

+ *

If the action fails for one or more of the phone numbers in the request, a list of the phone numbers is returned, along with error codes and error messages.

*/ - MaxResults?: number; + PhoneNumberErrors?: PhoneNumberError[]; } -export namespace ListAccountsRequest { - export const filterSensitiveLog = (obj: ListAccountsRequest): any => ({ +export namespace DisassociatePhoneNumbersFromVoiceConnectorGroupResponse { + export const filterSensitiveLog = (obj: DisassociatePhoneNumbersFromVoiceConnectorGroupResponse): any => ({ ...obj, - ...(obj.UserEmail && { UserEmail: SENSITIVE_STRING }), }); } -export interface ListAccountsResponse { +export interface DisassociateSigninDelegateGroupsFromAccountRequest { /** - *

The list of accounts.

+ *

The Amazon Chime account ID.

*/ - Accounts?: Account[]; + AccountId: string | undefined; /** - *

The account's user token.

+ *

The sign-in delegate group names.

*/ - NextToken?: string; + GroupNames: string[] | undefined; +} + +export namespace DisassociateSigninDelegateGroupsFromAccountRequest { + export const filterSensitiveLog = (obj: DisassociateSigninDelegateGroupsFromAccountRequest): any => ({ + ...obj, + }); } -export namespace ListAccountsResponse { - export const filterSensitiveLog = (obj: ListAccountsResponse): any => ({ +export interface DisassociateSigninDelegateGroupsFromAccountResponse {} + +export namespace DisassociateSigninDelegateGroupsFromAccountResponse { + export const filterSensitiveLog = (obj: DisassociateSigninDelegateGroupsFromAccountResponse): any => ({ ...obj, }); } -export interface ListAttendeesRequest { +/** + *

The Dialed Number Identification Service (DNIS) emergency calling configuration details associated with an Amazon Chime Voice Connector's emergency calling configuration.

+ */ +export interface DNISEmergencyCallingConfiguration { /** - *

The Amazon Chime SDK meeting ID.

+ *

The DNIS phone number to route emergency calls to, in E.164 format.

*/ - MeetingId: string | undefined; + EmergencyPhoneNumber: string | undefined; /** - *

The token to use to retrieve the next page of results.

+ *

The DNIS phone number to route test emergency calls to, in E.164 format.

*/ - NextToken?: string; + TestPhoneNumber?: string; /** - *

The maximum number of results to return in a single call.

+ *

The country from which emergency calls are allowed, in ISO 3166-1 alpha-2 format.

*/ - MaxResults?: number; + CallingCountry: string | undefined; } -export namespace ListAttendeesRequest { - export const filterSensitiveLog = (obj: ListAttendeesRequest): any => ({ +export namespace DNISEmergencyCallingConfiguration { + export const filterSensitiveLog = (obj: DNISEmergencyCallingConfiguration): any => ({ ...obj, + ...(obj.EmergencyPhoneNumber && { EmergencyPhoneNumber: SENSITIVE_STRING }), + ...(obj.TestPhoneNumber && { TestPhoneNumber: SENSITIVE_STRING }), }); } -export interface ListAttendeesResponse { - /** - *

The Amazon Chime SDK attendee information.

- */ - Attendees?: Attendee[]; +export enum EmailStatus { + Failed = "Failed", + NotSent = "NotSent", + Sent = "Sent", +} +/** + *

The emergency calling configuration details associated with an Amazon Chime Voice Connector.

+ */ +export interface EmergencyCallingConfiguration { /** - *

The token to use to retrieve the next page of results.

+ *

The Dialed Number Identification Service (DNIS) emergency calling configuration details.

*/ - NextToken?: string; + DNIS?: DNISEmergencyCallingConfiguration[]; } -export namespace ListAttendeesResponse { - export const filterSensitiveLog = (obj: ListAttendeesResponse): any => ({ +export namespace EmergencyCallingConfiguration { + export const filterSensitiveLog = (obj: EmergencyCallingConfiguration): any => ({ ...obj, - ...(obj.Attendees && { Attendees: obj.Attendees.map((item) => Attendee.filterSensitiveLog(item)) }), + ...(obj.DNIS && { DNIS: obj.DNIS.map((item) => DNISEmergencyCallingConfiguration.filterSensitiveLog(item)) }), }); } -export interface ListAttendeeTagsRequest { +/** + *

The configuration that allows a bot to receive outgoing events. Can be either an HTTPS endpoint or a Lambda function ARN.

+ */ +export interface EventsConfiguration { + /** + *

The bot ID.

+ */ + BotId?: string; + /** - *

The Amazon Chime SDK meeting ID.

+ *

HTTPS endpoint that allows a bot to receive outgoing events.

*/ - MeetingId: string | undefined; + OutboundEventsHTTPSEndpoint?: string; /** - *

The Amazon Chime SDK attendee ID.

+ *

Lambda function ARN that allows a bot to receive outgoing events.

*/ - AttendeeId: string | undefined; + LambdaFunctionArn?: string; } -export namespace ListAttendeeTagsRequest { - export const filterSensitiveLog = (obj: ListAttendeeTagsRequest): any => ({ +export namespace EventsConfiguration { + export const filterSensitiveLog = (obj: EventsConfiguration): any => ({ ...obj, + ...(obj.OutboundEventsHTTPSEndpoint && { OutboundEventsHTTPSEndpoint: SENSITIVE_STRING }), + ...(obj.LambdaFunctionArn && { LambdaFunctionArn: SENSITIVE_STRING }), }); } -export interface ListAttendeeTagsResponse { +export interface GetAccountRequest { /** - *

A list of tag key-value pairs.

+ *

The Amazon Chime account ID.

*/ - Tags?: Tag[]; + AccountId: string | undefined; } -export namespace ListAttendeeTagsResponse { - export const filterSensitiveLog = (obj: ListAttendeeTagsResponse): any => ({ +export namespace GetAccountRequest { + export const filterSensitiveLog = (obj: GetAccountRequest): any => ({ ...obj, - ...(obj.Tags && { Tags: obj.Tags.map((item) => Tag.filterSensitiveLog(item)) }), }); } -export interface ListBotsRequest { +export interface GetAccountResponse { /** - *

The Amazon Chime account ID.

+ *

The Amazon Chime account details. An AWS account can have multiple Amazon Chime accounts.

*/ - AccountId: string | undefined; + Account?: Account; +} - /** - *

The maximum number of results to return in a single call. The default is 10.

- */ - MaxResults?: number; +export namespace GetAccountResponse { + export const filterSensitiveLog = (obj: GetAccountResponse): any => ({ + ...obj, + }); +} +export interface GetAccountSettingsRequest { /** - *

The token to use to retrieve the next page of results.

+ *

The Amazon Chime account ID.

*/ - NextToken?: string; + AccountId: string | undefined; } -export namespace ListBotsRequest { - export const filterSensitiveLog = (obj: ListBotsRequest): any => ({ +export namespace GetAccountSettingsRequest { + export const filterSensitiveLog = (obj: GetAccountSettingsRequest): any => ({ ...obj, }); } -export interface ListBotsResponse { +export interface GetAccountSettingsResponse { /** - *

List of bots and bot details.

+ *

The Amazon Chime account settings.

*/ - Bots?: Bot[]; + AccountSettings?: AccountSettings; +} + +export namespace GetAccountSettingsResponse { + export const filterSensitiveLog = (obj: GetAccountSettingsResponse): any => ({ + ...obj, + }); +} +export interface GetAppInstanceRetentionSettingsRequest { /** - *

The token to use to retrieve the next page of results.

+ *

The ARN of the app instance.

*/ - NextToken?: string; + AppInstanceArn: string | undefined; } -export namespace ListBotsResponse { - export const filterSensitiveLog = (obj: ListBotsResponse): any => ({ +export namespace GetAppInstanceRetentionSettingsRequest { + export const filterSensitiveLog = (obj: GetAppInstanceRetentionSettingsRequest): any => ({ ...obj, - ...(obj.Bots && { Bots: obj.Bots.map((item) => Bot.filterSensitiveLog(item)) }), }); } -export interface ListMeetingsRequest { +export interface GetAppInstanceRetentionSettingsResponse { /** - *

The token to use to retrieve the next page of results.

+ *

The retention settings for the app instance.

*/ - NextToken?: string; + AppInstanceRetentionSettings?: AppInstanceRetentionSettings; /** - *

The maximum number of results to return in a single call.

+ *

The timestamp representing the time at which the specified items are retained, in Epoch Seconds.

*/ - MaxResults?: number; + InitiateDeletionTimestamp?: Date; } -export namespace ListMeetingsRequest { - export const filterSensitiveLog = (obj: ListMeetingsRequest): any => ({ +export namespace GetAppInstanceRetentionSettingsResponse { + export const filterSensitiveLog = (obj: GetAppInstanceRetentionSettingsResponse): any => ({ ...obj, }); } -export interface ListMeetingsResponse { +export interface GetAppInstanceStreamingConfigurationsRequest { /** - *

The Amazon Chime SDK meeting information.

+ *

The ARN of the app instance.

*/ - Meetings?: Meeting[]; + AppInstanceArn: string | undefined; +} + +export namespace GetAppInstanceStreamingConfigurationsRequest { + export const filterSensitiveLog = (obj: GetAppInstanceStreamingConfigurationsRequest): any => ({ + ...obj, + }); +} +export interface GetAppInstanceStreamingConfigurationsResponse { /** - *

The token to use to retrieve the next page of results.

+ *

The streaming settings.

*/ - NextToken?: string; + AppInstanceStreamingConfigurations?: AppInstanceStreamingConfiguration[]; } -export namespace ListMeetingsResponse { - export const filterSensitiveLog = (obj: ListMeetingsResponse): any => ({ +export namespace GetAppInstanceStreamingConfigurationsResponse { + export const filterSensitiveLog = (obj: GetAppInstanceStreamingConfigurationsResponse): any => ({ ...obj, - ...(obj.Meetings && { Meetings: obj.Meetings.map((item) => Meeting.filterSensitiveLog(item)) }), + ...(obj.AppInstanceStreamingConfigurations && { + AppInstanceStreamingConfigurations: obj.AppInstanceStreamingConfigurations.map((item) => + AppInstanceStreamingConfiguration.filterSensitiveLog(item) + ), + }), }); } -export interface ListMeetingTagsRequest { +export interface GetAttendeeRequest { /** *

The Amazon Chime SDK meeting ID.

*/ MeetingId: string | undefined; + + /** + *

The Amazon Chime SDK attendee ID.

+ */ + AttendeeId: string | undefined; } -export namespace ListMeetingTagsRequest { - export const filterSensitiveLog = (obj: ListMeetingTagsRequest): any => ({ +export namespace GetAttendeeRequest { + export const filterSensitiveLog = (obj: GetAttendeeRequest): any => ({ ...obj, }); } -export interface ListMeetingTagsResponse { +export interface GetAttendeeResponse { /** - *

A list of tag key-value pairs.

+ *

The Amazon Chime SDK attendee information.

*/ - Tags?: Tag[]; + Attendee?: Attendee; } -export namespace ListMeetingTagsResponse { - export const filterSensitiveLog = (obj: ListMeetingTagsResponse): any => ({ +export namespace GetAttendeeResponse { + export const filterSensitiveLog = (obj: GetAttendeeResponse): any => ({ ...obj, - ...(obj.Tags && { Tags: obj.Tags.map((item) => Tag.filterSensitiveLog(item)) }), + ...(obj.Attendee && { Attendee: Attendee.filterSensitiveLog(obj.Attendee) }), }); } -export interface ListPhoneNumberOrdersRequest { +export interface GetBotRequest { + /** + *

The Amazon Chime account ID.

+ */ + AccountId: string | undefined; + /** - *

The token to use to retrieve the next page of results.

+ *

The bot ID.

*/ - NextToken?: string; + BotId: string | undefined; +} + +export namespace GetBotRequest { + export const filterSensitiveLog = (obj: GetBotRequest): any => ({ + ...obj, + }); +} +export interface GetBotResponse { /** - *

The maximum number of results to return in a single call.

+ *

The chat bot details.

*/ - MaxResults?: number; + Bot?: Bot; } -export namespace ListPhoneNumberOrdersRequest { - export const filterSensitiveLog = (obj: ListPhoneNumberOrdersRequest): any => ({ +export namespace GetBotResponse { + export const filterSensitiveLog = (obj: GetBotResponse): any => ({ ...obj, + ...(obj.Bot && { Bot: Bot.filterSensitiveLog(obj.Bot) }), }); } -export interface ListPhoneNumberOrdersResponse { +export interface GetChannelMessageRequest { /** - *

The phone number order details.

+ *

The ARN of the channel.

*/ - PhoneNumberOrders?: PhoneNumberOrder[]; + ChannelArn: string | undefined; /** - *

The token to use to retrieve the next page of results.

+ *

The ID of the message.

*/ - NextToken?: string; + MessageId: string | undefined; } -export namespace ListPhoneNumberOrdersResponse { - export const filterSensitiveLog = (obj: ListPhoneNumberOrdersResponse): any => ({ +export namespace GetChannelMessageRequest { + export const filterSensitiveLog = (obj: GetChannelMessageRequest): any => ({ ...obj, }); } -export interface ListPhoneNumbersRequest { +export interface GetChannelMessageResponse { /** - *

The phone number status.

+ *

The details of and content in the message.

*/ - Status?: PhoneNumberStatus | string; + ChannelMessage?: ChannelMessage; +} - /** - *

The phone number product type.

- */ - ProductType?: PhoneNumberProductType | string; +export namespace GetChannelMessageResponse { + export const filterSensitiveLog = (obj: GetChannelMessageResponse): any => ({ + ...obj, + ...(obj.ChannelMessage && { ChannelMessage: ChannelMessage.filterSensitiveLog(obj.ChannelMessage) }), + }); +} +export interface GetEventsConfigurationRequest { /** - *

The filter to use to limit the number of results.

+ *

The Amazon Chime account ID.

*/ - FilterName?: PhoneNumberAssociationName | string; + AccountId: string | undefined; /** - *

The value to use for the filter.

+ *

The bot ID.

*/ - FilterValue?: string; + BotId: string | undefined; +} - /** - *

The maximum number of results to return in a single call.

- */ - MaxResults?: number; +export namespace GetEventsConfigurationRequest { + export const filterSensitiveLog = (obj: GetEventsConfigurationRequest): any => ({ + ...obj, + }); +} +export interface GetEventsConfigurationResponse { /** - *

The token to use to retrieve the next page of results.

+ *

The events configuration details.

*/ - NextToken?: string; + EventsConfiguration?: EventsConfiguration; } -export namespace ListPhoneNumbersRequest { - export const filterSensitiveLog = (obj: ListPhoneNumbersRequest): any => ({ +export namespace GetEventsConfigurationResponse { + export const filterSensitiveLog = (obj: GetEventsConfigurationResponse): any => ({ ...obj, + ...(obj.EventsConfiguration && { + EventsConfiguration: EventsConfiguration.filterSensitiveLog(obj.EventsConfiguration), + }), }); } -export interface ListPhoneNumbersResponse { - /** - *

The phone number details.

- */ - PhoneNumbers?: PhoneNumber[]; - +/** + *

The Amazon Chime Voice Connector settings. + * Includes any Amazon S3 buckets designated for storing call detail records.

+ */ +export interface VoiceConnectorSettings { /** - *

The token to use to retrieve the next page of results.

+ *

The Amazon S3 bucket designated for call detail record storage.

*/ - NextToken?: string; + CdrBucket?: string; } -export namespace ListPhoneNumbersResponse { - export const filterSensitiveLog = (obj: ListPhoneNumbersResponse): any => ({ +export namespace VoiceConnectorSettings { + export const filterSensitiveLog = (obj: VoiceConnectorSettings): any => ({ ...obj, - ...(obj.PhoneNumbers && { PhoneNumbers: obj.PhoneNumbers.map((item) => PhoneNumber.filterSensitiveLog(item)) }), }); } -export interface ListProxySessionsRequest { +export interface GetGlobalSettingsResponse { /** - *

The Amazon Chime voice connector ID.

+ *

The Amazon Chime Business Calling settings.

*/ - VoiceConnectorId: string | undefined; + BusinessCalling?: BusinessCallingSettings; /** - *

The proxy session status.

+ *

The Amazon Chime Voice Connector settings.

*/ - Status?: ProxySessionStatus | string; + VoiceConnector?: VoiceConnectorSettings; +} - /** - *

The token to use to retrieve the next page of results.

- */ - NextToken?: string; +export namespace GetGlobalSettingsResponse { + export const filterSensitiveLog = (obj: GetGlobalSettingsResponse): any => ({ + ...obj, + }); +} +export interface GetMeetingRequest { /** - *

The maximum number of results to return in a single call.

+ *

The Amazon Chime SDK meeting ID.

*/ - MaxResults?: number; + MeetingId: string | undefined; } -export namespace ListProxySessionsRequest { - export const filterSensitiveLog = (obj: ListProxySessionsRequest): any => ({ +export namespace GetMeetingRequest { + export const filterSensitiveLog = (obj: GetMeetingRequest): any => ({ ...obj, }); } -export interface ListProxySessionsResponse { - /** - *

The proxy session details.

- */ - ProxySessions?: ProxySession[]; - +export interface GetMeetingResponse { /** - *

The token to use to retrieve the next page of results.

+ *

The Amazon Chime SDK meeting information.

*/ - NextToken?: string; + Meeting?: Meeting; } -export namespace ListProxySessionsResponse { - export const filterSensitiveLog = (obj: ListProxySessionsResponse): any => ({ +export namespace GetMeetingResponse { + export const filterSensitiveLog = (obj: GetMeetingResponse): any => ({ ...obj, + ...(obj.Meeting && { Meeting: Meeting.filterSensitiveLog(obj.Meeting) }), }); } -export interface ListRoomMembershipsRequest { - /** - *

The Amazon Chime account ID.

- */ - AccountId: string | undefined; - - /** - *

The room ID.

- */ - RoomId: string | undefined; +export interface GetMessagingSessionEndpointRequest {} - /** - *

The maximum number of results to return in a single call.

- */ - MaxResults?: number; +export namespace GetMessagingSessionEndpointRequest { + export const filterSensitiveLog = (obj: GetMessagingSessionEndpointRequest): any => ({ + ...obj, + }); +} +/** + *

The endpoint of a meeting session.

+ */ +export interface MessagingSessionEndpoint { /** - *

The token to use to retrieve the next page of results.

+ *

The URL of a meeting session endpoint.

*/ - NextToken?: string; + Url?: string; } -export namespace ListRoomMembershipsRequest { - export const filterSensitiveLog = (obj: ListRoomMembershipsRequest): any => ({ +export namespace MessagingSessionEndpoint { + export const filterSensitiveLog = (obj: MessagingSessionEndpoint): any => ({ ...obj, }); } -export interface ListRoomMembershipsResponse { +export interface GetMessagingSessionEndpointResponse { /** - *

The room membership details.

+ *

The endpoint returned in the response.

*/ - RoomMemberships?: RoomMembership[]; + Endpoint?: MessagingSessionEndpoint; +} + +export namespace GetMessagingSessionEndpointResponse { + export const filterSensitiveLog = (obj: GetMessagingSessionEndpointResponse): any => ({ + ...obj, + }); +} +export interface GetPhoneNumberRequest { /** - *

The token to use to retrieve the next page of results.

+ *

The phone number ID.

*/ - NextToken?: string; + PhoneNumberId: string | undefined; } -export namespace ListRoomMembershipsResponse { - export const filterSensitiveLog = (obj: ListRoomMembershipsResponse): any => ({ +export namespace GetPhoneNumberRequest { + export const filterSensitiveLog = (obj: GetPhoneNumberRequest): any => ({ ...obj, - ...(obj.RoomMemberships && { - RoomMemberships: obj.RoomMemberships.map((item) => RoomMembership.filterSensitiveLog(item)), - }), }); } -export interface ListRoomsRequest { - /** - *

The Amazon Chime account ID.

- */ - AccountId: string | undefined; +export enum PhoneNumberAssociationName { + AccountId = "AccountId", + SipRuleId = "SipRuleId", + UserId = "UserId", + VoiceConnectorGroupId = "VoiceConnectorGroupId", + VoiceConnectorId = "VoiceConnectorId", +} +/** + *

The phone number associations, such as Amazon Chime account ID, Amazon Chime user ID, Amazon Chime Voice + * Connector ID, or Amazon Chime Voice Connector group ID.

+ */ +export interface PhoneNumberAssociation { /** - *

The member ID (user ID or bot ID).

+ *

Contains the ID for the entity specified in Name.

*/ - MemberId?: string; + Value?: string; /** - *

The maximum number of results to return in a single call.

+ *

Defines the association with an Amazon Chime account ID, user ID, Amazon Chime Voice + * Connector ID, or Amazon Chime Voice Connector group ID.

*/ - MaxResults?: number; + Name?: PhoneNumberAssociationName | string; /** - *

The token to use to retrieve the next page of results.

+ *

The timestamp of the phone number association, in ISO 8601 format.

*/ - NextToken?: string; + AssociatedTimestamp?: Date; } -export namespace ListRoomsRequest { - export const filterSensitiveLog = (obj: ListRoomsRequest): any => ({ +export namespace PhoneNumberAssociation { + export const filterSensitiveLog = (obj: PhoneNumberAssociation): any => ({ ...obj, }); } -export interface ListRoomsResponse { +/** + *

The phone number capabilities for Amazon Chime Business Calling phone numbers, such as enabled inbound and outbound calling and text + * messaging.

+ */ +export interface PhoneNumberCapabilities { /** - *

The room details.

+ *

Allows or denies inbound calling for the specified phone number.

*/ - Rooms?: Room[]; + InboundCall?: boolean; /** - *

The token to use to retrieve the next page of results.

+ *

Allows or denies outbound calling for the specified phone number.

*/ - NextToken?: string; -} - -export namespace ListRoomsResponse { - export const filterSensitiveLog = (obj: ListRoomsResponse): any => ({ - ...obj, - ...(obj.Rooms && { Rooms: obj.Rooms.map((item) => Room.filterSensitiveLog(item)) }), - }); -} + OutboundCall?: boolean; -export interface ListSipMediaApplicationsRequest { /** - *

The maximum number of results to return in a single call. Defaults to 100.

+ *

Allows or denies inbound SMS messaging for the specified phone number.

*/ - MaxResults?: number; + InboundSMS?: boolean; /** - *

The token to use to retrieve the next page of results.

+ *

Allows or denies outbound SMS messaging for the specified phone number.

*/ - NextToken?: string; -} - -export namespace ListSipMediaApplicationsRequest { - export const filterSensitiveLog = (obj: ListSipMediaApplicationsRequest): any => ({ - ...obj, - }); -} + OutboundSMS?: boolean; -export interface ListSipMediaApplicationsResponse { /** - *

List of SIP media applications and application details.

+ *

Allows or denies inbound MMS messaging for the specified phone number.

*/ - SipMediaApplications?: SipMediaApplication[]; + InboundMMS?: boolean; /** - *

The token to use to retrieve the next page of results.

+ *

Allows or denies outbound MMS messaging for the specified phone number.

*/ - NextToken?: string; + OutboundMMS?: boolean; } -export namespace ListSipMediaApplicationsResponse { - export const filterSensitiveLog = (obj: ListSipMediaApplicationsResponse): any => ({ +export namespace PhoneNumberCapabilities { + export const filterSensitiveLog = (obj: PhoneNumberCapabilities): any => ({ ...obj, }); } -export interface ListSipRulesRequest { +export enum PhoneNumberStatus { + AcquireFailed = "AcquireFailed", + AcquireInProgress = "AcquireInProgress", + Assigned = "Assigned", + DeleteFailed = "DeleteFailed", + DeleteInProgress = "DeleteInProgress", + ReleaseFailed = "ReleaseFailed", + ReleaseInProgress = "ReleaseInProgress", + Unassigned = "Unassigned", +} + +export enum PhoneNumberType { + Local = "Local", + TollFree = "TollFree", +} + +/** + *

A phone number used for Amazon Chime Business Calling or an Amazon Chime Voice + * Connector.

+ */ +export interface PhoneNumber { /** - *

The SIP media application ID.

+ *

The phone number ID.

*/ - SipMediaApplicationId?: string; + PhoneNumberId?: string; /** - *

The maximum number of results to return in a single call. Defaults to 100.

+ *

The phone number, in E.164 format.

*/ - MaxResults?: number; + E164PhoneNumber?: string; /** - *

The token to use to retrieve the next page of results.

+ *

The phone number type.

*/ - NextToken?: string; -} - -export namespace ListSipRulesRequest { - export const filterSensitiveLog = (obj: ListSipRulesRequest): any => ({ - ...obj, - }); -} + Type?: PhoneNumberType | string; -export interface ListSipRulesResponse { /** - *

List of SIP rules and rule details.

+ *

The phone number product type.

*/ - SipRules?: SipRule[]; + ProductType?: PhoneNumberProductType | string; /** - *

The token to use to retrieve the next page of results.

+ *

The phone number status.

*/ - NextToken?: string; -} - -export namespace ListSipRulesResponse { - export const filterSensitiveLog = (obj: ListSipRulesResponse): any => ({ - ...obj, - }); -} + Status?: PhoneNumberStatus | string; -export interface ListTagsForResourceRequest { /** - *

The resource ARN.

+ *

The phone number capabilities.

*/ - ResourceARN: string | undefined; -} - -export namespace ListTagsForResourceRequest { - export const filterSensitiveLog = (obj: ListTagsForResourceRequest): any => ({ - ...obj, - ...(obj.ResourceARN && { ResourceARN: SENSITIVE_STRING }), - }); -} + Capabilities?: PhoneNumberCapabilities; -export interface ListTagsForResourceResponse { /** - *

A list of tag-key value pairs.

+ *

The phone number associations.

*/ - Tags?: Tag[]; -} - -export namespace ListTagsForResourceResponse { - export const filterSensitiveLog = (obj: ListTagsForResourceResponse): any => ({ - ...obj, - ...(obj.Tags && { Tags: obj.Tags.map((item) => Tag.filterSensitiveLog(item)) }), - }); -} + Associations?: PhoneNumberAssociation[]; -export interface ListUsersRequest { /** - *

The Amazon Chime account ID.

+ *

The outbound calling name associated with the phone number.

*/ - AccountId: string | undefined; + CallingName?: string; /** - *

Optional. The user email address used to filter results. Maximum 1.

+ *

The outbound calling name status.

*/ - UserEmail?: string; + CallingNameStatus?: CallingNameStatus | string; /** - *

The user type.

+ *

The phone number creation timestamp, in ISO 8601 format.

*/ - UserType?: UserType | string; + CreatedTimestamp?: Date; /** - *

The maximum number of results to return in a single call. Defaults to 100.

+ *

The updated phone number timestamp, in ISO 8601 format.

*/ - MaxResults?: number; + UpdatedTimestamp?: Date; /** - *

The token to use to retrieve the next page of results.

+ *

The deleted phone number timestamp, in ISO 8601 format.

*/ - NextToken?: string; + DeletionTimestamp?: Date; } -export namespace ListUsersRequest { - export const filterSensitiveLog = (obj: ListUsersRequest): any => ({ +export namespace PhoneNumber { + export const filterSensitiveLog = (obj: PhoneNumber): any => ({ ...obj, - ...(obj.UserEmail && { UserEmail: SENSITIVE_STRING }), + ...(obj.E164PhoneNumber && { E164PhoneNumber: SENSITIVE_STRING }), + ...(obj.CallingName && { CallingName: SENSITIVE_STRING }), }); } -export interface ListUsersResponse { +export interface GetPhoneNumberResponse { /** - *

List of users and user details.

+ *

The phone number details.

*/ - Users?: User[]; + PhoneNumber?: PhoneNumber; +} + +export namespace GetPhoneNumberResponse { + export const filterSensitiveLog = (obj: GetPhoneNumberResponse): any => ({ + ...obj, + ...(obj.PhoneNumber && { PhoneNumber: PhoneNumber.filterSensitiveLog(obj.PhoneNumber) }), + }); +} +export interface GetPhoneNumberOrderRequest { /** - *

The token to use to retrieve the next page of results.

+ *

The ID for the phone number order.

*/ - NextToken?: string; + PhoneNumberOrderId: string | undefined; } -export namespace ListUsersResponse { - export const filterSensitiveLog = (obj: ListUsersResponse): any => ({ +export namespace GetPhoneNumberOrderRequest { + export const filterSensitiveLog = (obj: GetPhoneNumberOrderRequest): any => ({ ...obj, - ...(obj.Users && { Users: obj.Users.map((item) => User.filterSensitiveLog(item)) }), }); } -export interface ListVoiceConnectorGroupsRequest { - /** - *

The token to use to retrieve the next page of results.

- */ - NextToken?: string; - +export interface GetPhoneNumberOrderResponse { /** - *

The maximum number of results to return in a single call.

+ *

The phone number order details.

*/ - MaxResults?: number; + PhoneNumberOrder?: PhoneNumberOrder; } -export namespace ListVoiceConnectorGroupsRequest { - export const filterSensitiveLog = (obj: ListVoiceConnectorGroupsRequest): any => ({ +export namespace GetPhoneNumberOrderResponse { + export const filterSensitiveLog = (obj: GetPhoneNumberOrderResponse): any => ({ ...obj, + ...(obj.PhoneNumberOrder && { PhoneNumberOrder: PhoneNumberOrder.filterSensitiveLog(obj.PhoneNumberOrder) }), }); } -export interface ListVoiceConnectorGroupsResponse { +export interface GetPhoneNumberSettingsResponse { /** - *

The details of the Amazon Chime Voice Connector groups.

+ *

The default outbound calling name for the account.

*/ - VoiceConnectorGroups?: VoiceConnectorGroup[]; + CallingName?: string; /** - *

The token to use to retrieve the next page of results.

+ *

The updated outbound calling name timestamp, in ISO 8601 format.

*/ - NextToken?: string; + CallingNameUpdatedTimestamp?: Date; } -export namespace ListVoiceConnectorGroupsResponse { - export const filterSensitiveLog = (obj: ListVoiceConnectorGroupsResponse): any => ({ +export namespace GetPhoneNumberSettingsResponse { + export const filterSensitiveLog = (obj: GetPhoneNumberSettingsResponse): any => ({ ...obj, + ...(obj.CallingName && { CallingName: SENSITIVE_STRING }), }); } -export interface ListVoiceConnectorsRequest { +export interface GetProxySessionRequest { /** - *

The token to use to retrieve the next page of results.

+ *

The Amazon Chime voice connector ID.

*/ - NextToken?: string; + VoiceConnectorId: string | undefined; /** - *

The maximum number of results to return in a single call.

+ *

The proxy session ID.

*/ - MaxResults?: number; + ProxySessionId: string | undefined; } -export namespace ListVoiceConnectorsRequest { - export const filterSensitiveLog = (obj: ListVoiceConnectorsRequest): any => ({ +export namespace GetProxySessionRequest { + export const filterSensitiveLog = (obj: GetProxySessionRequest): any => ({ ...obj, }); } -export interface ListVoiceConnectorsResponse { - /** - *

The details of the Amazon Chime Voice Connectors.

- */ - VoiceConnectors?: VoiceConnector[]; - +export interface GetProxySessionResponse { /** - *

The token to use to retrieve the next page of results.

+ *

The proxy session details.

*/ - NextToken?: string; + ProxySession?: ProxySession; } -export namespace ListVoiceConnectorsResponse { - export const filterSensitiveLog = (obj: ListVoiceConnectorsResponse): any => ({ +export namespace GetProxySessionResponse { + export const filterSensitiveLog = (obj: GetProxySessionResponse): any => ({ ...obj, }); } -export interface ListVoiceConnectorTerminationCredentialsRequest { +export interface GetRetentionSettingsRequest { /** - *

The Amazon Chime Voice Connector ID.

+ *

The Amazon Chime account ID.

*/ - VoiceConnectorId: string | undefined; + AccountId: string | undefined; } -export namespace ListVoiceConnectorTerminationCredentialsRequest { - export const filterSensitiveLog = (obj: ListVoiceConnectorTerminationCredentialsRequest): any => ({ +export namespace GetRetentionSettingsRequest { + export const filterSensitiveLog = (obj: GetRetentionSettingsRequest): any => ({ ...obj, }); } -export interface ListVoiceConnectorTerminationCredentialsResponse { +/** + *

The retention settings that determine how long to retain chat room messages for an Amazon Chime Enterprise account.

+ */ +export interface RoomRetentionSettings { /** - *

A list of user names.

+ *

The number of days for which to retain chat room messages.

*/ - Usernames?: string[]; + RetentionDays?: number; } -export namespace ListVoiceConnectorTerminationCredentialsResponse { - export const filterSensitiveLog = (obj: ListVoiceConnectorTerminationCredentialsResponse): any => ({ +export namespace RoomRetentionSettings { + export const filterSensitiveLog = (obj: RoomRetentionSettings): any => ({ ...obj, - ...(obj.Usernames && { Usernames: SENSITIVE_STRING }), }); } -export interface LogoutUserRequest { +/** + *

The retention settings for an Amazon Chime Enterprise account that determine how long to retain items such as chat room messages + * and chat conversation messages.

+ */ +export interface RetentionSettings { /** - *

The Amazon Chime account ID.

+ *

The chat room retention settings.

*/ - AccountId: string | undefined; + RoomRetentionSettings?: RoomRetentionSettings; /** - *

The user ID.

+ *

The chat conversation retention settings.

*/ - UserId: string | undefined; + ConversationRetentionSettings?: ConversationRetentionSettings; } -export namespace LogoutUserRequest { - export const filterSensitiveLog = (obj: LogoutUserRequest): any => ({ +export namespace RetentionSettings { + export const filterSensitiveLog = (obj: RetentionSettings): any => ({ ...obj, }); } -export interface LogoutUserResponse {} +export interface GetRetentionSettingsResponse { + /** + *

The retention settings.

+ */ + RetentionSettings?: RetentionSettings; + + /** + *

The timestamp representing the time at which the specified items are permanently deleted, in ISO 8601 format.

+ */ + InitiateDeletionTimestamp?: Date; +} -export namespace LogoutUserResponse { - export const filterSensitiveLog = (obj: LogoutUserResponse): any => ({ +export namespace GetRetentionSettingsResponse { + export const filterSensitiveLog = (obj: GetRetentionSettingsResponse): any => ({ ...obj, }); } -export interface PutEventsConfigurationRequest { +export interface GetRoomRequest { /** *

The Amazon Chime account ID.

*/ AccountId: string | undefined; /** - *

The bot ID.

- */ - BotId: string | undefined; - - /** - *

HTTPS endpoint that allows the bot to receive outgoing events.

- */ - OutboundEventsHTTPSEndpoint?: string; - - /** - *

Lambda function ARN that allows the bot to receive outgoing events.

+ *

The room ID.

*/ - LambdaFunctionArn?: string; + RoomId: string | undefined; } -export namespace PutEventsConfigurationRequest { - export const filterSensitiveLog = (obj: PutEventsConfigurationRequest): any => ({ +export namespace GetRoomRequest { + export const filterSensitiveLog = (obj: GetRoomRequest): any => ({ ...obj, - ...(obj.OutboundEventsHTTPSEndpoint && { OutboundEventsHTTPSEndpoint: SENSITIVE_STRING }), - ...(obj.LambdaFunctionArn && { LambdaFunctionArn: SENSITIVE_STRING }), }); } -export interface PutEventsConfigurationResponse { +export interface GetRoomResponse { /** - *

The configuration that allows a bot to receive outgoing events. Can be either an HTTPS endpoint or a Lambda function ARN.

+ *

The room details.

*/ - EventsConfiguration?: EventsConfiguration; + Room?: Room; } -export namespace PutEventsConfigurationResponse { - export const filterSensitiveLog = (obj: PutEventsConfigurationResponse): any => ({ +export namespace GetRoomResponse { + export const filterSensitiveLog = (obj: GetRoomResponse): any => ({ ...obj, - ...(obj.EventsConfiguration && { - EventsConfiguration: EventsConfiguration.filterSensitiveLog(obj.EventsConfiguration), - }), + ...(obj.Room && { Room: Room.filterSensitiveLog(obj.Room) }), }); } -export interface PutRetentionSettingsRequest { - /** - *

The Amazon Chime account ID.

- */ - AccountId: string | undefined; - +export interface GetSipMediaApplicationRequest { /** - *

The retention settings.

+ *

The SIP media application ID.

*/ - RetentionSettings: RetentionSettings | undefined; + SipMediaApplicationId: string | undefined; } -export namespace PutRetentionSettingsRequest { - export const filterSensitiveLog = (obj: PutRetentionSettingsRequest): any => ({ +export namespace GetSipMediaApplicationRequest { + export const filterSensitiveLog = (obj: GetSipMediaApplicationRequest): any => ({ ...obj, }); } -export interface PutRetentionSettingsResponse { - /** - *

The retention settings.

- */ - RetentionSettings?: RetentionSettings; - +export interface GetSipMediaApplicationResponse { /** - *

The timestamp representing the time at which the specified items are permanently deleted, in ISO 8601 format.

+ *

The SIP media application details.

*/ - InitiateDeletionTimestamp?: Date; + SipMediaApplication?: SipMediaApplication; } -export namespace PutRetentionSettingsResponse { - export const filterSensitiveLog = (obj: PutRetentionSettingsResponse): any => ({ +export namespace GetSipMediaApplicationResponse { + export const filterSensitiveLog = (obj: GetSipMediaApplicationResponse): any => ({ ...obj, + ...(obj.SipMediaApplication && { + SipMediaApplication: SipMediaApplication.filterSensitiveLog(obj.SipMediaApplication), + }), }); } -export interface PutSipMediaApplicationLoggingConfigurationRequest { +export interface GetSipMediaApplicationLoggingConfigurationRequest { /** - *

The ID of the specified SIP media application

+ *

The ID of the SIP media application.

*/ SipMediaApplicationId: string | undefined; +} + +export namespace GetSipMediaApplicationLoggingConfigurationRequest { + export const filterSensitiveLog = (obj: GetSipMediaApplicationLoggingConfigurationRequest): any => ({ + ...obj, + }); +} +/** + *

Logging configuration of the SIP media application.

+ */ +export interface SipMediaApplicationLoggingConfiguration { /** - *

The actual logging configuration.

+ *

Enables application message logs for the SIP media application.

*/ - SipMediaApplicationLoggingConfiguration?: SipMediaApplicationLoggingConfiguration; + EnableSipMediaApplicationMessageLogs?: boolean; } -export namespace PutSipMediaApplicationLoggingConfigurationRequest { - export const filterSensitiveLog = (obj: PutSipMediaApplicationLoggingConfigurationRequest): any => ({ +export namespace SipMediaApplicationLoggingConfiguration { + export const filterSensitiveLog = (obj: SipMediaApplicationLoggingConfiguration): any => ({ ...obj, }); } -export interface PutSipMediaApplicationLoggingConfigurationResponse { +export interface GetSipMediaApplicationLoggingConfigurationResponse { /** *

The actual logging configuration.

*/ SipMediaApplicationLoggingConfiguration?: SipMediaApplicationLoggingConfiguration; } -export namespace PutSipMediaApplicationLoggingConfigurationResponse { - export const filterSensitiveLog = (obj: PutSipMediaApplicationLoggingConfigurationResponse): any => ({ +export namespace GetSipMediaApplicationLoggingConfigurationResponse { + export const filterSensitiveLog = (obj: GetSipMediaApplicationLoggingConfigurationResponse): any => ({ ...obj, }); } -export interface PutVoiceConnectorEmergencyCallingConfigurationRequest { - /** - *

The Amazon Chime Voice Connector ID.

- */ - VoiceConnectorId: string | undefined; - +export interface GetSipRuleRequest { /** - *

The emergency calling configuration details.

+ *

The SIP rule ID.

*/ - EmergencyCallingConfiguration: EmergencyCallingConfiguration | undefined; + SipRuleId: string | undefined; } -export namespace PutVoiceConnectorEmergencyCallingConfigurationRequest { - export const filterSensitiveLog = (obj: PutVoiceConnectorEmergencyCallingConfigurationRequest): any => ({ +export namespace GetSipRuleRequest { + export const filterSensitiveLog = (obj: GetSipRuleRequest): any => ({ ...obj, - ...(obj.EmergencyCallingConfiguration && { - EmergencyCallingConfiguration: EmergencyCallingConfiguration.filterSensitiveLog( - obj.EmergencyCallingConfiguration - ), - }), }); } -export interface PutVoiceConnectorEmergencyCallingConfigurationResponse { +export interface GetSipRuleResponse { /** - *

The emergency calling configuration details.

+ *

The SIP rule details.

*/ - EmergencyCallingConfiguration?: EmergencyCallingConfiguration; + SipRule?: SipRule; } -export namespace PutVoiceConnectorEmergencyCallingConfigurationResponse { - export const filterSensitiveLog = (obj: PutVoiceConnectorEmergencyCallingConfigurationResponse): any => ({ +export namespace GetSipRuleResponse { + export const filterSensitiveLog = (obj: GetSipRuleResponse): any => ({ ...obj, - ...(obj.EmergencyCallingConfiguration && { - EmergencyCallingConfiguration: EmergencyCallingConfiguration.filterSensitiveLog( - obj.EmergencyCallingConfiguration - ), - }), }); } -export interface PutVoiceConnectorLoggingConfigurationRequest { +export interface GetUserRequest { /** - *

The Amazon Chime Voice Connector ID.

+ *

The Amazon Chime account ID.

*/ - VoiceConnectorId: string | undefined; + AccountId: string | undefined; /** - *

The logging configuration details to add.

+ *

The user ID.

*/ - LoggingConfiguration: LoggingConfiguration | undefined; + UserId: string | undefined; } -export namespace PutVoiceConnectorLoggingConfigurationRequest { - export const filterSensitiveLog = (obj: PutVoiceConnectorLoggingConfigurationRequest): any => ({ +export namespace GetUserRequest { + export const filterSensitiveLog = (obj: GetUserRequest): any => ({ ...obj, }); } -export interface PutVoiceConnectorLoggingConfigurationResponse { +export interface GetUserResponse { /** - *

The updated logging configuration details.

+ *

The user details.

*/ - LoggingConfiguration?: LoggingConfiguration; + User?: User; } -export namespace PutVoiceConnectorLoggingConfigurationResponse { - export const filterSensitiveLog = (obj: PutVoiceConnectorLoggingConfigurationResponse): any => ({ +export namespace GetUserResponse { + export const filterSensitiveLog = (obj: GetUserResponse): any => ({ ...obj, + ...(obj.User && { User: User.filterSensitiveLog(obj.User) }), }); } -export interface PutVoiceConnectorOriginationRequest { +export interface GetUserSettingsRequest { /** - *

The Amazon Chime Voice Connector ID.

+ *

The Amazon Chime account ID.

*/ - VoiceConnectorId: string | undefined; + AccountId: string | undefined; /** - *

The origination setting details to add.

+ *

The user ID.

*/ - Origination: Origination | undefined; + UserId: string | undefined; } -export namespace PutVoiceConnectorOriginationRequest { - export const filterSensitiveLog = (obj: PutVoiceConnectorOriginationRequest): any => ({ +export namespace GetUserSettingsRequest { + export const filterSensitiveLog = (obj: GetUserSettingsRequest): any => ({ ...obj, }); } -export interface PutVoiceConnectorOriginationResponse { +/** + *

Settings that allow management of telephony permissions for an Amazon Chime user, such + * as inbound and outbound calling and text messaging.

+ */ +export interface TelephonySettings { + /** + *

Allows or denies inbound calling.

+ */ + InboundCalling: boolean | undefined; + /** - *

The updated origination setting details.

+ *

Allows or denies outbound calling.

*/ - Origination?: Origination; + OutboundCalling: boolean | undefined; + + /** + *

Allows or denies SMS messaging.

+ */ + SMS: boolean | undefined; } -export namespace PutVoiceConnectorOriginationResponse { - export const filterSensitiveLog = (obj: PutVoiceConnectorOriginationResponse): any => ({ +export namespace TelephonySettings { + export const filterSensitiveLog = (obj: TelephonySettings): any => ({ ...obj, }); } -export interface PutVoiceConnectorProxyRequest { +/** + *

Settings associated with an Amazon Chime user, including inbound and outbound calling and + * text messaging.

+ */ +export interface UserSettings { /** - *

The Amazon Chime voice connector ID.

+ *

The telephony settings associated with the user.

*/ - VoiceConnectorId: string | undefined; + Telephony: TelephonySettings | undefined; +} - /** - *

The default number of minutes allowed for proxy sessions.

- */ - DefaultSessionExpiryMinutes: number | undefined; +export namespace UserSettings { + export const filterSensitiveLog = (obj: UserSettings): any => ({ + ...obj, + }); +} +export interface GetUserSettingsResponse { /** - *

The countries for proxy phone numbers to be selected from.

+ *

The user settings.

*/ - PhoneNumberPoolCountries: string[] | undefined; + UserSettings?: UserSettings; +} - /** - *

The phone number to route calls to after a proxy session expires.

- */ - FallBackPhoneNumber?: string; +export namespace GetUserSettingsResponse { + export const filterSensitiveLog = (obj: GetUserSettingsResponse): any => ({ + ...obj, + }); +} +export interface GetVoiceConnectorRequest { /** - *

When true, stops proxy sessions from being created on the specified Amazon Chime Voice Connector.

+ *

The Amazon Chime Voice Connector ID.

*/ - Disabled?: boolean; + VoiceConnectorId: string | undefined; } -export namespace PutVoiceConnectorProxyRequest { - export const filterSensitiveLog = (obj: PutVoiceConnectorProxyRequest): any => ({ +export namespace GetVoiceConnectorRequest { + export const filterSensitiveLog = (obj: GetVoiceConnectorRequest): any => ({ ...obj, - ...(obj.FallBackPhoneNumber && { FallBackPhoneNumber: SENSITIVE_STRING }), }); } -export interface PutVoiceConnectorProxyResponse { +export interface GetVoiceConnectorResponse { /** - *

The proxy configuration details.

+ *

The Amazon Chime Voice Connector details.

*/ - Proxy?: Proxy; + VoiceConnector?: VoiceConnector; } -export namespace PutVoiceConnectorProxyResponse { - export const filterSensitiveLog = (obj: PutVoiceConnectorProxyResponse): any => ({ +export namespace GetVoiceConnectorResponse { + export const filterSensitiveLog = (obj: GetVoiceConnectorResponse): any => ({ ...obj, - ...(obj.Proxy && { Proxy: Proxy.filterSensitiveLog(obj.Proxy) }), }); } -export interface PutVoiceConnectorStreamingConfigurationRequest { +export interface GetVoiceConnectorEmergencyCallingConfigurationRequest { /** *

The Amazon Chime Voice Connector ID.

*/ VoiceConnectorId: string | undefined; - - /** - *

The streaming configuration details to add.

- */ - StreamingConfiguration: StreamingConfiguration | undefined; } -export namespace PutVoiceConnectorStreamingConfigurationRequest { - export const filterSensitiveLog = (obj: PutVoiceConnectorStreamingConfigurationRequest): any => ({ +export namespace GetVoiceConnectorEmergencyCallingConfigurationRequest { + export const filterSensitiveLog = (obj: GetVoiceConnectorEmergencyCallingConfigurationRequest): any => ({ ...obj, }); } -export interface PutVoiceConnectorStreamingConfigurationResponse { +export interface GetVoiceConnectorEmergencyCallingConfigurationResponse { /** - *

The updated streaming configuration details.

+ *

The emergency calling configuration details.

*/ - StreamingConfiguration?: StreamingConfiguration; + EmergencyCallingConfiguration?: EmergencyCallingConfiguration; } -export namespace PutVoiceConnectorStreamingConfigurationResponse { - export const filterSensitiveLog = (obj: PutVoiceConnectorStreamingConfigurationResponse): any => ({ +export namespace GetVoiceConnectorEmergencyCallingConfigurationResponse { + export const filterSensitiveLog = (obj: GetVoiceConnectorEmergencyCallingConfigurationResponse): any => ({ ...obj, + ...(obj.EmergencyCallingConfiguration && { + EmergencyCallingConfiguration: EmergencyCallingConfiguration.filterSensitiveLog( + obj.EmergencyCallingConfiguration + ), + }), }); } -export interface PutVoiceConnectorTerminationRequest { - /** - *

The Amazon Chime Voice Connector ID.

- */ - VoiceConnectorId: string | undefined; - +export interface GetVoiceConnectorGroupRequest { /** - *

The termination setting details to add.

+ *

The Amazon Chime Voice Connector group ID.

*/ - Termination: Termination | undefined; + VoiceConnectorGroupId: string | undefined; } -export namespace PutVoiceConnectorTerminationRequest { - export const filterSensitiveLog = (obj: PutVoiceConnectorTerminationRequest): any => ({ +export namespace GetVoiceConnectorGroupRequest { + export const filterSensitiveLog = (obj: GetVoiceConnectorGroupRequest): any => ({ ...obj, - ...(obj.Termination && { Termination: Termination.filterSensitiveLog(obj.Termination) }), }); } -export interface PutVoiceConnectorTerminationResponse { +export interface GetVoiceConnectorGroupResponse { /** - *

The updated termination setting details.

+ *

The Amazon Chime Voice Connector group details.

*/ - Termination?: Termination; + VoiceConnectorGroup?: VoiceConnectorGroup; } -export namespace PutVoiceConnectorTerminationResponse { - export const filterSensitiveLog = (obj: PutVoiceConnectorTerminationResponse): any => ({ +export namespace GetVoiceConnectorGroupResponse { + export const filterSensitiveLog = (obj: GetVoiceConnectorGroupResponse): any => ({ ...obj, - ...(obj.Termination && { Termination: Termination.filterSensitiveLog(obj.Termination) }), }); } -export interface PutVoiceConnectorTerminationCredentialsRequest { +export interface GetVoiceConnectorLoggingConfigurationRequest { /** *

The Amazon Chime Voice Connector ID.

*/ VoiceConnectorId: string | undefined; - - /** - *

The termination SIP credentials.

- */ - Credentials?: Credential[]; } -export namespace PutVoiceConnectorTerminationCredentialsRequest { - export const filterSensitiveLog = (obj: PutVoiceConnectorTerminationCredentialsRequest): any => ({ +export namespace GetVoiceConnectorLoggingConfigurationRequest { + export const filterSensitiveLog = (obj: GetVoiceConnectorLoggingConfigurationRequest): any => ({ ...obj, - ...(obj.Credentials && { Credentials: obj.Credentials.map((item) => Credential.filterSensitiveLog(item)) }), }); } -export interface RedactConversationMessageRequest { - /** - *

The Amazon Chime account ID.

- */ - AccountId: string | undefined; - - /** - *

The conversation ID.

- */ - ConversationId: string | undefined; - +/** + *

The logging configuration associated with an Amazon Chime Voice Connector. Specifies whether SIP message logs are enabled for sending to Amazon CloudWatch Logs.

+ */ +export interface LoggingConfiguration { /** - *

The message ID.

+ *

When true, enables SIP message logs for sending to Amazon CloudWatch Logs.

*/ - MessageId: string | undefined; + EnableSIPLogs?: boolean; } -export namespace RedactConversationMessageRequest { - export const filterSensitiveLog = (obj: RedactConversationMessageRequest): any => ({ +export namespace LoggingConfiguration { + export const filterSensitiveLog = (obj: LoggingConfiguration): any => ({ ...obj, }); } -export interface RedactConversationMessageResponse {} +export interface GetVoiceConnectorLoggingConfigurationResponse { + /** + *

The logging configuration details.

+ */ + LoggingConfiguration?: LoggingConfiguration; +} -export namespace RedactConversationMessageResponse { - export const filterSensitiveLog = (obj: RedactConversationMessageResponse): any => ({ +export namespace GetVoiceConnectorLoggingConfigurationResponse { + export const filterSensitiveLog = (obj: GetVoiceConnectorLoggingConfigurationResponse): any => ({ ...obj, }); } -export interface RedactRoomMessageRequest { - /** - *

The Amazon Chime account ID.

- */ - AccountId: string | undefined; - - /** - *

The room ID.

- */ - RoomId: string | undefined; - +export interface GetVoiceConnectorOriginationRequest { /** - *

The message ID.

+ *

The Amazon Chime Voice Connector ID.

*/ - MessageId: string | undefined; + VoiceConnectorId: string | undefined; } -export namespace RedactRoomMessageRequest { - export const filterSensitiveLog = (obj: RedactRoomMessageRequest): any => ({ +export namespace GetVoiceConnectorOriginationRequest { + export const filterSensitiveLog = (obj: GetVoiceConnectorOriginationRequest): any => ({ ...obj, }); } -export interface RedactRoomMessageResponse {} - -export namespace RedactRoomMessageResponse { - export const filterSensitiveLog = (obj: RedactRoomMessageResponse): any => ({ - ...obj, - }); +export enum OriginationRouteProtocol { + TCP = "TCP", + UDP = "UDP", } -export interface RegenerateSecurityTokenRequest { +/** + *

Origination routes define call distribution properties for your SIP hosts to receive + * inbound calls using your Amazon Chime Voice Connector. Limit: Ten origination routes for each + * Amazon Chime Voice Connector.

+ */ +export interface OriginationRoute { /** - *

The Amazon Chime account ID.

+ *

The FQDN or IP address to contact for origination traffic.

*/ - AccountId: string | undefined; + Host?: string; /** - *

The bot ID.

+ *

The designated origination route port. Defaults to 5060.

*/ - BotId: string | undefined; -} - -export namespace RegenerateSecurityTokenRequest { - export const filterSensitiveLog = (obj: RegenerateSecurityTokenRequest): any => ({ - ...obj, - }); -} + Port?: number; -export interface RegenerateSecurityTokenResponse { /** - *

A resource that allows Enterprise account administrators to configure an interface to receive events from Amazon Chime.

+ *

The protocol to use for the origination route. Encryption-enabled Amazon Chime Voice Connectors use TCP protocol by default.

*/ - Bot?: Bot; -} - -export namespace RegenerateSecurityTokenResponse { - export const filterSensitiveLog = (obj: RegenerateSecurityTokenResponse): any => ({ - ...obj, - ...(obj.Bot && { Bot: Bot.filterSensitiveLog(obj.Bot) }), - }); -} + Protocol?: OriginationRouteProtocol | string; -export interface ResetPersonalPINRequest { /** - *

The Amazon Chime account ID.

+ *

The priority associated with the host, with 1 being the highest priority. Higher + * priority hosts are attempted first.

*/ - AccountId: string | undefined; + Priority?: number; /** - *

The user ID.

+ *

The weight associated with the host. If hosts are equal in priority, calls are + * distributed among them based on their relative weight.

*/ - UserId: string | undefined; + Weight?: number; } -export namespace ResetPersonalPINRequest { - export const filterSensitiveLog = (obj: ResetPersonalPINRequest): any => ({ +export namespace OriginationRoute { + export const filterSensitiveLog = (obj: OriginationRoute): any => ({ ...obj, }); } -export interface ResetPersonalPINResponse { +/** + *

Origination settings enable your SIP hosts to receive inbound calls using your Amazon + * Chime Voice Connector.

+ */ +export interface Origination { + /** + *

The call distribution properties defined for your SIP hosts. Valid range: Minimum value + * of 1. Maximum value of 20.

+ */ + Routes?: OriginationRoute[]; + /** - *

The user details and new personal meeting PIN.

+ *

When origination settings are disabled, inbound calls are not enabled for your Amazon + * Chime Voice Connector.

*/ - User?: User; + Disabled?: boolean; } -export namespace ResetPersonalPINResponse { - export const filterSensitiveLog = (obj: ResetPersonalPINResponse): any => ({ +export namespace Origination { + export const filterSensitiveLog = (obj: Origination): any => ({ ...obj, - ...(obj.User && { User: User.filterSensitiveLog(obj.User) }), }); } -export interface RestorePhoneNumberRequest { +export interface GetVoiceConnectorOriginationResponse { /** - *

The phone number.

+ *

The origination setting details.

*/ - PhoneNumberId: string | undefined; + Origination?: Origination; } -export namespace RestorePhoneNumberRequest { - export const filterSensitiveLog = (obj: RestorePhoneNumberRequest): any => ({ +export namespace GetVoiceConnectorOriginationResponse { + export const filterSensitiveLog = (obj: GetVoiceConnectorOriginationResponse): any => ({ ...obj, }); } -export interface RestorePhoneNumberResponse { +export interface GetVoiceConnectorProxyRequest { /** - *

The phone number details.

+ *

The Amazon Chime voice connector ID.

*/ - PhoneNumber?: PhoneNumber; + VoiceConnectorId: string | undefined; } -export namespace RestorePhoneNumberResponse { - export const filterSensitiveLog = (obj: RestorePhoneNumberResponse): any => ({ +export namespace GetVoiceConnectorProxyRequest { + export const filterSensitiveLog = (obj: GetVoiceConnectorProxyRequest): any => ({ ...obj, - ...(obj.PhoneNumber && { PhoneNumber: PhoneNumber.filterSensitiveLog(obj.PhoneNumber) }), }); } -export interface SearchAvailablePhoneNumbersRequest { +/** + *

The proxy configuration for an Amazon Chime Voice Connector.

+ */ +export interface Proxy { /** - *

The area code used to filter results.

+ *

The default number of minutes allowed for proxy sessions.

*/ - AreaCode?: string; + DefaultSessionExpiryMinutes?: number; /** - *

The city used to filter results.

+ *

When true, stops proxy sessions from being created on the specified Amazon Chime Voice Connector.

*/ - City?: string; + Disabled?: boolean; /** - *

The country used to filter results.

+ *

The phone number to route calls to after a proxy session expires.

*/ - Country?: string; + FallBackPhoneNumber?: string; /** - *

The state used to filter results.

+ *

The countries for proxy phone numbers to be selected from.

*/ - State?: string; + PhoneNumberCountries?: string[]; +} - /** - *

The toll-free prefix that you use to filter results.

- */ - TollFreePrefix?: string; +export namespace Proxy { + export const filterSensitiveLog = (obj: Proxy): any => ({ + ...obj, + ...(obj.FallBackPhoneNumber && { FallBackPhoneNumber: SENSITIVE_STRING }), + }); +} +export interface GetVoiceConnectorProxyResponse { /** - *

The maximum number of results to return in a single call.

+ *

The proxy configuration details.

*/ - MaxResults?: number; + Proxy?: Proxy; +} + +export namespace GetVoiceConnectorProxyResponse { + export const filterSensitiveLog = (obj: GetVoiceConnectorProxyResponse): any => ({ + ...obj, + ...(obj.Proxy && { Proxy: Proxy.filterSensitiveLog(obj.Proxy) }), + }); +} +export interface GetVoiceConnectorStreamingConfigurationRequest { /** - *

The token to use to retrieve the next page of results.

+ *

The Amazon Chime Voice Connector ID.

*/ - NextToken?: string; + VoiceConnectorId: string | undefined; } -export namespace SearchAvailablePhoneNumbersRequest { - export const filterSensitiveLog = (obj: SearchAvailablePhoneNumbersRequest): any => ({ +export namespace GetVoiceConnectorStreamingConfigurationRequest { + export const filterSensitiveLog = (obj: GetVoiceConnectorStreamingConfigurationRequest): any => ({ ...obj, }); } -export interface SearchAvailablePhoneNumbersResponse { +export enum NotificationTarget { + EventBridge = "EventBridge", + SNS = "SNS", + SQS = "SQS", +} + +/** + *

The targeted recipient for a streaming configuration notification.

+ */ +export interface StreamingNotificationTarget { /** - *

List of phone numbers, in E.164 format.

+ *

The streaming notification target.

*/ - E164PhoneNumbers?: string[]; + NotificationTarget: NotificationTarget | string | undefined; } -export namespace SearchAvailablePhoneNumbersResponse { - export const filterSensitiveLog = (obj: SearchAvailablePhoneNumbersResponse): any => ({ +export namespace StreamingNotificationTarget { + export const filterSensitiveLog = (obj: StreamingNotificationTarget): any => ({ ...obj, - ...(obj.E164PhoneNumbers && { E164PhoneNumbers: SENSITIVE_STRING }), }); } -export interface TagAttendeeRequest { +/** + *

The streaming configuration associated with an Amazon Chime Voice Connector. Specifies whether media streaming is enabled for + * sending to Amazon Kinesis, and shows the retention period for the Amazon Kinesis data, in hours.

+ */ +export interface StreamingConfiguration { /** - *

The Amazon Chime SDK meeting ID.

+ *

The retention period, in hours, for the Amazon Kinesis data.

*/ - MeetingId: string | undefined; + DataRetentionInHours: number | undefined; /** - *

The Amazon Chime SDK attendee ID.

+ *

When true, media streaming to Amazon Kinesis is turned off.

*/ - AttendeeId: string | undefined; + Disabled?: boolean; /** - *

The tag key-value pairs.

+ *

The streaming notification targets.

+ */ + StreamingNotificationTargets?: StreamingNotificationTarget[]; +} + +export namespace StreamingConfiguration { + export const filterSensitiveLog = (obj: StreamingConfiguration): any => ({ + ...obj, + }); +} + +export interface GetVoiceConnectorStreamingConfigurationResponse { + /** + *

The streaming configuration details.

*/ - Tags: Tag[] | undefined; + StreamingConfiguration?: StreamingConfiguration; } -export namespace TagAttendeeRequest { - export const filterSensitiveLog = (obj: TagAttendeeRequest): any => ({ +export namespace GetVoiceConnectorStreamingConfigurationResponse { + export const filterSensitiveLog = (obj: GetVoiceConnectorStreamingConfigurationResponse): any => ({ ...obj, - ...(obj.Tags && { Tags: obj.Tags.map((item) => Tag.filterSensitiveLog(item)) }), }); } diff --git a/clients/client-chime/models/models_1.ts b/clients/client-chime/models/models_1.ts index 94e2dd605d9f..8f8ea88c7b52 100644 --- a/clients/client-chime/models/models_1.ts +++ b/clients/client-chime/models/models_1.ts @@ -2,20 +2,54 @@ import { Account, AccountSettings, AlexaForBusinessMetadata, + AppInstanceAdminSummary, + AppInstanceRetentionSettings, + AppInstanceStreamingConfiguration, + AppInstanceSummary, + AppInstanceUserSummary, + Attendee, Bot, BusinessCallingSettings, Capability, + ChannelBanSummary, + ChannelMembershipForAppInstanceUserSummary, + ChannelMembershipSummary, + ChannelMembershipType, + ChannelMessagePersistenceType, + ChannelMessageSummary, + ChannelMessageType, + ChannelMode, + ChannelModeratedByAppInstanceUserSummary, + ChannelModeratorSummary, + ChannelPrivacy, + ChannelSummary, + Credential, + EmailStatus, + EmergencyCallingConfiguration, + EventsConfiguration, + InviteStatus, License, + LoggingConfiguration, + Meeting, + Origination, PhoneNumber, + PhoneNumberAssociationName, + PhoneNumberOrder, PhoneNumberProductType, + PhoneNumberStatus, + Proxy, ProxySession, + ProxySessionStatus, + RetentionSettings, Room, RoomMembership, RoomMembershipRole, SipMediaApplication, SipMediaApplicationEndpoint, + SipMediaApplicationLoggingConfiguration, SipRule, SipRuleTargetApplication, + StreamingConfiguration, Tag, User, UserSettings, @@ -27,6 +61,2205 @@ import { } from "./models_0"; import { SENSITIVE_STRING } from "@aws-sdk/smithy-client"; +export interface GetVoiceConnectorTerminationRequest { + /** + *

The Amazon Chime Voice Connector ID.

+ */ + VoiceConnectorId: string | undefined; +} + +export namespace GetVoiceConnectorTerminationRequest { + export const filterSensitiveLog = (obj: GetVoiceConnectorTerminationRequest): any => ({ + ...obj, + }); +} + +/** + *

Termination settings enable your SIP hosts to make outbound calls using your Amazon + * Chime Voice Connector.

+ */ +export interface Termination { + /** + *

The limit on calls per second. Max value based on account service quota. Default value + * of 1.

+ */ + CpsLimit?: number; + + /** + *

The default caller ID phone number.

+ */ + DefaultPhoneNumber?: string; + + /** + *

The countries to which calls are allowed, in ISO 3166-1 alpha-2 format. Required.

+ */ + CallingRegions?: string[]; + + /** + *

The IP addresses allowed to make calls, in CIDR format. Required.

+ */ + CidrAllowedList?: string[]; + + /** + *

When termination settings are disabled, outbound calls can not be made.

+ */ + Disabled?: boolean; +} + +export namespace Termination { + export const filterSensitiveLog = (obj: Termination): any => ({ + ...obj, + ...(obj.DefaultPhoneNumber && { DefaultPhoneNumber: SENSITIVE_STRING }), + }); +} + +export interface GetVoiceConnectorTerminationResponse { + /** + *

The termination setting details.

+ */ + Termination?: Termination; +} + +export namespace GetVoiceConnectorTerminationResponse { + export const filterSensitiveLog = (obj: GetVoiceConnectorTerminationResponse): any => ({ + ...obj, + ...(obj.Termination && { Termination: Termination.filterSensitiveLog(obj.Termination) }), + }); +} + +export interface GetVoiceConnectorTerminationHealthRequest { + /** + *

The Amazon Chime Voice Connector ID.

+ */ + VoiceConnectorId: string | undefined; +} + +export namespace GetVoiceConnectorTerminationHealthRequest { + export const filterSensitiveLog = (obj: GetVoiceConnectorTerminationHealthRequest): any => ({ + ...obj, + }); +} + +/** + *

The termination health details, including the source IP address and timestamp of the + * last successful SIP OPTIONS message from your SIP infrastructure.

+ */ +export interface TerminationHealth { + /** + *

The timestamp, in ISO 8601 format.

+ */ + Timestamp?: Date; + + /** + *

The source IP address.

+ */ + Source?: string; +} + +export namespace TerminationHealth { + export const filterSensitiveLog = (obj: TerminationHealth): any => ({ + ...obj, + }); +} + +export interface GetVoiceConnectorTerminationHealthResponse { + /** + *

The termination health details.

+ */ + TerminationHealth?: TerminationHealth; +} + +export namespace GetVoiceConnectorTerminationHealthResponse { + export const filterSensitiveLog = (obj: GetVoiceConnectorTerminationHealthResponse): any => ({ + ...obj, + }); +} + +/** + *

Invitation object returned after emailing users to invite them to join the + * Amazon Chime Team account.

+ */ +export interface Invite { + /** + *

The invite ID.

+ */ + InviteId?: string; + + /** + *

The status of the invite.

+ */ + Status?: InviteStatus | string; + + /** + *

The email address to which the invite is sent.

+ */ + EmailAddress?: string; + + /** + *

The status of the invite email.

+ */ + EmailStatus?: EmailStatus | string; +} + +export namespace Invite { + export const filterSensitiveLog = (obj: Invite): any => ({ + ...obj, + ...(obj.EmailAddress && { EmailAddress: SENSITIVE_STRING }), + }); +} + +export interface InviteUsersRequest { + /** + *

The Amazon Chime account ID.

+ */ + AccountId: string | undefined; + + /** + *

The user email addresses to which to send the email invitation.

+ */ + UserEmailList: string[] | undefined; + + /** + *

The user type.

+ */ + UserType?: UserType | string; +} + +export namespace InviteUsersRequest { + export const filterSensitiveLog = (obj: InviteUsersRequest): any => ({ + ...obj, + ...(obj.UserEmailList && { UserEmailList: SENSITIVE_STRING }), + }); +} + +export interface InviteUsersResponse { + /** + *

The email invitation details.

+ */ + Invites?: Invite[]; +} + +export namespace InviteUsersResponse { + export const filterSensitiveLog = (obj: InviteUsersResponse): any => ({ + ...obj, + ...(obj.Invites && { Invites: obj.Invites.map((item) => Invite.filterSensitiveLog(item)) }), + }); +} + +export interface ListAccountsRequest { + /** + *

Amazon Chime account name prefix with which to filter results.

+ */ + Name?: string; + + /** + *

User email address with which to filter results.

+ */ + UserEmail?: string; + + /** + *

The token to use to retrieve the next page of results.

+ */ + NextToken?: string; + + /** + *

The maximum number of results to return in a single call. Defaults to 100.

+ */ + MaxResults?: number; +} + +export namespace ListAccountsRequest { + export const filterSensitiveLog = (obj: ListAccountsRequest): any => ({ + ...obj, + ...(obj.UserEmail && { UserEmail: SENSITIVE_STRING }), + }); +} + +export interface ListAccountsResponse { + /** + *

The list of accounts.

+ */ + Accounts?: Account[]; + + /** + *

The account's user token.

+ */ + NextToken?: string; +} + +export namespace ListAccountsResponse { + export const filterSensitiveLog = (obj: ListAccountsResponse): any => ({ + ...obj, + }); +} + +export interface ListAppInstanceAdminsRequest { + /** + *

The ARN of the app instance.

+ */ + AppInstanceArn: string | undefined; + + /** + *

The maximum number of administrators that you want to return.

+ */ + MaxResults?: number; + + /** + *

The token returned from previous API requests until the number of administrators is reached.

+ */ + NextToken?: string; +} + +export namespace ListAppInstanceAdminsRequest { + export const filterSensitiveLog = (obj: ListAppInstanceAdminsRequest): any => ({ + ...obj, + ...(obj.NextToken && { NextToken: SENSITIVE_STRING }), + }); +} + +export interface ListAppInstanceAdminsResponse { + /** + *

The ARN of the app instance.

+ */ + AppInstanceArn?: string; + + /** + *

The information for each administrator.

+ */ + AppInstanceAdmins?: AppInstanceAdminSummary[]; + + /** + *

The token returned from previous API requests until the number of administrators is reached.

+ */ + NextToken?: string; +} + +export namespace ListAppInstanceAdminsResponse { + export const filterSensitiveLog = (obj: ListAppInstanceAdminsResponse): any => ({ + ...obj, + ...(obj.AppInstanceAdmins && { + AppInstanceAdmins: obj.AppInstanceAdmins.map((item) => AppInstanceAdminSummary.filterSensitiveLog(item)), + }), + ...(obj.NextToken && { NextToken: SENSITIVE_STRING }), + }); +} + +export interface ListAppInstancesRequest { + /** + *

The maximum number of app instances that you want to return.

+ */ + MaxResults?: number; + + /** + *

The token passed by previous API requests until you reach the maximum number of app instances.

+ */ + NextToken?: string; +} + +export namespace ListAppInstancesRequest { + export const filterSensitiveLog = (obj: ListAppInstancesRequest): any => ({ + ...obj, + ...(obj.NextToken && { NextToken: SENSITIVE_STRING }), + }); +} + +export interface ListAppInstancesResponse { + /** + *

The information for each app instance.

+ */ + AppInstances?: AppInstanceSummary[]; + + /** + *

The token passed by previous API requests until the maximum number of app instances is reached.

+ */ + NextToken?: string; +} + +export namespace ListAppInstancesResponse { + export const filterSensitiveLog = (obj: ListAppInstancesResponse): any => ({ + ...obj, + ...(obj.AppInstances && { + AppInstances: obj.AppInstances.map((item) => AppInstanceSummary.filterSensitiveLog(item)), + }), + ...(obj.NextToken && { NextToken: SENSITIVE_STRING }), + }); +} + +export interface ListAppInstanceUsersRequest { + /** + *

The ARN of the app instance.

+ */ + AppInstanceArn: string | undefined; + + /** + *

The maximum number of requests that you want returned.

+ */ + MaxResults?: number; + + /** + *

The token passed by previous API calls until all requested users are returned.

+ */ + NextToken?: string; +} + +export namespace ListAppInstanceUsersRequest { + export const filterSensitiveLog = (obj: ListAppInstanceUsersRequest): any => ({ + ...obj, + ...(obj.NextToken && { NextToken: SENSITIVE_STRING }), + }); +} + +export interface ListAppInstanceUsersResponse { + /** + *

The ARN of the app instance.

+ */ + AppInstanceArn?: string; + + /** + *

The information for each of the requested app instance users.

+ */ + AppInstanceUsers?: AppInstanceUserSummary[]; + + /** + *

The token passed by previous API calls until all requested users are returned.

+ */ + NextToken?: string; +} + +export namespace ListAppInstanceUsersResponse { + export const filterSensitiveLog = (obj: ListAppInstanceUsersResponse): any => ({ + ...obj, + ...(obj.AppInstanceUsers && { + AppInstanceUsers: obj.AppInstanceUsers.map((item) => AppInstanceUserSummary.filterSensitiveLog(item)), + }), + ...(obj.NextToken && { NextToken: SENSITIVE_STRING }), + }); +} + +export interface ListAttendeesRequest { + /** + *

The Amazon Chime SDK meeting ID.

+ */ + MeetingId: string | undefined; + + /** + *

The token to use to retrieve the next page of results.

+ */ + NextToken?: string; + + /** + *

The maximum number of results to return in a single call.

+ */ + MaxResults?: number; +} + +export namespace ListAttendeesRequest { + export const filterSensitiveLog = (obj: ListAttendeesRequest): any => ({ + ...obj, + }); +} + +export interface ListAttendeesResponse { + /** + *

The Amazon Chime SDK attendee information.

+ */ + Attendees?: Attendee[]; + + /** + *

The token to use to retrieve the next page of results.

+ */ + NextToken?: string; +} + +export namespace ListAttendeesResponse { + export const filterSensitiveLog = (obj: ListAttendeesResponse): any => ({ + ...obj, + ...(obj.Attendees && { Attendees: obj.Attendees.map((item) => Attendee.filterSensitiveLog(item)) }), + }); +} + +export interface ListAttendeeTagsRequest { + /** + *

The Amazon Chime SDK meeting ID.

+ */ + MeetingId: string | undefined; + + /** + *

The Amazon Chime SDK attendee ID.

+ */ + AttendeeId: string | undefined; +} + +export namespace ListAttendeeTagsRequest { + export const filterSensitiveLog = (obj: ListAttendeeTagsRequest): any => ({ + ...obj, + }); +} + +export interface ListAttendeeTagsResponse { + /** + *

A list of tag key-value pairs.

+ */ + Tags?: Tag[]; +} + +export namespace ListAttendeeTagsResponse { + export const filterSensitiveLog = (obj: ListAttendeeTagsResponse): any => ({ + ...obj, + ...(obj.Tags && { Tags: obj.Tags.map((item) => Tag.filterSensitiveLog(item)) }), + }); +} + +export interface ListBotsRequest { + /** + *

The Amazon Chime account ID.

+ */ + AccountId: string | undefined; + + /** + *

The maximum number of results to return in a single call. The default is 10.

+ */ + MaxResults?: number; + + /** + *

The token to use to retrieve the next page of results.

+ */ + NextToken?: string; +} + +export namespace ListBotsRequest { + export const filterSensitiveLog = (obj: ListBotsRequest): any => ({ + ...obj, + }); +} + +export interface ListBotsResponse { + /** + *

List of bots and bot details.

+ */ + Bots?: Bot[]; + + /** + *

The token to use to retrieve the next page of results.

+ */ + NextToken?: string; +} + +export namespace ListBotsResponse { + export const filterSensitiveLog = (obj: ListBotsResponse): any => ({ + ...obj, + ...(obj.Bots && { Bots: obj.Bots.map((item) => Bot.filterSensitiveLog(item)) }), + }); +} + +export interface ListChannelBansRequest { + /** + *

The ARN of the channel.

+ */ + ChannelArn: string | undefined; + + /** + *

The maximum number of bans that you want returned.

+ */ + MaxResults?: number; + + /** + *

The token passed by previous API calls until all requested bans are returned.

+ */ + NextToken?: string; +} + +export namespace ListChannelBansRequest { + export const filterSensitiveLog = (obj: ListChannelBansRequest): any => ({ + ...obj, + ...(obj.NextToken && { NextToken: SENSITIVE_STRING }), + }); +} + +export interface ListChannelBansResponse { + /** + *

The ARN of the channel.

+ */ + ChannelArn?: string; + + /** + *

The token passed by previous API calls until all requested bans are returned.

+ */ + NextToken?: string; + + /** + *

The information for each requested ban.

+ */ + ChannelBans?: ChannelBanSummary[]; +} + +export namespace ListChannelBansResponse { + export const filterSensitiveLog = (obj: ListChannelBansResponse): any => ({ + ...obj, + ...(obj.NextToken && { NextToken: SENSITIVE_STRING }), + ...(obj.ChannelBans && { ChannelBans: obj.ChannelBans.map((item) => ChannelBanSummary.filterSensitiveLog(item)) }), + }); +} + +export interface ListChannelMembershipsRequest { + /** + *

The maximum number of channel memberships that you want returned.

+ */ + ChannelArn: string | undefined; + + /** + *

The membership type of a user, DEFAULT or HIDDEN. Default members are always returned as part of + * ListChannelMemberships. Hidden members are only returned if the type filter in ListChannelMemberships + * equals HIDDEN. Otherwise hidden members are not returned.

+ */ + Type?: ChannelMembershipType | string; + + /** + *

The maximum number of channel memberships that you want returned.

+ */ + MaxResults?: number; + + /** + *

The token passed by previous API calls until all requested channel memberships are returned..

+ */ + NextToken?: string; +} + +export namespace ListChannelMembershipsRequest { + export const filterSensitiveLog = (obj: ListChannelMembershipsRequest): any => ({ + ...obj, + ...(obj.NextToken && { NextToken: SENSITIVE_STRING }), + }); +} + +export interface ListChannelMembershipsResponse { + /** + *

The ARN of the channel.

+ */ + ChannelArn?: string; + + /** + *

The information for the requested channel memberships.

+ */ + ChannelMemberships?: ChannelMembershipSummary[]; + + /** + *

The token passed by previous API calls until all requested channel memberships are returned.

+ */ + NextToken?: string; +} + +export namespace ListChannelMembershipsResponse { + export const filterSensitiveLog = (obj: ListChannelMembershipsResponse): any => ({ + ...obj, + ...(obj.ChannelMemberships && { + ChannelMemberships: obj.ChannelMemberships.map((item) => ChannelMembershipSummary.filterSensitiveLog(item)), + }), + ...(obj.NextToken && { NextToken: SENSITIVE_STRING }), + }); +} + +export interface ListChannelMembershipsForAppInstanceUserRequest { + /** + *

The ARN of the app instance users

+ */ + AppInstanceUserArn?: string; + + /** + *

The maximum number of users that you want returned.

+ */ + MaxResults?: number; + + /** + *

The token returned from previous API requests until the number of channel memberships is reached.

+ */ + NextToken?: string; +} + +export namespace ListChannelMembershipsForAppInstanceUserRequest { + export const filterSensitiveLog = (obj: ListChannelMembershipsForAppInstanceUserRequest): any => ({ + ...obj, + ...(obj.NextToken && { NextToken: SENSITIVE_STRING }), + }); +} + +export interface ListChannelMembershipsForAppInstanceUserResponse { + /** + *

The token passed by previous API calls until all requested users are returned.

+ */ + ChannelMemberships?: ChannelMembershipForAppInstanceUserSummary[]; + + /** + *

The token passed by previous API calls until all requested users are returned.

+ */ + NextToken?: string; +} + +export namespace ListChannelMembershipsForAppInstanceUserResponse { + export const filterSensitiveLog = (obj: ListChannelMembershipsForAppInstanceUserResponse): any => ({ + ...obj, + ...(obj.ChannelMemberships && { + ChannelMemberships: obj.ChannelMemberships.map((item) => + ChannelMembershipForAppInstanceUserSummary.filterSensitiveLog(item) + ), + }), + ...(obj.NextToken && { NextToken: SENSITIVE_STRING }), + }); +} + +export enum SortOrder { + ASCENDING = "ASCENDING", + DESCENDING = "DESCENDING", +} + +export interface ListChannelMessagesRequest { + /** + *

The ARN of the channel.

+ */ + ChannelArn: string | undefined; + + /** + *

The order in which you want messages sorted. Default is Descending, based on time created.

+ */ + SortOrder?: SortOrder | string; + + /** + *

The initial or starting time stamp for your requested messages.

+ */ + NotBefore?: Date; + + /** + *

The final or ending time stamp for your requested messages.

+ */ + NotAfter?: Date; + + /** + *

The maximum number of messages that you want returned.

+ */ + MaxResults?: number; + + /** + *

The token passed by previous API calls until all requested messages are returned.

+ */ + NextToken?: string; +} + +export namespace ListChannelMessagesRequest { + export const filterSensitiveLog = (obj: ListChannelMessagesRequest): any => ({ + ...obj, + ...(obj.NextToken && { NextToken: SENSITIVE_STRING }), + }); +} + +export interface ListChannelMessagesResponse { + /** + *

The ARN of the channel containing the requested messages.

+ */ + ChannelArn?: string; + + /** + *

The token passed by previous API calls until all requested messages are returned.

+ */ + NextToken?: string; + + /** + *

The information about and content of each requested message.

+ */ + ChannelMessages?: ChannelMessageSummary[]; +} + +export namespace ListChannelMessagesResponse { + export const filterSensitiveLog = (obj: ListChannelMessagesResponse): any => ({ + ...obj, + ...(obj.NextToken && { NextToken: SENSITIVE_STRING }), + ...(obj.ChannelMessages && { + ChannelMessages: obj.ChannelMessages.map((item) => ChannelMessageSummary.filterSensitiveLog(item)), + }), + }); +} + +export interface ListChannelModeratorsRequest { + /** + *

The ARN of the channel.

+ */ + ChannelArn: string | undefined; + + /** + *

The maximum number of moderators that you want returned.

+ */ + MaxResults?: number; + + /** + *

The token passed by previous API calls until all requested moderators are returned.

+ */ + NextToken?: string; +} + +export namespace ListChannelModeratorsRequest { + export const filterSensitiveLog = (obj: ListChannelModeratorsRequest): any => ({ + ...obj, + ...(obj.NextToken && { NextToken: SENSITIVE_STRING }), + }); +} + +export interface ListChannelModeratorsResponse { + /** + *

The ARN of the channel.

+ */ + ChannelArn?: string; + + /** + *

The token passed by previous API calls until all requested moderators are returned.

+ */ + NextToken?: string; + + /** + *

The information about and names of each moderator.

+ */ + ChannelModerators?: ChannelModeratorSummary[]; +} + +export namespace ListChannelModeratorsResponse { + export const filterSensitiveLog = (obj: ListChannelModeratorsResponse): any => ({ + ...obj, + ...(obj.NextToken && { NextToken: SENSITIVE_STRING }), + ...(obj.ChannelModerators && { + ChannelModerators: obj.ChannelModerators.map((item) => ChannelModeratorSummary.filterSensitiveLog(item)), + }), + }); +} + +export interface ListChannelsRequest { + /** + *

The ARN of the app instance.

+ */ + AppInstanceArn: string | undefined; + + /** + *

The privacy setting. PUBLIC retrieves all the public channels. PRIVATE retrieves private channels. Only + * an app instance administrator can retrieve private channels.

+ */ + Privacy?: ChannelPrivacy | string; + + /** + *

The maximum number of channels that you want to return.

+ */ + MaxResults?: number; + + /** + *

The token passed by previous API calls until all requested channels are returned.

+ */ + NextToken?: string; +} + +export namespace ListChannelsRequest { + export const filterSensitiveLog = (obj: ListChannelsRequest): any => ({ + ...obj, + ...(obj.NextToken && { NextToken: SENSITIVE_STRING }), + }); +} + +export interface ListChannelsResponse { + /** + *

The information about each channel.

+ */ + Channels?: ChannelSummary[]; + + /** + *

The token returned from previous API requests until the number of channels is reached.

+ */ + NextToken?: string; +} + +export namespace ListChannelsResponse { + export const filterSensitiveLog = (obj: ListChannelsResponse): any => ({ + ...obj, + ...(obj.Channels && { Channels: obj.Channels.map((item) => ChannelSummary.filterSensitiveLog(item)) }), + ...(obj.NextToken && { NextToken: SENSITIVE_STRING }), + }); +} + +export interface ListChannelsModeratedByAppInstanceUserRequest { + /** + *

The ARN of the user in the moderated channel.

+ */ + AppInstanceUserArn?: string; + + /** + *

The maximum number of channels in the request.

+ */ + MaxResults?: number; + + /** + *

The token returned from previous API requests until the number of channels moderated by the user is reached.

+ */ + NextToken?: string; +} + +export namespace ListChannelsModeratedByAppInstanceUserRequest { + export const filterSensitiveLog = (obj: ListChannelsModeratedByAppInstanceUserRequest): any => ({ + ...obj, + ...(obj.NextToken && { NextToken: SENSITIVE_STRING }), + }); +} + +export interface ListChannelsModeratedByAppInstanceUserResponse { + /** + *

The moderated channels in the request.

+ */ + Channels?: ChannelModeratedByAppInstanceUserSummary[]; + + /** + *

The token returned from previous API requests until the number of channels moderated by the user is reached.

+ */ + NextToken?: string; +} + +export namespace ListChannelsModeratedByAppInstanceUserResponse { + export const filterSensitiveLog = (obj: ListChannelsModeratedByAppInstanceUserResponse): any => ({ + ...obj, + ...(obj.Channels && { + Channels: obj.Channels.map((item) => ChannelModeratedByAppInstanceUserSummary.filterSensitiveLog(item)), + }), + ...(obj.NextToken && { NextToken: SENSITIVE_STRING }), + }); +} + +export interface ListMeetingsRequest { + /** + *

The token to use to retrieve the next page of results.

+ */ + NextToken?: string; + + /** + *

The maximum number of results to return in a single call.

+ */ + MaxResults?: number; +} + +export namespace ListMeetingsRequest { + export const filterSensitiveLog = (obj: ListMeetingsRequest): any => ({ + ...obj, + }); +} + +export interface ListMeetingsResponse { + /** + *

The Amazon Chime SDK meeting information.

+ */ + Meetings?: Meeting[]; + + /** + *

The token to use to retrieve the next page of results.

+ */ + NextToken?: string; +} + +export namespace ListMeetingsResponse { + export const filterSensitiveLog = (obj: ListMeetingsResponse): any => ({ + ...obj, + ...(obj.Meetings && { Meetings: obj.Meetings.map((item) => Meeting.filterSensitiveLog(item)) }), + }); +} + +export interface ListMeetingTagsRequest { + /** + *

The Amazon Chime SDK meeting ID.

+ */ + MeetingId: string | undefined; +} + +export namespace ListMeetingTagsRequest { + export const filterSensitiveLog = (obj: ListMeetingTagsRequest): any => ({ + ...obj, + }); +} + +export interface ListMeetingTagsResponse { + /** + *

A list of tag key-value pairs.

+ */ + Tags?: Tag[]; +} + +export namespace ListMeetingTagsResponse { + export const filterSensitiveLog = (obj: ListMeetingTagsResponse): any => ({ + ...obj, + ...(obj.Tags && { Tags: obj.Tags.map((item) => Tag.filterSensitiveLog(item)) }), + }); +} + +export interface ListPhoneNumberOrdersRequest { + /** + *

The token to use to retrieve the next page of results.

+ */ + NextToken?: string; + + /** + *

The maximum number of results to return in a single call.

+ */ + MaxResults?: number; +} + +export namespace ListPhoneNumberOrdersRequest { + export const filterSensitiveLog = (obj: ListPhoneNumberOrdersRequest): any => ({ + ...obj, + }); +} + +export interface ListPhoneNumberOrdersResponse { + /** + *

The phone number order details.

+ */ + PhoneNumberOrders?: PhoneNumberOrder[]; + + /** + *

The token to use to retrieve the next page of results.

+ */ + NextToken?: string; +} + +export namespace ListPhoneNumberOrdersResponse { + export const filterSensitiveLog = (obj: ListPhoneNumberOrdersResponse): any => ({ + ...obj, + }); +} + +export interface ListPhoneNumbersRequest { + /** + *

The phone number status.

+ */ + Status?: PhoneNumberStatus | string; + + /** + *

The phone number product type.

+ */ + ProductType?: PhoneNumberProductType | string; + + /** + *

The filter to use to limit the number of results.

+ */ + FilterName?: PhoneNumberAssociationName | string; + + /** + *

The value to use for the filter.

+ */ + FilterValue?: string; + + /** + *

The maximum number of results to return in a single call.

+ */ + MaxResults?: number; + + /** + *

The token to use to retrieve the next page of results.

+ */ + NextToken?: string; +} + +export namespace ListPhoneNumbersRequest { + export const filterSensitiveLog = (obj: ListPhoneNumbersRequest): any => ({ + ...obj, + }); +} + +export interface ListPhoneNumbersResponse { + /** + *

The phone number details.

+ */ + PhoneNumbers?: PhoneNumber[]; + + /** + *

The token to use to retrieve the next page of results.

+ */ + NextToken?: string; +} + +export namespace ListPhoneNumbersResponse { + export const filterSensitiveLog = (obj: ListPhoneNumbersResponse): any => ({ + ...obj, + ...(obj.PhoneNumbers && { PhoneNumbers: obj.PhoneNumbers.map((item) => PhoneNumber.filterSensitiveLog(item)) }), + }); +} + +export interface ListProxySessionsRequest { + /** + *

The Amazon Chime voice connector ID.

+ */ + VoiceConnectorId: string | undefined; + + /** + *

The proxy session status.

+ */ + Status?: ProxySessionStatus | string; + + /** + *

The token to use to retrieve the next page of results.

+ */ + NextToken?: string; + + /** + *

The maximum number of results to return in a single call.

+ */ + MaxResults?: number; +} + +export namespace ListProxySessionsRequest { + export const filterSensitiveLog = (obj: ListProxySessionsRequest): any => ({ + ...obj, + }); +} + +export interface ListProxySessionsResponse { + /** + *

The proxy session details.

+ */ + ProxySessions?: ProxySession[]; + + /** + *

The token to use to retrieve the next page of results.

+ */ + NextToken?: string; +} + +export namespace ListProxySessionsResponse { + export const filterSensitiveLog = (obj: ListProxySessionsResponse): any => ({ + ...obj, + }); +} + +export interface ListRoomMembershipsRequest { + /** + *

The Amazon Chime account ID.

+ */ + AccountId: string | undefined; + + /** + *

The room ID.

+ */ + RoomId: string | undefined; + + /** + *

The maximum number of results to return in a single call.

+ */ + MaxResults?: number; + + /** + *

The token to use to retrieve the next page of results.

+ */ + NextToken?: string; +} + +export namespace ListRoomMembershipsRequest { + export const filterSensitiveLog = (obj: ListRoomMembershipsRequest): any => ({ + ...obj, + }); +} + +export interface ListRoomMembershipsResponse { + /** + *

The room membership details.

+ */ + RoomMemberships?: RoomMembership[]; + + /** + *

The token to use to retrieve the next page of results.

+ */ + NextToken?: string; +} + +export namespace ListRoomMembershipsResponse { + export const filterSensitiveLog = (obj: ListRoomMembershipsResponse): any => ({ + ...obj, + ...(obj.RoomMemberships && { + RoomMemberships: obj.RoomMemberships.map((item) => RoomMembership.filterSensitiveLog(item)), + }), + }); +} + +export interface ListRoomsRequest { + /** + *

The Amazon Chime account ID.

+ */ + AccountId: string | undefined; + + /** + *

The member ID (user ID or bot ID).

+ */ + MemberId?: string; + + /** + *

The maximum number of results to return in a single call.

+ */ + MaxResults?: number; + + /** + *

The token to use to retrieve the next page of results.

+ */ + NextToken?: string; +} + +export namespace ListRoomsRequest { + export const filterSensitiveLog = (obj: ListRoomsRequest): any => ({ + ...obj, + }); +} + +export interface ListRoomsResponse { + /** + *

The room details.

+ */ + Rooms?: Room[]; + + /** + *

The token to use to retrieve the next page of results.

+ */ + NextToken?: string; +} + +export namespace ListRoomsResponse { + export const filterSensitiveLog = (obj: ListRoomsResponse): any => ({ + ...obj, + ...(obj.Rooms && { Rooms: obj.Rooms.map((item) => Room.filterSensitiveLog(item)) }), + }); +} + +export interface ListSipMediaApplicationsRequest { + /** + *

The maximum number of results to return in a single call. Defaults to 100.

+ */ + MaxResults?: number; + + /** + *

The token to use to retrieve the next page of results.

+ */ + NextToken?: string; +} + +export namespace ListSipMediaApplicationsRequest { + export const filterSensitiveLog = (obj: ListSipMediaApplicationsRequest): any => ({ + ...obj, + }); +} + +export interface ListSipMediaApplicationsResponse { + /** + *

List of SIP media applications and application details.

+ */ + SipMediaApplications?: SipMediaApplication[]; + + /** + *

The token to use to retrieve the next page of results.

+ */ + NextToken?: string; +} + +export namespace ListSipMediaApplicationsResponse { + export const filterSensitiveLog = (obj: ListSipMediaApplicationsResponse): any => ({ + ...obj, + }); +} + +export interface ListSipRulesRequest { + /** + *

The SIP media application ID.

+ */ + SipMediaApplicationId?: string; + + /** + *

The maximum number of results to return in a single call. Defaults to 100.

+ */ + MaxResults?: number; + + /** + *

The token to use to retrieve the next page of results.

+ */ + NextToken?: string; +} + +export namespace ListSipRulesRequest { + export const filterSensitiveLog = (obj: ListSipRulesRequest): any => ({ + ...obj, + }); +} + +export interface ListSipRulesResponse { + /** + *

List of SIP rules and rule details.

+ */ + SipRules?: SipRule[]; + + /** + *

The token to use to retrieve the next page of results.

+ */ + NextToken?: string; +} + +export namespace ListSipRulesResponse { + export const filterSensitiveLog = (obj: ListSipRulesResponse): any => ({ + ...obj, + }); +} + +export interface ListTagsForResourceRequest { + /** + *

The resource ARN.

+ */ + ResourceARN: string | undefined; +} + +export namespace ListTagsForResourceRequest { + export const filterSensitiveLog = (obj: ListTagsForResourceRequest): any => ({ + ...obj, + ...(obj.ResourceARN && { ResourceARN: SENSITIVE_STRING }), + }); +} + +export interface ListTagsForResourceResponse { + /** + *

A list of tag-key value pairs.

+ */ + Tags?: Tag[]; +} + +export namespace ListTagsForResourceResponse { + export const filterSensitiveLog = (obj: ListTagsForResourceResponse): any => ({ + ...obj, + ...(obj.Tags && { Tags: obj.Tags.map((item) => Tag.filterSensitiveLog(item)) }), + }); +} + +export interface ListUsersRequest { + /** + *

The Amazon Chime account ID.

+ */ + AccountId: string | undefined; + + /** + *

Optional. The user email address used to filter results. Maximum 1.

+ */ + UserEmail?: string; + + /** + *

The user type.

+ */ + UserType?: UserType | string; + + /** + *

The maximum number of results to return in a single call. Defaults to 100.

+ */ + MaxResults?: number; + + /** + *

The token to use to retrieve the next page of results.

+ */ + NextToken?: string; +} + +export namespace ListUsersRequest { + export const filterSensitiveLog = (obj: ListUsersRequest): any => ({ + ...obj, + ...(obj.UserEmail && { UserEmail: SENSITIVE_STRING }), + }); +} + +export interface ListUsersResponse { + /** + *

List of users and user details.

+ */ + Users?: User[]; + + /** + *

The token to use to retrieve the next page of results.

+ */ + NextToken?: string; +} + +export namespace ListUsersResponse { + export const filterSensitiveLog = (obj: ListUsersResponse): any => ({ + ...obj, + ...(obj.Users && { Users: obj.Users.map((item) => User.filterSensitiveLog(item)) }), + }); +} + +export interface ListVoiceConnectorGroupsRequest { + /** + *

The token to use to retrieve the next page of results.

+ */ + NextToken?: string; + + /** + *

The maximum number of results to return in a single call.

+ */ + MaxResults?: number; +} + +export namespace ListVoiceConnectorGroupsRequest { + export const filterSensitiveLog = (obj: ListVoiceConnectorGroupsRequest): any => ({ + ...obj, + }); +} + +export interface ListVoiceConnectorGroupsResponse { + /** + *

The details of the Amazon Chime Voice Connector groups.

+ */ + VoiceConnectorGroups?: VoiceConnectorGroup[]; + + /** + *

The token to use to retrieve the next page of results.

+ */ + NextToken?: string; +} + +export namespace ListVoiceConnectorGroupsResponse { + export const filterSensitiveLog = (obj: ListVoiceConnectorGroupsResponse): any => ({ + ...obj, + }); +} + +export interface ListVoiceConnectorsRequest { + /** + *

The token to use to retrieve the next page of results.

+ */ + NextToken?: string; + + /** + *

The maximum number of results to return in a single call.

+ */ + MaxResults?: number; +} + +export namespace ListVoiceConnectorsRequest { + export const filterSensitiveLog = (obj: ListVoiceConnectorsRequest): any => ({ + ...obj, + }); +} + +export interface ListVoiceConnectorsResponse { + /** + *

The details of the Amazon Chime Voice Connectors.

+ */ + VoiceConnectors?: VoiceConnector[]; + + /** + *

The token to use to retrieve the next page of results.

+ */ + NextToken?: string; +} + +export namespace ListVoiceConnectorsResponse { + export const filterSensitiveLog = (obj: ListVoiceConnectorsResponse): any => ({ + ...obj, + }); +} + +export interface ListVoiceConnectorTerminationCredentialsRequest { + /** + *

The Amazon Chime Voice Connector ID.

+ */ + VoiceConnectorId: string | undefined; +} + +export namespace ListVoiceConnectorTerminationCredentialsRequest { + export const filterSensitiveLog = (obj: ListVoiceConnectorTerminationCredentialsRequest): any => ({ + ...obj, + }); +} + +export interface ListVoiceConnectorTerminationCredentialsResponse { + /** + *

A list of user names.

+ */ + Usernames?: string[]; +} + +export namespace ListVoiceConnectorTerminationCredentialsResponse { + export const filterSensitiveLog = (obj: ListVoiceConnectorTerminationCredentialsResponse): any => ({ + ...obj, + ...(obj.Usernames && { Usernames: SENSITIVE_STRING }), + }); +} + +export interface LogoutUserRequest { + /** + *

The Amazon Chime account ID.

+ */ + AccountId: string | undefined; + + /** + *

The user ID.

+ */ + UserId: string | undefined; +} + +export namespace LogoutUserRequest { + export const filterSensitiveLog = (obj: LogoutUserRequest): any => ({ + ...obj, + }); +} + +export interface LogoutUserResponse {} + +export namespace LogoutUserResponse { + export const filterSensitiveLog = (obj: LogoutUserResponse): any => ({ + ...obj, + }); +} + +export interface PutAppInstanceRetentionSettingsRequest { + /** + *

The ARN of the app instance.

+ */ + AppInstanceArn: string | undefined; + + /** + *

The time in days to retain data. Data type: number.

+ */ + AppInstanceRetentionSettings: AppInstanceRetentionSettings | undefined; +} + +export namespace PutAppInstanceRetentionSettingsRequest { + export const filterSensitiveLog = (obj: PutAppInstanceRetentionSettingsRequest): any => ({ + ...obj, + }); +} + +export interface PutAppInstanceRetentionSettingsResponse { + /** + *

The time in days to retain data. Data type: number.

+ */ + AppInstanceRetentionSettings?: AppInstanceRetentionSettings; + + /** + *

The time at which the API deletes data.

+ */ + InitiateDeletionTimestamp?: Date; +} + +export namespace PutAppInstanceRetentionSettingsResponse { + export const filterSensitiveLog = (obj: PutAppInstanceRetentionSettingsResponse): any => ({ + ...obj, + }); +} + +export interface PutAppInstanceStreamingConfigurationsRequest { + /** + *

The ARN of the app instance.

+ */ + AppInstanceArn: string | undefined; + + /** + *

The streaming configurations set for an app instance.

+ */ + AppInstanceStreamingConfigurations: AppInstanceStreamingConfiguration[] | undefined; +} + +export namespace PutAppInstanceStreamingConfigurationsRequest { + export const filterSensitiveLog = (obj: PutAppInstanceStreamingConfigurationsRequest): any => ({ + ...obj, + ...(obj.AppInstanceStreamingConfigurations && { + AppInstanceStreamingConfigurations: obj.AppInstanceStreamingConfigurations.map((item) => + AppInstanceStreamingConfiguration.filterSensitiveLog(item) + ), + }), + }); +} + +export interface PutAppInstanceStreamingConfigurationsResponse { + /** + *

The streaming configurations of an app instance.

+ */ + AppInstanceStreamingConfigurations?: AppInstanceStreamingConfiguration[]; +} + +export namespace PutAppInstanceStreamingConfigurationsResponse { + export const filterSensitiveLog = (obj: PutAppInstanceStreamingConfigurationsResponse): any => ({ + ...obj, + ...(obj.AppInstanceStreamingConfigurations && { + AppInstanceStreamingConfigurations: obj.AppInstanceStreamingConfigurations.map((item) => + AppInstanceStreamingConfiguration.filterSensitiveLog(item) + ), + }), + }); +} + +export interface PutEventsConfigurationRequest { + /** + *

The Amazon Chime account ID.

+ */ + AccountId: string | undefined; + + /** + *

The bot ID.

+ */ + BotId: string | undefined; + + /** + *

HTTPS endpoint that allows the bot to receive outgoing events.

+ */ + OutboundEventsHTTPSEndpoint?: string; + + /** + *

Lambda function ARN that allows the bot to receive outgoing events.

+ */ + LambdaFunctionArn?: string; +} + +export namespace PutEventsConfigurationRequest { + export const filterSensitiveLog = (obj: PutEventsConfigurationRequest): any => ({ + ...obj, + ...(obj.OutboundEventsHTTPSEndpoint && { OutboundEventsHTTPSEndpoint: SENSITIVE_STRING }), + ...(obj.LambdaFunctionArn && { LambdaFunctionArn: SENSITIVE_STRING }), + }); +} + +export interface PutEventsConfigurationResponse { + /** + *

The configuration that allows a bot to receive outgoing events. Can be either an HTTPS endpoint or a Lambda function ARN.

+ */ + EventsConfiguration?: EventsConfiguration; +} + +export namespace PutEventsConfigurationResponse { + export const filterSensitiveLog = (obj: PutEventsConfigurationResponse): any => ({ + ...obj, + ...(obj.EventsConfiguration && { + EventsConfiguration: EventsConfiguration.filterSensitiveLog(obj.EventsConfiguration), + }), + }); +} + +export interface PutRetentionSettingsRequest { + /** + *

The Amazon Chime account ID.

+ */ + AccountId: string | undefined; + + /** + *

The retention settings.

+ */ + RetentionSettings: RetentionSettings | undefined; +} + +export namespace PutRetentionSettingsRequest { + export const filterSensitiveLog = (obj: PutRetentionSettingsRequest): any => ({ + ...obj, + }); +} + +export interface PutRetentionSettingsResponse { + /** + *

The retention settings.

+ */ + RetentionSettings?: RetentionSettings; + + /** + *

The timestamp representing the time at which the specified items are permanently deleted, in ISO 8601 format.

+ */ + InitiateDeletionTimestamp?: Date; +} + +export namespace PutRetentionSettingsResponse { + export const filterSensitiveLog = (obj: PutRetentionSettingsResponse): any => ({ + ...obj, + }); +} + +export interface PutSipMediaApplicationLoggingConfigurationRequest { + /** + *

The ID of the specified SIP media application

+ */ + SipMediaApplicationId: string | undefined; + + /** + *

The actual logging configuration.

+ */ + SipMediaApplicationLoggingConfiguration?: SipMediaApplicationLoggingConfiguration; +} + +export namespace PutSipMediaApplicationLoggingConfigurationRequest { + export const filterSensitiveLog = (obj: PutSipMediaApplicationLoggingConfigurationRequest): any => ({ + ...obj, + }); +} + +export interface PutSipMediaApplicationLoggingConfigurationResponse { + /** + *

The actual logging configuration.

+ */ + SipMediaApplicationLoggingConfiguration?: SipMediaApplicationLoggingConfiguration; +} + +export namespace PutSipMediaApplicationLoggingConfigurationResponse { + export const filterSensitiveLog = (obj: PutSipMediaApplicationLoggingConfigurationResponse): any => ({ + ...obj, + }); +} + +export interface PutVoiceConnectorEmergencyCallingConfigurationRequest { + /** + *

The Amazon Chime Voice Connector ID.

+ */ + VoiceConnectorId: string | undefined; + + /** + *

The emergency calling configuration details.

+ */ + EmergencyCallingConfiguration: EmergencyCallingConfiguration | undefined; +} + +export namespace PutVoiceConnectorEmergencyCallingConfigurationRequest { + export const filterSensitiveLog = (obj: PutVoiceConnectorEmergencyCallingConfigurationRequest): any => ({ + ...obj, + ...(obj.EmergencyCallingConfiguration && { + EmergencyCallingConfiguration: EmergencyCallingConfiguration.filterSensitiveLog( + obj.EmergencyCallingConfiguration + ), + }), + }); +} + +export interface PutVoiceConnectorEmergencyCallingConfigurationResponse { + /** + *

The emergency calling configuration details.

+ */ + EmergencyCallingConfiguration?: EmergencyCallingConfiguration; +} + +export namespace PutVoiceConnectorEmergencyCallingConfigurationResponse { + export const filterSensitiveLog = (obj: PutVoiceConnectorEmergencyCallingConfigurationResponse): any => ({ + ...obj, + ...(obj.EmergencyCallingConfiguration && { + EmergencyCallingConfiguration: EmergencyCallingConfiguration.filterSensitiveLog( + obj.EmergencyCallingConfiguration + ), + }), + }); +} + +export interface PutVoiceConnectorLoggingConfigurationRequest { + /** + *

The Amazon Chime Voice Connector ID.

+ */ + VoiceConnectorId: string | undefined; + + /** + *

The logging configuration details to add.

+ */ + LoggingConfiguration: LoggingConfiguration | undefined; +} + +export namespace PutVoiceConnectorLoggingConfigurationRequest { + export const filterSensitiveLog = (obj: PutVoiceConnectorLoggingConfigurationRequest): any => ({ + ...obj, + }); +} + +export interface PutVoiceConnectorLoggingConfigurationResponse { + /** + *

The updated logging configuration details.

+ */ + LoggingConfiguration?: LoggingConfiguration; +} + +export namespace PutVoiceConnectorLoggingConfigurationResponse { + export const filterSensitiveLog = (obj: PutVoiceConnectorLoggingConfigurationResponse): any => ({ + ...obj, + }); +} + +export interface PutVoiceConnectorOriginationRequest { + /** + *

The Amazon Chime Voice Connector ID.

+ */ + VoiceConnectorId: string | undefined; + + /** + *

The origination setting details to add.

+ */ + Origination: Origination | undefined; +} + +export namespace PutVoiceConnectorOriginationRequest { + export const filterSensitiveLog = (obj: PutVoiceConnectorOriginationRequest): any => ({ + ...obj, + }); +} + +export interface PutVoiceConnectorOriginationResponse { + /** + *

The updated origination setting details.

+ */ + Origination?: Origination; +} + +export namespace PutVoiceConnectorOriginationResponse { + export const filterSensitiveLog = (obj: PutVoiceConnectorOriginationResponse): any => ({ + ...obj, + }); +} + +export interface PutVoiceConnectorProxyRequest { + /** + *

The Amazon Chime voice connector ID.

+ */ + VoiceConnectorId: string | undefined; + + /** + *

The default number of minutes allowed for proxy sessions.

+ */ + DefaultSessionExpiryMinutes: number | undefined; + + /** + *

The countries for proxy phone numbers to be selected from.

+ */ + PhoneNumberPoolCountries: string[] | undefined; + + /** + *

The phone number to route calls to after a proxy session expires.

+ */ + FallBackPhoneNumber?: string; + + /** + *

When true, stops proxy sessions from being created on the specified Amazon Chime Voice Connector.

+ */ + Disabled?: boolean; +} + +export namespace PutVoiceConnectorProxyRequest { + export const filterSensitiveLog = (obj: PutVoiceConnectorProxyRequest): any => ({ + ...obj, + ...(obj.FallBackPhoneNumber && { FallBackPhoneNumber: SENSITIVE_STRING }), + }); +} + +export interface PutVoiceConnectorProxyResponse { + /** + *

The proxy configuration details.

+ */ + Proxy?: Proxy; +} + +export namespace PutVoiceConnectorProxyResponse { + export const filterSensitiveLog = (obj: PutVoiceConnectorProxyResponse): any => ({ + ...obj, + ...(obj.Proxy && { Proxy: Proxy.filterSensitiveLog(obj.Proxy) }), + }); +} + +export interface PutVoiceConnectorStreamingConfigurationRequest { + /** + *

The Amazon Chime Voice Connector ID.

+ */ + VoiceConnectorId: string | undefined; + + /** + *

The streaming configuration details to add.

+ */ + StreamingConfiguration: StreamingConfiguration | undefined; +} + +export namespace PutVoiceConnectorStreamingConfigurationRequest { + export const filterSensitiveLog = (obj: PutVoiceConnectorStreamingConfigurationRequest): any => ({ + ...obj, + }); +} + +export interface PutVoiceConnectorStreamingConfigurationResponse { + /** + *

The updated streaming configuration details.

+ */ + StreamingConfiguration?: StreamingConfiguration; +} + +export namespace PutVoiceConnectorStreamingConfigurationResponse { + export const filterSensitiveLog = (obj: PutVoiceConnectorStreamingConfigurationResponse): any => ({ + ...obj, + }); +} + +export interface PutVoiceConnectorTerminationRequest { + /** + *

The Amazon Chime Voice Connector ID.

+ */ + VoiceConnectorId: string | undefined; + + /** + *

The termination setting details to add.

+ */ + Termination: Termination | undefined; +} + +export namespace PutVoiceConnectorTerminationRequest { + export const filterSensitiveLog = (obj: PutVoiceConnectorTerminationRequest): any => ({ + ...obj, + ...(obj.Termination && { Termination: Termination.filterSensitiveLog(obj.Termination) }), + }); +} + +export interface PutVoiceConnectorTerminationResponse { + /** + *

The updated termination setting details.

+ */ + Termination?: Termination; +} + +export namespace PutVoiceConnectorTerminationResponse { + export const filterSensitiveLog = (obj: PutVoiceConnectorTerminationResponse): any => ({ + ...obj, + ...(obj.Termination && { Termination: Termination.filterSensitiveLog(obj.Termination) }), + }); +} + +export interface PutVoiceConnectorTerminationCredentialsRequest { + /** + *

The Amazon Chime Voice Connector ID.

+ */ + VoiceConnectorId: string | undefined; + + /** + *

The termination SIP credentials.

+ */ + Credentials?: Credential[]; +} + +export namespace PutVoiceConnectorTerminationCredentialsRequest { + export const filterSensitiveLog = (obj: PutVoiceConnectorTerminationCredentialsRequest): any => ({ + ...obj, + ...(obj.Credentials && { Credentials: obj.Credentials.map((item) => Credential.filterSensitiveLog(item)) }), + }); +} + +export interface RedactChannelMessageRequest { + /** + *

The ARN of the channel containing the messages that you want to redact.

+ */ + ChannelArn: string | undefined; + + /** + *

The ID of the message being redacted.

+ */ + MessageId: string | undefined; +} + +export namespace RedactChannelMessageRequest { + export const filterSensitiveLog = (obj: RedactChannelMessageRequest): any => ({ + ...obj, + }); +} + +export interface RedactChannelMessageResponse { + /** + *

The ARN of the channel containing the messages that you want to redact.

+ */ + ChannelArn?: string; + + /** + *

The ID of the message being redacted.

+ */ + MessageId?: string; +} + +export namespace RedactChannelMessageResponse { + export const filterSensitiveLog = (obj: RedactChannelMessageResponse): any => ({ + ...obj, + }); +} + +export interface RedactConversationMessageRequest { + /** + *

The Amazon Chime account ID.

+ */ + AccountId: string | undefined; + + /** + *

The conversation ID.

+ */ + ConversationId: string | undefined; + + /** + *

The message ID.

+ */ + MessageId: string | undefined; +} + +export namespace RedactConversationMessageRequest { + export const filterSensitiveLog = (obj: RedactConversationMessageRequest): any => ({ + ...obj, + }); +} + +export interface RedactConversationMessageResponse {} + +export namespace RedactConversationMessageResponse { + export const filterSensitiveLog = (obj: RedactConversationMessageResponse): any => ({ + ...obj, + }); +} + +export interface RedactRoomMessageRequest { + /** + *

The Amazon Chime account ID.

+ */ + AccountId: string | undefined; + + /** + *

The room ID.

+ */ + RoomId: string | undefined; + + /** + *

The message ID.

+ */ + MessageId: string | undefined; +} + +export namespace RedactRoomMessageRequest { + export const filterSensitiveLog = (obj: RedactRoomMessageRequest): any => ({ + ...obj, + }); +} + +export interface RedactRoomMessageResponse {} + +export namespace RedactRoomMessageResponse { + export const filterSensitiveLog = (obj: RedactRoomMessageResponse): any => ({ + ...obj, + }); +} + +export interface RegenerateSecurityTokenRequest { + /** + *

The Amazon Chime account ID.

+ */ + AccountId: string | undefined; + + /** + *

The bot ID.

+ */ + BotId: string | undefined; +} + +export namespace RegenerateSecurityTokenRequest { + export const filterSensitiveLog = (obj: RegenerateSecurityTokenRequest): any => ({ + ...obj, + }); +} + +export interface RegenerateSecurityTokenResponse { + /** + *

A resource that allows Enterprise account administrators to configure an interface to receive events from Amazon Chime.

+ */ + Bot?: Bot; +} + +export namespace RegenerateSecurityTokenResponse { + export const filterSensitiveLog = (obj: RegenerateSecurityTokenResponse): any => ({ + ...obj, + ...(obj.Bot && { Bot: Bot.filterSensitiveLog(obj.Bot) }), + }); +} + +export interface ResetPersonalPINRequest { + /** + *

The Amazon Chime account ID.

+ */ + AccountId: string | undefined; + + /** + *

The user ID.

+ */ + UserId: string | undefined; +} + +export namespace ResetPersonalPINRequest { + export const filterSensitiveLog = (obj: ResetPersonalPINRequest): any => ({ + ...obj, + }); +} + +export interface ResetPersonalPINResponse { + /** + *

The user details and new personal meeting PIN.

+ */ + User?: User; +} + +export namespace ResetPersonalPINResponse { + export const filterSensitiveLog = (obj: ResetPersonalPINResponse): any => ({ + ...obj, + ...(obj.User && { User: User.filterSensitiveLog(obj.User) }), + }); +} + +export interface RestorePhoneNumberRequest { + /** + *

The phone number.

+ */ + PhoneNumberId: string | undefined; +} + +export namespace RestorePhoneNumberRequest { + export const filterSensitiveLog = (obj: RestorePhoneNumberRequest): any => ({ + ...obj, + }); +} + +export interface RestorePhoneNumberResponse { + /** + *

The phone number details.

+ */ + PhoneNumber?: PhoneNumber; +} + +export namespace RestorePhoneNumberResponse { + export const filterSensitiveLog = (obj: RestorePhoneNumberResponse): any => ({ + ...obj, + ...(obj.PhoneNumber && { PhoneNumber: PhoneNumber.filterSensitiveLog(obj.PhoneNumber) }), + }); +} + +export interface SearchAvailablePhoneNumbersRequest { + /** + *

The area code used to filter results.

+ */ + AreaCode?: string; + + /** + *

The city used to filter results.

+ */ + City?: string; + + /** + *

The country used to filter results.

+ */ + Country?: string; + + /** + *

The state used to filter results.

+ */ + State?: string; + + /** + *

The toll-free prefix that you use to filter results.

+ */ + TollFreePrefix?: string; + + /** + *

The maximum number of results to return in a single call.

+ */ + MaxResults?: number; + + /** + *

The token to use to retrieve the next page of results.

+ */ + NextToken?: string; +} + +export namespace SearchAvailablePhoneNumbersRequest { + export const filterSensitiveLog = (obj: SearchAvailablePhoneNumbersRequest): any => ({ + ...obj, + }); +} + +export interface SearchAvailablePhoneNumbersResponse { + /** + *

List of phone numbers, in E.164 format.

+ */ + E164PhoneNumbers?: string[]; +} + +export namespace SearchAvailablePhoneNumbersResponse { + export const filterSensitiveLog = (obj: SearchAvailablePhoneNumbersResponse): any => ({ + ...obj, + ...(obj.E164PhoneNumbers && { E164PhoneNumbers: SENSITIVE_STRING }), + }); +} + +export interface SendChannelMessageRequest { + /** + *

The ARN of the channel.

+ */ + ChannelArn: string | undefined; + + /** + *

The content of the message.

+ */ + Content: string | undefined; + + /** + *

The type of message, STANDARD or CONTROL.

+ */ + Type: ChannelMessageType | string | undefined; + + /** + *

Boolean that controls whether the message is persisted on the back end. Required.

+ */ + Persistence: ChannelMessagePersistenceType | string | undefined; + + /** + *

The optional metadata for each message.

+ */ + Metadata?: string; + + /** + *

The Idempotency token for each client request.

+ */ + ClientRequestToken?: string; +} + +export namespace SendChannelMessageRequest { + export const filterSensitiveLog = (obj: SendChannelMessageRequest): any => ({ + ...obj, + ...(obj.Content && { Content: SENSITIVE_STRING }), + ...(obj.Metadata && { Metadata: SENSITIVE_STRING }), + ...(obj.ClientRequestToken && { ClientRequestToken: SENSITIVE_STRING }), + }); +} + +export interface SendChannelMessageResponse { + /** + *

The ARN of the channel.

+ */ + ChannelArn?: string; + + /** + *

The ID string assigned to each message.

+ */ + MessageId?: string; +} + +export namespace SendChannelMessageResponse { + export const filterSensitiveLog = (obj: SendChannelMessageResponse): any => ({ + ...obj, + }); +} + +export interface TagAttendeeRequest { + /** + *

The Amazon Chime SDK meeting ID.

+ */ + MeetingId: string | undefined; + + /** + *

The Amazon Chime SDK attendee ID.

+ */ + AttendeeId: string | undefined; + + /** + *

The tag key-value pairs.

+ */ + Tags: Tag[] | undefined; +} + +export namespace TagAttendeeRequest { + export const filterSensitiveLog = (obj: TagAttendeeRequest): any => ({ + ...obj, + ...(obj.Tags && { Tags: obj.Tags.map((item) => Tag.filterSensitiveLog(item)) }), + }); +} + export interface TagMeetingRequest { /** *

The Amazon Chime SDK meeting ID.

@@ -186,6 +2419,82 @@ export namespace UpdateAccountSettingsResponse { }); } +export interface UpdateAppInstanceRequest { + /** + *

The ARN of the app instance.

+ */ + AppInstanceArn: string | undefined; + + /** + *

The name that you want to change.

+ */ + Name: string | undefined; + + /** + *

The metadata that you want to change.

+ */ + Metadata?: string; +} + +export namespace UpdateAppInstanceRequest { + export const filterSensitiveLog = (obj: UpdateAppInstanceRequest): any => ({ + ...obj, + ...(obj.Name && { Name: SENSITIVE_STRING }), + ...(obj.Metadata && { Metadata: SENSITIVE_STRING }), + }); +} + +export interface UpdateAppInstanceResponse { + /** + *

The ARN of the app instance.

+ */ + AppInstanceArn?: string; +} + +export namespace UpdateAppInstanceResponse { + export const filterSensitiveLog = (obj: UpdateAppInstanceResponse): any => ({ + ...obj, + }); +} + +export interface UpdateAppInstanceUserRequest { + /** + *

The ARN of the app instance user.

+ */ + AppInstanceUserArn: string | undefined; + + /** + *

The name of the app instance user.

+ */ + Name: string | undefined; + + /** + *

The metadata of the app instance user.

+ */ + Metadata?: string; +} + +export namespace UpdateAppInstanceUserRequest { + export const filterSensitiveLog = (obj: UpdateAppInstanceUserRequest): any => ({ + ...obj, + ...(obj.Name && { Name: SENSITIVE_STRING }), + ...(obj.Metadata && { Metadata: SENSITIVE_STRING }), + }); +} + +export interface UpdateAppInstanceUserResponse { + /** + *

The ARN of the app instance user.

+ */ + AppInstanceUserArn?: string; +} + +export namespace UpdateAppInstanceUserResponse { + export const filterSensitiveLog = (obj: UpdateAppInstanceUserResponse): any => ({ + ...obj, + }); +} + export interface UpdateBotRequest { /** *

The Amazon Chime account ID.

@@ -223,6 +2532,123 @@ export namespace UpdateBotResponse { }); } +export interface UpdateChannelRequest { + /** + *

The ARN of the channel.

+ */ + ChannelArn: string | undefined; + + /** + *

The name of the channel.

+ */ + Name: string | undefined; + + /** + *

The mode of the update request.

+ */ + Mode: ChannelMode | string | undefined; + + /** + *

The metadata of the channel.

+ */ + Metadata?: string; +} + +export namespace UpdateChannelRequest { + export const filterSensitiveLog = (obj: UpdateChannelRequest): any => ({ + ...obj, + ...(obj.Name && { Name: SENSITIVE_STRING }), + ...(obj.Metadata && { Metadata: SENSITIVE_STRING }), + }); +} + +export interface UpdateChannelResponse { + /** + *

The ARN of the channel.

+ */ + ChannelArn?: string; +} + +export namespace UpdateChannelResponse { + export const filterSensitiveLog = (obj: UpdateChannelResponse): any => ({ + ...obj, + }); +} + +export interface UpdateChannelMessageRequest { + /** + *

The ARN of the channel.

+ */ + ChannelArn: string | undefined; + + /** + *

The ID string of the message being updated.

+ */ + MessageId: string | undefined; + + /** + *

The content of the message being updated.

+ */ + Content?: string; + + /** + *

The metadata of the message being updated.

+ */ + Metadata?: string; +} + +export namespace UpdateChannelMessageRequest { + export const filterSensitiveLog = (obj: UpdateChannelMessageRequest): any => ({ + ...obj, + ...(obj.Content && { Content: SENSITIVE_STRING }), + ...(obj.Metadata && { Metadata: SENSITIVE_STRING }), + }); +} + +export interface UpdateChannelMessageResponse { + /** + *

The ARN of the channel.

+ */ + ChannelArn?: string; + + /** + *

The ID string of the message being updated.

+ */ + MessageId?: string; +} + +export namespace UpdateChannelMessageResponse { + export const filterSensitiveLog = (obj: UpdateChannelMessageResponse): any => ({ + ...obj, + }); +} + +export interface UpdateChannelReadMarkerRequest { + /** + *

The ARN of the channel.

+ */ + ChannelArn: string | undefined; +} + +export namespace UpdateChannelReadMarkerRequest { + export const filterSensitiveLog = (obj: UpdateChannelReadMarkerRequest): any => ({ + ...obj, + }); +} + +export interface UpdateChannelReadMarkerResponse { + /** + *

The ARN of the channel.

+ */ + ChannelArn?: string; +} + +export namespace UpdateChannelReadMarkerResponse { + export const filterSensitiveLog = (obj: UpdateChannelReadMarkerResponse): any => ({ + ...obj, + }); +} + export interface UpdateGlobalSettingsRequest { /** *

The Amazon Chime Business Calling settings.

diff --git a/clients/client-chime/pagination/ListAppInstanceAdminsPaginator.ts b/clients/client-chime/pagination/ListAppInstanceAdminsPaginator.ts new file mode 100644 index 000000000000..c327bbae7829 --- /dev/null +++ b/clients/client-chime/pagination/ListAppInstanceAdminsPaginator.ts @@ -0,0 +1,51 @@ +import { Chime } from "../Chime"; +import { ChimeClient } from "../ChimeClient"; +import { + ListAppInstanceAdminsCommand, + ListAppInstanceAdminsCommandInput, + ListAppInstanceAdminsCommandOutput, +} from "../commands/ListAppInstanceAdminsCommand"; +import { ChimePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ChimeClient, + input: ListAppInstanceAdminsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListAppInstanceAdminsCommand(input), ...args); +}; +const makePagedRequest = async ( + client: Chime, + input: ListAppInstanceAdminsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listAppInstanceAdmins(input, ...args); +}; +export async function* paginateListAppInstanceAdmins( + config: ChimePaginationConfiguration, + input: ListAppInstanceAdminsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListAppInstanceAdminsCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Chime) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ChimeClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Chime | ChimeClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-chime/pagination/ListAppInstanceUsersPaginator.ts b/clients/client-chime/pagination/ListAppInstanceUsersPaginator.ts new file mode 100644 index 000000000000..7a9810c1af51 --- /dev/null +++ b/clients/client-chime/pagination/ListAppInstanceUsersPaginator.ts @@ -0,0 +1,51 @@ +import { Chime } from "../Chime"; +import { ChimeClient } from "../ChimeClient"; +import { + ListAppInstanceUsersCommand, + ListAppInstanceUsersCommandInput, + ListAppInstanceUsersCommandOutput, +} from "../commands/ListAppInstanceUsersCommand"; +import { ChimePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ChimeClient, + input: ListAppInstanceUsersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListAppInstanceUsersCommand(input), ...args); +}; +const makePagedRequest = async ( + client: Chime, + input: ListAppInstanceUsersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listAppInstanceUsers(input, ...args); +}; +export async function* paginateListAppInstanceUsers( + config: ChimePaginationConfiguration, + input: ListAppInstanceUsersCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListAppInstanceUsersCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Chime) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ChimeClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Chime | ChimeClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-chime/pagination/ListAppInstancesPaginator.ts b/clients/client-chime/pagination/ListAppInstancesPaginator.ts new file mode 100644 index 000000000000..5892c79d910f --- /dev/null +++ b/clients/client-chime/pagination/ListAppInstancesPaginator.ts @@ -0,0 +1,51 @@ +import { Chime } from "../Chime"; +import { ChimeClient } from "../ChimeClient"; +import { + ListAppInstancesCommand, + ListAppInstancesCommandInput, + ListAppInstancesCommandOutput, +} from "../commands/ListAppInstancesCommand"; +import { ChimePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ChimeClient, + input: ListAppInstancesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListAppInstancesCommand(input), ...args); +}; +const makePagedRequest = async ( + client: Chime, + input: ListAppInstancesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listAppInstances(input, ...args); +}; +export async function* paginateListAppInstances( + config: ChimePaginationConfiguration, + input: ListAppInstancesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListAppInstancesCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Chime) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ChimeClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Chime | ChimeClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-chime/pagination/ListChannelBansPaginator.ts b/clients/client-chime/pagination/ListChannelBansPaginator.ts new file mode 100644 index 000000000000..baef330cec3e --- /dev/null +++ b/clients/client-chime/pagination/ListChannelBansPaginator.ts @@ -0,0 +1,51 @@ +import { Chime } from "../Chime"; +import { ChimeClient } from "../ChimeClient"; +import { + ListChannelBansCommand, + ListChannelBansCommandInput, + ListChannelBansCommandOutput, +} from "../commands/ListChannelBansCommand"; +import { ChimePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ChimeClient, + input: ListChannelBansCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListChannelBansCommand(input), ...args); +}; +const makePagedRequest = async ( + client: Chime, + input: ListChannelBansCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listChannelBans(input, ...args); +}; +export async function* paginateListChannelBans( + config: ChimePaginationConfiguration, + input: ListChannelBansCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListChannelBansCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Chime) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ChimeClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Chime | ChimeClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-chime/pagination/ListChannelMembershipsForAppInstanceUserPaginator.ts b/clients/client-chime/pagination/ListChannelMembershipsForAppInstanceUserPaginator.ts new file mode 100644 index 000000000000..dae010076110 --- /dev/null +++ b/clients/client-chime/pagination/ListChannelMembershipsForAppInstanceUserPaginator.ts @@ -0,0 +1,51 @@ +import { Chime } from "../Chime"; +import { ChimeClient } from "../ChimeClient"; +import { + ListChannelMembershipsForAppInstanceUserCommand, + ListChannelMembershipsForAppInstanceUserCommandInput, + ListChannelMembershipsForAppInstanceUserCommandOutput, +} from "../commands/ListChannelMembershipsForAppInstanceUserCommand"; +import { ChimePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ChimeClient, + input: ListChannelMembershipsForAppInstanceUserCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListChannelMembershipsForAppInstanceUserCommand(input), ...args); +}; +const makePagedRequest = async ( + client: Chime, + input: ListChannelMembershipsForAppInstanceUserCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listChannelMembershipsForAppInstanceUser(input, ...args); +}; +export async function* paginateListChannelMembershipsForAppInstanceUser( + config: ChimePaginationConfiguration, + input: ListChannelMembershipsForAppInstanceUserCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListChannelMembershipsForAppInstanceUserCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Chime) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ChimeClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Chime | ChimeClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-chime/pagination/ListChannelMembershipsPaginator.ts b/clients/client-chime/pagination/ListChannelMembershipsPaginator.ts new file mode 100644 index 000000000000..1a223850a60a --- /dev/null +++ b/clients/client-chime/pagination/ListChannelMembershipsPaginator.ts @@ -0,0 +1,51 @@ +import { Chime } from "../Chime"; +import { ChimeClient } from "../ChimeClient"; +import { + ListChannelMembershipsCommand, + ListChannelMembershipsCommandInput, + ListChannelMembershipsCommandOutput, +} from "../commands/ListChannelMembershipsCommand"; +import { ChimePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ChimeClient, + input: ListChannelMembershipsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListChannelMembershipsCommand(input), ...args); +}; +const makePagedRequest = async ( + client: Chime, + input: ListChannelMembershipsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listChannelMemberships(input, ...args); +}; +export async function* paginateListChannelMemberships( + config: ChimePaginationConfiguration, + input: ListChannelMembershipsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListChannelMembershipsCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Chime) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ChimeClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Chime | ChimeClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-chime/pagination/ListChannelMessagesPaginator.ts b/clients/client-chime/pagination/ListChannelMessagesPaginator.ts new file mode 100644 index 000000000000..9b9bd676929a --- /dev/null +++ b/clients/client-chime/pagination/ListChannelMessagesPaginator.ts @@ -0,0 +1,51 @@ +import { Chime } from "../Chime"; +import { ChimeClient } from "../ChimeClient"; +import { + ListChannelMessagesCommand, + ListChannelMessagesCommandInput, + ListChannelMessagesCommandOutput, +} from "../commands/ListChannelMessagesCommand"; +import { ChimePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ChimeClient, + input: ListChannelMessagesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListChannelMessagesCommand(input), ...args); +}; +const makePagedRequest = async ( + client: Chime, + input: ListChannelMessagesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listChannelMessages(input, ...args); +}; +export async function* paginateListChannelMessages( + config: ChimePaginationConfiguration, + input: ListChannelMessagesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListChannelMessagesCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Chime) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ChimeClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Chime | ChimeClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-chime/pagination/ListChannelModeratorsPaginator.ts b/clients/client-chime/pagination/ListChannelModeratorsPaginator.ts new file mode 100644 index 000000000000..0ba166c3aa53 --- /dev/null +++ b/clients/client-chime/pagination/ListChannelModeratorsPaginator.ts @@ -0,0 +1,51 @@ +import { Chime } from "../Chime"; +import { ChimeClient } from "../ChimeClient"; +import { + ListChannelModeratorsCommand, + ListChannelModeratorsCommandInput, + ListChannelModeratorsCommandOutput, +} from "../commands/ListChannelModeratorsCommand"; +import { ChimePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ChimeClient, + input: ListChannelModeratorsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListChannelModeratorsCommand(input), ...args); +}; +const makePagedRequest = async ( + client: Chime, + input: ListChannelModeratorsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listChannelModerators(input, ...args); +}; +export async function* paginateListChannelModerators( + config: ChimePaginationConfiguration, + input: ListChannelModeratorsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListChannelModeratorsCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Chime) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ChimeClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Chime | ChimeClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-chime/pagination/ListChannelsModeratedByAppInstanceUserPaginator.ts b/clients/client-chime/pagination/ListChannelsModeratedByAppInstanceUserPaginator.ts new file mode 100644 index 000000000000..9751da281aae --- /dev/null +++ b/clients/client-chime/pagination/ListChannelsModeratedByAppInstanceUserPaginator.ts @@ -0,0 +1,51 @@ +import { Chime } from "../Chime"; +import { ChimeClient } from "../ChimeClient"; +import { + ListChannelsModeratedByAppInstanceUserCommand, + ListChannelsModeratedByAppInstanceUserCommandInput, + ListChannelsModeratedByAppInstanceUserCommandOutput, +} from "../commands/ListChannelsModeratedByAppInstanceUserCommand"; +import { ChimePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ChimeClient, + input: ListChannelsModeratedByAppInstanceUserCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListChannelsModeratedByAppInstanceUserCommand(input), ...args); +}; +const makePagedRequest = async ( + client: Chime, + input: ListChannelsModeratedByAppInstanceUserCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listChannelsModeratedByAppInstanceUser(input, ...args); +}; +export async function* paginateListChannelsModeratedByAppInstanceUser( + config: ChimePaginationConfiguration, + input: ListChannelsModeratedByAppInstanceUserCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListChannelsModeratedByAppInstanceUserCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Chime) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ChimeClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Chime | ChimeClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-chime/pagination/ListChannelsPaginator.ts b/clients/client-chime/pagination/ListChannelsPaginator.ts new file mode 100644 index 000000000000..0cd3f1a4ac79 --- /dev/null +++ b/clients/client-chime/pagination/ListChannelsPaginator.ts @@ -0,0 +1,51 @@ +import { Chime } from "../Chime"; +import { ChimeClient } from "../ChimeClient"; +import { + ListChannelsCommand, + ListChannelsCommandInput, + ListChannelsCommandOutput, +} from "../commands/ListChannelsCommand"; +import { ChimePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ChimeClient, + input: ListChannelsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListChannelsCommand(input), ...args); +}; +const makePagedRequest = async ( + client: Chime, + input: ListChannelsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listChannels(input, ...args); +}; +export async function* paginateListChannels( + config: ChimePaginationConfiguration, + input: ListChannelsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListChannelsCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Chime) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ChimeClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Chime | ChimeClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-chime/pagination/ListSipMediaApplicationsPaginator.ts b/clients/client-chime/pagination/ListSipMediaApplicationsPaginator.ts new file mode 100644 index 000000000000..d455c0fd865c --- /dev/null +++ b/clients/client-chime/pagination/ListSipMediaApplicationsPaginator.ts @@ -0,0 +1,51 @@ +import { Chime } from "../Chime"; +import { ChimeClient } from "../ChimeClient"; +import { + ListSipMediaApplicationsCommand, + ListSipMediaApplicationsCommandInput, + ListSipMediaApplicationsCommandOutput, +} from "../commands/ListSipMediaApplicationsCommand"; +import { ChimePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ChimeClient, + input: ListSipMediaApplicationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListSipMediaApplicationsCommand(input), ...args); +}; +const makePagedRequest = async ( + client: Chime, + input: ListSipMediaApplicationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listSipMediaApplications(input, ...args); +}; +export async function* paginateListSipMediaApplications( + config: ChimePaginationConfiguration, + input: ListSipMediaApplicationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListSipMediaApplicationsCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Chime) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ChimeClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Chime | ChimeClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-chime/pagination/ListSipRulesPaginator.ts b/clients/client-chime/pagination/ListSipRulesPaginator.ts new file mode 100644 index 000000000000..92c9f51f01bd --- /dev/null +++ b/clients/client-chime/pagination/ListSipRulesPaginator.ts @@ -0,0 +1,51 @@ +import { Chime } from "../Chime"; +import { ChimeClient } from "../ChimeClient"; +import { + ListSipRulesCommand, + ListSipRulesCommandInput, + ListSipRulesCommandOutput, +} from "../commands/ListSipRulesCommand"; +import { ChimePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ChimeClient, + input: ListSipRulesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListSipRulesCommand(input), ...args); +}; +const makePagedRequest = async ( + client: Chime, + input: ListSipRulesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listSipRules(input, ...args); +}; +export async function* paginateListSipRules( + config: ChimePaginationConfiguration, + input: ListSipRulesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListSipRulesCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Chime) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ChimeClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Chime | ChimeClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-chime/protocols/Aws_restJson1.ts b/clients/client-chime/protocols/Aws_restJson1.ts index a5ab703f104f..b2365e207ae3 100644 --- a/clients/client-chime/protocols/Aws_restJson1.ts +++ b/clients/client-chime/protocols/Aws_restJson1.ts @@ -34,8 +34,27 @@ import { } from "../commands/BatchUpdatePhoneNumberCommand"; import { BatchUpdateUserCommandInput, BatchUpdateUserCommandOutput } from "../commands/BatchUpdateUserCommand"; import { CreateAccountCommandInput, CreateAccountCommandOutput } from "../commands/CreateAccountCommand"; +import { + CreateAppInstanceAdminCommandInput, + CreateAppInstanceAdminCommandOutput, +} from "../commands/CreateAppInstanceAdminCommand"; +import { CreateAppInstanceCommandInput, CreateAppInstanceCommandOutput } from "../commands/CreateAppInstanceCommand"; +import { + CreateAppInstanceUserCommandInput, + CreateAppInstanceUserCommandOutput, +} from "../commands/CreateAppInstanceUserCommand"; import { CreateAttendeeCommandInput, CreateAttendeeCommandOutput } from "../commands/CreateAttendeeCommand"; import { CreateBotCommandInput, CreateBotCommandOutput } from "../commands/CreateBotCommand"; +import { CreateChannelBanCommandInput, CreateChannelBanCommandOutput } from "../commands/CreateChannelBanCommand"; +import { CreateChannelCommandInput, CreateChannelCommandOutput } from "../commands/CreateChannelCommand"; +import { + CreateChannelMembershipCommandInput, + CreateChannelMembershipCommandOutput, +} from "../commands/CreateChannelMembershipCommand"; +import { + CreateChannelModeratorCommandInput, + CreateChannelModeratorCommandOutput, +} from "../commands/CreateChannelModeratorCommand"; import { CreateMeetingCommandInput, CreateMeetingCommandOutput } from "../commands/CreateMeetingCommand"; import { CreateMeetingDialOutCommandInput, @@ -74,7 +93,34 @@ import { CreateVoiceConnectorGroupCommandOutput, } from "../commands/CreateVoiceConnectorGroupCommand"; import { DeleteAccountCommandInput, DeleteAccountCommandOutput } from "../commands/DeleteAccountCommand"; +import { + DeleteAppInstanceAdminCommandInput, + DeleteAppInstanceAdminCommandOutput, +} from "../commands/DeleteAppInstanceAdminCommand"; +import { DeleteAppInstanceCommandInput, DeleteAppInstanceCommandOutput } from "../commands/DeleteAppInstanceCommand"; +import { + DeleteAppInstanceStreamingConfigurationsCommandInput, + DeleteAppInstanceStreamingConfigurationsCommandOutput, +} from "../commands/DeleteAppInstanceStreamingConfigurationsCommand"; +import { + DeleteAppInstanceUserCommandInput, + DeleteAppInstanceUserCommandOutput, +} from "../commands/DeleteAppInstanceUserCommand"; import { DeleteAttendeeCommandInput, DeleteAttendeeCommandOutput } from "../commands/DeleteAttendeeCommand"; +import { DeleteChannelBanCommandInput, DeleteChannelBanCommandOutput } from "../commands/DeleteChannelBanCommand"; +import { DeleteChannelCommandInput, DeleteChannelCommandOutput } from "../commands/DeleteChannelCommand"; +import { + DeleteChannelMembershipCommandInput, + DeleteChannelMembershipCommandOutput, +} from "../commands/DeleteChannelMembershipCommand"; +import { + DeleteChannelMessageCommandInput, + DeleteChannelMessageCommandOutput, +} from "../commands/DeleteChannelMessageCommand"; +import { + DeleteChannelModeratorCommandInput, + DeleteChannelModeratorCommandOutput, +} from "../commands/DeleteChannelModeratorCommand"; import { DeleteEventsConfigurationCommandInput, DeleteEventsConfigurationCommandOutput, @@ -124,6 +170,36 @@ import { DeleteVoiceConnectorTerminationCredentialsCommandInput, DeleteVoiceConnectorTerminationCredentialsCommandOutput, } from "../commands/DeleteVoiceConnectorTerminationCredentialsCommand"; +import { + DescribeAppInstanceAdminCommandInput, + DescribeAppInstanceAdminCommandOutput, +} from "../commands/DescribeAppInstanceAdminCommand"; +import { + DescribeAppInstanceCommandInput, + DescribeAppInstanceCommandOutput, +} from "../commands/DescribeAppInstanceCommand"; +import { + DescribeAppInstanceUserCommandInput, + DescribeAppInstanceUserCommandOutput, +} from "../commands/DescribeAppInstanceUserCommand"; +import { DescribeChannelBanCommandInput, DescribeChannelBanCommandOutput } from "../commands/DescribeChannelBanCommand"; +import { DescribeChannelCommandInput, DescribeChannelCommandOutput } from "../commands/DescribeChannelCommand"; +import { + DescribeChannelMembershipCommandInput, + DescribeChannelMembershipCommandOutput, +} from "../commands/DescribeChannelMembershipCommand"; +import { + DescribeChannelMembershipForAppInstanceUserCommandInput, + DescribeChannelMembershipForAppInstanceUserCommandOutput, +} from "../commands/DescribeChannelMembershipForAppInstanceUserCommand"; +import { + DescribeChannelModeratedByAppInstanceUserCommandInput, + DescribeChannelModeratedByAppInstanceUserCommandOutput, +} from "../commands/DescribeChannelModeratedByAppInstanceUserCommand"; +import { + DescribeChannelModeratorCommandInput, + DescribeChannelModeratorCommandOutput, +} from "../commands/DescribeChannelModeratorCommand"; import { DisassociatePhoneNumberFromUserCommandInput, DisassociatePhoneNumberFromUserCommandOutput, @@ -142,14 +218,27 @@ import { } from "../commands/DisassociateSigninDelegateGroupsFromAccountCommand"; import { GetAccountCommandInput, GetAccountCommandOutput } from "../commands/GetAccountCommand"; import { GetAccountSettingsCommandInput, GetAccountSettingsCommandOutput } from "../commands/GetAccountSettingsCommand"; +import { + GetAppInstanceRetentionSettingsCommandInput, + GetAppInstanceRetentionSettingsCommandOutput, +} from "../commands/GetAppInstanceRetentionSettingsCommand"; +import { + GetAppInstanceStreamingConfigurationsCommandInput, + GetAppInstanceStreamingConfigurationsCommandOutput, +} from "../commands/GetAppInstanceStreamingConfigurationsCommand"; import { GetAttendeeCommandInput, GetAttendeeCommandOutput } from "../commands/GetAttendeeCommand"; import { GetBotCommandInput, GetBotCommandOutput } from "../commands/GetBotCommand"; +import { GetChannelMessageCommandInput, GetChannelMessageCommandOutput } from "../commands/GetChannelMessageCommand"; import { GetEventsConfigurationCommandInput, GetEventsConfigurationCommandOutput, } from "../commands/GetEventsConfigurationCommand"; import { GetGlobalSettingsCommandInput, GetGlobalSettingsCommandOutput } from "../commands/GetGlobalSettingsCommand"; import { GetMeetingCommandInput, GetMeetingCommandOutput } from "../commands/GetMeetingCommand"; +import { + GetMessagingSessionEndpointCommandInput, + GetMessagingSessionEndpointCommandOutput, +} from "../commands/GetMessagingSessionEndpointCommand"; import { GetPhoneNumberCommandInput, GetPhoneNumberCommandOutput } from "../commands/GetPhoneNumberCommand"; import { GetPhoneNumberOrderCommandInput, @@ -211,9 +300,40 @@ import { } from "../commands/GetVoiceConnectorTerminationHealthCommand"; import { InviteUsersCommandInput, InviteUsersCommandOutput } from "../commands/InviteUsersCommand"; import { ListAccountsCommandInput, ListAccountsCommandOutput } from "../commands/ListAccountsCommand"; +import { + ListAppInstanceAdminsCommandInput, + ListAppInstanceAdminsCommandOutput, +} from "../commands/ListAppInstanceAdminsCommand"; +import { + ListAppInstanceUsersCommandInput, + ListAppInstanceUsersCommandOutput, +} from "../commands/ListAppInstanceUsersCommand"; +import { ListAppInstancesCommandInput, ListAppInstancesCommandOutput } from "../commands/ListAppInstancesCommand"; import { ListAttendeeTagsCommandInput, ListAttendeeTagsCommandOutput } from "../commands/ListAttendeeTagsCommand"; import { ListAttendeesCommandInput, ListAttendeesCommandOutput } from "../commands/ListAttendeesCommand"; import { ListBotsCommandInput, ListBotsCommandOutput } from "../commands/ListBotsCommand"; +import { ListChannelBansCommandInput, ListChannelBansCommandOutput } from "../commands/ListChannelBansCommand"; +import { + ListChannelMembershipsCommandInput, + ListChannelMembershipsCommandOutput, +} from "../commands/ListChannelMembershipsCommand"; +import { + ListChannelMembershipsForAppInstanceUserCommandInput, + ListChannelMembershipsForAppInstanceUserCommandOutput, +} from "../commands/ListChannelMembershipsForAppInstanceUserCommand"; +import { + ListChannelMessagesCommandInput, + ListChannelMessagesCommandOutput, +} from "../commands/ListChannelMessagesCommand"; +import { + ListChannelModeratorsCommandInput, + ListChannelModeratorsCommandOutput, +} from "../commands/ListChannelModeratorsCommand"; +import { ListChannelsCommandInput, ListChannelsCommandOutput } from "../commands/ListChannelsCommand"; +import { + ListChannelsModeratedByAppInstanceUserCommandInput, + ListChannelsModeratedByAppInstanceUserCommandOutput, +} from "../commands/ListChannelsModeratedByAppInstanceUserCommand"; import { ListMeetingTagsCommandInput, ListMeetingTagsCommandOutput } from "../commands/ListMeetingTagsCommand"; import { ListMeetingsCommandInput, ListMeetingsCommandOutput } from "../commands/ListMeetingsCommand"; import { @@ -250,6 +370,14 @@ import { ListVoiceConnectorsCommandOutput, } from "../commands/ListVoiceConnectorsCommand"; import { LogoutUserCommandInput, LogoutUserCommandOutput } from "../commands/LogoutUserCommand"; +import { + PutAppInstanceRetentionSettingsCommandInput, + PutAppInstanceRetentionSettingsCommandOutput, +} from "../commands/PutAppInstanceRetentionSettingsCommand"; +import { + PutAppInstanceStreamingConfigurationsCommandInput, + PutAppInstanceStreamingConfigurationsCommandOutput, +} from "../commands/PutAppInstanceStreamingConfigurationsCommand"; import { PutEventsConfigurationCommandInput, PutEventsConfigurationCommandOutput, @@ -290,6 +418,10 @@ import { PutVoiceConnectorTerminationCredentialsCommandInput, PutVoiceConnectorTerminationCredentialsCommandOutput, } from "../commands/PutVoiceConnectorTerminationCredentialsCommand"; +import { + RedactChannelMessageCommandInput, + RedactChannelMessageCommandOutput, +} from "../commands/RedactChannelMessageCommand"; import { RedactConversationMessageCommandInput, RedactConversationMessageCommandOutput, @@ -305,6 +437,7 @@ import { SearchAvailablePhoneNumbersCommandInput, SearchAvailablePhoneNumbersCommandOutput, } from "../commands/SearchAvailablePhoneNumbersCommand"; +import { SendChannelMessageCommandInput, SendChannelMessageCommandOutput } from "../commands/SendChannelMessageCommand"; import { TagAttendeeCommandInput, TagAttendeeCommandOutput } from "../commands/TagAttendeeCommand"; import { TagMeetingCommandInput, TagMeetingCommandOutput } from "../commands/TagMeetingCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; @@ -316,7 +449,21 @@ import { UpdateAccountSettingsCommandInput, UpdateAccountSettingsCommandOutput, } from "../commands/UpdateAccountSettingsCommand"; +import { UpdateAppInstanceCommandInput, UpdateAppInstanceCommandOutput } from "../commands/UpdateAppInstanceCommand"; +import { + UpdateAppInstanceUserCommandInput, + UpdateAppInstanceUserCommandOutput, +} from "../commands/UpdateAppInstanceUserCommand"; import { UpdateBotCommandInput, UpdateBotCommandOutput } from "../commands/UpdateBotCommand"; +import { UpdateChannelCommandInput, UpdateChannelCommandOutput } from "../commands/UpdateChannelCommand"; +import { + UpdateChannelMessageCommandInput, + UpdateChannelMessageCommandOutput, +} from "../commands/UpdateChannelMessageCommand"; +import { + UpdateChannelReadMarkerCommandInput, + UpdateChannelReadMarkerCommandOutput, +} from "../commands/UpdateChannelReadMarkerCommand"; import { UpdateGlobalSettingsCommandInput, UpdateGlobalSettingsCommandOutput, @@ -352,11 +499,33 @@ import { Account, AccountSettings, AlexaForBusinessMetadata, + AppInstance, + AppInstanceAdmin, + AppInstanceAdminSummary, + AppInstanceRetentionSettings, + AppInstanceStreamingConfiguration, + AppInstanceSummary, + AppInstanceUser, + AppInstanceUserMembershipSummary, + AppInstanceUserSummary, Attendee, BadRequestException, Bot, BusinessCallingSettings, Capability, + Channel, + ChannelBan, + ChannelBanSummary, + ChannelMembership, + ChannelMembershipForAppInstanceUserSummary, + ChannelMembershipSummary, + ChannelMessage, + ChannelMessageSummary, + ChannelModeratedByAppInstanceUserSummary, + ChannelModerator, + ChannelModeratorSummary, + ChannelRetentionSettings, + ChannelSummary, ConflictException, ConversationRetentionSettings, CreateAttendeeError, @@ -367,7 +536,7 @@ import { EventsConfiguration, ForbiddenException, GeoMatchParams, - Invite, + Identity, License, LoggingConfiguration, MediaPlacement, @@ -376,6 +545,7 @@ import { Member, MemberError, MembershipItem, + MessagingSessionEndpoint, NotFoundException, OrderedPhoneNumber, Origination, @@ -406,8 +576,6 @@ import { StreamingNotificationTarget, Tag, TelephonySettings, - Termination, - TerminationHealth, ThrottledClientException, UnauthorizedClientException, UnprocessableEntityException, @@ -421,7 +589,12 @@ import { VoiceConnectorItem, VoiceConnectorSettings, } from "../models/models_0"; -import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Invite, Termination, TerminationHealth } from "../models/models_1"; +import { + HttpRequest as __HttpRequest, + HttpResponse as __HttpResponse, + isValidHostname as __isValidHostname, +} from "@aws-sdk/protocol-http"; import { SmithyException as __SmithyException, extendedEncodeURIComponent as __extendedEncodeURIComponent, @@ -882,6 +1055,114 @@ export const serializeAws_restJson1CreateAccountCommand = async ( }); }; +export const serializeAws_restJson1CreateAppInstanceCommand = async ( + input: CreateAppInstanceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/app-instances"; + let body: any; + body = JSON.stringify({ + ClientRequestToken: input.ClientRequestToken ?? generateIdempotencyToken(), + ...(input.Metadata !== undefined && { Metadata: input.Metadata }), + ...(input.Name !== undefined && { Name: input.Name }), + }); + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "identity-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname: resolvedHostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1CreateAppInstanceAdminCommand = async ( + input: CreateAppInstanceAdminCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/app-instances/{AppInstanceArn}/admins"; + if (input.AppInstanceArn !== undefined) { + const labelValue: string = input.AppInstanceArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AppInstanceArn."); + } + resolvedPath = resolvedPath.replace("{AppInstanceArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AppInstanceArn."); + } + let body: any; + body = JSON.stringify({ + ...(input.AppInstanceAdminArn !== undefined && { AppInstanceAdminArn: input.AppInstanceAdminArn }), + }); + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "identity-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname: resolvedHostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1CreateAppInstanceUserCommand = async ( + input: CreateAppInstanceUserCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/app-instance-users"; + let body: any; + body = JSON.stringify({ + ...(input.AppInstanceArn !== undefined && { AppInstanceArn: input.AppInstanceArn }), + ...(input.AppInstanceUserId !== undefined && { AppInstanceUserId: input.AppInstanceUserId }), + ClientRequestToken: input.ClientRequestToken ?? generateIdempotencyToken(), + ...(input.Metadata !== undefined && { Metadata: input.Metadata }), + ...(input.Name !== undefined && { Name: input.Name }), + }); + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "identity-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname: resolvedHostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1CreateAttendeeCommand = async ( input: CreateAttendeeCommandInput, context: __SerdeContext @@ -950,6 +1231,164 @@ export const serializeAws_restJson1CreateBotCommand = async ( }); }; +export const serializeAws_restJson1CreateChannelCommand = async ( + input: CreateChannelCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/channels"; + let body: any; + body = JSON.stringify({ + ...(input.AppInstanceArn !== undefined && { AppInstanceArn: input.AppInstanceArn }), + ClientRequestToken: input.ClientRequestToken ?? generateIdempotencyToken(), + ...(input.Metadata !== undefined && { Metadata: input.Metadata }), + ...(input.Mode !== undefined && { Mode: input.Mode }), + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.Privacy !== undefined && { Privacy: input.Privacy }), + ...(input.Tags !== undefined && { Tags: serializeAws_restJson1TagList(input.Tags, context) }), + }); + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "messaging-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname: resolvedHostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1CreateChannelBanCommand = async ( + input: CreateChannelBanCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/channels/{ChannelArn}/bans"; + if (input.ChannelArn !== undefined) { + const labelValue: string = input.ChannelArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ChannelArn."); + } + resolvedPath = resolvedPath.replace("{ChannelArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ChannelArn."); + } + let body: any; + body = JSON.stringify({ + ...(input.MemberArn !== undefined && { MemberArn: input.MemberArn }), + }); + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "messaging-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname: resolvedHostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1CreateChannelMembershipCommand = async ( + input: CreateChannelMembershipCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/channels/{ChannelArn}/memberships"; + if (input.ChannelArn !== undefined) { + const labelValue: string = input.ChannelArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ChannelArn."); + } + resolvedPath = resolvedPath.replace("{ChannelArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ChannelArn."); + } + let body: any; + body = JSON.stringify({ + ...(input.MemberArn !== undefined && { MemberArn: input.MemberArn }), + ...(input.Type !== undefined && { Type: input.Type }), + }); + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "messaging-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname: resolvedHostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1CreateChannelModeratorCommand = async ( + input: CreateChannelModeratorCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/channels/{ChannelArn}/moderators"; + if (input.ChannelArn !== undefined) { + const labelValue: string = input.ChannelArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ChannelArn."); + } + resolvedPath = resolvedPath.replace("{ChannelArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ChannelArn."); + } + let body: any; + body = JSON.stringify({ + ...(input.ChannelModeratorArn !== undefined && { ChannelModeratorArn: input.ChannelModeratorArn }), + }); + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "messaging-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname: resolvedHostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1CreateMeetingCommand = async ( input: CreateMeetingCommandInput, context: __SerdeContext @@ -1423,37 +1862,35 @@ export const serializeAws_restJson1DeleteAccountCommand = async ( }); }; -export const serializeAws_restJson1DeleteAttendeeCommand = async ( - input: DeleteAttendeeCommandInput, +export const serializeAws_restJson1DeleteAppInstanceCommand = async ( + input: DeleteAppInstanceCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/meetings/{MeetingId}/attendees/{AttendeeId}"; - if (input.MeetingId !== undefined) { - const labelValue: string = input.MeetingId; + let resolvedPath = "/app-instances/{AppInstanceArn}"; + if (input.AppInstanceArn !== undefined) { + const labelValue: string = input.AppInstanceArn; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: MeetingId."); + throw new Error("Empty value provided for input HTTP label: AppInstanceArn."); } - resolvedPath = resolvedPath.replace("{MeetingId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{AppInstanceArn}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: MeetingId."); + throw new Error("No value provided for input HTTP label: AppInstanceArn."); } - if (input.AttendeeId !== undefined) { - const labelValue: string = input.AttendeeId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AttendeeId."); + let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "identity-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); } - resolvedPath = resolvedPath.replace("{AttendeeId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: AttendeeId."); } - let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, - hostname, + hostname: resolvedHostname, port, method: "DELETE", headers, @@ -1462,37 +1899,44 @@ export const serializeAws_restJson1DeleteAttendeeCommand = async ( }); }; -export const serializeAws_restJson1DeleteEventsConfigurationCommand = async ( - input: DeleteEventsConfigurationCommandInput, +export const serializeAws_restJson1DeleteAppInstanceAdminCommand = async ( + input: DeleteAppInstanceAdminCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/accounts/{AccountId}/bots/{BotId}/events-configuration"; - if (input.AccountId !== undefined) { - const labelValue: string = input.AccountId; + let resolvedPath = "/app-instances/{AppInstanceArn}/admins/{AppInstanceAdminArn}"; + if (input.AppInstanceAdminArn !== undefined) { + const labelValue: string = input.AppInstanceAdminArn; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AccountId."); + throw new Error("Empty value provided for input HTTP label: AppInstanceAdminArn."); } - resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{AppInstanceAdminArn}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: AccountId."); + throw new Error("No value provided for input HTTP label: AppInstanceAdminArn."); } - if (input.BotId !== undefined) { - const labelValue: string = input.BotId; + if (input.AppInstanceArn !== undefined) { + const labelValue: string = input.AppInstanceArn; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: BotId."); + throw new Error("Empty value provided for input HTTP label: AppInstanceArn."); } - resolvedPath = resolvedPath.replace("{BotId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{AppInstanceArn}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: BotId."); + throw new Error("No value provided for input HTTP label: AppInstanceArn."); } let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "identity-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, - hostname, + hostname: resolvedHostname, port, method: "DELETE", headers, @@ -1501,22 +1945,22 @@ export const serializeAws_restJson1DeleteEventsConfigurationCommand = async ( }); }; -export const serializeAws_restJson1DeleteMeetingCommand = async ( - input: DeleteMeetingCommandInput, +export const serializeAws_restJson1DeleteAppInstanceStreamingConfigurationsCommand = async ( + input: DeleteAppInstanceStreamingConfigurationsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/meetings/{MeetingId}"; - if (input.MeetingId !== undefined) { - const labelValue: string = input.MeetingId; + let resolvedPath = "/app-instances/{AppInstanceArn}/streaming-configurations"; + if (input.AppInstanceArn !== undefined) { + const labelValue: string = input.AppInstanceArn; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: MeetingId."); + throw new Error("Empty value provided for input HTTP label: AppInstanceArn."); } - resolvedPath = resolvedPath.replace("{MeetingId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{AppInstanceArn}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: MeetingId."); + throw new Error("No value provided for input HTTP label: AppInstanceArn."); } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1531,28 +1975,35 @@ export const serializeAws_restJson1DeleteMeetingCommand = async ( }); }; -export const serializeAws_restJson1DeletePhoneNumberCommand = async ( - input: DeletePhoneNumberCommandInput, +export const serializeAws_restJson1DeleteAppInstanceUserCommand = async ( + input: DeleteAppInstanceUserCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/phone-numbers/{PhoneNumberId}"; - if (input.PhoneNumberId !== undefined) { - const labelValue: string = input.PhoneNumberId; + let resolvedPath = "/app-instance-users/{AppInstanceUserArn}"; + if (input.AppInstanceUserArn !== undefined) { + const labelValue: string = input.AppInstanceUserArn; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: PhoneNumberId."); + throw new Error("Empty value provided for input HTTP label: AppInstanceUserArn."); } - resolvedPath = resolvedPath.replace("{PhoneNumberId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{AppInstanceUserArn}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: PhoneNumberId."); + throw new Error("No value provided for input HTTP label: AppInstanceUserArn."); } let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "identity-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, - hostname, + hostname: resolvedHostname, port, method: "DELETE", headers, @@ -1561,31 +2012,31 @@ export const serializeAws_restJson1DeletePhoneNumberCommand = async ( }); }; -export const serializeAws_restJson1DeleteProxySessionCommand = async ( - input: DeleteProxySessionCommandInput, +export const serializeAws_restJson1DeleteAttendeeCommand = async ( + input: DeleteAttendeeCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/voice-connectors/{VoiceConnectorId}/proxy-sessions/{ProxySessionId}"; - if (input.VoiceConnectorId !== undefined) { - const labelValue: string = input.VoiceConnectorId; + let resolvedPath = "/meetings/{MeetingId}/attendees/{AttendeeId}"; + if (input.MeetingId !== undefined) { + const labelValue: string = input.MeetingId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); + throw new Error("Empty value provided for input HTTP label: MeetingId."); } - resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{MeetingId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: VoiceConnectorId."); + throw new Error("No value provided for input HTTP label: MeetingId."); } - if (input.ProxySessionId !== undefined) { - const labelValue: string = input.ProxySessionId; + if (input.AttendeeId !== undefined) { + const labelValue: string = input.AttendeeId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ProxySessionId."); + throw new Error("Empty value provided for input HTTP label: AttendeeId."); } - resolvedPath = resolvedPath.replace("{ProxySessionId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{AttendeeId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: ProxySessionId."); + throw new Error("No value provided for input HTTP label: AttendeeId."); } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1600,37 +2051,35 @@ export const serializeAws_restJson1DeleteProxySessionCommand = async ( }); }; -export const serializeAws_restJson1DeleteRoomCommand = async ( - input: DeleteRoomCommandInput, +export const serializeAws_restJson1DeleteChannelCommand = async ( + input: DeleteChannelCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/accounts/{AccountId}/rooms/{RoomId}"; - if (input.AccountId !== undefined) { - const labelValue: string = input.AccountId; + let resolvedPath = "/channels/{ChannelArn}"; + if (input.ChannelArn !== undefined) { + const labelValue: string = input.ChannelArn; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AccountId."); + throw new Error("Empty value provided for input HTTP label: ChannelArn."); } - resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{ChannelArn}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: AccountId."); + throw new Error("No value provided for input HTTP label: ChannelArn."); } - if (input.RoomId !== undefined) { - const labelValue: string = input.RoomId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: RoomId."); + let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "messaging-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); } - resolvedPath = resolvedPath.replace("{RoomId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: RoomId."); } - let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, - hostname, + hostname: resolvedHostname, port, method: "DELETE", headers, @@ -1639,46 +2088,44 @@ export const serializeAws_restJson1DeleteRoomCommand = async ( }); }; -export const serializeAws_restJson1DeleteRoomMembershipCommand = async ( - input: DeleteRoomMembershipCommandInput, +export const serializeAws_restJson1DeleteChannelBanCommand = async ( + input: DeleteChannelBanCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/accounts/{AccountId}/rooms/{RoomId}/memberships/{MemberId}"; - if (input.AccountId !== undefined) { - const labelValue: string = input.AccountId; + let resolvedPath = "/channels/{ChannelArn}/bans/{MemberArn}"; + if (input.ChannelArn !== undefined) { + const labelValue: string = input.ChannelArn; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AccountId."); + throw new Error("Empty value provided for input HTTP label: ChannelArn."); } - resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{ChannelArn}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: AccountId."); + throw new Error("No value provided for input HTTP label: ChannelArn."); } - if (input.RoomId !== undefined) { - const labelValue: string = input.RoomId; + if (input.MemberArn !== undefined) { + const labelValue: string = input.MemberArn; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: RoomId."); + throw new Error("Empty value provided for input HTTP label: MemberArn."); } - resolvedPath = resolvedPath.replace("{RoomId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{MemberArn}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: RoomId."); + throw new Error("No value provided for input HTTP label: MemberArn."); } - if (input.MemberId !== undefined) { - const labelValue: string = input.MemberId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: MemberId."); + let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "messaging-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); } - resolvedPath = resolvedPath.replace("{MemberId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: MemberId."); } - let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, - hostname, + hostname: resolvedHostname, port, method: "DELETE", headers, @@ -1687,28 +2134,44 @@ export const serializeAws_restJson1DeleteRoomMembershipCommand = async ( }); }; -export const serializeAws_restJson1DeleteSipMediaApplicationCommand = async ( - input: DeleteSipMediaApplicationCommandInput, +export const serializeAws_restJson1DeleteChannelMembershipCommand = async ( + input: DeleteChannelMembershipCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/sip-media-applications/{SipMediaApplicationId}"; - if (input.SipMediaApplicationId !== undefined) { - const labelValue: string = input.SipMediaApplicationId; + let resolvedPath = "/channels/{ChannelArn}/memberships/{MemberArn}"; + if (input.ChannelArn !== undefined) { + const labelValue: string = input.ChannelArn; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: SipMediaApplicationId."); + throw new Error("Empty value provided for input HTTP label: ChannelArn."); } - resolvedPath = resolvedPath.replace("{SipMediaApplicationId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{ChannelArn}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: SipMediaApplicationId."); + throw new Error("No value provided for input HTTP label: ChannelArn."); + } + if (input.MemberArn !== undefined) { + const labelValue: string = input.MemberArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: MemberArn."); + } + resolvedPath = resolvedPath.replace("{MemberArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: MemberArn."); } let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "messaging-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, - hostname, + hostname: resolvedHostname, port, method: "DELETE", headers, @@ -1717,28 +2180,44 @@ export const serializeAws_restJson1DeleteSipMediaApplicationCommand = async ( }); }; -export const serializeAws_restJson1DeleteSipRuleCommand = async ( - input: DeleteSipRuleCommandInput, +export const serializeAws_restJson1DeleteChannelMessageCommand = async ( + input: DeleteChannelMessageCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/sip-rules/{SipRuleId}"; - if (input.SipRuleId !== undefined) { - const labelValue: string = input.SipRuleId; + let resolvedPath = "/channels/{ChannelArn}/messages/{MessageId}"; + if (input.ChannelArn !== undefined) { + const labelValue: string = input.ChannelArn; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: SipRuleId."); + throw new Error("Empty value provided for input HTTP label: ChannelArn."); } - resolvedPath = resolvedPath.replace("{SipRuleId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{ChannelArn}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: SipRuleId."); + throw new Error("No value provided for input HTTP label: ChannelArn."); + } + if (input.MessageId !== undefined) { + const labelValue: string = input.MessageId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: MessageId."); + } + resolvedPath = resolvedPath.replace("{MessageId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: MessageId."); } let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "messaging-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, - hostname, + hostname: resolvedHostname, port, method: "DELETE", headers, @@ -1747,28 +2226,44 @@ export const serializeAws_restJson1DeleteSipRuleCommand = async ( }); }; -export const serializeAws_restJson1DeleteVoiceConnectorCommand = async ( - input: DeleteVoiceConnectorCommandInput, +export const serializeAws_restJson1DeleteChannelModeratorCommand = async ( + input: DeleteChannelModeratorCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/voice-connectors/{VoiceConnectorId}"; - if (input.VoiceConnectorId !== undefined) { - const labelValue: string = input.VoiceConnectorId; + let resolvedPath = "/channels/{ChannelArn}/moderators/{ChannelModeratorArn}"; + if (input.ChannelArn !== undefined) { + const labelValue: string = input.ChannelArn; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); + throw new Error("Empty value provided for input HTTP label: ChannelArn."); } - resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{ChannelArn}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: VoiceConnectorId."); + throw new Error("No value provided for input HTTP label: ChannelArn."); + } + if (input.ChannelModeratorArn !== undefined) { + const labelValue: string = input.ChannelModeratorArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ChannelModeratorArn."); + } + resolvedPath = resolvedPath.replace("{ChannelModeratorArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ChannelModeratorArn."); } let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "messaging-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, - hostname, + hostname: resolvedHostname, port, method: "DELETE", headers, @@ -1777,22 +2272,31 @@ export const serializeAws_restJson1DeleteVoiceConnectorCommand = async ( }); }; -export const serializeAws_restJson1DeleteVoiceConnectorEmergencyCallingConfigurationCommand = async ( - input: DeleteVoiceConnectorEmergencyCallingConfigurationCommandInput, +export const serializeAws_restJson1DeleteEventsConfigurationCommand = async ( + input: DeleteEventsConfigurationCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/voice-connectors/{VoiceConnectorId}/emergency-calling-configuration"; - if (input.VoiceConnectorId !== undefined) { - const labelValue: string = input.VoiceConnectorId; + let resolvedPath = "/accounts/{AccountId}/bots/{BotId}/events-configuration"; + if (input.AccountId !== undefined) { + const labelValue: string = input.AccountId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); + throw new Error("Empty value provided for input HTTP label: AccountId."); } - resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: VoiceConnectorId."); + throw new Error("No value provided for input HTTP label: AccountId."); + } + if (input.BotId !== undefined) { + const labelValue: string = input.BotId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: BotId."); + } + resolvedPath = resolvedPath.replace("{BotId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: BotId."); } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1807,22 +2311,22 @@ export const serializeAws_restJson1DeleteVoiceConnectorEmergencyCallingConfigura }); }; -export const serializeAws_restJson1DeleteVoiceConnectorGroupCommand = async ( - input: DeleteVoiceConnectorGroupCommandInput, +export const serializeAws_restJson1DeleteMeetingCommand = async ( + input: DeleteMeetingCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/voice-connector-groups/{VoiceConnectorGroupId}"; - if (input.VoiceConnectorGroupId !== undefined) { - const labelValue: string = input.VoiceConnectorGroupId; + let resolvedPath = "/meetings/{MeetingId}"; + if (input.MeetingId !== undefined) { + const labelValue: string = input.MeetingId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: VoiceConnectorGroupId."); + throw new Error("Empty value provided for input HTTP label: MeetingId."); } - resolvedPath = resolvedPath.replace("{VoiceConnectorGroupId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{MeetingId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: VoiceConnectorGroupId."); + throw new Error("No value provided for input HTTP label: MeetingId."); } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1837,22 +2341,22 @@ export const serializeAws_restJson1DeleteVoiceConnectorGroupCommand = async ( }); }; -export const serializeAws_restJson1DeleteVoiceConnectorOriginationCommand = async ( - input: DeleteVoiceConnectorOriginationCommandInput, +export const serializeAws_restJson1DeletePhoneNumberCommand = async ( + input: DeletePhoneNumberCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/voice-connectors/{VoiceConnectorId}/origination"; - if (input.VoiceConnectorId !== undefined) { - const labelValue: string = input.VoiceConnectorId; + let resolvedPath = "/phone-numbers/{PhoneNumberId}"; + if (input.PhoneNumberId !== undefined) { + const labelValue: string = input.PhoneNumberId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); + throw new Error("Empty value provided for input HTTP label: PhoneNumberId."); } - resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{PhoneNumberId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: VoiceConnectorId."); + throw new Error("No value provided for input HTTP label: PhoneNumberId."); } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1867,14 +2371,14 @@ export const serializeAws_restJson1DeleteVoiceConnectorOriginationCommand = asyn }); }; -export const serializeAws_restJson1DeleteVoiceConnectorProxyCommand = async ( - input: DeleteVoiceConnectorProxyCommandInput, +export const serializeAws_restJson1DeleteProxySessionCommand = async ( + input: DeleteProxySessionCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/voice-connectors/{VoiceConnectorId}/programmable-numbers/proxy"; + let resolvedPath = "/voice-connectors/{VoiceConnectorId}/proxy-sessions/{ProxySessionId}"; if (input.VoiceConnectorId !== undefined) { const labelValue: string = input.VoiceConnectorId; if (labelValue.length <= 0) { @@ -1884,6 +2388,15 @@ export const serializeAws_restJson1DeleteVoiceConnectorProxyCommand = async ( } else { throw new Error("No value provided for input HTTP label: VoiceConnectorId."); } + if (input.ProxySessionId !== undefined) { + const labelValue: string = input.ProxySessionId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ProxySessionId."); + } + resolvedPath = resolvedPath.replace("{ProxySessionId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ProxySessionId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1897,22 +2410,31 @@ export const serializeAws_restJson1DeleteVoiceConnectorProxyCommand = async ( }); }; -export const serializeAws_restJson1DeleteVoiceConnectorStreamingConfigurationCommand = async ( - input: DeleteVoiceConnectorStreamingConfigurationCommandInput, +export const serializeAws_restJson1DeleteRoomCommand = async ( + input: DeleteRoomCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/voice-connectors/{VoiceConnectorId}/streaming-configuration"; - if (input.VoiceConnectorId !== undefined) { - const labelValue: string = input.VoiceConnectorId; + let resolvedPath = "/accounts/{AccountId}/rooms/{RoomId}"; + if (input.AccountId !== undefined) { + const labelValue: string = input.AccountId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); + throw new Error("Empty value provided for input HTTP label: AccountId."); } - resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: VoiceConnectorId."); + throw new Error("No value provided for input HTTP label: AccountId."); + } + if (input.RoomId !== undefined) { + const labelValue: string = input.RoomId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: RoomId."); + } + resolvedPath = resolvedPath.replace("{RoomId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: RoomId."); } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1927,22 +2449,40 @@ export const serializeAws_restJson1DeleteVoiceConnectorStreamingConfigurationCom }); }; -export const serializeAws_restJson1DeleteVoiceConnectorTerminationCommand = async ( - input: DeleteVoiceConnectorTerminationCommandInput, +export const serializeAws_restJson1DeleteRoomMembershipCommand = async ( + input: DeleteRoomMembershipCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/voice-connectors/{VoiceConnectorId}/termination"; - if (input.VoiceConnectorId !== undefined) { - const labelValue: string = input.VoiceConnectorId; + let resolvedPath = "/accounts/{AccountId}/rooms/{RoomId}/memberships/{MemberId}"; + if (input.AccountId !== undefined) { + const labelValue: string = input.AccountId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); + throw new Error("Empty value provided for input HTTP label: AccountId."); } - resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: VoiceConnectorId."); + throw new Error("No value provided for input HTTP label: AccountId."); + } + if (input.RoomId !== undefined) { + const labelValue: string = input.RoomId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: RoomId."); + } + resolvedPath = resolvedPath.replace("{RoomId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: RoomId."); + } + if (input.MemberId !== undefined) { + const labelValue: string = input.MemberId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: MemberId."); + } + resolvedPath = resolvedPath.replace("{MemberId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: MemberId."); } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1957,94 +2497,72 @@ export const serializeAws_restJson1DeleteVoiceConnectorTerminationCommand = asyn }); }; -export const serializeAws_restJson1DeleteVoiceConnectorTerminationCredentialsCommand = async ( - input: DeleteVoiceConnectorTerminationCredentialsCommandInput, +export const serializeAws_restJson1DeleteSipMediaApplicationCommand = async ( + input: DeleteSipMediaApplicationCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", }; - let resolvedPath = "/voice-connectors/{VoiceConnectorId}/termination/credentials"; - if (input.VoiceConnectorId !== undefined) { - const labelValue: string = input.VoiceConnectorId; + let resolvedPath = "/sip-media-applications/{SipMediaApplicationId}"; + if (input.SipMediaApplicationId !== undefined) { + const labelValue: string = input.SipMediaApplicationId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); + throw new Error("Empty value provided for input HTTP label: SipMediaApplicationId."); } - resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{SipMediaApplicationId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: VoiceConnectorId."); + throw new Error("No value provided for input HTTP label: SipMediaApplicationId."); } - const query: any = { - operation: "delete", - }; let body: any; - body = JSON.stringify({ - ...(input.Usernames !== undefined && { - Usernames: serializeAws_restJson1SensitiveStringList(input.Usernames, context), - }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "DELETE", headers, path: resolvedPath, - query, body, }); }; -export const serializeAws_restJson1DisassociatePhoneNumberFromUserCommand = async ( - input: DisassociatePhoneNumberFromUserCommandInput, +export const serializeAws_restJson1DeleteSipRuleCommand = async ( + input: DeleteSipRuleCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/accounts/{AccountId}/users/{UserId}"; - if (input.AccountId !== undefined) { - const labelValue: string = input.AccountId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AccountId."); - } - resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: AccountId."); - } - if (input.UserId !== undefined) { - const labelValue: string = input.UserId; + let resolvedPath = "/sip-rules/{SipRuleId}"; + if (input.SipRuleId !== undefined) { + const labelValue: string = input.SipRuleId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: UserId."); + throw new Error("Empty value provided for input HTTP label: SipRuleId."); } - resolvedPath = resolvedPath.replace("{UserId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{SipRuleId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: UserId."); + throw new Error("No value provided for input HTTP label: SipRuleId."); } - const query: any = { - operation: "disassociate-phone-number", - }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "DELETE", headers, path: resolvedPath, - query, body, }); }; -export const serializeAws_restJson1DisassociatePhoneNumbersFromVoiceConnectorCommand = async ( - input: DisassociatePhoneNumbersFromVoiceConnectorCommandInput, +export const serializeAws_restJson1DeleteVoiceConnectorCommand = async ( + input: DeleteVoiceConnectorCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", }; let resolvedPath = "/voice-connectors/{VoiceConnectorId}"; if (input.VoiceConnectorId !== undefined) { @@ -2056,122 +2574,95 @@ export const serializeAws_restJson1DisassociatePhoneNumbersFromVoiceConnectorCom } else { throw new Error("No value provided for input HTTP label: VoiceConnectorId."); } - const query: any = { - operation: "disassociate-phone-numbers", - }; let body: any; - body = JSON.stringify({ - ...(input.E164PhoneNumbers !== undefined && { - E164PhoneNumbers: serializeAws_restJson1E164PhoneNumberList(input.E164PhoneNumbers, context), - }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "DELETE", headers, path: resolvedPath, - query, body, }); }; -export const serializeAws_restJson1DisassociatePhoneNumbersFromVoiceConnectorGroupCommand = async ( - input: DisassociatePhoneNumbersFromVoiceConnectorGroupCommandInput, +export const serializeAws_restJson1DeleteVoiceConnectorEmergencyCallingConfigurationCommand = async ( + input: DeleteVoiceConnectorEmergencyCallingConfigurationCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", }; - let resolvedPath = "/voice-connector-groups/{VoiceConnectorGroupId}"; - if (input.VoiceConnectorGroupId !== undefined) { - const labelValue: string = input.VoiceConnectorGroupId; + let resolvedPath = "/voice-connectors/{VoiceConnectorId}/emergency-calling-configuration"; + if (input.VoiceConnectorId !== undefined) { + const labelValue: string = input.VoiceConnectorId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: VoiceConnectorGroupId."); + throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); } - resolvedPath = resolvedPath.replace("{VoiceConnectorGroupId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: VoiceConnectorGroupId."); + throw new Error("No value provided for input HTTP label: VoiceConnectorId."); } - const query: any = { - operation: "disassociate-phone-numbers", - }; let body: any; - body = JSON.stringify({ - ...(input.E164PhoneNumbers !== undefined && { - E164PhoneNumbers: serializeAws_restJson1E164PhoneNumberList(input.E164PhoneNumbers, context), - }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "DELETE", headers, path: resolvedPath, - query, body, }); }; -export const serializeAws_restJson1DisassociateSigninDelegateGroupsFromAccountCommand = async ( - input: DisassociateSigninDelegateGroupsFromAccountCommandInput, +export const serializeAws_restJson1DeleteVoiceConnectorGroupCommand = async ( + input: DeleteVoiceConnectorGroupCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", }; - let resolvedPath = "/accounts/{AccountId}"; - if (input.AccountId !== undefined) { - const labelValue: string = input.AccountId; + let resolvedPath = "/voice-connector-groups/{VoiceConnectorGroupId}"; + if (input.VoiceConnectorGroupId !== undefined) { + const labelValue: string = input.VoiceConnectorGroupId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AccountId."); + throw new Error("Empty value provided for input HTTP label: VoiceConnectorGroupId."); } - resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{VoiceConnectorGroupId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: AccountId."); + throw new Error("No value provided for input HTTP label: VoiceConnectorGroupId."); } - const query: any = { - operation: "disassociate-signin-delegate-groups", - }; let body: any; - body = JSON.stringify({ - ...(input.GroupNames !== undefined && { - GroupNames: serializeAws_restJson1NonEmptyStringList(input.GroupNames, context), - }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "DELETE", headers, path: resolvedPath, - query, body, }); }; -export const serializeAws_restJson1GetAccountCommand = async ( - input: GetAccountCommandInput, +export const serializeAws_restJson1DeleteVoiceConnectorOriginationCommand = async ( + input: DeleteVoiceConnectorOriginationCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/accounts/{AccountId}"; - if (input.AccountId !== undefined) { - const labelValue: string = input.AccountId; + let resolvedPath = "/voice-connectors/{VoiceConnectorId}/origination"; + if (input.VoiceConnectorId !== undefined) { + const labelValue: string = input.VoiceConnectorId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AccountId."); + throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); } - resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: AccountId."); + throw new Error("No value provided for input HTTP label: VoiceConnectorId."); } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2179,29 +2670,29 @@ export const serializeAws_restJson1GetAccountCommand = async ( protocol, hostname, port, - method: "GET", + method: "DELETE", headers, path: resolvedPath, body, }); }; -export const serializeAws_restJson1GetAccountSettingsCommand = async ( - input: GetAccountSettingsCommandInput, +export const serializeAws_restJson1DeleteVoiceConnectorProxyCommand = async ( + input: DeleteVoiceConnectorProxyCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/accounts/{AccountId}/settings"; - if (input.AccountId !== undefined) { - const labelValue: string = input.AccountId; + let resolvedPath = "/voice-connectors/{VoiceConnectorId}/programmable-numbers/proxy"; + if (input.VoiceConnectorId !== undefined) { + const labelValue: string = input.VoiceConnectorId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AccountId."); + throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); } - resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: AccountId."); + throw new Error("No value provided for input HTTP label: VoiceConnectorId."); } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2209,38 +2700,29 @@ export const serializeAws_restJson1GetAccountSettingsCommand = async ( protocol, hostname, port, - method: "GET", + method: "DELETE", headers, path: resolvedPath, body, }); }; -export const serializeAws_restJson1GetAttendeeCommand = async ( - input: GetAttendeeCommandInput, +export const serializeAws_restJson1DeleteVoiceConnectorStreamingConfigurationCommand = async ( + input: DeleteVoiceConnectorStreamingConfigurationCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/meetings/{MeetingId}/attendees/{AttendeeId}"; - if (input.MeetingId !== undefined) { - const labelValue: string = input.MeetingId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: MeetingId."); - } - resolvedPath = resolvedPath.replace("{MeetingId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: MeetingId."); - } - if (input.AttendeeId !== undefined) { - const labelValue: string = input.AttendeeId; + let resolvedPath = "/voice-connectors/{VoiceConnectorId}/streaming-configuration"; + if (input.VoiceConnectorId !== undefined) { + const labelValue: string = input.VoiceConnectorId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AttendeeId."); + throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); } - resolvedPath = resolvedPath.replace("{AttendeeId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: AttendeeId."); + throw new Error("No value provided for input HTTP label: VoiceConnectorId."); } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2248,38 +2730,29 @@ export const serializeAws_restJson1GetAttendeeCommand = async ( protocol, hostname, port, - method: "GET", + method: "DELETE", headers, path: resolvedPath, body, }); }; -export const serializeAws_restJson1GetBotCommand = async ( - input: GetBotCommandInput, +export const serializeAws_restJson1DeleteVoiceConnectorTerminationCommand = async ( + input: DeleteVoiceConnectorTerminationCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/accounts/{AccountId}/bots/{BotId}"; - if (input.AccountId !== undefined) { - const labelValue: string = input.AccountId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AccountId."); - } - resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: AccountId."); - } - if (input.BotId !== undefined) { - const labelValue: string = input.BotId; + let resolvedPath = "/voice-connectors/{VoiceConnectorId}/termination"; + if (input.VoiceConnectorId !== undefined) { + const labelValue: string = input.VoiceConnectorId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: BotId."); + throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); } - resolvedPath = resolvedPath.replace("{BotId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: BotId."); + throw new Error("No value provided for input HTTP label: VoiceConnectorId."); } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2287,96 +2760,81 @@ export const serializeAws_restJson1GetBotCommand = async ( protocol, hostname, port, - method: "GET", + method: "DELETE", headers, path: resolvedPath, body, }); }; -export const serializeAws_restJson1GetEventsConfigurationCommand = async ( - input: GetEventsConfigurationCommandInput, +export const serializeAws_restJson1DeleteVoiceConnectorTerminationCredentialsCommand = async ( + input: DeleteVoiceConnectorTerminationCredentialsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "", + "Content-Type": "application/json", }; - let resolvedPath = "/accounts/{AccountId}/bots/{BotId}/events-configuration"; - if (input.AccountId !== undefined) { - const labelValue: string = input.AccountId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AccountId."); - } - resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: AccountId."); - } - if (input.BotId !== undefined) { - const labelValue: string = input.BotId; + let resolvedPath = "/voice-connectors/{VoiceConnectorId}/termination/credentials"; + if (input.VoiceConnectorId !== undefined) { + const labelValue: string = input.VoiceConnectorId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: BotId."); + throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); } - resolvedPath = resolvedPath.replace("{BotId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: BotId."); + throw new Error("No value provided for input HTTP label: VoiceConnectorId."); } + const query: any = { + operation: "delete", + }; let body: any; + body = JSON.stringify({ + ...(input.Usernames !== undefined && { + Usernames: serializeAws_restJson1SensitiveStringList(input.Usernames, context), + }), + }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "GET", + method: "POST", headers, path: resolvedPath, + query, body, }); }; -export const serializeAws_restJson1GetGlobalSettingsCommand = async ( - input: GetGlobalSettingsCommandInput, - context: __SerdeContext -): Promise<__HttpRequest> => { - const headers: any = { - "Content-Type": "", - }; - let resolvedPath = "/settings"; - let body: any; - body = "{}"; - const { hostname, protocol = "https", port } = await context.endpoint(); - return new __HttpRequest({ - protocol, - hostname, - port, - method: "GET", - headers, - path: resolvedPath, - body, - }); -}; - -export const serializeAws_restJson1GetMeetingCommand = async ( - input: GetMeetingCommandInput, +export const serializeAws_restJson1DescribeAppInstanceCommand = async ( + input: DescribeAppInstanceCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/meetings/{MeetingId}"; - if (input.MeetingId !== undefined) { - const labelValue: string = input.MeetingId; + let resolvedPath = "/app-instances/{AppInstanceArn}"; + if (input.AppInstanceArn !== undefined) { + const labelValue: string = input.AppInstanceArn; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: MeetingId."); + throw new Error("Empty value provided for input HTTP label: AppInstanceArn."); } - resolvedPath = resolvedPath.replace("{MeetingId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{AppInstanceArn}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: MeetingId."); + throw new Error("No value provided for input HTTP label: AppInstanceArn."); } let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "identity-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, - hostname, + hostname: resolvedHostname, port, method: "GET", headers, @@ -2385,80 +2843,44 @@ export const serializeAws_restJson1GetMeetingCommand = async ( }); }; -export const serializeAws_restJson1GetPhoneNumberCommand = async ( - input: GetPhoneNumberCommandInput, +export const serializeAws_restJson1DescribeAppInstanceAdminCommand = async ( + input: DescribeAppInstanceAdminCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/phone-numbers/{PhoneNumberId}"; - if (input.PhoneNumberId !== undefined) { - const labelValue: string = input.PhoneNumberId; + let resolvedPath = "/app-instances/{AppInstanceArn}/admins/{AppInstanceAdminArn}"; + if (input.AppInstanceAdminArn !== undefined) { + const labelValue: string = input.AppInstanceAdminArn; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: PhoneNumberId."); + throw new Error("Empty value provided for input HTTP label: AppInstanceAdminArn."); } - resolvedPath = resolvedPath.replace("{PhoneNumberId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{AppInstanceAdminArn}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: PhoneNumberId."); + throw new Error("No value provided for input HTTP label: AppInstanceAdminArn."); } - let body: any; - const { hostname, protocol = "https", port } = await context.endpoint(); - return new __HttpRequest({ - protocol, - hostname, - port, - method: "GET", - headers, - path: resolvedPath, - body, - }); -}; - -export const serializeAws_restJson1GetPhoneNumberOrderCommand = async ( - input: GetPhoneNumberOrderCommandInput, - context: __SerdeContext -): Promise<__HttpRequest> => { - const headers: any = { - "Content-Type": "", - }; - let resolvedPath = "/phone-number-orders/{PhoneNumberOrderId}"; - if (input.PhoneNumberOrderId !== undefined) { - const labelValue: string = input.PhoneNumberOrderId; + if (input.AppInstanceArn !== undefined) { + const labelValue: string = input.AppInstanceArn; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: PhoneNumberOrderId."); + throw new Error("Empty value provided for input HTTP label: AppInstanceArn."); } - resolvedPath = resolvedPath.replace("{PhoneNumberOrderId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{AppInstanceArn}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: PhoneNumberOrderId."); + throw new Error("No value provided for input HTTP label: AppInstanceArn."); } let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "identity-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, - hostname, - port, - method: "GET", - headers, - path: resolvedPath, - body, - }); -}; - -export const serializeAws_restJson1GetPhoneNumberSettingsCommand = async ( - input: GetPhoneNumberSettingsCommandInput, - context: __SerdeContext -): Promise<__HttpRequest> => { - const headers: any = { - "Content-Type": "", - }; - let resolvedPath = "/settings/phone-number"; - let body: any; - body = "{}"; - const { hostname, protocol = "https", port } = await context.endpoint(); - return new __HttpRequest({ - protocol, - hostname, + hostname: resolvedHostname, port, method: "GET", headers, @@ -2467,37 +2889,35 @@ export const serializeAws_restJson1GetPhoneNumberSettingsCommand = async ( }); }; -export const serializeAws_restJson1GetProxySessionCommand = async ( - input: GetProxySessionCommandInput, +export const serializeAws_restJson1DescribeAppInstanceUserCommand = async ( + input: DescribeAppInstanceUserCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/voice-connectors/{VoiceConnectorId}/proxy-sessions/{ProxySessionId}"; - if (input.VoiceConnectorId !== undefined) { - const labelValue: string = input.VoiceConnectorId; + let resolvedPath = "/app-instance-users/{AppInstanceUserArn}"; + if (input.AppInstanceUserArn !== undefined) { + const labelValue: string = input.AppInstanceUserArn; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); + throw new Error("Empty value provided for input HTTP label: AppInstanceUserArn."); } - resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{AppInstanceUserArn}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: VoiceConnectorId."); + throw new Error("No value provided for input HTTP label: AppInstanceUserArn."); } - if (input.ProxySessionId !== undefined) { - const labelValue: string = input.ProxySessionId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ProxySessionId."); + let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "identity-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); } - resolvedPath = resolvedPath.replace("{ProxySessionId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ProxySessionId."); } - let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, - hostname, + hostname: resolvedHostname, port, method: "GET", headers, @@ -2506,28 +2926,35 @@ export const serializeAws_restJson1GetProxySessionCommand = async ( }); }; -export const serializeAws_restJson1GetRetentionSettingsCommand = async ( - input: GetRetentionSettingsCommandInput, +export const serializeAws_restJson1DescribeChannelCommand = async ( + input: DescribeChannelCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/accounts/{AccountId}/retention-settings"; - if (input.AccountId !== undefined) { - const labelValue: string = input.AccountId; + let resolvedPath = "/channels/{ChannelArn}"; + if (input.ChannelArn !== undefined) { + const labelValue: string = input.ChannelArn; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AccountId."); + throw new Error("Empty value provided for input HTTP label: ChannelArn."); } - resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{ChannelArn}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: AccountId."); + throw new Error("No value provided for input HTTP label: ChannelArn."); } let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "messaging-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, - hostname, + hostname: resolvedHostname, port, method: "GET", headers, @@ -2536,37 +2963,44 @@ export const serializeAws_restJson1GetRetentionSettingsCommand = async ( }); }; -export const serializeAws_restJson1GetRoomCommand = async ( - input: GetRoomCommandInput, +export const serializeAws_restJson1DescribeChannelBanCommand = async ( + input: DescribeChannelBanCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/accounts/{AccountId}/rooms/{RoomId}"; - if (input.AccountId !== undefined) { - const labelValue: string = input.AccountId; + let resolvedPath = "/channels/{ChannelArn}/bans/{MemberArn}"; + if (input.ChannelArn !== undefined) { + const labelValue: string = input.ChannelArn; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AccountId."); + throw new Error("Empty value provided for input HTTP label: ChannelArn."); } - resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{ChannelArn}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: AccountId."); + throw new Error("No value provided for input HTTP label: ChannelArn."); } - if (input.RoomId !== undefined) { - const labelValue: string = input.RoomId; + if (input.MemberArn !== undefined) { + const labelValue: string = input.MemberArn; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: RoomId."); + throw new Error("Empty value provided for input HTTP label: MemberArn."); } - resolvedPath = resolvedPath.replace("{RoomId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{MemberArn}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: RoomId."); + throw new Error("No value provided for input HTTP label: MemberArn."); } let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "messaging-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, - hostname, + hostname: resolvedHostname, port, method: "GET", headers, @@ -2575,28 +3009,44 @@ export const serializeAws_restJson1GetRoomCommand = async ( }); }; -export const serializeAws_restJson1GetSipMediaApplicationCommand = async ( - input: GetSipMediaApplicationCommandInput, +export const serializeAws_restJson1DescribeChannelMembershipCommand = async ( + input: DescribeChannelMembershipCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/sip-media-applications/{SipMediaApplicationId}"; - if (input.SipMediaApplicationId !== undefined) { - const labelValue: string = input.SipMediaApplicationId; + let resolvedPath = "/channels/{ChannelArn}/memberships/{MemberArn}"; + if (input.ChannelArn !== undefined) { + const labelValue: string = input.ChannelArn; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: SipMediaApplicationId."); + throw new Error("Empty value provided for input HTTP label: ChannelArn."); } - resolvedPath = resolvedPath.replace("{SipMediaApplicationId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{ChannelArn}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: SipMediaApplicationId."); + throw new Error("No value provided for input HTTP label: ChannelArn."); + } + if (input.MemberArn !== undefined) { + const labelValue: string = input.MemberArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: MemberArn."); + } + resolvedPath = resolvedPath.replace("{MemberArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: MemberArn."); } let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "messaging-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, - hostname, + hostname: resolvedHostname, port, method: "GET", headers, @@ -2605,97 +3055,128 @@ export const serializeAws_restJson1GetSipMediaApplicationCommand = async ( }); }; -export const serializeAws_restJson1GetSipMediaApplicationLoggingConfigurationCommand = async ( - input: GetSipMediaApplicationLoggingConfigurationCommandInput, +export const serializeAws_restJson1DescribeChannelMembershipForAppInstanceUserCommand = async ( + input: DescribeChannelMembershipForAppInstanceUserCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/sip-media-applications/{SipMediaApplicationId}/logging-configuration"; - if (input.SipMediaApplicationId !== undefined) { - const labelValue: string = input.SipMediaApplicationId; + let resolvedPath = "/channels/{ChannelArn}"; + if (input.ChannelArn !== undefined) { + const labelValue: string = input.ChannelArn; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: SipMediaApplicationId."); + throw new Error("Empty value provided for input HTTP label: ChannelArn."); } - resolvedPath = resolvedPath.replace("{SipMediaApplicationId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{ChannelArn}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: SipMediaApplicationId."); + throw new Error("No value provided for input HTTP label: ChannelArn."); } + const query: any = { + scope: "app-instance-user-membership", + ...(input.AppInstanceUserArn !== undefined && { "app-instance-user-arn": input.AppInstanceUserArn }), + }; let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "messaging-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, - hostname, + hostname: resolvedHostname, port, method: "GET", headers, path: resolvedPath, + query, body, }); }; -export const serializeAws_restJson1GetSipRuleCommand = async ( - input: GetSipRuleCommandInput, +export const serializeAws_restJson1DescribeChannelModeratedByAppInstanceUserCommand = async ( + input: DescribeChannelModeratedByAppInstanceUserCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/sip-rules/{SipRuleId}"; - if (input.SipRuleId !== undefined) { - const labelValue: string = input.SipRuleId; + let resolvedPath = "/channels/{ChannelArn}"; + if (input.ChannelArn !== undefined) { + const labelValue: string = input.ChannelArn; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: SipRuleId."); + throw new Error("Empty value provided for input HTTP label: ChannelArn."); } - resolvedPath = resolvedPath.replace("{SipRuleId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{ChannelArn}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: SipRuleId."); + throw new Error("No value provided for input HTTP label: ChannelArn."); } + const query: any = { + scope: "app-instance-user-moderated-channel", + ...(input.AppInstanceUserArn !== undefined && { "app-instance-user-arn": input.AppInstanceUserArn }), + }; let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "messaging-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, - hostname, + hostname: resolvedHostname, port, method: "GET", headers, path: resolvedPath, + query, body, }); }; -export const serializeAws_restJson1GetUserCommand = async ( - input: GetUserCommandInput, +export const serializeAws_restJson1DescribeChannelModeratorCommand = async ( + input: DescribeChannelModeratorCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/accounts/{AccountId}/users/{UserId}"; - if (input.AccountId !== undefined) { - const labelValue: string = input.AccountId; + let resolvedPath = "/channels/{ChannelArn}/moderators/{ChannelModeratorArn}"; + if (input.ChannelArn !== undefined) { + const labelValue: string = input.ChannelArn; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AccountId."); + throw new Error("Empty value provided for input HTTP label: ChannelArn."); } - resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{ChannelArn}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: AccountId."); + throw new Error("No value provided for input HTTP label: ChannelArn."); } - if (input.UserId !== undefined) { - const labelValue: string = input.UserId; + if (input.ChannelModeratorArn !== undefined) { + const labelValue: string = input.ChannelModeratorArn; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: UserId."); + throw new Error("Empty value provided for input HTTP label: ChannelModeratorArn."); } - resolvedPath = resolvedPath.replace("{UserId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{ChannelModeratorArn}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: UserId."); + throw new Error("No value provided for input HTTP label: ChannelModeratorArn."); } let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "messaging-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, - hostname, + hostname: resolvedHostname, port, method: "GET", headers, @@ -2704,14 +3185,14 @@ export const serializeAws_restJson1GetUserCommand = async ( }); }; -export const serializeAws_restJson1GetUserSettingsCommand = async ( - input: GetUserSettingsCommandInput, +export const serializeAws_restJson1DisassociatePhoneNumberFromUserCommand = async ( + input: DisassociatePhoneNumberFromUserCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/accounts/{AccountId}/users/{UserId}/settings"; + let resolvedPath = "/accounts/{AccountId}/users/{UserId}"; if (input.AccountId !== undefined) { const labelValue: string = input.AccountId; if (labelValue.length <= 0) { @@ -2730,25 +3211,29 @@ export const serializeAws_restJson1GetUserSettingsCommand = async ( } else { throw new Error("No value provided for input HTTP label: UserId."); } + const query: any = { + operation: "disassociate-phone-number", + }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "GET", + method: "POST", headers, path: resolvedPath, + query, body, }); }; -export const serializeAws_restJson1GetVoiceConnectorCommand = async ( - input: GetVoiceConnectorCommandInput, +export const serializeAws_restJson1DisassociatePhoneNumbersFromVoiceConnectorCommand = async ( + input: DisassociatePhoneNumbersFromVoiceConnectorCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "", + "Content-Type": "application/json", }; let resolvedPath = "/voice-connectors/{VoiceConnectorId}"; if (input.VoiceConnectorId !== undefined) { @@ -2760,65 +3245,122 @@ export const serializeAws_restJson1GetVoiceConnectorCommand = async ( } else { throw new Error("No value provided for input HTTP label: VoiceConnectorId."); } + const query: any = { + operation: "disassociate-phone-numbers", + }; let body: any; + body = JSON.stringify({ + ...(input.E164PhoneNumbers !== undefined && { + E164PhoneNumbers: serializeAws_restJson1E164PhoneNumberList(input.E164PhoneNumbers, context), + }), + }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "GET", + method: "POST", headers, path: resolvedPath, + query, body, }); }; -export const serializeAws_restJson1GetVoiceConnectorEmergencyCallingConfigurationCommand = async ( - input: GetVoiceConnectorEmergencyCallingConfigurationCommandInput, +export const serializeAws_restJson1DisassociatePhoneNumbersFromVoiceConnectorGroupCommand = async ( + input: DisassociatePhoneNumbersFromVoiceConnectorGroupCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "", + "Content-Type": "application/json", }; - let resolvedPath = "/voice-connectors/{VoiceConnectorId}/emergency-calling-configuration"; - if (input.VoiceConnectorId !== undefined) { - const labelValue: string = input.VoiceConnectorId; + let resolvedPath = "/voice-connector-groups/{VoiceConnectorGroupId}"; + if (input.VoiceConnectorGroupId !== undefined) { + const labelValue: string = input.VoiceConnectorGroupId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); + throw new Error("Empty value provided for input HTTP label: VoiceConnectorGroupId."); } - resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{VoiceConnectorGroupId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: VoiceConnectorId."); + throw new Error("No value provided for input HTTP label: VoiceConnectorGroupId."); } + const query: any = { + operation: "disassociate-phone-numbers", + }; let body: any; + body = JSON.stringify({ + ...(input.E164PhoneNumbers !== undefined && { + E164PhoneNumbers: serializeAws_restJson1E164PhoneNumberList(input.E164PhoneNumbers, context), + }), + }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "GET", + method: "POST", headers, path: resolvedPath, + query, body, }); }; -export const serializeAws_restJson1GetVoiceConnectorGroupCommand = async ( - input: GetVoiceConnectorGroupCommandInput, +export const serializeAws_restJson1DisassociateSigninDelegateGroupsFromAccountCommand = async ( + input: DisassociateSigninDelegateGroupsFromAccountCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/accounts/{AccountId}"; + if (input.AccountId !== undefined) { + const labelValue: string = input.AccountId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AccountId."); + } + resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AccountId."); + } + const query: any = { + operation: "disassociate-signin-delegate-groups", + }; + let body: any; + body = JSON.stringify({ + ...(input.GroupNames !== undefined && { + GroupNames: serializeAws_restJson1NonEmptyStringList(input.GroupNames, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1GetAccountCommand = async ( + input: GetAccountCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/voice-connector-groups/{VoiceConnectorGroupId}"; - if (input.VoiceConnectorGroupId !== undefined) { - const labelValue: string = input.VoiceConnectorGroupId; + let resolvedPath = "/accounts/{AccountId}"; + if (input.AccountId !== undefined) { + const labelValue: string = input.AccountId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: VoiceConnectorGroupId."); + throw new Error("Empty value provided for input HTTP label: AccountId."); } - resolvedPath = resolvedPath.replace("{VoiceConnectorGroupId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: VoiceConnectorGroupId."); + throw new Error("No value provided for input HTTP label: AccountId."); } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2833,22 +3375,22 @@ export const serializeAws_restJson1GetVoiceConnectorGroupCommand = async ( }); }; -export const serializeAws_restJson1GetVoiceConnectorLoggingConfigurationCommand = async ( - input: GetVoiceConnectorLoggingConfigurationCommandInput, +export const serializeAws_restJson1GetAccountSettingsCommand = async ( + input: GetAccountSettingsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/voice-connectors/{VoiceConnectorId}/logging-configuration"; - if (input.VoiceConnectorId !== undefined) { - const labelValue: string = input.VoiceConnectorId; + let resolvedPath = "/accounts/{AccountId}/settings"; + if (input.AccountId !== undefined) { + const labelValue: string = input.AccountId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); + throw new Error("Empty value provided for input HTTP label: AccountId."); } - resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: VoiceConnectorId."); + throw new Error("No value provided for input HTTP label: AccountId."); } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2863,28 +3405,35 @@ export const serializeAws_restJson1GetVoiceConnectorLoggingConfigurationCommand }); }; -export const serializeAws_restJson1GetVoiceConnectorOriginationCommand = async ( - input: GetVoiceConnectorOriginationCommandInput, +export const serializeAws_restJson1GetAppInstanceRetentionSettingsCommand = async ( + input: GetAppInstanceRetentionSettingsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/voice-connectors/{VoiceConnectorId}/origination"; - if (input.VoiceConnectorId !== undefined) { - const labelValue: string = input.VoiceConnectorId; + let resolvedPath = "/app-instances/{AppInstanceArn}/retention-settings"; + if (input.AppInstanceArn !== undefined) { + const labelValue: string = input.AppInstanceArn; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); + throw new Error("Empty value provided for input HTTP label: AppInstanceArn."); } - resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{AppInstanceArn}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: VoiceConnectorId."); + throw new Error("No value provided for input HTTP label: AppInstanceArn."); } let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "identity-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, - hostname, + hostname: resolvedHostname, port, method: "GET", headers, @@ -2893,22 +3442,22 @@ export const serializeAws_restJson1GetVoiceConnectorOriginationCommand = async ( }); }; -export const serializeAws_restJson1GetVoiceConnectorProxyCommand = async ( - input: GetVoiceConnectorProxyCommandInput, +export const serializeAws_restJson1GetAppInstanceStreamingConfigurationsCommand = async ( + input: GetAppInstanceStreamingConfigurationsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/voice-connectors/{VoiceConnectorId}/programmable-numbers/proxy"; - if (input.VoiceConnectorId !== undefined) { - const labelValue: string = input.VoiceConnectorId; + let resolvedPath = "/app-instances/{AppInstanceArn}/streaming-configurations"; + if (input.AppInstanceArn !== undefined) { + const labelValue: string = input.AppInstanceArn; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); + throw new Error("Empty value provided for input HTTP label: AppInstanceArn."); } - resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{AppInstanceArn}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: VoiceConnectorId."); + throw new Error("No value provided for input HTTP label: AppInstanceArn."); } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2923,22 +3472,31 @@ export const serializeAws_restJson1GetVoiceConnectorProxyCommand = async ( }); }; -export const serializeAws_restJson1GetVoiceConnectorStreamingConfigurationCommand = async ( - input: GetVoiceConnectorStreamingConfigurationCommandInput, +export const serializeAws_restJson1GetAttendeeCommand = async ( + input: GetAttendeeCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/voice-connectors/{VoiceConnectorId}/streaming-configuration"; - if (input.VoiceConnectorId !== undefined) { - const labelValue: string = input.VoiceConnectorId; + let resolvedPath = "/meetings/{MeetingId}/attendees/{AttendeeId}"; + if (input.MeetingId !== undefined) { + const labelValue: string = input.MeetingId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); + throw new Error("Empty value provided for input HTTP label: MeetingId."); } - resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{MeetingId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: VoiceConnectorId."); + throw new Error("No value provided for input HTTP label: MeetingId."); + } + if (input.AttendeeId !== undefined) { + const labelValue: string = input.AttendeeId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AttendeeId."); + } + resolvedPath = resolvedPath.replace("{AttendeeId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AttendeeId."); } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2953,22 +3511,31 @@ export const serializeAws_restJson1GetVoiceConnectorStreamingConfigurationComman }); }; -export const serializeAws_restJson1GetVoiceConnectorTerminationCommand = async ( - input: GetVoiceConnectorTerminationCommandInput, +export const serializeAws_restJson1GetBotCommand = async ( + input: GetBotCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/voice-connectors/{VoiceConnectorId}/termination"; - if (input.VoiceConnectorId !== undefined) { - const labelValue: string = input.VoiceConnectorId; + let resolvedPath = "/accounts/{AccountId}/bots/{BotId}"; + if (input.AccountId !== undefined) { + const labelValue: string = input.AccountId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); + throw new Error("Empty value provided for input HTTP label: AccountId."); } - resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: VoiceConnectorId."); + throw new Error("No value provided for input HTTP label: AccountId."); + } + if (input.BotId !== undefined) { + const labelValue: string = input.BotId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: BotId."); + } + resolvedPath = resolvedPath.replace("{BotId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: BotId."); } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2983,28 +3550,44 @@ export const serializeAws_restJson1GetVoiceConnectorTerminationCommand = async ( }); }; -export const serializeAws_restJson1GetVoiceConnectorTerminationHealthCommand = async ( - input: GetVoiceConnectorTerminationHealthCommandInput, +export const serializeAws_restJson1GetChannelMessageCommand = async ( + input: GetChannelMessageCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/voice-connectors/{VoiceConnectorId}/termination/health"; - if (input.VoiceConnectorId !== undefined) { - const labelValue: string = input.VoiceConnectorId; + let resolvedPath = "/channels/{ChannelArn}/messages/{MessageId}"; + if (input.ChannelArn !== undefined) { + const labelValue: string = input.ChannelArn; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); + throw new Error("Empty value provided for input HTTP label: ChannelArn."); } - resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{ChannelArn}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: VoiceConnectorId."); + throw new Error("No value provided for input HTTP label: ChannelArn."); + } + if (input.MessageId !== undefined) { + const labelValue: string = input.MessageId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: MessageId."); + } + resolvedPath = resolvedPath.replace("{MessageId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: MessageId."); } let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "messaging-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, - hostname, + hostname: resolvedHostname, port, method: "GET", headers, @@ -3013,14 +3596,14 @@ export const serializeAws_restJson1GetVoiceConnectorTerminationHealthCommand = a }); }; -export const serializeAws_restJson1InviteUsersCommand = async ( - input: InviteUsersCommandInput, +export const serializeAws_restJson1GetEventsConfigurationCommand = async ( + input: GetEventsConfigurationCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", }; - let resolvedPath = "/accounts/{AccountId}/users"; + let resolvedPath = "/accounts/{AccountId}/bots/{BotId}/events-configuration"; if (input.AccountId !== undefined) { const labelValue: string = input.AccountId; if (labelValue.length <= 0) { @@ -3030,44 +3613,38 @@ export const serializeAws_restJson1InviteUsersCommand = async ( } else { throw new Error("No value provided for input HTTP label: AccountId."); } - const query: any = { - operation: "add", - }; + if (input.BotId !== undefined) { + const labelValue: string = input.BotId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: BotId."); + } + resolvedPath = resolvedPath.replace("{BotId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: BotId."); + } let body: any; - body = JSON.stringify({ - ...(input.UserEmailList !== undefined && { - UserEmailList: serializeAws_restJson1UserEmailList(input.UserEmailList, context), - }), - ...(input.UserType !== undefined && { UserType: input.UserType }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "GET", headers, path: resolvedPath, - query, body, }); }; -export const serializeAws_restJson1ListAccountsCommand = async ( - input: ListAccountsCommandInput, +export const serializeAws_restJson1GetGlobalSettingsCommand = async ( + input: GetGlobalSettingsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/accounts"; - const query: any = { - ...(input.Name !== undefined && { name: input.Name }), - ...(input.UserEmail !== undefined && { "user-email": input.UserEmail }), - ...(input.NextToken !== undefined && { "next-token": input.NextToken }), - ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), - }; + let resolvedPath = "/settings"; let body: any; + body = "{}"; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, @@ -3076,19 +3653,18 @@ export const serializeAws_restJson1ListAccountsCommand = async ( method: "GET", headers, path: resolvedPath, - query, body, }); }; -export const serializeAws_restJson1ListAttendeesCommand = async ( - input: ListAttendeesCommandInput, +export const serializeAws_restJson1GetMeetingCommand = async ( + input: GetMeetingCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/meetings/{MeetingId}/attendees"; + let resolvedPath = "/meetings/{MeetingId}"; if (input.MeetingId !== undefined) { const labelValue: string = input.MeetingId; if (labelValue.length <= 0) { @@ -3098,10 +3674,6 @@ export const serializeAws_restJson1ListAttendeesCommand = async ( } else { throw new Error("No value provided for input HTTP label: MeetingId."); } - const query: any = { - ...(input.NextToken !== undefined && { "next-token": input.NextToken }), - ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), - }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -3111,42 +3683,31 @@ export const serializeAws_restJson1ListAttendeesCommand = async ( method: "GET", headers, path: resolvedPath, - query, body, }); }; -export const serializeAws_restJson1ListAttendeeTagsCommand = async ( - input: ListAttendeeTagsCommandInput, +export const serializeAws_restJson1GetMessagingSessionEndpointCommand = async ( + input: GetMessagingSessionEndpointCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/meetings/{MeetingId}/attendees/{AttendeeId}/tags"; - if (input.MeetingId !== undefined) { - const labelValue: string = input.MeetingId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: MeetingId."); - } - resolvedPath = resolvedPath.replace("{MeetingId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: MeetingId."); - } - if (input.AttendeeId !== undefined) { - const labelValue: string = input.AttendeeId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AttendeeId."); + let resolvedPath = "/endpoints/messaging-session"; + let body: any; + body = "{}"; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "messaging-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); } - resolvedPath = resolvedPath.replace("{AttendeeId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: AttendeeId."); } - let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, - hostname, + hostname: resolvedHostname, port, method: "GET", headers, @@ -3155,27 +3716,23 @@ export const serializeAws_restJson1ListAttendeeTagsCommand = async ( }); }; -export const serializeAws_restJson1ListBotsCommand = async ( - input: ListBotsCommandInput, +export const serializeAws_restJson1GetPhoneNumberCommand = async ( + input: GetPhoneNumberCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/accounts/{AccountId}/bots"; - if (input.AccountId !== undefined) { - const labelValue: string = input.AccountId; + let resolvedPath = "/phone-numbers/{PhoneNumberId}"; + if (input.PhoneNumberId !== undefined) { + const labelValue: string = input.PhoneNumberId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AccountId."); + throw new Error("Empty value provided for input HTTP label: PhoneNumberId."); } - resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{PhoneNumberId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: AccountId."); + throw new Error("No value provided for input HTTP label: PhoneNumberId."); } - const query: any = { - ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), - ...(input.NextToken !== undefined && { "next-token": input.NextToken }), - }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -3185,53 +3742,26 @@ export const serializeAws_restJson1ListBotsCommand = async ( method: "GET", headers, path: resolvedPath, - query, body, }); }; -export const serializeAws_restJson1ListMeetingsCommand = async ( - input: ListMeetingsCommandInput, - context: __SerdeContext -): Promise<__HttpRequest> => { - const headers: any = { - "Content-Type": "", - }; - let resolvedPath = "/meetings"; - const query: any = { - ...(input.NextToken !== undefined && { "next-token": input.NextToken }), - ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), - }; - let body: any; - const { hostname, protocol = "https", port } = await context.endpoint(); - return new __HttpRequest({ - protocol, - hostname, - port, - method: "GET", - headers, - path: resolvedPath, - query, - body, - }); -}; - -export const serializeAws_restJson1ListMeetingTagsCommand = async ( - input: ListMeetingTagsCommandInput, +export const serializeAws_restJson1GetPhoneNumberOrderCommand = async ( + input: GetPhoneNumberOrderCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/meetings/{MeetingId}/tags"; - if (input.MeetingId !== undefined) { - const labelValue: string = input.MeetingId; + let resolvedPath = "/phone-number-orders/{PhoneNumberOrderId}"; + if (input.PhoneNumberOrderId !== undefined) { + const labelValue: string = input.PhoneNumberOrderId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: MeetingId."); + throw new Error("Empty value provided for input HTTP label: PhoneNumberOrderId."); } - resolvedPath = resolvedPath.replace("{MeetingId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{PhoneNumberOrderId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: MeetingId."); + throw new Error("No value provided for input HTTP label: PhoneNumberOrderId."); } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -3246,19 +3776,16 @@ export const serializeAws_restJson1ListMeetingTagsCommand = async ( }); }; -export const serializeAws_restJson1ListPhoneNumberOrdersCommand = async ( - input: ListPhoneNumberOrdersCommandInput, +export const serializeAws_restJson1GetPhoneNumberSettingsCommand = async ( + input: GetPhoneNumberSettingsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/phone-number-orders"; - const query: any = { - ...(input.NextToken !== undefined && { "next-token": input.NextToken }), - ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), - }; + let resolvedPath = "/settings/phone-number"; let body: any; + body = "{}"; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, @@ -3267,27 +3794,36 @@ export const serializeAws_restJson1ListPhoneNumberOrdersCommand = async ( method: "GET", headers, path: resolvedPath, - query, body, }); }; -export const serializeAws_restJson1ListPhoneNumbersCommand = async ( - input: ListPhoneNumbersCommandInput, +export const serializeAws_restJson1GetProxySessionCommand = async ( + input: GetProxySessionCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/phone-numbers"; - const query: any = { - ...(input.Status !== undefined && { status: input.Status }), - ...(input.ProductType !== undefined && { "product-type": input.ProductType }), - ...(input.FilterName !== undefined && { "filter-name": input.FilterName }), - ...(input.FilterValue !== undefined && { "filter-value": input.FilterValue }), - ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), - ...(input.NextToken !== undefined && { "next-token": input.NextToken }), - }; + let resolvedPath = "/voice-connectors/{VoiceConnectorId}/proxy-sessions/{ProxySessionId}"; + if (input.VoiceConnectorId !== undefined) { + const labelValue: string = input.VoiceConnectorId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); + } + resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: VoiceConnectorId."); + } + if (input.ProxySessionId !== undefined) { + const labelValue: string = input.ProxySessionId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ProxySessionId."); + } + resolvedPath = resolvedPath.replace("{ProxySessionId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ProxySessionId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -3297,33 +3833,27 @@ export const serializeAws_restJson1ListPhoneNumbersCommand = async ( method: "GET", headers, path: resolvedPath, - query, body, }); }; -export const serializeAws_restJson1ListProxySessionsCommand = async ( - input: ListProxySessionsCommandInput, +export const serializeAws_restJson1GetRetentionSettingsCommand = async ( + input: GetRetentionSettingsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/voice-connectors/{VoiceConnectorId}/proxy-sessions"; - if (input.VoiceConnectorId !== undefined) { - const labelValue: string = input.VoiceConnectorId; + let resolvedPath = "/accounts/{AccountId}/retention-settings"; + if (input.AccountId !== undefined) { + const labelValue: string = input.AccountId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); + throw new Error("Empty value provided for input HTTP label: AccountId."); } - resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: VoiceConnectorId."); + throw new Error("No value provided for input HTTP label: AccountId."); } - const query: any = { - ...(input.Status !== undefined && { status: input.Status }), - ...(input.NextToken !== undefined && { "next-token": input.NextToken }), - ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), - }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -3333,19 +3863,18 @@ export const serializeAws_restJson1ListProxySessionsCommand = async ( method: "GET", headers, path: resolvedPath, - query, body, }); }; -export const serializeAws_restJson1ListRoomMembershipsCommand = async ( - input: ListRoomMembershipsCommandInput, +export const serializeAws_restJson1GetRoomCommand = async ( + input: GetRoomCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/accounts/{AccountId}/rooms/{RoomId}/memberships"; + let resolvedPath = "/accounts/{AccountId}/rooms/{RoomId}"; if (input.AccountId !== undefined) { const labelValue: string = input.AccountId; if (labelValue.length <= 0) { @@ -3364,10 +3893,6 @@ export const serializeAws_restJson1ListRoomMembershipsCommand = async ( } else { throw new Error("No value provided for input HTTP label: RoomId."); } - const query: any = { - ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), - ...(input.NextToken !== undefined && { "next-token": input.NextToken }), - }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -3377,33 +3902,27 @@ export const serializeAws_restJson1ListRoomMembershipsCommand = async ( method: "GET", headers, path: resolvedPath, - query, body, }); }; -export const serializeAws_restJson1ListRoomsCommand = async ( - input: ListRoomsCommandInput, +export const serializeAws_restJson1GetSipMediaApplicationCommand = async ( + input: GetSipMediaApplicationCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/accounts/{AccountId}/rooms"; - if (input.AccountId !== undefined) { - const labelValue: string = input.AccountId; + let resolvedPath = "/sip-media-applications/{SipMediaApplicationId}"; + if (input.SipMediaApplicationId !== undefined) { + const labelValue: string = input.SipMediaApplicationId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AccountId."); + throw new Error("Empty value provided for input HTTP label: SipMediaApplicationId."); } - resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{SipMediaApplicationId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: AccountId."); + throw new Error("No value provided for input HTTP label: SipMediaApplicationId."); } - const query: any = { - ...(input.MemberId !== undefined && { "member-id": input.MemberId }), - ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), - ...(input.NextToken !== undefined && { "next-token": input.NextToken }), - }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -3413,23 +3932,27 @@ export const serializeAws_restJson1ListRoomsCommand = async ( method: "GET", headers, path: resolvedPath, - query, body, }); }; -export const serializeAws_restJson1ListSipMediaApplicationsCommand = async ( - input: ListSipMediaApplicationsCommandInput, +export const serializeAws_restJson1GetSipMediaApplicationLoggingConfigurationCommand = async ( + input: GetSipMediaApplicationLoggingConfigurationCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/sip-media-applications"; - const query: any = { - ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), - ...(input.NextToken !== undefined && { "next-token": input.NextToken }), - }; + let resolvedPath = "/sip-media-applications/{SipMediaApplicationId}/logging-configuration"; + if (input.SipMediaApplicationId !== undefined) { + const labelValue: string = input.SipMediaApplicationId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: SipMediaApplicationId."); + } + resolvedPath = resolvedPath.replace("{SipMediaApplicationId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: SipMediaApplicationId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -3439,24 +3962,27 @@ export const serializeAws_restJson1ListSipMediaApplicationsCommand = async ( method: "GET", headers, path: resolvedPath, - query, body, }); }; -export const serializeAws_restJson1ListSipRulesCommand = async ( - input: ListSipRulesCommandInput, +export const serializeAws_restJson1GetSipRuleCommand = async ( + input: GetSipRuleCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/sip-rules"; - const query: any = { - ...(input.SipMediaApplicationId !== undefined && { "sip-media-application": input.SipMediaApplicationId }), - ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), - ...(input.NextToken !== undefined && { "next-token": input.NextToken }), - }; + let resolvedPath = "/sip-rules/{SipRuleId}"; + if (input.SipRuleId !== undefined) { + const labelValue: string = input.SipRuleId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: SipRuleId."); + } + resolvedPath = resolvedPath.replace("{SipRuleId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: SipRuleId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -3466,22 +3992,36 @@ export const serializeAws_restJson1ListSipRulesCommand = async ( method: "GET", headers, path: resolvedPath, - query, body, }); }; -export const serializeAws_restJson1ListTagsForResourceCommand = async ( - input: ListTagsForResourceCommandInput, +export const serializeAws_restJson1GetUserCommand = async ( + input: GetUserCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/tags"; - const query: any = { - ...(input.ResourceARN !== undefined && { arn: input.ResourceARN }), - }; + let resolvedPath = "/accounts/{AccountId}/users/{UserId}"; + if (input.AccountId !== undefined) { + const labelValue: string = input.AccountId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AccountId."); + } + resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AccountId."); + } + if (input.UserId !== undefined) { + const labelValue: string = input.UserId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: UserId."); + } + resolvedPath = resolvedPath.replace("{UserId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: UserId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -3491,19 +4031,18 @@ export const serializeAws_restJson1ListTagsForResourceCommand = async ( method: "GET", headers, path: resolvedPath, - query, body, }); }; -export const serializeAws_restJson1ListUsersCommand = async ( - input: ListUsersCommandInput, +export const serializeAws_restJson1GetUserSettingsCommand = async ( + input: GetUserSettingsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/accounts/{AccountId}/users"; + let resolvedPath = "/accounts/{AccountId}/users/{UserId}/settings"; if (input.AccountId !== undefined) { const labelValue: string = input.AccountId; if (labelValue.length <= 0) { @@ -3513,12 +4052,15 @@ export const serializeAws_restJson1ListUsersCommand = async ( } else { throw new Error("No value provided for input HTTP label: AccountId."); } - const query: any = { - ...(input.UserEmail !== undefined && { "user-email": input.UserEmail }), - ...(input.UserType !== undefined && { "user-type": input.UserType }), - ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), - ...(input.NextToken !== undefined && { "next-token": input.NextToken }), - }; + if (input.UserId !== undefined) { + const labelValue: string = input.UserId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: UserId."); + } + resolvedPath = resolvedPath.replace("{UserId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: UserId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -3528,23 +4070,27 @@ export const serializeAws_restJson1ListUsersCommand = async ( method: "GET", headers, path: resolvedPath, - query, body, }); }; -export const serializeAws_restJson1ListVoiceConnectorGroupsCommand = async ( - input: ListVoiceConnectorGroupsCommandInput, +export const serializeAws_restJson1GetVoiceConnectorCommand = async ( + input: GetVoiceConnectorCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/voice-connector-groups"; - const query: any = { - ...(input.NextToken !== undefined && { "next-token": input.NextToken }), - ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), - }; + let resolvedPath = "/voice-connectors/{VoiceConnectorId}"; + if (input.VoiceConnectorId !== undefined) { + const labelValue: string = input.VoiceConnectorId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); + } + resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: VoiceConnectorId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -3554,45 +4100,18 @@ export const serializeAws_restJson1ListVoiceConnectorGroupsCommand = async ( method: "GET", headers, path: resolvedPath, - query, body, }); }; -export const serializeAws_restJson1ListVoiceConnectorsCommand = async ( - input: ListVoiceConnectorsCommandInput, - context: __SerdeContext -): Promise<__HttpRequest> => { - const headers: any = { - "Content-Type": "", - }; - let resolvedPath = "/voice-connectors"; - const query: any = { - ...(input.NextToken !== undefined && { "next-token": input.NextToken }), - ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), - }; - let body: any; - const { hostname, protocol = "https", port } = await context.endpoint(); - return new __HttpRequest({ - protocol, - hostname, - port, - method: "GET", - headers, - path: resolvedPath, - query, - body, - }); -}; - -export const serializeAws_restJson1ListVoiceConnectorTerminationCredentialsCommand = async ( - input: ListVoiceConnectorTerminationCredentialsCommandInput, +export const serializeAws_restJson1GetVoiceConnectorEmergencyCallingConfigurationCommand = async ( + input: GetVoiceConnectorEmergencyCallingConfigurationCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/voice-connectors/{VoiceConnectorId}/termination/credentials"; + let resolvedPath = "/voice-connectors/{VoiceConnectorId}/emergency-calling-configuration"; if (input.VoiceConnectorId !== undefined) { const labelValue: string = input.VoiceConnectorId; if (labelValue.length <= 0) { @@ -3615,175 +4134,134 @@ export const serializeAws_restJson1ListVoiceConnectorTerminationCredentialsComma }); }; -export const serializeAws_restJson1LogoutUserCommand = async ( - input: LogoutUserCommandInput, +export const serializeAws_restJson1GetVoiceConnectorGroupCommand = async ( + input: GetVoiceConnectorGroupCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/accounts/{AccountId}/users/{UserId}"; - if (input.AccountId !== undefined) { - const labelValue: string = input.AccountId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AccountId."); - } - resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: AccountId."); - } - if (input.UserId !== undefined) { - const labelValue: string = input.UserId; + let resolvedPath = "/voice-connector-groups/{VoiceConnectorGroupId}"; + if (input.VoiceConnectorGroupId !== undefined) { + const labelValue: string = input.VoiceConnectorGroupId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: UserId."); + throw new Error("Empty value provided for input HTTP label: VoiceConnectorGroupId."); } - resolvedPath = resolvedPath.replace("{UserId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{VoiceConnectorGroupId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: UserId."); + throw new Error("No value provided for input HTTP label: VoiceConnectorGroupId."); } - const query: any = { - operation: "logout", - }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "GET", headers, path: resolvedPath, - query, body, }); }; -export const serializeAws_restJson1PutEventsConfigurationCommand = async ( - input: PutEventsConfigurationCommandInput, +export const serializeAws_restJson1GetVoiceConnectorLoggingConfigurationCommand = async ( + input: GetVoiceConnectorLoggingConfigurationCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", }; - let resolvedPath = "/accounts/{AccountId}/bots/{BotId}/events-configuration"; - if (input.AccountId !== undefined) { - const labelValue: string = input.AccountId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AccountId."); - } - resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: AccountId."); - } - if (input.BotId !== undefined) { - const labelValue: string = input.BotId; + let resolvedPath = "/voice-connectors/{VoiceConnectorId}/logging-configuration"; + if (input.VoiceConnectorId !== undefined) { + const labelValue: string = input.VoiceConnectorId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: BotId."); + throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); } - resolvedPath = resolvedPath.replace("{BotId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: BotId."); + throw new Error("No value provided for input HTTP label: VoiceConnectorId."); } let body: any; - body = JSON.stringify({ - ...(input.LambdaFunctionArn !== undefined && { LambdaFunctionArn: input.LambdaFunctionArn }), - ...(input.OutboundEventsHTTPSEndpoint !== undefined && { - OutboundEventsHTTPSEndpoint: input.OutboundEventsHTTPSEndpoint, - }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "PUT", + method: "GET", headers, path: resolvedPath, body, }); }; -export const serializeAws_restJson1PutRetentionSettingsCommand = async ( - input: PutRetentionSettingsCommandInput, +export const serializeAws_restJson1GetVoiceConnectorOriginationCommand = async ( + input: GetVoiceConnectorOriginationCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", }; - let resolvedPath = "/accounts/{AccountId}/retention-settings"; - if (input.AccountId !== undefined) { - const labelValue: string = input.AccountId; + let resolvedPath = "/voice-connectors/{VoiceConnectorId}/origination"; + if (input.VoiceConnectorId !== undefined) { + const labelValue: string = input.VoiceConnectorId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AccountId."); + throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); } - resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: AccountId."); + throw new Error("No value provided for input HTTP label: VoiceConnectorId."); } let body: any; - body = JSON.stringify({ - ...(input.RetentionSettings !== undefined && { - RetentionSettings: serializeAws_restJson1RetentionSettings(input.RetentionSettings, context), - }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "PUT", + method: "GET", headers, path: resolvedPath, body, }); }; -export const serializeAws_restJson1PutSipMediaApplicationLoggingConfigurationCommand = async ( - input: PutSipMediaApplicationLoggingConfigurationCommandInput, +export const serializeAws_restJson1GetVoiceConnectorProxyCommand = async ( + input: GetVoiceConnectorProxyCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", }; - let resolvedPath = "/sip-media-applications/{SipMediaApplicationId}/logging-configuration"; - if (input.SipMediaApplicationId !== undefined) { - const labelValue: string = input.SipMediaApplicationId; + let resolvedPath = "/voice-connectors/{VoiceConnectorId}/programmable-numbers/proxy"; + if (input.VoiceConnectorId !== undefined) { + const labelValue: string = input.VoiceConnectorId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: SipMediaApplicationId."); + throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); } - resolvedPath = resolvedPath.replace("{SipMediaApplicationId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: SipMediaApplicationId."); + throw new Error("No value provided for input HTTP label: VoiceConnectorId."); } let body: any; - body = JSON.stringify({ - ...(input.SipMediaApplicationLoggingConfiguration !== undefined && { - SipMediaApplicationLoggingConfiguration: serializeAws_restJson1SipMediaApplicationLoggingConfiguration( - input.SipMediaApplicationLoggingConfiguration, - context - ), - }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "PUT", + method: "GET", headers, path: resolvedPath, body, }); }; -export const serializeAws_restJson1PutVoiceConnectorEmergencyCallingConfigurationCommand = async ( - input: PutVoiceConnectorEmergencyCallingConfigurationCommandInput, +export const serializeAws_restJson1GetVoiceConnectorStreamingConfigurationCommand = async ( + input: GetVoiceConnectorStreamingConfigurationCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", }; - let resolvedPath = "/voice-connectors/{VoiceConnectorId}/emergency-calling-configuration"; + let resolvedPath = "/voice-connectors/{VoiceConnectorId}/streaming-configuration"; if (input.VoiceConnectorId !== undefined) { const labelValue: string = input.VoiceConnectorId; if (labelValue.length <= 0) { @@ -3794,34 +4272,26 @@ export const serializeAws_restJson1PutVoiceConnectorEmergencyCallingConfiguratio throw new Error("No value provided for input HTTP label: VoiceConnectorId."); } let body: any; - body = JSON.stringify({ - ...(input.EmergencyCallingConfiguration !== undefined && { - EmergencyCallingConfiguration: serializeAws_restJson1EmergencyCallingConfiguration( - input.EmergencyCallingConfiguration, - context - ), - }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "PUT", + method: "GET", headers, path: resolvedPath, body, }); }; -export const serializeAws_restJson1PutVoiceConnectorLoggingConfigurationCommand = async ( - input: PutVoiceConnectorLoggingConfigurationCommandInput, +export const serializeAws_restJson1GetVoiceConnectorTerminationCommand = async ( + input: GetVoiceConnectorTerminationCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", }; - let resolvedPath = "/voice-connectors/{VoiceConnectorId}/logging-configuration"; + let resolvedPath = "/voice-connectors/{VoiceConnectorId}/termination"; if (input.VoiceConnectorId !== undefined) { const labelValue: string = input.VoiceConnectorId; if (labelValue.length <= 0) { @@ -3832,31 +4302,26 @@ export const serializeAws_restJson1PutVoiceConnectorLoggingConfigurationCommand throw new Error("No value provided for input HTTP label: VoiceConnectorId."); } let body: any; - body = JSON.stringify({ - ...(input.LoggingConfiguration !== undefined && { - LoggingConfiguration: serializeAws_restJson1LoggingConfiguration(input.LoggingConfiguration, context), - }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "PUT", + method: "GET", headers, path: resolvedPath, body, }); }; -export const serializeAws_restJson1PutVoiceConnectorOriginationCommand = async ( - input: PutVoiceConnectorOriginationCommandInput, +export const serializeAws_restJson1GetVoiceConnectorTerminationHealthCommand = async ( + input: GetVoiceConnectorTerminationHealthCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", }; - let resolvedPath = "/voice-connectors/{VoiceConnectorId}/origination"; + let resolvedPath = "/voice-connectors/{VoiceConnectorId}/termination/health"; if (input.VoiceConnectorId !== undefined) { const labelValue: string = input.VoiceConnectorId; if (labelValue.length <= 0) { @@ -3867,165 +4332,154 @@ export const serializeAws_restJson1PutVoiceConnectorOriginationCommand = async ( throw new Error("No value provided for input HTTP label: VoiceConnectorId."); } let body: any; - body = JSON.stringify({ - ...(input.Origination !== undefined && { - Origination: serializeAws_restJson1Origination(input.Origination, context), - }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "PUT", + method: "GET", headers, path: resolvedPath, body, }); }; -export const serializeAws_restJson1PutVoiceConnectorProxyCommand = async ( - input: PutVoiceConnectorProxyCommandInput, +export const serializeAws_restJson1InviteUsersCommand = async ( + input: InviteUsersCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", }; - let resolvedPath = "/voice-connectors/{VoiceConnectorId}/programmable-numbers/proxy"; - if (input.VoiceConnectorId !== undefined) { - const labelValue: string = input.VoiceConnectorId; + let resolvedPath = "/accounts/{AccountId}/users"; + if (input.AccountId !== undefined) { + const labelValue: string = input.AccountId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); + throw new Error("Empty value provided for input HTTP label: AccountId."); } - resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: VoiceConnectorId."); + throw new Error("No value provided for input HTTP label: AccountId."); } + const query: any = { + operation: "add", + }; let body: any; body = JSON.stringify({ - ...(input.DefaultSessionExpiryMinutes !== undefined && { - DefaultSessionExpiryMinutes: input.DefaultSessionExpiryMinutes, - }), - ...(input.Disabled !== undefined && { Disabled: input.Disabled }), - ...(input.FallBackPhoneNumber !== undefined && { FallBackPhoneNumber: input.FallBackPhoneNumber }), - ...(input.PhoneNumberPoolCountries !== undefined && { - PhoneNumberPoolCountries: serializeAws_restJson1CountryList(input.PhoneNumberPoolCountries, context), + ...(input.UserEmailList !== undefined && { + UserEmailList: serializeAws_restJson1UserEmailList(input.UserEmailList, context), }), + ...(input.UserType !== undefined && { UserType: input.UserType }), }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "PUT", + method: "POST", headers, path: resolvedPath, + query, body, }); }; -export const serializeAws_restJson1PutVoiceConnectorStreamingConfigurationCommand = async ( - input: PutVoiceConnectorStreamingConfigurationCommandInput, +export const serializeAws_restJson1ListAccountsCommand = async ( + input: ListAccountsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", + }; + let resolvedPath = "/accounts"; + const query: any = { + ...(input.Name !== undefined && { name: input.Name }), + ...(input.UserEmail !== undefined && { "user-email": input.UserEmail }), + ...(input.NextToken !== undefined && { "next-token": input.NextToken }), + ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), }; - let resolvedPath = "/voice-connectors/{VoiceConnectorId}/streaming-configuration"; - if (input.VoiceConnectorId !== undefined) { - const labelValue: string = input.VoiceConnectorId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); - } - resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: VoiceConnectorId."); - } let body: any; - body = JSON.stringify({ - ...(input.StreamingConfiguration !== undefined && { - StreamingConfiguration: serializeAws_restJson1StreamingConfiguration(input.StreamingConfiguration, context), - }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "PUT", + method: "GET", headers, path: resolvedPath, + query, body, }); }; -export const serializeAws_restJson1PutVoiceConnectorTerminationCommand = async ( - input: PutVoiceConnectorTerminationCommandInput, +export const serializeAws_restJson1ListAppInstanceAdminsCommand = async ( + input: ListAppInstanceAdminsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", }; - let resolvedPath = "/voice-connectors/{VoiceConnectorId}/termination"; - if (input.VoiceConnectorId !== undefined) { - const labelValue: string = input.VoiceConnectorId; + let resolvedPath = "/app-instances/{AppInstanceArn}/admins"; + if (input.AppInstanceArn !== undefined) { + const labelValue: string = input.AppInstanceArn; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); + throw new Error("Empty value provided for input HTTP label: AppInstanceArn."); } - resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{AppInstanceArn}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: VoiceConnectorId."); + throw new Error("No value provided for input HTTP label: AppInstanceArn."); } + const query: any = { + ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { "next-token": input.NextToken }), + }; let body: any; - body = JSON.stringify({ - ...(input.Termination !== undefined && { - Termination: serializeAws_restJson1Termination(input.Termination, context), - }), - }); + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "identity-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, - hostname, + hostname: resolvedHostname, port, - method: "PUT", + method: "GET", headers, path: resolvedPath, + query, body, }); }; -export const serializeAws_restJson1PutVoiceConnectorTerminationCredentialsCommand = async ( - input: PutVoiceConnectorTerminationCredentialsCommandInput, +export const serializeAws_restJson1ListAppInstancesCommand = async ( + input: ListAppInstancesCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", }; - let resolvedPath = "/voice-connectors/{VoiceConnectorId}/termination/credentials"; - if (input.VoiceConnectorId !== undefined) { - const labelValue: string = input.VoiceConnectorId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); - } - resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: VoiceConnectorId."); - } + let resolvedPath = "/app-instances"; const query: any = { - operation: "put", + ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { "next-token": input.NextToken }), }; let body: any; - body = JSON.stringify({ - ...(input.Credentials !== undefined && { - Credentials: serializeAws_restJson1CredentialList(input.Credentials, context), - }), - }); + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "identity-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, - hostname, + hostname: resolvedHostname, port, - method: "POST", + method: "GET", headers, path: resolvedPath, query, @@ -4033,51 +4487,33 @@ export const serializeAws_restJson1PutVoiceConnectorTerminationCredentialsComman }); }; -export const serializeAws_restJson1RedactConversationMessageCommand = async ( - input: RedactConversationMessageCommandInput, +export const serializeAws_restJson1ListAppInstanceUsersCommand = async ( + input: ListAppInstanceUsersCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/accounts/{AccountId}/conversations/{ConversationId}/messages/{MessageId}"; - if (input.AccountId !== undefined) { - const labelValue: string = input.AccountId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AccountId."); - } - resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: AccountId."); - } - if (input.ConversationId !== undefined) { - const labelValue: string = input.ConversationId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ConversationId."); - } - resolvedPath = resolvedPath.replace("{ConversationId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ConversationId."); - } - if (input.MessageId !== undefined) { - const labelValue: string = input.MessageId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: MessageId."); - } - resolvedPath = resolvedPath.replace("{MessageId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: MessageId."); - } + let resolvedPath = "/app-instance-users"; const query: any = { - operation: "redact", + ...(input.AppInstanceArn !== undefined && { "app-instance-arn": input.AppInstanceArn }), + ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { "next-token": input.NextToken }), }; let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "identity-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, - hostname, + hostname: resolvedHostname, port, - method: "POST", + method: "GET", headers, path: resolvedPath, query, @@ -4085,43 +4521,26 @@ export const serializeAws_restJson1RedactConversationMessageCommand = async ( }); }; -export const serializeAws_restJson1RedactRoomMessageCommand = async ( - input: RedactRoomMessageCommandInput, +export const serializeAws_restJson1ListAttendeesCommand = async ( + input: ListAttendeesCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/accounts/{AccountId}/rooms/{RoomId}/messages/{MessageId}"; - if (input.AccountId !== undefined) { - const labelValue: string = input.AccountId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AccountId."); - } - resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: AccountId."); - } - if (input.RoomId !== undefined) { - const labelValue: string = input.RoomId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: RoomId."); - } - resolvedPath = resolvedPath.replace("{RoomId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: RoomId."); - } - if (input.MessageId !== undefined) { - const labelValue: string = input.MessageId; + let resolvedPath = "/meetings/{MeetingId}/attendees"; + if (input.MeetingId !== undefined) { + const labelValue: string = input.MeetingId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: MessageId."); + throw new Error("Empty value provided for input HTTP label: MeetingId."); } - resolvedPath = resolvedPath.replace("{MessageId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{MeetingId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: MessageId."); + throw new Error("No value provided for input HTTP label: MeetingId."); } const query: any = { - operation: "redact", + ...(input.NextToken !== undefined && { "next-token": input.NextToken }), + ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -4129,7 +4548,7 @@ export const serializeAws_restJson1RedactRoomMessageCommand = async ( protocol, hostname, port, - method: "POST", + method: "GET", headers, path: resolvedPath, query, @@ -4137,57 +4556,53 @@ export const serializeAws_restJson1RedactRoomMessageCommand = async ( }); }; -export const serializeAws_restJson1RegenerateSecurityTokenCommand = async ( - input: RegenerateSecurityTokenCommandInput, +export const serializeAws_restJson1ListAttendeeTagsCommand = async ( + input: ListAttendeeTagsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/accounts/{AccountId}/bots/{BotId}"; - if (input.AccountId !== undefined) { - const labelValue: string = input.AccountId; + let resolvedPath = "/meetings/{MeetingId}/attendees/{AttendeeId}/tags"; + if (input.MeetingId !== undefined) { + const labelValue: string = input.MeetingId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AccountId."); + throw new Error("Empty value provided for input HTTP label: MeetingId."); } - resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{MeetingId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: AccountId."); + throw new Error("No value provided for input HTTP label: MeetingId."); } - if (input.BotId !== undefined) { - const labelValue: string = input.BotId; + if (input.AttendeeId !== undefined) { + const labelValue: string = input.AttendeeId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: BotId."); + throw new Error("Empty value provided for input HTTP label: AttendeeId."); } - resolvedPath = resolvedPath.replace("{BotId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{AttendeeId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: BotId."); + throw new Error("No value provided for input HTTP label: AttendeeId."); } - const query: any = { - operation: "regenerate-security-token", - }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "GET", headers, path: resolvedPath, - query, body, }); }; -export const serializeAws_restJson1ResetPersonalPINCommand = async ( - input: ResetPersonalPINCommandInput, +export const serializeAws_restJson1ListBotsCommand = async ( + input: ListBotsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/accounts/{AccountId}/users/{UserId}"; + let resolvedPath = "/accounts/{AccountId}/bots"; if (input.AccountId !== undefined) { const labelValue: string = input.AccountId; if (labelValue.length <= 0) { @@ -4197,17 +4612,9 @@ export const serializeAws_restJson1ResetPersonalPINCommand = async ( } else { throw new Error("No value provided for input HTTP label: AccountId."); } - if (input.UserId !== undefined) { - const labelValue: string = input.UserId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: UserId."); - } - resolvedPath = resolvedPath.replace("{UserId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: UserId."); - } const query: any = { - operation: "reset-personal-pin", + ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { "next-token": input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -4215,7 +4622,7 @@ export const serializeAws_restJson1ResetPersonalPINCommand = async ( protocol, hostname, port, - method: "POST", + method: "GET", headers, path: resolvedPath, query, @@ -4223,33 +4630,41 @@ export const serializeAws_restJson1ResetPersonalPINCommand = async ( }); }; -export const serializeAws_restJson1RestorePhoneNumberCommand = async ( - input: RestorePhoneNumberCommandInput, +export const serializeAws_restJson1ListChannelBansCommand = async ( + input: ListChannelBansCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/phone-numbers/{PhoneNumberId}"; - if (input.PhoneNumberId !== undefined) { - const labelValue: string = input.PhoneNumberId; + let resolvedPath = "/channels/{ChannelArn}/bans"; + if (input.ChannelArn !== undefined) { + const labelValue: string = input.ChannelArn; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: PhoneNumberId."); + throw new Error("Empty value provided for input HTTP label: ChannelArn."); } - resolvedPath = resolvedPath.replace("{PhoneNumberId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{ChannelArn}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: PhoneNumberId."); + throw new Error("No value provided for input HTTP label: ChannelArn."); } const query: any = { - operation: "restore", + ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { "next-token": input.NextToken }), }; let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "messaging-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, - hostname, + hostname: resolvedHostname, port, - method: "POST", + method: "GET", headers, path: resolvedPath, query, @@ -4257,29 +4672,40 @@ export const serializeAws_restJson1RestorePhoneNumberCommand = async ( }); }; -export const serializeAws_restJson1SearchAvailablePhoneNumbersCommand = async ( - input: SearchAvailablePhoneNumbersCommandInput, +export const serializeAws_restJson1ListChannelMembershipsCommand = async ( + input: ListChannelMembershipsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/search"; + let resolvedPath = "/channels/{ChannelArn}/memberships"; + if (input.ChannelArn !== undefined) { + const labelValue: string = input.ChannelArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ChannelArn."); + } + resolvedPath = resolvedPath.replace("{ChannelArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ChannelArn."); + } const query: any = { - type: "phone-numbers", - ...(input.AreaCode !== undefined && { "area-code": input.AreaCode }), - ...(input.City !== undefined && { city: input.City }), - ...(input.Country !== undefined && { country: input.Country }), - ...(input.State !== undefined && { state: input.State }), - ...(input.TollFreePrefix !== undefined && { "toll-free-prefix": input.TollFreePrefix }), + ...(input.Type !== undefined && { type: input.Type }), ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), ...(input.NextToken !== undefined && { "next-token": input.NextToken }), }; let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "messaging-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, - hostname, + hostname: resolvedHostname, port, method: "GET", headers, @@ -4289,45 +4715,34 @@ export const serializeAws_restJson1SearchAvailablePhoneNumbersCommand = async ( }); }; -export const serializeAws_restJson1TagAttendeeCommand = async ( - input: TagAttendeeCommandInput, +export const serializeAws_restJson1ListChannelMembershipsForAppInstanceUserCommand = async ( + input: ListChannelMembershipsForAppInstanceUserCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", }; - let resolvedPath = "/meetings/{MeetingId}/attendees/{AttendeeId}/tags"; - if (input.MeetingId !== undefined) { - const labelValue: string = input.MeetingId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: MeetingId."); - } - resolvedPath = resolvedPath.replace("{MeetingId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: MeetingId."); - } - if (input.AttendeeId !== undefined) { - const labelValue: string = input.AttendeeId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AttendeeId."); - } - resolvedPath = resolvedPath.replace("{AttendeeId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: AttendeeId."); - } + let resolvedPath = "/channels"; const query: any = { - operation: "add", + scope: "app-instance-user-memberships", + ...(input.AppInstanceUserArn !== undefined && { "app-instance-user-arn": input.AppInstanceUserArn }), + ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { "next-token": input.NextToken }), }; let body: any; - body = JSON.stringify({ - ...(input.Tags !== undefined && { Tags: serializeAws_restJson1AttendeeTagList(input.Tags, context) }), - }); + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "messaging-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, - hostname, + hostname: resolvedHostname, port, - method: "POST", + method: "GET", headers, path: resolvedPath, query, @@ -4335,36 +4750,46 @@ export const serializeAws_restJson1TagAttendeeCommand = async ( }); }; -export const serializeAws_restJson1TagMeetingCommand = async ( - input: TagMeetingCommandInput, +export const serializeAws_restJson1ListChannelMessagesCommand = async ( + input: ListChannelMessagesCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", }; - let resolvedPath = "/meetings/{MeetingId}/tags"; - if (input.MeetingId !== undefined) { - const labelValue: string = input.MeetingId; + let resolvedPath = "/channels/{ChannelArn}/messages"; + if (input.ChannelArn !== undefined) { + const labelValue: string = input.ChannelArn; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: MeetingId."); + throw new Error("Empty value provided for input HTTP label: ChannelArn."); } - resolvedPath = resolvedPath.replace("{MeetingId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{ChannelArn}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: MeetingId."); + throw new Error("No value provided for input HTTP label: ChannelArn."); } const query: any = { - operation: "add", + ...(input.SortOrder !== undefined && { "sort-order": input.SortOrder }), + ...(input.NotBefore !== undefined && { + "not-before": (input.NotBefore.toISOString().split(".")[0] + "Z").toString(), + }), + ...(input.NotAfter !== undefined && { "not-after": (input.NotAfter.toISOString().split(".")[0] + "Z").toString() }), + ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { "next-token": input.NextToken }), }; let body: any; - body = JSON.stringify({ - ...(input.Tags !== undefined && { Tags: serializeAws_restJson1MeetingTagList(input.Tags, context) }), - }); + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "messaging-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, - hostname, + hostname: resolvedHostname, port, - method: "POST", + method: "GET", headers, path: resolvedPath, query, @@ -4372,28 +4797,41 @@ export const serializeAws_restJson1TagMeetingCommand = async ( }); }; -export const serializeAws_restJson1TagResourceCommand = async ( - input: TagResourceCommandInput, +export const serializeAws_restJson1ListChannelModeratorsCommand = async ( + input: ListChannelModeratorsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", }; - let resolvedPath = "/tags"; + let resolvedPath = "/channels/{ChannelArn}/moderators"; + if (input.ChannelArn !== undefined) { + const labelValue: string = input.ChannelArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ChannelArn."); + } + resolvedPath = resolvedPath.replace("{ChannelArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ChannelArn."); + } const query: any = { - operation: "tag-resource", + ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { "next-token": input.NextToken }), }; let body: any; - body = JSON.stringify({ - ...(input.ResourceARN !== undefined && { ResourceARN: input.ResourceARN }), - ...(input.Tags !== undefined && { Tags: serializeAws_restJson1TagList(input.Tags, context) }), - }); + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "messaging-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, - hostname, + hostname: resolvedHostname, port, - method: "POST", + method: "GET", headers, path: resolvedPath, query, @@ -4401,45 +4839,95 @@ export const serializeAws_restJson1TagResourceCommand = async ( }); }; -export const serializeAws_restJson1UntagAttendeeCommand = async ( - input: UntagAttendeeCommandInput, +export const serializeAws_restJson1ListChannelsCommand = async ( + input: ListChannelsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", }; - let resolvedPath = "/meetings/{MeetingId}/attendees/{AttendeeId}/tags"; - if (input.MeetingId !== undefined) { - const labelValue: string = input.MeetingId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: MeetingId."); + let resolvedPath = "/channels"; + const query: any = { + ...(input.AppInstanceArn !== undefined && { "app-instance-arn": input.AppInstanceArn }), + ...(input.Privacy !== undefined && { privacy: input.Privacy }), + ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { "next-token": input.NextToken }), + }; + let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "messaging-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); } - resolvedPath = resolvedPath.replace("{MeetingId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: MeetingId."); } - if (input.AttendeeId !== undefined) { - const labelValue: string = input.AttendeeId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AttendeeId."); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname: resolvedHostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1ListChannelsModeratedByAppInstanceUserCommand = async ( + input: ListChannelsModeratedByAppInstanceUserCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/channels"; + const query: any = { + scope: "app-instance-user-moderated-channels", + ...(input.AppInstanceUserArn !== undefined && { "app-instance-user-arn": input.AppInstanceUserArn }), + ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { "next-token": input.NextToken }), + }; + let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "messaging-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); } - resolvedPath = resolvedPath.replace("{AttendeeId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: AttendeeId."); } + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname: resolvedHostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1ListMeetingsCommand = async ( + input: ListMeetingsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/meetings"; const query: any = { - operation: "delete", + ...(input.NextToken !== undefined && { "next-token": input.NextToken }), + ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), }; let body: any; - body = JSON.stringify({ - ...(input.TagKeys !== undefined && { TagKeys: serializeAws_restJson1AttendeeTagKeyList(input.TagKeys, context) }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "GET", headers, path: resolvedPath, query, @@ -4447,12 +4935,12 @@ export const serializeAws_restJson1UntagAttendeeCommand = async ( }); }; -export const serializeAws_restJson1UntagMeetingCommand = async ( - input: UntagMeetingCommandInput, +export const serializeAws_restJson1ListMeetingTagsCommand = async ( + input: ListMeetingTagsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", }; let resolvedPath = "/meetings/{MeetingId}/tags"; if (input.MeetingId !== undefined) { @@ -4464,19 +4952,38 @@ export const serializeAws_restJson1UntagMeetingCommand = async ( } else { throw new Error("No value provided for input HTTP label: MeetingId."); } + let body: any; + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1ListPhoneNumberOrdersCommand = async ( + input: ListPhoneNumberOrdersCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/phone-number-orders"; const query: any = { - operation: "delete", + ...(input.NextToken !== undefined && { "next-token": input.NextToken }), + ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), }; let body: any; - body = JSON.stringify({ - ...(input.TagKeys !== undefined && { TagKeys: serializeAws_restJson1MeetingTagKeyList(input.TagKeys, context) }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "GET", headers, path: resolvedPath, query, @@ -4484,28 +4991,29 @@ export const serializeAws_restJson1UntagMeetingCommand = async ( }); }; -export const serializeAws_restJson1UntagResourceCommand = async ( - input: UntagResourceCommandInput, +export const serializeAws_restJson1ListPhoneNumbersCommand = async ( + input: ListPhoneNumbersCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", }; - let resolvedPath = "/tags"; + let resolvedPath = "/phone-numbers"; const query: any = { - operation: "untag-resource", + ...(input.Status !== undefined && { status: input.Status }), + ...(input.ProductType !== undefined && { "product-type": input.ProductType }), + ...(input.FilterName !== undefined && { "filter-name": input.FilterName }), + ...(input.FilterValue !== undefined && { "filter-value": input.FilterValue }), + ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { "next-token": input.NextToken }), }; let body: any; - body = JSON.stringify({ - ...(input.ResourceARN !== undefined && { ResourceARN: input.ResourceARN }), - ...(input.TagKeys !== undefined && { TagKeys: serializeAws_restJson1TagKeyList(input.TagKeys, context) }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "GET", headers, path: resolvedPath, query, @@ -4513,47 +5021,50 @@ export const serializeAws_restJson1UntagResourceCommand = async ( }); }; -export const serializeAws_restJson1UpdateAccountCommand = async ( - input: UpdateAccountCommandInput, +export const serializeAws_restJson1ListProxySessionsCommand = async ( + input: ListProxySessionsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", }; - let resolvedPath = "/accounts/{AccountId}"; - if (input.AccountId !== undefined) { - const labelValue: string = input.AccountId; + let resolvedPath = "/voice-connectors/{VoiceConnectorId}/proxy-sessions"; + if (input.VoiceConnectorId !== undefined) { + const labelValue: string = input.VoiceConnectorId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AccountId."); + throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); } - resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: AccountId."); + throw new Error("No value provided for input HTTP label: VoiceConnectorId."); } + const query: any = { + ...(input.Status !== undefined && { status: input.Status }), + ...(input.NextToken !== undefined && { "next-token": input.NextToken }), + ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), + }; let body: any; - body = JSON.stringify({ - ...(input.Name !== undefined && { Name: input.Name }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "GET", headers, path: resolvedPath, + query, body, }); }; -export const serializeAws_restJson1UpdateAccountSettingsCommand = async ( - input: UpdateAccountSettingsCommandInput, +export const serializeAws_restJson1ListRoomMembershipsCommand = async ( + input: ListRoomMembershipsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", }; - let resolvedPath = "/accounts/{AccountId}/settings"; + let resolvedPath = "/accounts/{AccountId}/rooms/{RoomId}/memberships"; if (input.AccountId !== undefined) { const labelValue: string = input.AccountId; if (labelValue.length <= 0) { @@ -4563,32 +5074,41 @@ export const serializeAws_restJson1UpdateAccountSettingsCommand = async ( } else { throw new Error("No value provided for input HTTP label: AccountId."); } + if (input.RoomId !== undefined) { + const labelValue: string = input.RoomId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: RoomId."); + } + resolvedPath = resolvedPath.replace("{RoomId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: RoomId."); + } + const query: any = { + ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { "next-token": input.NextToken }), + }; let body: any; - body = JSON.stringify({ - ...(input.AccountSettings !== undefined && { - AccountSettings: serializeAws_restJson1AccountSettings(input.AccountSettings, context), - }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "PUT", + method: "GET", headers, path: resolvedPath, + query, body, }); }; -export const serializeAws_restJson1UpdateBotCommand = async ( - input: UpdateBotCommandInput, +export const serializeAws_restJson1ListRoomsCommand = async ( + input: ListRoomsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", }; - let resolvedPath = "/accounts/{AccountId}/bots/{BotId}"; + let resolvedPath = "/accounts/{AccountId}/rooms"; if (input.AccountId !== undefined) { const labelValue: string = input.AccountId; if (labelValue.length <= 0) { @@ -4598,213 +5118,230 @@ export const serializeAws_restJson1UpdateBotCommand = async ( } else { throw new Error("No value provided for input HTTP label: AccountId."); } - if (input.BotId !== undefined) { - const labelValue: string = input.BotId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: BotId."); - } - resolvedPath = resolvedPath.replace("{BotId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: BotId."); - } + const query: any = { + ...(input.MemberId !== undefined && { "member-id": input.MemberId }), + ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { "next-token": input.NextToken }), + }; let body: any; - body = JSON.stringify({ - ...(input.Disabled !== undefined && { Disabled: input.Disabled }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "GET", headers, path: resolvedPath, + query, body, }); }; -export const serializeAws_restJson1UpdateGlobalSettingsCommand = async ( - input: UpdateGlobalSettingsCommandInput, - context: __SerdeContext +export const serializeAws_restJson1ListSipMediaApplicationsCommand = async ( + input: ListSipMediaApplicationsCommandInput, + context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", + }; + let resolvedPath = "/sip-media-applications"; + const query: any = { + ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { "next-token": input.NextToken }), }; - let resolvedPath = "/settings"; let body: any; - body = JSON.stringify({ - ...(input.BusinessCalling !== undefined && { - BusinessCalling: serializeAws_restJson1BusinessCallingSettings(input.BusinessCalling, context), - }), - ...(input.VoiceConnector !== undefined && { - VoiceConnector: serializeAws_restJson1VoiceConnectorSettings(input.VoiceConnector, context), - }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "PUT", + method: "GET", headers, path: resolvedPath, + query, body, }); }; -export const serializeAws_restJson1UpdatePhoneNumberCommand = async ( - input: UpdatePhoneNumberCommandInput, +export const serializeAws_restJson1ListSipRulesCommand = async ( + input: ListSipRulesCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", + }; + let resolvedPath = "/sip-rules"; + const query: any = { + ...(input.SipMediaApplicationId !== undefined && { "sip-media-application": input.SipMediaApplicationId }), + ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { "next-token": input.NextToken }), }; - let resolvedPath = "/phone-numbers/{PhoneNumberId}"; - if (input.PhoneNumberId !== undefined) { - const labelValue: string = input.PhoneNumberId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: PhoneNumberId."); - } - resolvedPath = resolvedPath.replace("{PhoneNumberId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: PhoneNumberId."); - } let body: any; - body = JSON.stringify({ - ...(input.CallingName !== undefined && { CallingName: input.CallingName }), - ...(input.ProductType !== undefined && { ProductType: input.ProductType }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "GET", headers, path: resolvedPath, + query, body, }); }; -export const serializeAws_restJson1UpdatePhoneNumberSettingsCommand = async ( - input: UpdatePhoneNumberSettingsCommandInput, +export const serializeAws_restJson1ListTagsForResourceCommand = async ( + input: ListTagsForResourceCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", + }; + let resolvedPath = "/tags"; + const query: any = { + ...(input.ResourceARN !== undefined && { arn: input.ResourceARN }), }; - let resolvedPath = "/settings/phone-number"; let body: any; - body = JSON.stringify({ - ...(input.CallingName !== undefined && { CallingName: input.CallingName }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "PUT", + method: "GET", headers, path: resolvedPath, + query, body, }); }; -export const serializeAws_restJson1UpdateProxySessionCommand = async ( - input: UpdateProxySessionCommandInput, +export const serializeAws_restJson1ListUsersCommand = async ( + input: ListUsersCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", }; - let resolvedPath = "/voice-connectors/{VoiceConnectorId}/proxy-sessions/{ProxySessionId}"; - if (input.VoiceConnectorId !== undefined) { - const labelValue: string = input.VoiceConnectorId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); - } - resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: VoiceConnectorId."); - } - if (input.ProxySessionId !== undefined) { - const labelValue: string = input.ProxySessionId; + let resolvedPath = "/accounts/{AccountId}/users"; + if (input.AccountId !== undefined) { + const labelValue: string = input.AccountId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ProxySessionId."); + throw new Error("Empty value provided for input HTTP label: AccountId."); } - resolvedPath = resolvedPath.replace("{ProxySessionId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: ProxySessionId."); + throw new Error("No value provided for input HTTP label: AccountId."); } + const query: any = { + ...(input.UserEmail !== undefined && { "user-email": input.UserEmail }), + ...(input.UserType !== undefined && { "user-type": input.UserType }), + ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { "next-token": input.NextToken }), + }; let body: any; - body = JSON.stringify({ - ...(input.Capabilities !== undefined && { - Capabilities: serializeAws_restJson1CapabilityList(input.Capabilities, context), - }), - ...(input.ExpiryMinutes !== undefined && { ExpiryMinutes: input.ExpiryMinutes }), + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1ListVoiceConnectorGroupsCommand = async ( + input: ListVoiceConnectorGroupsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/voice-connector-groups"; + const query: any = { + ...(input.NextToken !== undefined && { "next-token": input.NextToken }), + ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), + }; + let body: any; + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body, }); +}; + +export const serializeAws_restJson1ListVoiceConnectorsCommand = async ( + input: ListVoiceConnectorsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/voice-connectors"; + const query: any = { + ...(input.NextToken !== undefined && { "next-token": input.NextToken }), + ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), + }; + let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "GET", headers, path: resolvedPath, + query, body, }); }; -export const serializeAws_restJson1UpdateRoomCommand = async ( - input: UpdateRoomCommandInput, +export const serializeAws_restJson1ListVoiceConnectorTerminationCredentialsCommand = async ( + input: ListVoiceConnectorTerminationCredentialsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", }; - let resolvedPath = "/accounts/{AccountId}/rooms/{RoomId}"; - if (input.AccountId !== undefined) { - const labelValue: string = input.AccountId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AccountId."); - } - resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: AccountId."); - } - if (input.RoomId !== undefined) { - const labelValue: string = input.RoomId; + let resolvedPath = "/voice-connectors/{VoiceConnectorId}/termination/credentials"; + if (input.VoiceConnectorId !== undefined) { + const labelValue: string = input.VoiceConnectorId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: RoomId."); + throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); } - resolvedPath = resolvedPath.replace("{RoomId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: RoomId."); + throw new Error("No value provided for input HTTP label: VoiceConnectorId."); } let body: any; - body = JSON.stringify({ - ...(input.Name !== undefined && { Name: input.Name }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "GET", headers, path: resolvedPath, body, }); }; -export const serializeAws_restJson1UpdateRoomMembershipCommand = async ( - input: UpdateRoomMembershipCommandInput, +export const serializeAws_restJson1LogoutUserCommand = async ( + input: LogoutUserCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", }; - let resolvedPath = "/accounts/{AccountId}/rooms/{RoomId}/memberships/{MemberId}"; + let resolvedPath = "/accounts/{AccountId}/users/{UserId}"; if (input.AccountId !== undefined) { const labelValue: string = input.AccountId; if (labelValue.length <= 0) { @@ -4814,28 +5351,19 @@ export const serializeAws_restJson1UpdateRoomMembershipCommand = async ( } else { throw new Error("No value provided for input HTTP label: AccountId."); } - if (input.RoomId !== undefined) { - const labelValue: string = input.RoomId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: RoomId."); - } - resolvedPath = resolvedPath.replace("{RoomId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: RoomId."); - } - if (input.MemberId !== undefined) { - const labelValue: string = input.MemberId; + if (input.UserId !== undefined) { + const labelValue: string = input.UserId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: MemberId."); + throw new Error("Empty value provided for input HTTP label: UserId."); } - resolvedPath = resolvedPath.replace("{MemberId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{UserId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: MemberId."); + throw new Error("No value provided for input HTTP label: UserId."); } + const query: any = { + operation: "logout", + }; let body: any; - body = JSON.stringify({ - ...(input.Role !== undefined && { Role: input.Role }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, @@ -4844,38 +5372,48 @@ export const serializeAws_restJson1UpdateRoomMembershipCommand = async ( method: "POST", headers, path: resolvedPath, + query, body, }); }; -export const serializeAws_restJson1UpdateSipMediaApplicationCommand = async ( - input: UpdateSipMediaApplicationCommandInput, +export const serializeAws_restJson1PutAppInstanceRetentionSettingsCommand = async ( + input: PutAppInstanceRetentionSettingsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", }; - let resolvedPath = "/sip-media-applications/{SipMediaApplicationId}"; - if (input.SipMediaApplicationId !== undefined) { - const labelValue: string = input.SipMediaApplicationId; + let resolvedPath = "/app-instances/{AppInstanceArn}/retention-settings"; + if (input.AppInstanceArn !== undefined) { + const labelValue: string = input.AppInstanceArn; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: SipMediaApplicationId."); + throw new Error("Empty value provided for input HTTP label: AppInstanceArn."); } - resolvedPath = resolvedPath.replace("{SipMediaApplicationId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{AppInstanceArn}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: SipMediaApplicationId."); + throw new Error("No value provided for input HTTP label: AppInstanceArn."); } let body: any; body = JSON.stringify({ - ...(input.Endpoints !== undefined && { - Endpoints: serializeAws_restJson1SipMediaApplicationEndpointList(input.Endpoints, context), + ...(input.AppInstanceRetentionSettings !== undefined && { + AppInstanceRetentionSettings: serializeAws_restJson1AppInstanceRetentionSettings( + input.AppInstanceRetentionSettings, + context + ), }), - ...(input.Name !== undefined && { Name: input.Name }), }); + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "identity-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, - hostname, + hostname: resolvedHostname, port, method: "PUT", headers, @@ -4884,29 +5422,30 @@ export const serializeAws_restJson1UpdateSipMediaApplicationCommand = async ( }); }; -export const serializeAws_restJson1UpdateSipRuleCommand = async ( - input: UpdateSipRuleCommandInput, +export const serializeAws_restJson1PutAppInstanceStreamingConfigurationsCommand = async ( + input: PutAppInstanceStreamingConfigurationsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", }; - let resolvedPath = "/sip-rules/{SipRuleId}"; - if (input.SipRuleId !== undefined) { - const labelValue: string = input.SipRuleId; + let resolvedPath = "/app-instances/{AppInstanceArn}/streaming-configurations"; + if (input.AppInstanceArn !== undefined) { + const labelValue: string = input.AppInstanceArn; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: SipRuleId."); + throw new Error("Empty value provided for input HTTP label: AppInstanceArn."); } - resolvedPath = resolvedPath.replace("{SipRuleId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{AppInstanceArn}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: SipRuleId."); + throw new Error("No value provided for input HTTP label: AppInstanceArn."); } let body: any; body = JSON.stringify({ - ...(input.Disabled !== undefined && { Disabled: input.Disabled }), - ...(input.Name !== undefined && { Name: input.Name }), - ...(input.TargetApplications !== undefined && { - TargetApplications: serializeAws_restJson1SipRuleTargetApplicationList(input.TargetApplications, context), + ...(input.AppInstanceStreamingConfigurations !== undefined && { + AppInstanceStreamingConfigurations: serializeAws_restJson1AppInstanceStreamingConfigurationList( + input.AppInstanceStreamingConfigurations, + context + ), }), }); const { hostname, protocol = "https", port } = await context.endpoint(); @@ -4921,14 +5460,14 @@ export const serializeAws_restJson1UpdateSipRuleCommand = async ( }); }; -export const serializeAws_restJson1UpdateUserCommand = async ( - input: UpdateUserCommandInput, +export const serializeAws_restJson1PutEventsConfigurationCommand = async ( + input: PutEventsConfigurationCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", }; - let resolvedPath = "/accounts/{AccountId}/users/{UserId}"; + let resolvedPath = "/accounts/{AccountId}/bots/{BotId}/events-configuration"; if (input.AccountId !== undefined) { const labelValue: string = input.AccountId; if (labelValue.length <= 0) { @@ -4938,43 +5477,42 @@ export const serializeAws_restJson1UpdateUserCommand = async ( } else { throw new Error("No value provided for input HTTP label: AccountId."); } - if (input.UserId !== undefined) { - const labelValue: string = input.UserId; + if (input.BotId !== undefined) { + const labelValue: string = input.BotId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: UserId."); + throw new Error("Empty value provided for input HTTP label: BotId."); } - resolvedPath = resolvedPath.replace("{UserId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{BotId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: UserId."); + throw new Error("No value provided for input HTTP label: BotId."); } let body: any; body = JSON.stringify({ - ...(input.AlexaForBusinessMetadata !== undefined && { - AlexaForBusinessMetadata: serializeAws_restJson1AlexaForBusinessMetadata(input.AlexaForBusinessMetadata, context), + ...(input.LambdaFunctionArn !== undefined && { LambdaFunctionArn: input.LambdaFunctionArn }), + ...(input.OutboundEventsHTTPSEndpoint !== undefined && { + OutboundEventsHTTPSEndpoint: input.OutboundEventsHTTPSEndpoint, }), - ...(input.LicenseType !== undefined && { LicenseType: input.LicenseType }), - ...(input.UserType !== undefined && { UserType: input.UserType }), }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "PUT", headers, path: resolvedPath, body, }); }; -export const serializeAws_restJson1UpdateUserSettingsCommand = async ( - input: UpdateUserSettingsCommandInput, +export const serializeAws_restJson1PutRetentionSettingsCommand = async ( + input: PutRetentionSettingsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", }; - let resolvedPath = "/accounts/{AccountId}/users/{UserId}/settings"; + let resolvedPath = "/accounts/{AccountId}/retention-settings"; if (input.AccountId !== undefined) { const labelValue: string = input.AccountId; if (labelValue.length <= 0) { @@ -4984,19 +5522,48 @@ export const serializeAws_restJson1UpdateUserSettingsCommand = async ( } else { throw new Error("No value provided for input HTTP label: AccountId."); } - if (input.UserId !== undefined) { - const labelValue: string = input.UserId; + let body: any; + body = JSON.stringify({ + ...(input.RetentionSettings !== undefined && { + RetentionSettings: serializeAws_restJson1RetentionSettings(input.RetentionSettings, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1PutSipMediaApplicationLoggingConfigurationCommand = async ( + input: PutSipMediaApplicationLoggingConfigurationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/sip-media-applications/{SipMediaApplicationId}/logging-configuration"; + if (input.SipMediaApplicationId !== undefined) { + const labelValue: string = input.SipMediaApplicationId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: UserId."); + throw new Error("Empty value provided for input HTTP label: SipMediaApplicationId."); } - resolvedPath = resolvedPath.replace("{UserId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{SipMediaApplicationId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: UserId."); + throw new Error("No value provided for input HTTP label: SipMediaApplicationId."); } let body: any; body = JSON.stringify({ - ...(input.UserSettings !== undefined && { - UserSettings: serializeAws_restJson1UserSettings(input.UserSettings, context), + ...(input.SipMediaApplicationLoggingConfiguration !== undefined && { + SipMediaApplicationLoggingConfiguration: serializeAws_restJson1SipMediaApplicationLoggingConfiguration( + input.SipMediaApplicationLoggingConfiguration, + context + ), }), }); const { hostname, protocol = "https", port } = await context.endpoint(); @@ -5011,14 +5578,14 @@ export const serializeAws_restJson1UpdateUserSettingsCommand = async ( }); }; -export const serializeAws_restJson1UpdateVoiceConnectorCommand = async ( - input: UpdateVoiceConnectorCommandInput, +export const serializeAws_restJson1PutVoiceConnectorEmergencyCallingConfigurationCommand = async ( + input: PutVoiceConnectorEmergencyCallingConfigurationCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", }; - let resolvedPath = "/voice-connectors/{VoiceConnectorId}"; + let resolvedPath = "/voice-connectors/{VoiceConnectorId}/emergency-calling-configuration"; if (input.VoiceConnectorId !== undefined) { const labelValue: string = input.VoiceConnectorId; if (labelValue.length <= 0) { @@ -5030,8 +5597,12 @@ export const serializeAws_restJson1UpdateVoiceConnectorCommand = async ( } let body: any; body = JSON.stringify({ - ...(input.Name !== undefined && { Name: input.Name }), - ...(input.RequireEncryption !== undefined && { RequireEncryption: input.RequireEncryption }), + ...(input.EmergencyCallingConfiguration !== undefined && { + EmergencyCallingConfiguration: serializeAws_restJson1EmergencyCallingConfiguration( + input.EmergencyCallingConfiguration, + context + ), + }), }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -5045,28 +5616,27 @@ export const serializeAws_restJson1UpdateVoiceConnectorCommand = async ( }); }; -export const serializeAws_restJson1UpdateVoiceConnectorGroupCommand = async ( - input: UpdateVoiceConnectorGroupCommandInput, +export const serializeAws_restJson1PutVoiceConnectorLoggingConfigurationCommand = async ( + input: PutVoiceConnectorLoggingConfigurationCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", }; - let resolvedPath = "/voice-connector-groups/{VoiceConnectorGroupId}"; - if (input.VoiceConnectorGroupId !== undefined) { - const labelValue: string = input.VoiceConnectorGroupId; + let resolvedPath = "/voice-connectors/{VoiceConnectorId}/logging-configuration"; + if (input.VoiceConnectorId !== undefined) { + const labelValue: string = input.VoiceConnectorId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: VoiceConnectorGroupId."); + throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); } - resolvedPath = resolvedPath.replace("{VoiceConnectorGroupId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: VoiceConnectorGroupId."); + throw new Error("No value provided for input HTTP label: VoiceConnectorId."); } let body: any; body = JSON.stringify({ - ...(input.Name !== undefined && { Name: input.Name }), - ...(input.VoiceConnectorItems !== undefined && { - VoiceConnectorItems: serializeAws_restJson1VoiceConnectorItemList(input.VoiceConnectorItems, context), + ...(input.LoggingConfiguration !== undefined && { + LoggingConfiguration: serializeAws_restJson1LoggingConfiguration(input.LoggingConfiguration, context), }), }); const { hostname, protocol = "https", port } = await context.endpoint(); @@ -5081,139 +5651,6715 @@ export const serializeAws_restJson1UpdateVoiceConnectorGroupCommand = async ( }); }; -export const deserializeAws_restJson1AssociatePhoneNumbersWithVoiceConnectorCommand = async ( - output: __HttpResponse, +export const serializeAws_restJson1PutVoiceConnectorOriginationCommand = async ( + input: PutVoiceConnectorOriginationCommandInput, context: __SerdeContext -): Promise => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1AssociatePhoneNumbersWithVoiceConnectorCommandError(output, context); - } - const contents: AssociatePhoneNumbersWithVoiceConnectorCommandOutput = { - $metadata: deserializeMetadata(output), - PhoneNumberErrors: undefined, +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", }; - const data: any = await parseBody(output.body, context); - if (data.PhoneNumberErrors !== undefined && data.PhoneNumberErrors !== null) { - contents.PhoneNumberErrors = deserializeAws_restJson1PhoneNumberErrorList(data.PhoneNumberErrors, context); + let resolvedPath = "/voice-connectors/{VoiceConnectorId}/origination"; + if (input.VoiceConnectorId !== undefined) { + const labelValue: string = input.VoiceConnectorId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); + } + resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: VoiceConnectorId."); } - return Promise.resolve(contents); + let body: any; + body = JSON.stringify({ + ...(input.Origination !== undefined && { + Origination: serializeAws_restJson1Origination(input.Origination, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); }; -const deserializeAws_restJson1AssociatePhoneNumbersWithVoiceConnectorCommandError = async ( - output: __HttpResponse, +export const serializeAws_restJson1PutVoiceConnectorProxyCommand = async ( + input: PutVoiceConnectorProxyCommandInput, context: __SerdeContext -): Promise => { - const parsedOutput: any = { - ...output, - body: await parseBody(output.body, context), +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", }; - let response: __SmithyException & __MetadataBearer & { [key: string]: any }; - let errorCode: string = "UnknownError"; - errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "AccessDeniedException": - case "com.amazonaws.chime#AccessDeniedException": - response = { - ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "BadRequestException": - case "com.amazonaws.chime#BadRequestException": - response = { - ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "ForbiddenException": - case "com.amazonaws.chime#ForbiddenException": - response = { - ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "NotFoundException": - case "com.amazonaws.chime#NotFoundException": - response = { - ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "ServiceFailureException": - case "com.amazonaws.chime#ServiceFailureException": - response = { - ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "ServiceUnavailableException": - case "com.amazonaws.chime#ServiceUnavailableException": - response = { - ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "ThrottledClientException": - case "com.amazonaws.chime#ThrottledClientException": - response = { - ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "UnauthorizedClientException": - case "com.amazonaws.chime#UnauthorizedClientException": - response = { - ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - default: - const parsedBody = parsedOutput.body; - errorCode = parsedBody.code || parsedBody.Code || errorCode; - response = { - ...parsedBody, - name: `${errorCode}`, - message: parsedBody.message || parsedBody.Message || errorCode, - $fault: "client", - $metadata: deserializeMetadata(output), - } as any; + let resolvedPath = "/voice-connectors/{VoiceConnectorId}/programmable-numbers/proxy"; + if (input.VoiceConnectorId !== undefined) { + const labelValue: string = input.VoiceConnectorId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); + } + resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: VoiceConnectorId."); } - const message = response.message || response.Message || errorCode; - response.message = message; - delete response.Message; - return Promise.reject(Object.assign(new Error(message), response)); -}; - + let body: any; + body = JSON.stringify({ + ...(input.DefaultSessionExpiryMinutes !== undefined && { + DefaultSessionExpiryMinutes: input.DefaultSessionExpiryMinutes, + }), + ...(input.Disabled !== undefined && { Disabled: input.Disabled }), + ...(input.FallBackPhoneNumber !== undefined && { FallBackPhoneNumber: input.FallBackPhoneNumber }), + ...(input.PhoneNumberPoolCountries !== undefined && { + PhoneNumberPoolCountries: serializeAws_restJson1CountryList(input.PhoneNumberPoolCountries, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1PutVoiceConnectorStreamingConfigurationCommand = async ( + input: PutVoiceConnectorStreamingConfigurationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/voice-connectors/{VoiceConnectorId}/streaming-configuration"; + if (input.VoiceConnectorId !== undefined) { + const labelValue: string = input.VoiceConnectorId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); + } + resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: VoiceConnectorId."); + } + let body: any; + body = JSON.stringify({ + ...(input.StreamingConfiguration !== undefined && { + StreamingConfiguration: serializeAws_restJson1StreamingConfiguration(input.StreamingConfiguration, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1PutVoiceConnectorTerminationCommand = async ( + input: PutVoiceConnectorTerminationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/voice-connectors/{VoiceConnectorId}/termination"; + if (input.VoiceConnectorId !== undefined) { + const labelValue: string = input.VoiceConnectorId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); + } + resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: VoiceConnectorId."); + } + let body: any; + body = JSON.stringify({ + ...(input.Termination !== undefined && { + Termination: serializeAws_restJson1Termination(input.Termination, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1PutVoiceConnectorTerminationCredentialsCommand = async ( + input: PutVoiceConnectorTerminationCredentialsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/voice-connectors/{VoiceConnectorId}/termination/credentials"; + if (input.VoiceConnectorId !== undefined) { + const labelValue: string = input.VoiceConnectorId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); + } + resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: VoiceConnectorId."); + } + const query: any = { + operation: "put", + }; + let body: any; + body = JSON.stringify({ + ...(input.Credentials !== undefined && { + Credentials: serializeAws_restJson1CredentialList(input.Credentials, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1RedactChannelMessageCommand = async ( + input: RedactChannelMessageCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/channels/{ChannelArn}/messages/{MessageId}"; + if (input.ChannelArn !== undefined) { + const labelValue: string = input.ChannelArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ChannelArn."); + } + resolvedPath = resolvedPath.replace("{ChannelArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ChannelArn."); + } + if (input.MessageId !== undefined) { + const labelValue: string = input.MessageId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: MessageId."); + } + resolvedPath = resolvedPath.replace("{MessageId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: MessageId."); + } + const query: any = { + operation: "redact", + }; + let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "messaging-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname: resolvedHostname, + port, + method: "POST", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1RedactConversationMessageCommand = async ( + input: RedactConversationMessageCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/accounts/{AccountId}/conversations/{ConversationId}/messages/{MessageId}"; + if (input.AccountId !== undefined) { + const labelValue: string = input.AccountId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AccountId."); + } + resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AccountId."); + } + if (input.ConversationId !== undefined) { + const labelValue: string = input.ConversationId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ConversationId."); + } + resolvedPath = resolvedPath.replace("{ConversationId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ConversationId."); + } + if (input.MessageId !== undefined) { + const labelValue: string = input.MessageId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: MessageId."); + } + resolvedPath = resolvedPath.replace("{MessageId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: MessageId."); + } + const query: any = { + operation: "redact", + }; + let body: any; + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1RedactRoomMessageCommand = async ( + input: RedactRoomMessageCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/accounts/{AccountId}/rooms/{RoomId}/messages/{MessageId}"; + if (input.AccountId !== undefined) { + const labelValue: string = input.AccountId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AccountId."); + } + resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AccountId."); + } + if (input.RoomId !== undefined) { + const labelValue: string = input.RoomId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: RoomId."); + } + resolvedPath = resolvedPath.replace("{RoomId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: RoomId."); + } + if (input.MessageId !== undefined) { + const labelValue: string = input.MessageId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: MessageId."); + } + resolvedPath = resolvedPath.replace("{MessageId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: MessageId."); + } + const query: any = { + operation: "redact", + }; + let body: any; + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1RegenerateSecurityTokenCommand = async ( + input: RegenerateSecurityTokenCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/accounts/{AccountId}/bots/{BotId}"; + if (input.AccountId !== undefined) { + const labelValue: string = input.AccountId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AccountId."); + } + resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AccountId."); + } + if (input.BotId !== undefined) { + const labelValue: string = input.BotId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: BotId."); + } + resolvedPath = resolvedPath.replace("{BotId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: BotId."); + } + const query: any = { + operation: "regenerate-security-token", + }; + let body: any; + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1ResetPersonalPINCommand = async ( + input: ResetPersonalPINCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/accounts/{AccountId}/users/{UserId}"; + if (input.AccountId !== undefined) { + const labelValue: string = input.AccountId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AccountId."); + } + resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AccountId."); + } + if (input.UserId !== undefined) { + const labelValue: string = input.UserId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: UserId."); + } + resolvedPath = resolvedPath.replace("{UserId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: UserId."); + } + const query: any = { + operation: "reset-personal-pin", + }; + let body: any; + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1RestorePhoneNumberCommand = async ( + input: RestorePhoneNumberCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/phone-numbers/{PhoneNumberId}"; + if (input.PhoneNumberId !== undefined) { + const labelValue: string = input.PhoneNumberId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: PhoneNumberId."); + } + resolvedPath = resolvedPath.replace("{PhoneNumberId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: PhoneNumberId."); + } + const query: any = { + operation: "restore", + }; + let body: any; + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1SearchAvailablePhoneNumbersCommand = async ( + input: SearchAvailablePhoneNumbersCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/search"; + const query: any = { + type: "phone-numbers", + ...(input.AreaCode !== undefined && { "area-code": input.AreaCode }), + ...(input.City !== undefined && { city: input.City }), + ...(input.Country !== undefined && { country: input.Country }), + ...(input.State !== undefined && { state: input.State }), + ...(input.TollFreePrefix !== undefined && { "toll-free-prefix": input.TollFreePrefix }), + ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { "next-token": input.NextToken }), + }; + let body: any; + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1SendChannelMessageCommand = async ( + input: SendChannelMessageCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/channels/{ChannelArn}/messages"; + if (input.ChannelArn !== undefined) { + const labelValue: string = input.ChannelArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ChannelArn."); + } + resolvedPath = resolvedPath.replace("{ChannelArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ChannelArn."); + } + let body: any; + body = JSON.stringify({ + ClientRequestToken: input.ClientRequestToken ?? generateIdempotencyToken(), + ...(input.Content !== undefined && { Content: input.Content }), + ...(input.Metadata !== undefined && { Metadata: input.Metadata }), + ...(input.Persistence !== undefined && { Persistence: input.Persistence }), + ...(input.Type !== undefined && { Type: input.Type }), + }); + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "messaging-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname: resolvedHostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1TagAttendeeCommand = async ( + input: TagAttendeeCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/meetings/{MeetingId}/attendees/{AttendeeId}/tags"; + if (input.MeetingId !== undefined) { + const labelValue: string = input.MeetingId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: MeetingId."); + } + resolvedPath = resolvedPath.replace("{MeetingId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: MeetingId."); + } + if (input.AttendeeId !== undefined) { + const labelValue: string = input.AttendeeId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AttendeeId."); + } + resolvedPath = resolvedPath.replace("{AttendeeId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AttendeeId."); + } + const query: any = { + operation: "add", + }; + let body: any; + body = JSON.stringify({ + ...(input.Tags !== undefined && { Tags: serializeAws_restJson1AttendeeTagList(input.Tags, context) }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1TagMeetingCommand = async ( + input: TagMeetingCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/meetings/{MeetingId}/tags"; + if (input.MeetingId !== undefined) { + const labelValue: string = input.MeetingId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: MeetingId."); + } + resolvedPath = resolvedPath.replace("{MeetingId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: MeetingId."); + } + const query: any = { + operation: "add", + }; + let body: any; + body = JSON.stringify({ + ...(input.Tags !== undefined && { Tags: serializeAws_restJson1MeetingTagList(input.Tags, context) }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1TagResourceCommand = async ( + input: TagResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/tags"; + const query: any = { + operation: "tag-resource", + }; + let body: any; + body = JSON.stringify({ + ...(input.ResourceARN !== undefined && { ResourceARN: input.ResourceARN }), + ...(input.Tags !== undefined && { Tags: serializeAws_restJson1TagList(input.Tags, context) }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1UntagAttendeeCommand = async ( + input: UntagAttendeeCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/meetings/{MeetingId}/attendees/{AttendeeId}/tags"; + if (input.MeetingId !== undefined) { + const labelValue: string = input.MeetingId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: MeetingId."); + } + resolvedPath = resolvedPath.replace("{MeetingId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: MeetingId."); + } + if (input.AttendeeId !== undefined) { + const labelValue: string = input.AttendeeId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AttendeeId."); + } + resolvedPath = resolvedPath.replace("{AttendeeId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AttendeeId."); + } + const query: any = { + operation: "delete", + }; + let body: any; + body = JSON.stringify({ + ...(input.TagKeys !== undefined && { TagKeys: serializeAws_restJson1AttendeeTagKeyList(input.TagKeys, context) }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1UntagMeetingCommand = async ( + input: UntagMeetingCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/meetings/{MeetingId}/tags"; + if (input.MeetingId !== undefined) { + const labelValue: string = input.MeetingId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: MeetingId."); + } + resolvedPath = resolvedPath.replace("{MeetingId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: MeetingId."); + } + const query: any = { + operation: "delete", + }; + let body: any; + body = JSON.stringify({ + ...(input.TagKeys !== undefined && { TagKeys: serializeAws_restJson1MeetingTagKeyList(input.TagKeys, context) }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1UntagResourceCommand = async ( + input: UntagResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/tags"; + const query: any = { + operation: "untag-resource", + }; + let body: any; + body = JSON.stringify({ + ...(input.ResourceARN !== undefined && { ResourceARN: input.ResourceARN }), + ...(input.TagKeys !== undefined && { TagKeys: serializeAws_restJson1TagKeyList(input.TagKeys, context) }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1UpdateAccountCommand = async ( + input: UpdateAccountCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/accounts/{AccountId}"; + if (input.AccountId !== undefined) { + const labelValue: string = input.AccountId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AccountId."); + } + resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AccountId."); + } + let body: any; + body = JSON.stringify({ + ...(input.Name !== undefined && { Name: input.Name }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateAccountSettingsCommand = async ( + input: UpdateAccountSettingsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/accounts/{AccountId}/settings"; + if (input.AccountId !== undefined) { + const labelValue: string = input.AccountId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AccountId."); + } + resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AccountId."); + } + let body: any; + body = JSON.stringify({ + ...(input.AccountSettings !== undefined && { + AccountSettings: serializeAws_restJson1AccountSettings(input.AccountSettings, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateAppInstanceCommand = async ( + input: UpdateAppInstanceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/app-instances/{AppInstanceArn}"; + if (input.AppInstanceArn !== undefined) { + const labelValue: string = input.AppInstanceArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AppInstanceArn."); + } + resolvedPath = resolvedPath.replace("{AppInstanceArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AppInstanceArn."); + } + let body: any; + body = JSON.stringify({ + ...(input.Metadata !== undefined && { Metadata: input.Metadata }), + ...(input.Name !== undefined && { Name: input.Name }), + }); + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "identity-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname: resolvedHostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateAppInstanceUserCommand = async ( + input: UpdateAppInstanceUserCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/app-instance-users/{AppInstanceUserArn}"; + if (input.AppInstanceUserArn !== undefined) { + const labelValue: string = input.AppInstanceUserArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AppInstanceUserArn."); + } + resolvedPath = resolvedPath.replace("{AppInstanceUserArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AppInstanceUserArn."); + } + let body: any; + body = JSON.stringify({ + ...(input.Metadata !== undefined && { Metadata: input.Metadata }), + ...(input.Name !== undefined && { Name: input.Name }), + }); + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "identity-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname: resolvedHostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateBotCommand = async ( + input: UpdateBotCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/accounts/{AccountId}/bots/{BotId}"; + if (input.AccountId !== undefined) { + const labelValue: string = input.AccountId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AccountId."); + } + resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AccountId."); + } + if (input.BotId !== undefined) { + const labelValue: string = input.BotId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: BotId."); + } + resolvedPath = resolvedPath.replace("{BotId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: BotId."); + } + let body: any; + body = JSON.stringify({ + ...(input.Disabled !== undefined && { Disabled: input.Disabled }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateChannelCommand = async ( + input: UpdateChannelCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/channels/{ChannelArn}"; + if (input.ChannelArn !== undefined) { + const labelValue: string = input.ChannelArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ChannelArn."); + } + resolvedPath = resolvedPath.replace("{ChannelArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ChannelArn."); + } + let body: any; + body = JSON.stringify({ + ...(input.Metadata !== undefined && { Metadata: input.Metadata }), + ...(input.Mode !== undefined && { Mode: input.Mode }), + ...(input.Name !== undefined && { Name: input.Name }), + }); + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "messaging-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname: resolvedHostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateChannelMessageCommand = async ( + input: UpdateChannelMessageCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/channels/{ChannelArn}/messages/{MessageId}"; + if (input.ChannelArn !== undefined) { + const labelValue: string = input.ChannelArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ChannelArn."); + } + resolvedPath = resolvedPath.replace("{ChannelArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ChannelArn."); + } + if (input.MessageId !== undefined) { + const labelValue: string = input.MessageId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: MessageId."); + } + resolvedPath = resolvedPath.replace("{MessageId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: MessageId."); + } + let body: any; + body = JSON.stringify({ + ...(input.Content !== undefined && { Content: input.Content }), + ...(input.Metadata !== undefined && { Metadata: input.Metadata }), + }); + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "messaging-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname: resolvedHostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateChannelReadMarkerCommand = async ( + input: UpdateChannelReadMarkerCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/channels/{ChannelArn}/readMarker"; + if (input.ChannelArn !== undefined) { + const labelValue: string = input.ChannelArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ChannelArn."); + } + resolvedPath = resolvedPath.replace("{ChannelArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ChannelArn."); + } + let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "messaging-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname: resolvedHostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateGlobalSettingsCommand = async ( + input: UpdateGlobalSettingsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/settings"; + let body: any; + body = JSON.stringify({ + ...(input.BusinessCalling !== undefined && { + BusinessCalling: serializeAws_restJson1BusinessCallingSettings(input.BusinessCalling, context), + }), + ...(input.VoiceConnector !== undefined && { + VoiceConnector: serializeAws_restJson1VoiceConnectorSettings(input.VoiceConnector, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdatePhoneNumberCommand = async ( + input: UpdatePhoneNumberCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/phone-numbers/{PhoneNumberId}"; + if (input.PhoneNumberId !== undefined) { + const labelValue: string = input.PhoneNumberId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: PhoneNumberId."); + } + resolvedPath = resolvedPath.replace("{PhoneNumberId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: PhoneNumberId."); + } + let body: any; + body = JSON.stringify({ + ...(input.CallingName !== undefined && { CallingName: input.CallingName }), + ...(input.ProductType !== undefined && { ProductType: input.ProductType }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdatePhoneNumberSettingsCommand = async ( + input: UpdatePhoneNumberSettingsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/settings/phone-number"; + let body: any; + body = JSON.stringify({ + ...(input.CallingName !== undefined && { CallingName: input.CallingName }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateProxySessionCommand = async ( + input: UpdateProxySessionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/voice-connectors/{VoiceConnectorId}/proxy-sessions/{ProxySessionId}"; + if (input.VoiceConnectorId !== undefined) { + const labelValue: string = input.VoiceConnectorId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); + } + resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: VoiceConnectorId."); + } + if (input.ProxySessionId !== undefined) { + const labelValue: string = input.ProxySessionId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ProxySessionId."); + } + resolvedPath = resolvedPath.replace("{ProxySessionId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ProxySessionId."); + } + let body: any; + body = JSON.stringify({ + ...(input.Capabilities !== undefined && { + Capabilities: serializeAws_restJson1CapabilityList(input.Capabilities, context), + }), + ...(input.ExpiryMinutes !== undefined && { ExpiryMinutes: input.ExpiryMinutes }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateRoomCommand = async ( + input: UpdateRoomCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/accounts/{AccountId}/rooms/{RoomId}"; + if (input.AccountId !== undefined) { + const labelValue: string = input.AccountId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AccountId."); + } + resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AccountId."); + } + if (input.RoomId !== undefined) { + const labelValue: string = input.RoomId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: RoomId."); + } + resolvedPath = resolvedPath.replace("{RoomId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: RoomId."); + } + let body: any; + body = JSON.stringify({ + ...(input.Name !== undefined && { Name: input.Name }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateRoomMembershipCommand = async ( + input: UpdateRoomMembershipCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/accounts/{AccountId}/rooms/{RoomId}/memberships/{MemberId}"; + if (input.AccountId !== undefined) { + const labelValue: string = input.AccountId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AccountId."); + } + resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AccountId."); + } + if (input.RoomId !== undefined) { + const labelValue: string = input.RoomId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: RoomId."); + } + resolvedPath = resolvedPath.replace("{RoomId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: RoomId."); + } + if (input.MemberId !== undefined) { + const labelValue: string = input.MemberId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: MemberId."); + } + resolvedPath = resolvedPath.replace("{MemberId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: MemberId."); + } + let body: any; + body = JSON.stringify({ + ...(input.Role !== undefined && { Role: input.Role }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateSipMediaApplicationCommand = async ( + input: UpdateSipMediaApplicationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/sip-media-applications/{SipMediaApplicationId}"; + if (input.SipMediaApplicationId !== undefined) { + const labelValue: string = input.SipMediaApplicationId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: SipMediaApplicationId."); + } + resolvedPath = resolvedPath.replace("{SipMediaApplicationId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: SipMediaApplicationId."); + } + let body: any; + body = JSON.stringify({ + ...(input.Endpoints !== undefined && { + Endpoints: serializeAws_restJson1SipMediaApplicationEndpointList(input.Endpoints, context), + }), + ...(input.Name !== undefined && { Name: input.Name }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateSipRuleCommand = async ( + input: UpdateSipRuleCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/sip-rules/{SipRuleId}"; + if (input.SipRuleId !== undefined) { + const labelValue: string = input.SipRuleId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: SipRuleId."); + } + resolvedPath = resolvedPath.replace("{SipRuleId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: SipRuleId."); + } + let body: any; + body = JSON.stringify({ + ...(input.Disabled !== undefined && { Disabled: input.Disabled }), + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.TargetApplications !== undefined && { + TargetApplications: serializeAws_restJson1SipRuleTargetApplicationList(input.TargetApplications, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateUserCommand = async ( + input: UpdateUserCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/accounts/{AccountId}/users/{UserId}"; + if (input.AccountId !== undefined) { + const labelValue: string = input.AccountId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AccountId."); + } + resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AccountId."); + } + if (input.UserId !== undefined) { + const labelValue: string = input.UserId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: UserId."); + } + resolvedPath = resolvedPath.replace("{UserId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: UserId."); + } + let body: any; + body = JSON.stringify({ + ...(input.AlexaForBusinessMetadata !== undefined && { + AlexaForBusinessMetadata: serializeAws_restJson1AlexaForBusinessMetadata(input.AlexaForBusinessMetadata, context), + }), + ...(input.LicenseType !== undefined && { LicenseType: input.LicenseType }), + ...(input.UserType !== undefined && { UserType: input.UserType }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateUserSettingsCommand = async ( + input: UpdateUserSettingsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/accounts/{AccountId}/users/{UserId}/settings"; + if (input.AccountId !== undefined) { + const labelValue: string = input.AccountId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AccountId."); + } + resolvedPath = resolvedPath.replace("{AccountId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AccountId."); + } + if (input.UserId !== undefined) { + const labelValue: string = input.UserId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: UserId."); + } + resolvedPath = resolvedPath.replace("{UserId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: UserId."); + } + let body: any; + body = JSON.stringify({ + ...(input.UserSettings !== undefined && { + UserSettings: serializeAws_restJson1UserSettings(input.UserSettings, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateVoiceConnectorCommand = async ( + input: UpdateVoiceConnectorCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/voice-connectors/{VoiceConnectorId}"; + if (input.VoiceConnectorId !== undefined) { + const labelValue: string = input.VoiceConnectorId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: VoiceConnectorId."); + } + resolvedPath = resolvedPath.replace("{VoiceConnectorId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: VoiceConnectorId."); + } + let body: any; + body = JSON.stringify({ + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.RequireEncryption !== undefined && { RequireEncryption: input.RequireEncryption }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateVoiceConnectorGroupCommand = async ( + input: UpdateVoiceConnectorGroupCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/voice-connector-groups/{VoiceConnectorGroupId}"; + if (input.VoiceConnectorGroupId !== undefined) { + const labelValue: string = input.VoiceConnectorGroupId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: VoiceConnectorGroupId."); + } + resolvedPath = resolvedPath.replace("{VoiceConnectorGroupId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: VoiceConnectorGroupId."); + } + let body: any; + body = JSON.stringify({ + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.VoiceConnectorItems !== undefined && { + VoiceConnectorItems: serializeAws_restJson1VoiceConnectorItemList(input.VoiceConnectorItems, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + +export const deserializeAws_restJson1AssociatePhoneNumbersWithVoiceConnectorCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1AssociatePhoneNumbersWithVoiceConnectorCommandError(output, context); + } + const contents: AssociatePhoneNumbersWithVoiceConnectorCommandOutput = { + $metadata: deserializeMetadata(output), + PhoneNumberErrors: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.PhoneNumberErrors !== undefined && data.PhoneNumberErrors !== null) { + contents.PhoneNumberErrors = deserializeAws_restJson1PhoneNumberErrorList(data.PhoneNumberErrors, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1AssociatePhoneNumbersWithVoiceConnectorCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.chime#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_restJson1AssociatePhoneNumbersWithVoiceConnectorGroupCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1AssociatePhoneNumbersWithVoiceConnectorGroupCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1AssociatePhoneNumbersWithVoiceConnectorGroupCommandError(output, context); + } + const contents: AssociatePhoneNumbersWithVoiceConnectorGroupCommandOutput = { + $metadata: deserializeMetadata(output), + PhoneNumberErrors: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.PhoneNumberErrors !== undefined && data.PhoneNumberErrors !== null) { + contents.PhoneNumberErrors = deserializeAws_restJson1PhoneNumberErrorList(data.PhoneNumberErrors, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1AssociatePhoneNumbersWithVoiceConnectorGroupCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.chime#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1AssociatePhoneNumberWithUserCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1AssociatePhoneNumberWithUserCommandError(output, context); + } + const contents: AssociatePhoneNumberWithUserCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1AssociatePhoneNumberWithUserCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.chime#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1AssociateSigninDelegateGroupsWithAccountCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1AssociateSigninDelegateGroupsWithAccountCommandError(output, context); + } + const contents: AssociateSigninDelegateGroupsWithAccountCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1AssociateSigninDelegateGroupsWithAccountCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1BatchCreateAttendeeCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1BatchCreateAttendeeCommandError(output, context); + } + const contents: BatchCreateAttendeeCommandOutput = { + $metadata: deserializeMetadata(output), + Attendees: undefined, + Errors: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.Attendees !== undefined && data.Attendees !== null) { + contents.Attendees = deserializeAws_restJson1AttendeeList(data.Attendees, context); + } + if (data.Errors !== undefined && data.Errors !== null) { + contents.Errors = deserializeAws_restJson1BatchCreateAttendeeErrorList(data.Errors, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1BatchCreateAttendeeCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceLimitExceededException": + case "com.amazonaws.chime#ResourceLimitExceededException": + response = { + ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1BatchCreateRoomMembershipCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1BatchCreateRoomMembershipCommandError(output, context); + } + const contents: BatchCreateRoomMembershipCommandOutput = { + $metadata: deserializeMetadata(output), + Errors: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.Errors !== undefined && data.Errors !== null) { + contents.Errors = deserializeAws_restJson1MemberErrorList(data.Errors, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1BatchCreateRoomMembershipCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1BatchDeletePhoneNumberCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1BatchDeletePhoneNumberCommandError(output, context); + } + const contents: BatchDeletePhoneNumberCommandOutput = { + $metadata: deserializeMetadata(output), + PhoneNumberErrors: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.PhoneNumberErrors !== undefined && data.PhoneNumberErrors !== null) { + contents.PhoneNumberErrors = deserializeAws_restJson1PhoneNumberErrorList(data.PhoneNumberErrors, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1BatchDeletePhoneNumberCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1BatchSuspendUserCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1BatchSuspendUserCommandError(output, context); + } + const contents: BatchSuspendUserCommandOutput = { + $metadata: deserializeMetadata(output), + UserErrors: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.UserErrors !== undefined && data.UserErrors !== null) { + contents.UserErrors = deserializeAws_restJson1UserErrorList(data.UserErrors, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1BatchSuspendUserCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1BatchUnsuspendUserCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1BatchUnsuspendUserCommandError(output, context); + } + const contents: BatchUnsuspendUserCommandOutput = { + $metadata: deserializeMetadata(output), + UserErrors: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.UserErrors !== undefined && data.UserErrors !== null) { + contents.UserErrors = deserializeAws_restJson1UserErrorList(data.UserErrors, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1BatchUnsuspendUserCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1BatchUpdatePhoneNumberCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1BatchUpdatePhoneNumberCommandError(output, context); + } + const contents: BatchUpdatePhoneNumberCommandOutput = { + $metadata: deserializeMetadata(output), + PhoneNumberErrors: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.PhoneNumberErrors !== undefined && data.PhoneNumberErrors !== null) { + contents.PhoneNumberErrors = deserializeAws_restJson1PhoneNumberErrorList(data.PhoneNumberErrors, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1BatchUpdatePhoneNumberCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1BatchUpdateUserCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1BatchUpdateUserCommandError(output, context); + } + const contents: BatchUpdateUserCommandOutput = { + $metadata: deserializeMetadata(output), + UserErrors: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.UserErrors !== undefined && data.UserErrors !== null) { + contents.UserErrors = deserializeAws_restJson1UserErrorList(data.UserErrors, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1BatchUpdateUserCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1CreateAccountCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateAccountCommandError(output, context); + } + const contents: CreateAccountCommandOutput = { + $metadata: deserializeMetadata(output), + Account: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.Account !== undefined && data.Account !== null) { + contents.Account = deserializeAws_restJson1Account(data.Account, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateAccountCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1CreateAppInstanceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateAppInstanceCommandError(output, context); + } + const contents: CreateAppInstanceCommandOutput = { + $metadata: deserializeMetadata(output), + AppInstanceArn: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.AppInstanceArn !== undefined && data.AppInstanceArn !== null) { + contents.AppInstanceArn = data.AppInstanceArn; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateAppInstanceCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.chime#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceLimitExceededException": + case "com.amazonaws.chime#ResourceLimitExceededException": + response = { + ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1CreateAppInstanceAdminCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateAppInstanceAdminCommandError(output, context); + } + const contents: CreateAppInstanceAdminCommandOutput = { + $metadata: deserializeMetadata(output), + AppInstanceAdmin: undefined, + AppInstanceArn: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.AppInstanceAdmin !== undefined && data.AppInstanceAdmin !== null) { + contents.AppInstanceAdmin = deserializeAws_restJson1Identity(data.AppInstanceAdmin, context); + } + if (data.AppInstanceArn !== undefined && data.AppInstanceArn !== null) { + contents.AppInstanceArn = data.AppInstanceArn; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateAppInstanceAdminCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.chime#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceLimitExceededException": + case "com.amazonaws.chime#ResourceLimitExceededException": + response = { + ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1CreateAppInstanceUserCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateAppInstanceUserCommandError(output, context); + } + const contents: CreateAppInstanceUserCommandOutput = { + $metadata: deserializeMetadata(output), + AppInstanceUserArn: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.AppInstanceUserArn !== undefined && data.AppInstanceUserArn !== null) { + contents.AppInstanceUserArn = data.AppInstanceUserArn; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateAppInstanceUserCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.chime#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceLimitExceededException": + case "com.amazonaws.chime#ResourceLimitExceededException": + response = { + ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1CreateAttendeeCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateAttendeeCommandError(output, context); + } + const contents: CreateAttendeeCommandOutput = { + $metadata: deserializeMetadata(output), + Attendee: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.Attendee !== undefined && data.Attendee !== null) { + contents.Attendee = deserializeAws_restJson1Attendee(data.Attendee, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateAttendeeCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceLimitExceededException": + case "com.amazonaws.chime#ResourceLimitExceededException": + response = { + ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1CreateBotCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateBotCommandError(output, context); + } + const contents: CreateBotCommandOutput = { + $metadata: deserializeMetadata(output), + Bot: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.Bot !== undefined && data.Bot !== null) { + contents.Bot = deserializeAws_restJson1Bot(data.Bot, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateBotCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceLimitExceededException": + case "com.amazonaws.chime#ResourceLimitExceededException": + response = { + ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1CreateChannelCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateChannelCommandError(output, context); + } + const contents: CreateChannelCommandOutput = { + $metadata: deserializeMetadata(output), + ChannelArn: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.ChannelArn !== undefined && data.ChannelArn !== null) { + contents.ChannelArn = data.ChannelArn; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateChannelCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.chime#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceLimitExceededException": + case "com.amazonaws.chime#ResourceLimitExceededException": + response = { + ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1CreateChannelBanCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateChannelBanCommandError(output, context); + } + const contents: CreateChannelBanCommandOutput = { + $metadata: deserializeMetadata(output), + ChannelArn: undefined, + Member: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.ChannelArn !== undefined && data.ChannelArn !== null) { + contents.ChannelArn = data.ChannelArn; + } + if (data.Member !== undefined && data.Member !== null) { + contents.Member = deserializeAws_restJson1Identity(data.Member, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateChannelBanCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.chime#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceLimitExceededException": + case "com.amazonaws.chime#ResourceLimitExceededException": + response = { + ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1CreateChannelMembershipCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateChannelMembershipCommandError(output, context); + } + const contents: CreateChannelMembershipCommandOutput = { + $metadata: deserializeMetadata(output), + ChannelArn: undefined, + Member: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.ChannelArn !== undefined && data.ChannelArn !== null) { + contents.ChannelArn = data.ChannelArn; + } + if (data.Member !== undefined && data.Member !== null) { + contents.Member = deserializeAws_restJson1Identity(data.Member, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateChannelMembershipCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.chime#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceLimitExceededException": + case "com.amazonaws.chime#ResourceLimitExceededException": + response = { + ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1CreateChannelModeratorCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateChannelModeratorCommandError(output, context); + } + const contents: CreateChannelModeratorCommandOutput = { + $metadata: deserializeMetadata(output), + ChannelArn: undefined, + ChannelModerator: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.ChannelArn !== undefined && data.ChannelArn !== null) { + contents.ChannelArn = data.ChannelArn; + } + if (data.ChannelModerator !== undefined && data.ChannelModerator !== null) { + contents.ChannelModerator = deserializeAws_restJson1Identity(data.ChannelModerator, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateChannelModeratorCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.chime#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceLimitExceededException": + case "com.amazonaws.chime#ResourceLimitExceededException": + response = { + ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1CreateMeetingCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateMeetingCommandError(output, context); + } + const contents: CreateMeetingCommandOutput = { + $metadata: deserializeMetadata(output), + Meeting: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.Meeting !== undefined && data.Meeting !== null) { + contents.Meeting = deserializeAws_restJson1Meeting(data.Meeting, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateMeetingCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceLimitExceededException": + case "com.amazonaws.chime#ResourceLimitExceededException": + response = { + ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1CreateMeetingDialOutCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateMeetingDialOutCommandError(output, context); + } + const contents: CreateMeetingDialOutCommandOutput = { + $metadata: deserializeMetadata(output), + TransactionId: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.TransactionId !== undefined && data.TransactionId !== null) { + contents.TransactionId = data.TransactionId; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateMeetingDialOutCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceLimitExceededException": + case "com.amazonaws.chime#ResourceLimitExceededException": + response = { + ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1CreateMeetingWithAttendeesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateMeetingWithAttendeesCommandError(output, context); + } + const contents: CreateMeetingWithAttendeesCommandOutput = { + $metadata: deserializeMetadata(output), + Attendees: undefined, + Errors: undefined, + Meeting: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.Attendees !== undefined && data.Attendees !== null) { + contents.Attendees = deserializeAws_restJson1AttendeeList(data.Attendees, context); + } + if (data.Errors !== undefined && data.Errors !== null) { + contents.Errors = deserializeAws_restJson1BatchCreateAttendeeErrorList(data.Errors, context); + } + if (data.Meeting !== undefined && data.Meeting !== null) { + contents.Meeting = deserializeAws_restJson1Meeting(data.Meeting, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateMeetingWithAttendeesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceLimitExceededException": + case "com.amazonaws.chime#ResourceLimitExceededException": + response = { + ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1CreatePhoneNumberOrderCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1CreatePhoneNumberOrderCommandError(output, context); + } + const contents: CreatePhoneNumberOrderCommandOutput = { + $metadata: deserializeMetadata(output), + PhoneNumberOrder: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.PhoneNumberOrder !== undefined && data.PhoneNumberOrder !== null) { + contents.PhoneNumberOrder = deserializeAws_restJson1PhoneNumberOrder(data.PhoneNumberOrder, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreatePhoneNumberOrderCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.chime#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceLimitExceededException": + case "com.amazonaws.chime#ResourceLimitExceededException": + response = { + ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1CreateProxySessionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateProxySessionCommandError(output, context); + } + const contents: CreateProxySessionCommandOutput = { + $metadata: deserializeMetadata(output), + ProxySession: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.ProxySession !== undefined && data.ProxySession !== null) { + contents.ProxySession = deserializeAws_restJson1ProxySession(data.ProxySession, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateProxySessionCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1CreateRoomCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateRoomCommandError(output, context); + } + const contents: CreateRoomCommandOutput = { + $metadata: deserializeMetadata(output), + Room: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.Room !== undefined && data.Room !== null) { + contents.Room = deserializeAws_restJson1Room(data.Room, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateRoomCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceLimitExceededException": + case "com.amazonaws.chime#ResourceLimitExceededException": + response = { + ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1CreateRoomMembershipCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateRoomMembershipCommandError(output, context); + } + const contents: CreateRoomMembershipCommandOutput = { + $metadata: deserializeMetadata(output), + RoomMembership: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.RoomMembership !== undefined && data.RoomMembership !== null) { + contents.RoomMembership = deserializeAws_restJson1RoomMembership(data.RoomMembership, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateRoomMembershipCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.chime#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceLimitExceededException": + case "com.amazonaws.chime#ResourceLimitExceededException": + response = { + ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1CreateSipMediaApplicationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateSipMediaApplicationCommandError(output, context); + } + const contents: CreateSipMediaApplicationCommandOutput = { + $metadata: deserializeMetadata(output), + SipMediaApplication: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.SipMediaApplication !== undefined && data.SipMediaApplication !== null) { + contents.SipMediaApplication = deserializeAws_restJson1SipMediaApplication(data.SipMediaApplication, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateSipMediaApplicationCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.chime#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.chime#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceLimitExceededException": + case "com.amazonaws.chime#ResourceLimitExceededException": + response = { + ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1CreateSipMediaApplicationCallCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateSipMediaApplicationCallCommandError(output, context); + } + const contents: CreateSipMediaApplicationCallCommandOutput = { + $metadata: deserializeMetadata(output), + SipMediaApplicationCall: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.SipMediaApplicationCall !== undefined && data.SipMediaApplicationCall !== null) { + contents.SipMediaApplicationCall = deserializeAws_restJson1SipMediaApplicationCall( + data.SipMediaApplicationCall, + context + ); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateSipMediaApplicationCallCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceLimitExceededException": + case "com.amazonaws.chime#ResourceLimitExceededException": + response = { + ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1CreateSipRuleCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateSipRuleCommandError(output, context); + } + const contents: CreateSipRuleCommandOutput = { + $metadata: deserializeMetadata(output), + SipRule: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.SipRule !== undefined && data.SipRule !== null) { + contents.SipRule = deserializeAws_restJson1SipRule(data.SipRule, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateSipRuleCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.chime#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.chime#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceLimitExceededException": + case "com.amazonaws.chime#ResourceLimitExceededException": + response = { + ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1CreateUserCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateUserCommandError(output, context); + } + const contents: CreateUserCommandOutput = { + $metadata: deserializeMetadata(output), + User: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.User !== undefined && data.User !== null) { + contents.User = deserializeAws_restJson1User(data.User, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateUserCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.chime#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1CreateVoiceConnectorCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateVoiceConnectorCommandError(output, context); + } + const contents: CreateVoiceConnectorCommandOutput = { + $metadata: deserializeMetadata(output), + VoiceConnector: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.VoiceConnector !== undefined && data.VoiceConnector !== null) { + contents.VoiceConnector = deserializeAws_restJson1VoiceConnector(data.VoiceConnector, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateVoiceConnectorCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.chime#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceLimitExceededException": + case "com.amazonaws.chime#ResourceLimitExceededException": + response = { + ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1CreateVoiceConnectorGroupCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateVoiceConnectorGroupCommandError(output, context); + } + const contents: CreateVoiceConnectorGroupCommandOutput = { + $metadata: deserializeMetadata(output), + VoiceConnectorGroup: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.VoiceConnectorGroup !== undefined && data.VoiceConnectorGroup !== null) { + contents.VoiceConnectorGroup = deserializeAws_restJson1VoiceConnectorGroup(data.VoiceConnectorGroup, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateVoiceConnectorGroupCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.chime#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceLimitExceededException": + case "com.amazonaws.chime#ResourceLimitExceededException": + response = { + ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DeleteAccountCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteAccountCommandError(output, context); + } + const contents: DeleteAccountCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeleteAccountCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnprocessableEntityException": + case "com.amazonaws.chime#UnprocessableEntityException": + response = { + ...(await deserializeAws_restJson1UnprocessableEntityExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DeleteAppInstanceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteAppInstanceCommandError(output, context); + } + const contents: DeleteAppInstanceCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeleteAppInstanceCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DeleteAppInstanceAdminCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteAppInstanceAdminCommandError(output, context); + } + const contents: DeleteAppInstanceAdminCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeleteAppInstanceAdminCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.chime#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceLimitExceededException": + case "com.amazonaws.chime#ResourceLimitExceededException": + response = { + ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DeleteAppInstanceStreamingConfigurationsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteAppInstanceStreamingConfigurationsCommandError(output, context); + } + const contents: DeleteAppInstanceStreamingConfigurationsCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeleteAppInstanceStreamingConfigurationsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DeleteAppInstanceUserCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteAppInstanceUserCommandError(output, context); + } + const contents: DeleteAppInstanceUserCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeleteAppInstanceUserCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DeleteAttendeeCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteAttendeeCommandError(output, context); + } + const contents: DeleteAttendeeCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeleteAttendeeCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DeleteChannelCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteChannelCommandError(output, context); + } + const contents: DeleteChannelCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeleteChannelCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DeleteChannelBanCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteChannelBanCommandError(output, context); + } + const contents: DeleteChannelBanCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeleteChannelBanCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DeleteChannelMembershipCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteChannelMembershipCommandError(output, context); + } + const contents: DeleteChannelMembershipCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeleteChannelMembershipCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DeleteChannelMessageCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteChannelMessageCommandError(output, context); + } + const contents: DeleteChannelMessageCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeleteChannelMessageCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DeleteChannelModeratorCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteChannelModeratorCommandError(output, context); + } + const contents: DeleteChannelModeratorCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeleteChannelModeratorCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DeleteEventsConfigurationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteEventsConfigurationCommandError(output, context); + } + const contents: DeleteEventsConfigurationCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeleteEventsConfigurationCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceLimitExceededException": + case "com.amazonaws.chime#ResourceLimitExceededException": + response = { + ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DeleteMeetingCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteMeetingCommandError(output, context); + } + const contents: DeleteMeetingCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeleteMeetingCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DeletePhoneNumberCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1DeletePhoneNumberCommandError(output, context); + } + const contents: DeletePhoneNumberCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeletePhoneNumberCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DeleteProxySessionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteProxySessionCommandError(output, context); + } + const contents: DeleteProxySessionCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeleteProxySessionCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chime#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chime#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chime#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DeleteRoomCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteRoomCommandError(output, context); } - const contents: AssociatePhoneNumbersWithVoiceConnectorGroupCommandOutput = { + const contents: DeleteRoomCommandOutput = { $metadata: deserializeMetadata(output), - PhoneNumberErrors: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.PhoneNumberErrors !== undefined && data.PhoneNumberErrors !== null) { - contents.PhoneNumberErrors = deserializeAws_restJson1PhoneNumberErrorList(data.PhoneNumberErrors, context); - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1AssociatePhoneNumbersWithVoiceConnectorGroupCommandError = async ( +const deserializeAws_restJson1DeleteRoomCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -5222,14 +12368,6 @@ const deserializeAws_restJson1AssociatePhoneNumbersWithVoiceConnectorGroupComman let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "AccessDeniedException": - case "com.amazonaws.chime#AccessDeniedException": - response = { - ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "BadRequestException": case "com.amazonaws.chime#BadRequestException": response = { @@ -5303,24 +12441,24 @@ const deserializeAws_restJson1AssociatePhoneNumbersWithVoiceConnectorGroupComman return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1AssociatePhoneNumberWithUserCommand = async ( +export const deserializeAws_restJson1DeleteRoomMembershipCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1AssociatePhoneNumberWithUserCommandError(output, context); +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteRoomMembershipCommandError(output, context); } - const contents: AssociatePhoneNumberWithUserCommandOutput = { + const contents: DeleteRoomMembershipCommandOutput = { $metadata: deserializeMetadata(output), }; await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1AssociatePhoneNumberWithUserCommandError = async ( +const deserializeAws_restJson1DeleteRoomMembershipCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -5329,14 +12467,6 @@ const deserializeAws_restJson1AssociatePhoneNumberWithUserCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "AccessDeniedException": - case "com.amazonaws.chime#AccessDeniedException": - response = { - ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "BadRequestException": case "com.amazonaws.chime#BadRequestException": response = { @@ -5410,24 +12540,24 @@ const deserializeAws_restJson1AssociatePhoneNumberWithUserCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1AssociateSigninDelegateGroupsWithAccountCommand = async ( +export const deserializeAws_restJson1DeleteSipMediaApplicationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1AssociateSigninDelegateGroupsWithAccountCommandError(output, context); +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteSipMediaApplicationCommandError(output, context); } - const contents: AssociateSigninDelegateGroupsWithAccountCommandOutput = { + const contents: DeleteSipMediaApplicationCommandOutput = { $metadata: deserializeMetadata(output), }; await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1AssociateSigninDelegateGroupsWithAccountCommandError = async ( +const deserializeAws_restJson1DeleteSipMediaApplicationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -5444,6 +12574,14 @@ const deserializeAws_restJson1AssociateSigninDelegateGroupsWithAccountCommandErr $metadata: deserializeMetadata(output), }; break; + case "ConflictException": + case "com.amazonaws.chime#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ForbiddenException": case "com.amazonaws.chime#ForbiddenException": response = { @@ -5509,32 +12647,24 @@ const deserializeAws_restJson1AssociateSigninDelegateGroupsWithAccountCommandErr return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1BatchCreateAttendeeCommand = async ( +export const deserializeAws_restJson1DeleteSipRuleCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 201 && output.statusCode >= 300) { - return deserializeAws_restJson1BatchCreateAttendeeCommandError(output, context); +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteSipRuleCommandError(output, context); } - const contents: BatchCreateAttendeeCommandOutput = { + const contents: DeleteSipRuleCommandOutput = { $metadata: deserializeMetadata(output), - Attendees: undefined, - Errors: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.Attendees !== undefined && data.Attendees !== null) { - contents.Attendees = deserializeAws_restJson1AttendeeList(data.Attendees, context); - } - if (data.Errors !== undefined && data.Errors !== null) { - contents.Errors = deserializeAws_restJson1BatchCreateAttendeeErrorList(data.Errors, context); - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1BatchCreateAttendeeCommandError = async ( +const deserializeAws_restJson1DeleteSipRuleCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -5551,6 +12681,14 @@ const deserializeAws_restJson1BatchCreateAttendeeCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ConflictException": + case "com.amazonaws.chime#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ForbiddenException": case "com.amazonaws.chime#ForbiddenException": response = { @@ -5567,14 +12705,6 @@ const deserializeAws_restJson1BatchCreateAttendeeCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceLimitExceededException": - case "com.amazonaws.chime#ResourceLimitExceededException": - response = { - ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -5624,28 +12754,24 @@ const deserializeAws_restJson1BatchCreateAttendeeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1BatchCreateRoomMembershipCommand = async ( +export const deserializeAws_restJson1DeleteVoiceConnectorCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 201 && output.statusCode >= 300) { - return deserializeAws_restJson1BatchCreateRoomMembershipCommandError(output, context); +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteVoiceConnectorCommandError(output, context); } - const contents: BatchCreateRoomMembershipCommandOutput = { + const contents: DeleteVoiceConnectorCommandOutput = { $metadata: deserializeMetadata(output), - Errors: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.Errors !== undefined && data.Errors !== null) { - contents.Errors = deserializeAws_restJson1MemberErrorList(data.Errors, context); - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1BatchCreateRoomMembershipCommandError = async ( +const deserializeAws_restJson1DeleteVoiceConnectorCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -5662,6 +12788,14 @@ const deserializeAws_restJson1BatchCreateRoomMembershipCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ConflictException": + case "com.amazonaws.chime#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ForbiddenException": case "com.amazonaws.chime#ForbiddenException": response = { @@ -5727,28 +12861,24 @@ const deserializeAws_restJson1BatchCreateRoomMembershipCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1BatchDeletePhoneNumberCommand = async ( +export const deserializeAws_restJson1DeleteVoiceConnectorEmergencyCallingConfigurationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1BatchDeletePhoneNumberCommandError(output, context); +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteVoiceConnectorEmergencyCallingConfigurationCommandError(output, context); } - const contents: BatchDeletePhoneNumberCommandOutput = { + const contents: DeleteVoiceConnectorEmergencyCallingConfigurationCommandOutput = { $metadata: deserializeMetadata(output), - PhoneNumberErrors: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.PhoneNumberErrors !== undefined && data.PhoneNumberErrors !== null) { - contents.PhoneNumberErrors = deserializeAws_restJson1PhoneNumberErrorList(data.PhoneNumberErrors, context); - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1BatchDeletePhoneNumberCommandError = async ( +const deserializeAws_restJson1DeleteVoiceConnectorEmergencyCallingConfigurationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -5830,28 +12960,24 @@ const deserializeAws_restJson1BatchDeletePhoneNumberCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1BatchSuspendUserCommand = async ( +export const deserializeAws_restJson1DeleteVoiceConnectorGroupCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1BatchSuspendUserCommandError(output, context); +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteVoiceConnectorGroupCommandError(output, context); } - const contents: BatchSuspendUserCommandOutput = { + const contents: DeleteVoiceConnectorGroupCommandOutput = { $metadata: deserializeMetadata(output), - UserErrors: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.UserErrors !== undefined && data.UserErrors !== null) { - contents.UserErrors = deserializeAws_restJson1UserErrorList(data.UserErrors, context); - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1BatchSuspendUserCommandError = async ( +const deserializeAws_restJson1DeleteVoiceConnectorGroupCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -5868,6 +12994,14 @@ const deserializeAws_restJson1BatchSuspendUserCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ConflictException": + case "com.amazonaws.chime#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ForbiddenException": case "com.amazonaws.chime#ForbiddenException": response = { @@ -5933,28 +13067,24 @@ const deserializeAws_restJson1BatchSuspendUserCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1BatchUnsuspendUserCommand = async ( +export const deserializeAws_restJson1DeleteVoiceConnectorOriginationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1BatchUnsuspendUserCommandError(output, context); +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteVoiceConnectorOriginationCommandError(output, context); } - const contents: BatchUnsuspendUserCommandOutput = { + const contents: DeleteVoiceConnectorOriginationCommandOutput = { $metadata: deserializeMetadata(output), - UserErrors: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.UserErrors !== undefined && data.UserErrors !== null) { - contents.UserErrors = deserializeAws_restJson1UserErrorList(data.UserErrors, context); - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1BatchUnsuspendUserCommandError = async ( +const deserializeAws_restJson1DeleteVoiceConnectorOriginationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -6036,28 +13166,24 @@ const deserializeAws_restJson1BatchUnsuspendUserCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1BatchUpdatePhoneNumberCommand = async ( +export const deserializeAws_restJson1DeleteVoiceConnectorProxyCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1BatchUpdatePhoneNumberCommandError(output, context); +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteVoiceConnectorProxyCommandError(output, context); } - const contents: BatchUpdatePhoneNumberCommandOutput = { + const contents: DeleteVoiceConnectorProxyCommandOutput = { $metadata: deserializeMetadata(output), - PhoneNumberErrors: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.PhoneNumberErrors !== undefined && data.PhoneNumberErrors !== null) { - contents.PhoneNumberErrors = deserializeAws_restJson1PhoneNumberErrorList(data.PhoneNumberErrors, context); - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1BatchUpdatePhoneNumberCommandError = async ( +const deserializeAws_restJson1DeleteVoiceConnectorProxyCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -6139,28 +13265,24 @@ const deserializeAws_restJson1BatchUpdatePhoneNumberCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1BatchUpdateUserCommand = async ( +export const deserializeAws_restJson1DeleteVoiceConnectorStreamingConfigurationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1BatchUpdateUserCommandError(output, context); +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteVoiceConnectorStreamingConfigurationCommandError(output, context); } - const contents: BatchUpdateUserCommandOutput = { + const contents: DeleteVoiceConnectorStreamingConfigurationCommandOutput = { $metadata: deserializeMetadata(output), - UserErrors: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.UserErrors !== undefined && data.UserErrors !== null) { - contents.UserErrors = deserializeAws_restJson1UserErrorList(data.UserErrors, context); - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1BatchUpdateUserCommandError = async ( +const deserializeAws_restJson1DeleteVoiceConnectorStreamingConfigurationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -6242,28 +13364,24 @@ const deserializeAws_restJson1BatchUpdateUserCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateAccountCommand = async ( +export const deserializeAws_restJson1DeleteVoiceConnectorTerminationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 201 && output.statusCode >= 300) { - return deserializeAws_restJson1CreateAccountCommandError(output, context); - } - const contents: CreateAccountCommandOutput = { - $metadata: deserializeMetadata(output), - Account: undefined, - }; - const data: any = await parseBody(output.body, context); - if (data.Account !== undefined && data.Account !== null) { - contents.Account = deserializeAws_restJson1Account(data.Account, context); +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteVoiceConnectorTerminationCommandError(output, context); } + const contents: DeleteVoiceConnectorTerminationCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1CreateAccountCommandError = async ( +const deserializeAws_restJson1DeleteVoiceConnectorTerminationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -6345,28 +13463,24 @@ const deserializeAws_restJson1CreateAccountCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateAttendeeCommand = async ( +export const deserializeAws_restJson1DeleteVoiceConnectorTerminationCredentialsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 201 && output.statusCode >= 300) { - return deserializeAws_restJson1CreateAttendeeCommandError(output, context); +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteVoiceConnectorTerminationCredentialsCommandError(output, context); } - const contents: CreateAttendeeCommandOutput = { + const contents: DeleteVoiceConnectorTerminationCredentialsCommandOutput = { $metadata: deserializeMetadata(output), - Attendee: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.Attendee !== undefined && data.Attendee !== null) { - contents.Attendee = deserializeAws_restJson1Attendee(data.Attendee, context); - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1CreateAttendeeCommandError = async ( +const deserializeAws_restJson1DeleteVoiceConnectorTerminationCredentialsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -6399,14 +13513,6 @@ const deserializeAws_restJson1CreateAttendeeCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceLimitExceededException": - case "com.amazonaws.chime#ResourceLimitExceededException": - response = { - ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -6456,28 +13562,28 @@ const deserializeAws_restJson1CreateAttendeeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateBotCommand = async ( +export const deserializeAws_restJson1DescribeAppInstanceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 201 && output.statusCode >= 300) { - return deserializeAws_restJson1CreateBotCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeAppInstanceCommandError(output, context); } - const contents: CreateBotCommandOutput = { + const contents: DescribeAppInstanceCommandOutput = { $metadata: deserializeMetadata(output), - Bot: undefined, + AppInstance: undefined, }; const data: any = await parseBody(output.body, context); - if (data.Bot !== undefined && data.Bot !== null) { - contents.Bot = deserializeAws_restJson1Bot(data.Bot, context); + if (data.AppInstance !== undefined && data.AppInstance !== null) { + contents.AppInstance = deserializeAws_restJson1AppInstance(data.AppInstance, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1CreateBotCommandError = async ( +const deserializeAws_restJson1DescribeAppInstanceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -6502,22 +13608,6 @@ const deserializeAws_restJson1CreateBotCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "NotFoundException": - case "com.amazonaws.chime#NotFoundException": - response = { - ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "ResourceLimitExceededException": - case "com.amazonaws.chime#ResourceLimitExceededException": - response = { - ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -6567,28 +13657,28 @@ const deserializeAws_restJson1CreateBotCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateMeetingCommand = async ( +export const deserializeAws_restJson1DescribeAppInstanceAdminCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 201 && output.statusCode >= 300) { - return deserializeAws_restJson1CreateMeetingCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeAppInstanceAdminCommandError(output, context); } - const contents: CreateMeetingCommandOutput = { + const contents: DescribeAppInstanceAdminCommandOutput = { $metadata: deserializeMetadata(output), - Meeting: undefined, + AppInstanceAdmin: undefined, }; const data: any = await parseBody(output.body, context); - if (data.Meeting !== undefined && data.Meeting !== null) { - contents.Meeting = deserializeAws_restJson1Meeting(data.Meeting, context); + if (data.AppInstanceAdmin !== undefined && data.AppInstanceAdmin !== null) { + contents.AppInstanceAdmin = deserializeAws_restJson1AppInstanceAdmin(data.AppInstanceAdmin, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1CreateMeetingCommandError = async ( +const deserializeAws_restJson1DescribeAppInstanceAdminCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -6613,14 +13703,6 @@ const deserializeAws_restJson1CreateMeetingCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceLimitExceededException": - case "com.amazonaws.chime#ResourceLimitExceededException": - response = { - ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -6670,28 +13752,28 @@ const deserializeAws_restJson1CreateMeetingCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateMeetingDialOutCommand = async ( +export const deserializeAws_restJson1DescribeAppInstanceUserCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 201 && output.statusCode >= 300) { - return deserializeAws_restJson1CreateMeetingDialOutCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeAppInstanceUserCommandError(output, context); } - const contents: CreateMeetingDialOutCommandOutput = { + const contents: DescribeAppInstanceUserCommandOutput = { $metadata: deserializeMetadata(output), - TransactionId: undefined, + AppInstanceUser: undefined, }; const data: any = await parseBody(output.body, context); - if (data.TransactionId !== undefined && data.TransactionId !== null) { - contents.TransactionId = data.TransactionId; + if (data.AppInstanceUser !== undefined && data.AppInstanceUser !== null) { + contents.AppInstanceUser = deserializeAws_restJson1AppInstanceUser(data.AppInstanceUser, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1CreateMeetingDialOutCommandError = async ( +const deserializeAws_restJson1DescribeAppInstanceUserCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -6716,14 +13798,6 @@ const deserializeAws_restJson1CreateMeetingDialOutCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceLimitExceededException": - case "com.amazonaws.chime#ResourceLimitExceededException": - response = { - ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -6773,36 +13847,28 @@ const deserializeAws_restJson1CreateMeetingDialOutCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateMeetingWithAttendeesCommand = async ( +export const deserializeAws_restJson1DescribeChannelCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 201 && output.statusCode >= 300) { - return deserializeAws_restJson1CreateMeetingWithAttendeesCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeChannelCommandError(output, context); } - const contents: CreateMeetingWithAttendeesCommandOutput = { + const contents: DescribeChannelCommandOutput = { $metadata: deserializeMetadata(output), - Attendees: undefined, - Errors: undefined, - Meeting: undefined, + Channel: undefined, }; const data: any = await parseBody(output.body, context); - if (data.Attendees !== undefined && data.Attendees !== null) { - contents.Attendees = deserializeAws_restJson1AttendeeList(data.Attendees, context); - } - if (data.Errors !== undefined && data.Errors !== null) { - contents.Errors = deserializeAws_restJson1BatchCreateAttendeeErrorList(data.Errors, context); - } - if (data.Meeting !== undefined && data.Meeting !== null) { - contents.Meeting = deserializeAws_restJson1Meeting(data.Meeting, context); + if (data.Channel !== undefined && data.Channel !== null) { + contents.Channel = deserializeAws_restJson1Channel(data.Channel, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1CreateMeetingWithAttendeesCommandError = async ( +const deserializeAws_restJson1DescribeChannelCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -6827,14 +13893,6 @@ const deserializeAws_restJson1CreateMeetingWithAttendeesCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceLimitExceededException": - case "com.amazonaws.chime#ResourceLimitExceededException": - response = { - ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -6884,28 +13942,28 @@ const deserializeAws_restJson1CreateMeetingWithAttendeesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreatePhoneNumberOrderCommand = async ( +export const deserializeAws_restJson1DescribeChannelBanCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 201 && output.statusCode >= 300) { - return deserializeAws_restJson1CreatePhoneNumberOrderCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeChannelBanCommandError(output, context); } - const contents: CreatePhoneNumberOrderCommandOutput = { + const contents: DescribeChannelBanCommandOutput = { $metadata: deserializeMetadata(output), - PhoneNumberOrder: undefined, + ChannelBan: undefined, }; const data: any = await parseBody(output.body, context); - if (data.PhoneNumberOrder !== undefined && data.PhoneNumberOrder !== null) { - contents.PhoneNumberOrder = deserializeAws_restJson1PhoneNumberOrder(data.PhoneNumberOrder, context); + if (data.ChannelBan !== undefined && data.ChannelBan !== null) { + contents.ChannelBan = deserializeAws_restJson1ChannelBan(data.ChannelBan, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1CreatePhoneNumberOrderCommandError = async ( +const deserializeAws_restJson1DescribeChannelBanCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -6914,14 +13972,6 @@ const deserializeAws_restJson1CreatePhoneNumberOrderCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "AccessDeniedException": - case "com.amazonaws.chime#AccessDeniedException": - response = { - ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "BadRequestException": case "com.amazonaws.chime#BadRequestException": response = { @@ -6938,10 +13988,10 @@ const deserializeAws_restJson1CreatePhoneNumberOrderCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceLimitExceededException": - case "com.amazonaws.chime#ResourceLimitExceededException": + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": response = { - ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -6995,28 +14045,28 @@ const deserializeAws_restJson1CreatePhoneNumberOrderCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateProxySessionCommand = async ( +export const deserializeAws_restJson1DescribeChannelMembershipCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 201 && output.statusCode >= 300) { - return deserializeAws_restJson1CreateProxySessionCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeChannelMembershipCommandError(output, context); } - const contents: CreateProxySessionCommandOutput = { + const contents: DescribeChannelMembershipCommandOutput = { $metadata: deserializeMetadata(output), - ProxySession: undefined, + ChannelMembership: undefined, }; const data: any = await parseBody(output.body, context); - if (data.ProxySession !== undefined && data.ProxySession !== null) { - contents.ProxySession = deserializeAws_restJson1ProxySession(data.ProxySession, context); + if (data.ChannelMembership !== undefined && data.ChannelMembership !== null) { + contents.ChannelMembership = deserializeAws_restJson1ChannelMembership(data.ChannelMembership, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1CreateProxySessionCommandError = async ( +const deserializeAws_restJson1DescribeChannelMembershipCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -7098,28 +14148,31 @@ const deserializeAws_restJson1CreateProxySessionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateRoomCommand = async ( +export const deserializeAws_restJson1DescribeChannelMembershipForAppInstanceUserCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 201 && output.statusCode >= 300) { - return deserializeAws_restJson1CreateRoomCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeChannelMembershipForAppInstanceUserCommandError(output, context); } - const contents: CreateRoomCommandOutput = { + const contents: DescribeChannelMembershipForAppInstanceUserCommandOutput = { $metadata: deserializeMetadata(output), - Room: undefined, + ChannelMembership: undefined, }; const data: any = await parseBody(output.body, context); - if (data.Room !== undefined && data.Room !== null) { - contents.Room = deserializeAws_restJson1Room(data.Room, context); + if (data.ChannelMembership !== undefined && data.ChannelMembership !== null) { + contents.ChannelMembership = deserializeAws_restJson1ChannelMembershipForAppInstanceUserSummary( + data.ChannelMembership, + context + ); } return Promise.resolve(contents); }; -const deserializeAws_restJson1CreateRoomCommandError = async ( +const deserializeAws_restJson1DescribeChannelMembershipForAppInstanceUserCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -7144,22 +14197,6 @@ const deserializeAws_restJson1CreateRoomCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "NotFoundException": - case "com.amazonaws.chime#NotFoundException": - response = { - ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "ResourceLimitExceededException": - case "com.amazonaws.chime#ResourceLimitExceededException": - response = { - ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -7209,28 +14246,28 @@ const deserializeAws_restJson1CreateRoomCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateRoomMembershipCommand = async ( +export const deserializeAws_restJson1DescribeChannelModeratedByAppInstanceUserCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 201 && output.statusCode >= 300) { - return deserializeAws_restJson1CreateRoomMembershipCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeChannelModeratedByAppInstanceUserCommandError(output, context); } - const contents: CreateRoomMembershipCommandOutput = { + const contents: DescribeChannelModeratedByAppInstanceUserCommandOutput = { $metadata: deserializeMetadata(output), - RoomMembership: undefined, + Channel: undefined, }; const data: any = await parseBody(output.body, context); - if (data.RoomMembership !== undefined && data.RoomMembership !== null) { - contents.RoomMembership = deserializeAws_restJson1RoomMembership(data.RoomMembership, context); + if (data.Channel !== undefined && data.Channel !== null) { + contents.Channel = deserializeAws_restJson1ChannelModeratedByAppInstanceUserSummary(data.Channel, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1CreateRoomMembershipCommandError = async ( +const deserializeAws_restJson1DescribeChannelModeratedByAppInstanceUserCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -7247,14 +14284,6 @@ const deserializeAws_restJson1CreateRoomMembershipCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ConflictException": - case "com.amazonaws.chime#ConflictException": - response = { - ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ForbiddenException": case "com.amazonaws.chime#ForbiddenException": response = { @@ -7263,22 +14292,6 @@ const deserializeAws_restJson1CreateRoomMembershipCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "NotFoundException": - case "com.amazonaws.chime#NotFoundException": - response = { - ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "ResourceLimitExceededException": - case "com.amazonaws.chime#ResourceLimitExceededException": - response = { - ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -7328,28 +14341,28 @@ const deserializeAws_restJson1CreateRoomMembershipCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateSipMediaApplicationCommand = async ( +export const deserializeAws_restJson1DescribeChannelModeratorCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 201 && output.statusCode >= 300) { - return deserializeAws_restJson1CreateSipMediaApplicationCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeChannelModeratorCommandError(output, context); } - const contents: CreateSipMediaApplicationCommandOutput = { + const contents: DescribeChannelModeratorCommandOutput = { $metadata: deserializeMetadata(output), - SipMediaApplication: undefined, + ChannelModerator: undefined, }; const data: any = await parseBody(output.body, context); - if (data.SipMediaApplication !== undefined && data.SipMediaApplication !== null) { - contents.SipMediaApplication = deserializeAws_restJson1SipMediaApplication(data.SipMediaApplication, context); + if (data.ChannelModerator !== undefined && data.ChannelModerator !== null) { + contents.ChannelModerator = deserializeAws_restJson1ChannelModerator(data.ChannelModerator, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1CreateSipMediaApplicationCommandError = async ( +const deserializeAws_restJson1DescribeChannelModeratorCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -7358,26 +14371,10 @@ const deserializeAws_restJson1CreateSipMediaApplicationCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "AccessDeniedException": - case "com.amazonaws.chime#AccessDeniedException": - response = { - ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "BadRequestException": case "com.amazonaws.chime#BadRequestException": response = { - ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "ConflictException": - case "com.amazonaws.chime#ConflictException": - response = { - ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -7390,10 +14387,10 @@ const deserializeAws_restJson1CreateSipMediaApplicationCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceLimitExceededException": - case "com.amazonaws.chime#ResourceLimitExceededException": + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": response = { - ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -7447,31 +14444,24 @@ const deserializeAws_restJson1CreateSipMediaApplicationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateSipMediaApplicationCallCommand = async ( +export const deserializeAws_restJson1DisassociatePhoneNumberFromUserCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 201 && output.statusCode >= 300) { - return deserializeAws_restJson1CreateSipMediaApplicationCallCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DisassociatePhoneNumberFromUserCommandError(output, context); } - const contents: CreateSipMediaApplicationCallCommandOutput = { + const contents: DisassociatePhoneNumberFromUserCommandOutput = { $metadata: deserializeMetadata(output), - SipMediaApplicationCall: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.SipMediaApplicationCall !== undefined && data.SipMediaApplicationCall !== null) { - contents.SipMediaApplicationCall = deserializeAws_restJson1SipMediaApplicationCall( - data.SipMediaApplicationCall, - context - ); - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1CreateSipMediaApplicationCallCommandError = async ( +const deserializeAws_restJson1DisassociatePhoneNumberFromUserCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -7496,10 +14486,10 @@ const deserializeAws_restJson1CreateSipMediaApplicationCallCommandError = async $metadata: deserializeMetadata(output), }; break; - case "ResourceLimitExceededException": - case "com.amazonaws.chime#ResourceLimitExceededException": + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": response = { - ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -7553,28 +14543,28 @@ const deserializeAws_restJson1CreateSipMediaApplicationCallCommandError = async return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateSipRuleCommand = async ( +export const deserializeAws_restJson1DisassociatePhoneNumbersFromVoiceConnectorCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 201 && output.statusCode >= 300) { - return deserializeAws_restJson1CreateSipRuleCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DisassociatePhoneNumbersFromVoiceConnectorCommandError(output, context); } - const contents: CreateSipRuleCommandOutput = { + const contents: DisassociatePhoneNumbersFromVoiceConnectorCommandOutput = { $metadata: deserializeMetadata(output), - SipRule: undefined, + PhoneNumberErrors: undefined, }; const data: any = await parseBody(output.body, context); - if (data.SipRule !== undefined && data.SipRule !== null) { - contents.SipRule = deserializeAws_restJson1SipRule(data.SipRule, context); + if (data.PhoneNumberErrors !== undefined && data.PhoneNumberErrors !== null) { + contents.PhoneNumberErrors = deserializeAws_restJson1PhoneNumberErrorList(data.PhoneNumberErrors, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1CreateSipRuleCommandError = async ( +const deserializeAws_restJson1DisassociatePhoneNumbersFromVoiceConnectorCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -7583,14 +14573,6 @@ const deserializeAws_restJson1CreateSipRuleCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "AccessDeniedException": - case "com.amazonaws.chime#AccessDeniedException": - response = { - ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "BadRequestException": case "com.amazonaws.chime#BadRequestException": response = { @@ -7599,14 +14581,6 @@ const deserializeAws_restJson1CreateSipRuleCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ConflictException": - case "com.amazonaws.chime#ConflictException": - response = { - ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ForbiddenException": case "com.amazonaws.chime#ForbiddenException": response = { @@ -7615,10 +14589,10 @@ const deserializeAws_restJson1CreateSipRuleCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceLimitExceededException": - case "com.amazonaws.chime#ResourceLimitExceededException": + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": response = { - ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -7672,28 +14646,28 @@ const deserializeAws_restJson1CreateSipRuleCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateUserCommand = async ( +export const deserializeAws_restJson1DisassociatePhoneNumbersFromVoiceConnectorGroupCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 201 && output.statusCode >= 300) { - return deserializeAws_restJson1CreateUserCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DisassociatePhoneNumbersFromVoiceConnectorGroupCommandError(output, context); } - const contents: CreateUserCommandOutput = { + const contents: DisassociatePhoneNumbersFromVoiceConnectorGroupCommandOutput = { $metadata: deserializeMetadata(output), - User: undefined, + PhoneNumberErrors: undefined, }; const data: any = await parseBody(output.body, context); - if (data.User !== undefined && data.User !== null) { - contents.User = deserializeAws_restJson1User(data.User, context); + if (data.PhoneNumberErrors !== undefined && data.PhoneNumberErrors !== null) { + contents.PhoneNumberErrors = deserializeAws_restJson1PhoneNumberErrorList(data.PhoneNumberErrors, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1CreateUserCommandError = async ( +const deserializeAws_restJson1DisassociatePhoneNumbersFromVoiceConnectorGroupCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -7710,14 +14684,6 @@ const deserializeAws_restJson1CreateUserCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ConflictException": - case "com.amazonaws.chime#ConflictException": - response = { - ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ForbiddenException": case "com.amazonaws.chime#ForbiddenException": response = { @@ -7783,28 +14749,24 @@ const deserializeAws_restJson1CreateUserCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateVoiceConnectorCommand = async ( +export const deserializeAws_restJson1DisassociateSigninDelegateGroupsFromAccountCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 201 && output.statusCode >= 300) { - return deserializeAws_restJson1CreateVoiceConnectorCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DisassociateSigninDelegateGroupsFromAccountCommandError(output, context); } - const contents: CreateVoiceConnectorCommandOutput = { + const contents: DisassociateSigninDelegateGroupsFromAccountCommandOutput = { $metadata: deserializeMetadata(output), - VoiceConnector: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.VoiceConnector !== undefined && data.VoiceConnector !== null) { - contents.VoiceConnector = deserializeAws_restJson1VoiceConnector(data.VoiceConnector, context); - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1CreateVoiceConnectorCommandError = async ( +const deserializeAws_restJson1DisassociateSigninDelegateGroupsFromAccountCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -7813,14 +14775,6 @@ const deserializeAws_restJson1CreateVoiceConnectorCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "AccessDeniedException": - case "com.amazonaws.chime#AccessDeniedException": - response = { - ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "BadRequestException": case "com.amazonaws.chime#BadRequestException": response = { @@ -7837,10 +14791,10 @@ const deserializeAws_restJson1CreateVoiceConnectorCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceLimitExceededException": - case "com.amazonaws.chime#ResourceLimitExceededException": + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": response = { - ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -7894,28 +14848,28 @@ const deserializeAws_restJson1CreateVoiceConnectorCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateVoiceConnectorGroupCommand = async ( +export const deserializeAws_restJson1GetAccountCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 201 && output.statusCode >= 300) { - return deserializeAws_restJson1CreateVoiceConnectorGroupCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GetAccountCommandError(output, context); } - const contents: CreateVoiceConnectorGroupCommandOutput = { + const contents: GetAccountCommandOutput = { $metadata: deserializeMetadata(output), - VoiceConnectorGroup: undefined, + Account: undefined, }; const data: any = await parseBody(output.body, context); - if (data.VoiceConnectorGroup !== undefined && data.VoiceConnectorGroup !== null) { - contents.VoiceConnectorGroup = deserializeAws_restJson1VoiceConnectorGroup(data.VoiceConnectorGroup, context); + if (data.Account !== undefined && data.Account !== null) { + contents.Account = deserializeAws_restJson1Account(data.Account, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1CreateVoiceConnectorGroupCommandError = async ( +const deserializeAws_restJson1GetAccountCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -7924,14 +14878,6 @@ const deserializeAws_restJson1CreateVoiceConnectorGroupCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "AccessDeniedException": - case "com.amazonaws.chime#AccessDeniedException": - response = { - ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "BadRequestException": case "com.amazonaws.chime#BadRequestException": response = { @@ -7948,10 +14894,10 @@ const deserializeAws_restJson1CreateVoiceConnectorGroupCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceLimitExceededException": - case "com.amazonaws.chime#ResourceLimitExceededException": + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": response = { - ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -8005,24 +14951,28 @@ const deserializeAws_restJson1CreateVoiceConnectorGroupCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DeleteAccountCommand = async ( +export const deserializeAws_restJson1GetAccountSettingsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 204 && output.statusCode >= 300) { - return deserializeAws_restJson1DeleteAccountCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GetAccountSettingsCommandError(output, context); } - const contents: DeleteAccountCommandOutput = { + const contents: GetAccountSettingsCommandOutput = { $metadata: deserializeMetadata(output), + AccountSettings: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.AccountSettings !== undefined && data.AccountSettings !== null) { + contents.AccountSettings = deserializeAws_restJson1AccountSettings(data.AccountSettings, context); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1DeleteAccountCommandError = async ( +const deserializeAws_restJson1GetAccountSettingsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -8087,14 +15037,6 @@ const deserializeAws_restJson1DeleteAccountCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "UnprocessableEntityException": - case "com.amazonaws.chime#UnprocessableEntityException": - response = { - ...(await deserializeAws_restJson1UnprocessableEntityExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -8112,24 +15054,35 @@ const deserializeAws_restJson1DeleteAccountCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DeleteAttendeeCommand = async ( +export const deserializeAws_restJson1GetAppInstanceRetentionSettingsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 204 && output.statusCode >= 300) { - return deserializeAws_restJson1DeleteAttendeeCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GetAppInstanceRetentionSettingsCommandError(output, context); } - const contents: DeleteAttendeeCommandOutput = { + const contents: GetAppInstanceRetentionSettingsCommandOutput = { $metadata: deserializeMetadata(output), + AppInstanceRetentionSettings: undefined, + InitiateDeletionTimestamp: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.AppInstanceRetentionSettings !== undefined && data.AppInstanceRetentionSettings !== null) { + contents.AppInstanceRetentionSettings = deserializeAws_restJson1AppInstanceRetentionSettings( + data.AppInstanceRetentionSettings, + context + ); + } + if (data.InitiateDeletionTimestamp !== undefined && data.InitiateDeletionTimestamp !== null) { + contents.InitiateDeletionTimestamp = new Date(Math.round(data.InitiateDeletionTimestamp * 1000)); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1DeleteAttendeeCommandError = async ( +const deserializeAws_restJson1GetAppInstanceRetentionSettingsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -8211,24 +15164,31 @@ const deserializeAws_restJson1DeleteAttendeeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DeleteEventsConfigurationCommand = async ( +export const deserializeAws_restJson1GetAppInstanceStreamingConfigurationsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 204 && output.statusCode >= 300) { - return deserializeAws_restJson1DeleteEventsConfigurationCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GetAppInstanceStreamingConfigurationsCommandError(output, context); } - const contents: DeleteEventsConfigurationCommandOutput = { + const contents: GetAppInstanceStreamingConfigurationsCommandOutput = { $metadata: deserializeMetadata(output), + AppInstanceStreamingConfigurations: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.AppInstanceStreamingConfigurations !== undefined && data.AppInstanceStreamingConfigurations !== null) { + contents.AppInstanceStreamingConfigurations = deserializeAws_restJson1AppInstanceStreamingConfigurationList( + data.AppInstanceStreamingConfigurations, + context + ); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1DeleteEventsConfigurationCommandError = async ( +const deserializeAws_restJson1GetAppInstanceStreamingConfigurationsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -8253,10 +15213,10 @@ const deserializeAws_restJson1DeleteEventsConfigurationCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceLimitExceededException": - case "com.amazonaws.chime#ResourceLimitExceededException": + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": response = { - ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -8277,6 +15237,14 @@ const deserializeAws_restJson1DeleteEventsConfigurationCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "UnauthorizedClientException": case "com.amazonaws.chime#UnauthorizedClientException": response = { @@ -8302,24 +15270,28 @@ const deserializeAws_restJson1DeleteEventsConfigurationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DeleteMeetingCommand = async ( +export const deserializeAws_restJson1GetAttendeeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 204 && output.statusCode >= 300) { - return deserializeAws_restJson1DeleteMeetingCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GetAttendeeCommandError(output, context); } - const contents: DeleteMeetingCommandOutput = { + const contents: GetAttendeeCommandOutput = { $metadata: deserializeMetadata(output), + Attendee: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.Attendee !== undefined && data.Attendee !== null) { + contents.Attendee = deserializeAws_restJson1Attendee(data.Attendee, context); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1DeleteMeetingCommandError = async ( +const deserializeAws_restJson1GetAttendeeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -8401,24 +15373,28 @@ const deserializeAws_restJson1DeleteMeetingCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DeletePhoneNumberCommand = async ( +export const deserializeAws_restJson1GetBotCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 204 && output.statusCode >= 300) { - return deserializeAws_restJson1DeletePhoneNumberCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GetBotCommandError(output, context); } - const contents: DeletePhoneNumberCommandOutput = { + const contents: GetBotCommandOutput = { $metadata: deserializeMetadata(output), + Bot: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.Bot !== undefined && data.Bot !== null) { + contents.Bot = deserializeAws_restJson1Bot(data.Bot, context); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1DeletePhoneNumberCommandError = async ( +const deserializeAws_restJson1GetBotCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -8500,24 +15476,28 @@ const deserializeAws_restJson1DeletePhoneNumberCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DeleteProxySessionCommand = async ( +export const deserializeAws_restJson1GetChannelMessageCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 204 && output.statusCode >= 300) { - return deserializeAws_restJson1DeleteProxySessionCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GetChannelMessageCommandError(output, context); } - const contents: DeleteProxySessionCommandOutput = { + const contents: GetChannelMessageCommandOutput = { $metadata: deserializeMetadata(output), + ChannelMessage: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.ChannelMessage !== undefined && data.ChannelMessage !== null) { + contents.ChannelMessage = deserializeAws_restJson1ChannelMessage(data.ChannelMessage, context); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1DeleteProxySessionCommandError = async ( +const deserializeAws_restJson1GetChannelMessageCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -8599,24 +15579,28 @@ const deserializeAws_restJson1DeleteProxySessionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DeleteRoomCommand = async ( +export const deserializeAws_restJson1GetEventsConfigurationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 204 && output.statusCode >= 300) { - return deserializeAws_restJson1DeleteRoomCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GetEventsConfigurationCommandError(output, context); } - const contents: DeleteRoomCommandOutput = { + const contents: GetEventsConfigurationCommandOutput = { $metadata: deserializeMetadata(output), + EventsConfiguration: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.EventsConfiguration !== undefined && data.EventsConfiguration !== null) { + contents.EventsConfiguration = deserializeAws_restJson1EventsConfiguration(data.EventsConfiguration, context); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1DeleteRoomCommandError = async ( +const deserializeAws_restJson1GetEventsConfigurationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -8649,6 +15633,14 @@ const deserializeAws_restJson1DeleteRoomCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ResourceLimitExceededException": + case "com.amazonaws.chime#ResourceLimitExceededException": + response = { + ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -8665,14 +15657,6 @@ const deserializeAws_restJson1DeleteRoomCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ThrottledClientException": - case "com.amazonaws.chime#ThrottledClientException": - response = { - ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "UnauthorizedClientException": case "com.amazonaws.chime#UnauthorizedClientException": response = { @@ -8698,24 +15682,32 @@ const deserializeAws_restJson1DeleteRoomCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DeleteRoomMembershipCommand = async ( +export const deserializeAws_restJson1GetGlobalSettingsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 204 && output.statusCode >= 300) { - return deserializeAws_restJson1DeleteRoomMembershipCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GetGlobalSettingsCommandError(output, context); } - const contents: DeleteRoomMembershipCommandOutput = { + const contents: GetGlobalSettingsCommandOutput = { $metadata: deserializeMetadata(output), + BusinessCalling: undefined, + VoiceConnector: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.BusinessCalling !== undefined && data.BusinessCalling !== null) { + contents.BusinessCalling = deserializeAws_restJson1BusinessCallingSettings(data.BusinessCalling, context); + } + if (data.VoiceConnector !== undefined && data.VoiceConnector !== null) { + contents.VoiceConnector = deserializeAws_restJson1VoiceConnectorSettings(data.VoiceConnector, context); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1DeleteRoomMembershipCommandError = async ( +const deserializeAws_restJson1GetGlobalSettingsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -8740,14 +15732,6 @@ const deserializeAws_restJson1DeleteRoomMembershipCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "NotFoundException": - case "com.amazonaws.chime#NotFoundException": - response = { - ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -8797,24 +15781,28 @@ const deserializeAws_restJson1DeleteRoomMembershipCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DeleteSipMediaApplicationCommand = async ( +export const deserializeAws_restJson1GetMeetingCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 204 && output.statusCode >= 300) { - return deserializeAws_restJson1DeleteSipMediaApplicationCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GetMeetingCommandError(output, context); } - const contents: DeleteSipMediaApplicationCommandOutput = { + const contents: GetMeetingCommandOutput = { $metadata: deserializeMetadata(output), + Meeting: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.Meeting !== undefined && data.Meeting !== null) { + contents.Meeting = deserializeAws_restJson1Meeting(data.Meeting, context); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1DeleteSipMediaApplicationCommandError = async ( +const deserializeAws_restJson1GetMeetingCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -8831,14 +15819,6 @@ const deserializeAws_restJson1DeleteSipMediaApplicationCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ConflictException": - case "com.amazonaws.chime#ConflictException": - response = { - ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ForbiddenException": case "com.amazonaws.chime#ForbiddenException": response = { @@ -8904,24 +15884,28 @@ const deserializeAws_restJson1DeleteSipMediaApplicationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DeleteSipRuleCommand = async ( +export const deserializeAws_restJson1GetMessagingSessionEndpointCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 204 && output.statusCode >= 300) { - return deserializeAws_restJson1DeleteSipRuleCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GetMessagingSessionEndpointCommandError(output, context); } - const contents: DeleteSipRuleCommandOutput = { + const contents: GetMessagingSessionEndpointCommandOutput = { $metadata: deserializeMetadata(output), + Endpoint: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.Endpoint !== undefined && data.Endpoint !== null) { + contents.Endpoint = deserializeAws_restJson1MessagingSessionEndpoint(data.Endpoint, context); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1DeleteSipRuleCommandError = async ( +const deserializeAws_restJson1GetMessagingSessionEndpointCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -8930,22 +15914,6 @@ const deserializeAws_restJson1DeleteSipRuleCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "BadRequestException": - case "com.amazonaws.chime#BadRequestException": - response = { - ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "ConflictException": - case "com.amazonaws.chime#ConflictException": - response = { - ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ForbiddenException": case "com.amazonaws.chime#ForbiddenException": response = { @@ -8954,14 +15922,6 @@ const deserializeAws_restJson1DeleteSipRuleCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "NotFoundException": - case "com.amazonaws.chime#NotFoundException": - response = { - ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -9011,24 +15971,28 @@ const deserializeAws_restJson1DeleteSipRuleCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DeleteVoiceConnectorCommand = async ( +export const deserializeAws_restJson1GetPhoneNumberCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 204 && output.statusCode >= 300) { - return deserializeAws_restJson1DeleteVoiceConnectorCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GetPhoneNumberCommandError(output, context); } - const contents: DeleteVoiceConnectorCommandOutput = { + const contents: GetPhoneNumberCommandOutput = { $metadata: deserializeMetadata(output), + PhoneNumber: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.PhoneNumber !== undefined && data.PhoneNumber !== null) { + contents.PhoneNumber = deserializeAws_restJson1PhoneNumber(data.PhoneNumber, context); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1DeleteVoiceConnectorCommandError = async ( +const deserializeAws_restJson1GetPhoneNumberCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -9045,14 +16009,6 @@ const deserializeAws_restJson1DeleteVoiceConnectorCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ConflictException": - case "com.amazonaws.chime#ConflictException": - response = { - ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ForbiddenException": case "com.amazonaws.chime#ForbiddenException": response = { @@ -9118,24 +16074,28 @@ const deserializeAws_restJson1DeleteVoiceConnectorCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DeleteVoiceConnectorEmergencyCallingConfigurationCommand = async ( +export const deserializeAws_restJson1GetPhoneNumberOrderCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 204 && output.statusCode >= 300) { - return deserializeAws_restJson1DeleteVoiceConnectorEmergencyCallingConfigurationCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GetPhoneNumberOrderCommandError(output, context); } - const contents: DeleteVoiceConnectorEmergencyCallingConfigurationCommandOutput = { + const contents: GetPhoneNumberOrderCommandOutput = { $metadata: deserializeMetadata(output), + PhoneNumberOrder: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.PhoneNumberOrder !== undefined && data.PhoneNumberOrder !== null) { + contents.PhoneNumberOrder = deserializeAws_restJson1PhoneNumberOrder(data.PhoneNumberOrder, context); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1DeleteVoiceConnectorEmergencyCallingConfigurationCommandError = async ( +const deserializeAws_restJson1GetPhoneNumberOrderCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -9217,44 +16177,44 @@ const deserializeAws_restJson1DeleteVoiceConnectorEmergencyCallingConfigurationC return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DeleteVoiceConnectorGroupCommand = async ( +export const deserializeAws_restJson1GetPhoneNumberSettingsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 204 && output.statusCode >= 300) { - return deserializeAws_restJson1DeleteVoiceConnectorGroupCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GetPhoneNumberSettingsCommandError(output, context); } - const contents: DeleteVoiceConnectorGroupCommandOutput = { + const contents: GetPhoneNumberSettingsCommandOutput = { $metadata: deserializeMetadata(output), + CallingName: undefined, + CallingNameUpdatedTimestamp: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.CallingName !== undefined && data.CallingName !== null) { + contents.CallingName = data.CallingName; + } + if (data.CallingNameUpdatedTimestamp !== undefined && data.CallingNameUpdatedTimestamp !== null) { + contents.CallingNameUpdatedTimestamp = new Date(data.CallingNameUpdatedTimestamp); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1DeleteVoiceConnectorGroupCommandError = async ( +const deserializeAws_restJson1GetPhoneNumberSettingsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), }; let response: __SmithyException & __MetadataBearer & { [key: string]: any }; - let errorCode: string = "UnknownError"; - errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "BadRequestException": - case "com.amazonaws.chime#BadRequestException": - response = { - ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "ConflictException": - case "com.amazonaws.chime#ConflictException": + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": response = { - ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -9267,14 +16227,6 @@ const deserializeAws_restJson1DeleteVoiceConnectorGroupCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "NotFoundException": - case "com.amazonaws.chime#NotFoundException": - response = { - ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -9324,24 +16276,28 @@ const deserializeAws_restJson1DeleteVoiceConnectorGroupCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DeleteVoiceConnectorOriginationCommand = async ( +export const deserializeAws_restJson1GetProxySessionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 204 && output.statusCode >= 300) { - return deserializeAws_restJson1DeleteVoiceConnectorOriginationCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GetProxySessionCommandError(output, context); } - const contents: DeleteVoiceConnectorOriginationCommandOutput = { + const contents: GetProxySessionCommandOutput = { $metadata: deserializeMetadata(output), + ProxySession: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.ProxySession !== undefined && data.ProxySession !== null) { + contents.ProxySession = deserializeAws_restJson1ProxySession(data.ProxySession, context); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1DeleteVoiceConnectorOriginationCommandError = async ( +const deserializeAws_restJson1GetProxySessionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -9423,24 +16379,32 @@ const deserializeAws_restJson1DeleteVoiceConnectorOriginationCommandError = asyn return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DeleteVoiceConnectorProxyCommand = async ( +export const deserializeAws_restJson1GetRetentionSettingsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 204 && output.statusCode >= 300) { - return deserializeAws_restJson1DeleteVoiceConnectorProxyCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GetRetentionSettingsCommandError(output, context); } - const contents: DeleteVoiceConnectorProxyCommandOutput = { + const contents: GetRetentionSettingsCommandOutput = { $metadata: deserializeMetadata(output), + InitiateDeletionTimestamp: undefined, + RetentionSettings: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.InitiateDeletionTimestamp !== undefined && data.InitiateDeletionTimestamp !== null) { + contents.InitiateDeletionTimestamp = new Date(data.InitiateDeletionTimestamp); + } + if (data.RetentionSettings !== undefined && data.RetentionSettings !== null) { + contents.RetentionSettings = deserializeAws_restJson1RetentionSettings(data.RetentionSettings, context); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1DeleteVoiceConnectorProxyCommandError = async ( +const deserializeAws_restJson1GetRetentionSettingsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -9522,24 +16486,28 @@ const deserializeAws_restJson1DeleteVoiceConnectorProxyCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DeleteVoiceConnectorStreamingConfigurationCommand = async ( +export const deserializeAws_restJson1GetRoomCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 204 && output.statusCode >= 300) { - return deserializeAws_restJson1DeleteVoiceConnectorStreamingConfigurationCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GetRoomCommandError(output, context); } - const contents: DeleteVoiceConnectorStreamingConfigurationCommandOutput = { + const contents: GetRoomCommandOutput = { $metadata: deserializeMetadata(output), + Room: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.Room !== undefined && data.Room !== null) { + contents.Room = deserializeAws_restJson1Room(data.Room, context); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1DeleteVoiceConnectorStreamingConfigurationCommandError = async ( +const deserializeAws_restJson1GetRoomCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -9621,24 +16589,28 @@ const deserializeAws_restJson1DeleteVoiceConnectorStreamingConfigurationCommandE return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DeleteVoiceConnectorTerminationCommand = async ( +export const deserializeAws_restJson1GetSipMediaApplicationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 204 && output.statusCode >= 300) { - return deserializeAws_restJson1DeleteVoiceConnectorTerminationCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GetSipMediaApplicationCommandError(output, context); } - const contents: DeleteVoiceConnectorTerminationCommandOutput = { + const contents: GetSipMediaApplicationCommandOutput = { $metadata: deserializeMetadata(output), + SipMediaApplication: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.SipMediaApplication !== undefined && data.SipMediaApplication !== null) { + contents.SipMediaApplication = deserializeAws_restJson1SipMediaApplication(data.SipMediaApplication, context); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1DeleteVoiceConnectorTerminationCommandError = async ( +const deserializeAws_restJson1GetSipMediaApplicationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -9720,24 +16692,34 @@ const deserializeAws_restJson1DeleteVoiceConnectorTerminationCommandError = asyn return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DeleteVoiceConnectorTerminationCredentialsCommand = async ( +export const deserializeAws_restJson1GetSipMediaApplicationLoggingConfigurationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 204 && output.statusCode >= 300) { - return deserializeAws_restJson1DeleteVoiceConnectorTerminationCredentialsCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GetSipMediaApplicationLoggingConfigurationCommandError(output, context); } - const contents: DeleteVoiceConnectorTerminationCredentialsCommandOutput = { + const contents: GetSipMediaApplicationLoggingConfigurationCommandOutput = { $metadata: deserializeMetadata(output), + SipMediaApplicationLoggingConfiguration: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if ( + data.SipMediaApplicationLoggingConfiguration !== undefined && + data.SipMediaApplicationLoggingConfiguration !== null + ) { + contents.SipMediaApplicationLoggingConfiguration = deserializeAws_restJson1SipMediaApplicationLoggingConfiguration( + data.SipMediaApplicationLoggingConfiguration, + context + ); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1DeleteVoiceConnectorTerminationCredentialsCommandError = async ( +const deserializeAws_restJson1GetSipMediaApplicationLoggingConfigurationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -9819,24 +16801,28 @@ const deserializeAws_restJson1DeleteVoiceConnectorTerminationCredentialsCommandE return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DisassociatePhoneNumberFromUserCommand = async ( +export const deserializeAws_restJson1GetSipRuleCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DisassociatePhoneNumberFromUserCommandError(output, context); + return deserializeAws_restJson1GetSipRuleCommandError(output, context); } - const contents: DisassociatePhoneNumberFromUserCommandOutput = { + const contents: GetSipRuleCommandOutput = { $metadata: deserializeMetadata(output), + SipRule: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.SipRule !== undefined && data.SipRule !== null) { + contents.SipRule = deserializeAws_restJson1SipRule(data.SipRule, context); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1DisassociatePhoneNumberFromUserCommandError = async ( +const deserializeAws_restJson1GetSipRuleCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -9918,28 +16904,28 @@ const deserializeAws_restJson1DisassociatePhoneNumberFromUserCommandError = asyn return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DisassociatePhoneNumbersFromVoiceConnectorCommand = async ( +export const deserializeAws_restJson1GetUserCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DisassociatePhoneNumbersFromVoiceConnectorCommandError(output, context); + return deserializeAws_restJson1GetUserCommandError(output, context); } - const contents: DisassociatePhoneNumbersFromVoiceConnectorCommandOutput = { + const contents: GetUserCommandOutput = { $metadata: deserializeMetadata(output), - PhoneNumberErrors: undefined, + User: undefined, }; const data: any = await parseBody(output.body, context); - if (data.PhoneNumberErrors !== undefined && data.PhoneNumberErrors !== null) { - contents.PhoneNumberErrors = deserializeAws_restJson1PhoneNumberErrorList(data.PhoneNumberErrors, context); + if (data.User !== undefined && data.User !== null) { + contents.User = deserializeAws_restJson1User(data.User, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1DisassociatePhoneNumbersFromVoiceConnectorCommandError = async ( +const deserializeAws_restJson1GetUserCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -10021,28 +17007,28 @@ const deserializeAws_restJson1DisassociatePhoneNumbersFromVoiceConnectorCommandE return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DisassociatePhoneNumbersFromVoiceConnectorGroupCommand = async ( +export const deserializeAws_restJson1GetUserSettingsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DisassociatePhoneNumbersFromVoiceConnectorGroupCommandError(output, context); + return deserializeAws_restJson1GetUserSettingsCommandError(output, context); } - const contents: DisassociatePhoneNumbersFromVoiceConnectorGroupCommandOutput = { + const contents: GetUserSettingsCommandOutput = { $metadata: deserializeMetadata(output), - PhoneNumberErrors: undefined, + UserSettings: undefined, }; const data: any = await parseBody(output.body, context); - if (data.PhoneNumberErrors !== undefined && data.PhoneNumberErrors !== null) { - contents.PhoneNumberErrors = deserializeAws_restJson1PhoneNumberErrorList(data.PhoneNumberErrors, context); + if (data.UserSettings !== undefined && data.UserSettings !== null) { + contents.UserSettings = deserializeAws_restJson1UserSettings(data.UserSettings, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1DisassociatePhoneNumbersFromVoiceConnectorGroupCommandError = async ( +const deserializeAws_restJson1GetUserSettingsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -10124,24 +17110,28 @@ const deserializeAws_restJson1DisassociatePhoneNumbersFromVoiceConnectorGroupCom return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DisassociateSigninDelegateGroupsFromAccountCommand = async ( +export const deserializeAws_restJson1GetVoiceConnectorCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DisassociateSigninDelegateGroupsFromAccountCommandError(output, context); + return deserializeAws_restJson1GetVoiceConnectorCommandError(output, context); } - const contents: DisassociateSigninDelegateGroupsFromAccountCommandOutput = { + const contents: GetVoiceConnectorCommandOutput = { $metadata: deserializeMetadata(output), + VoiceConnector: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.VoiceConnector !== undefined && data.VoiceConnector !== null) { + contents.VoiceConnector = deserializeAws_restJson1VoiceConnector(data.VoiceConnector, context); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1DisassociateSigninDelegateGroupsFromAccountCommandError = async ( +const deserializeAws_restJson1GetVoiceConnectorCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -10223,28 +17213,31 @@ const deserializeAws_restJson1DisassociateSigninDelegateGroupsFromAccountCommand return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetAccountCommand = async ( +export const deserializeAws_restJson1GetVoiceConnectorEmergencyCallingConfigurationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetAccountCommandError(output, context); + return deserializeAws_restJson1GetVoiceConnectorEmergencyCallingConfigurationCommandError(output, context); } - const contents: GetAccountCommandOutput = { + const contents: GetVoiceConnectorEmergencyCallingConfigurationCommandOutput = { $metadata: deserializeMetadata(output), - Account: undefined, + EmergencyCallingConfiguration: undefined, }; const data: any = await parseBody(output.body, context); - if (data.Account !== undefined && data.Account !== null) { - contents.Account = deserializeAws_restJson1Account(data.Account, context); + if (data.EmergencyCallingConfiguration !== undefined && data.EmergencyCallingConfiguration !== null) { + contents.EmergencyCallingConfiguration = deserializeAws_restJson1EmergencyCallingConfiguration( + data.EmergencyCallingConfiguration, + context + ); } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetAccountCommandError = async ( +const deserializeAws_restJson1GetVoiceConnectorEmergencyCallingConfigurationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -10326,28 +17319,28 @@ const deserializeAws_restJson1GetAccountCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetAccountSettingsCommand = async ( +export const deserializeAws_restJson1GetVoiceConnectorGroupCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetAccountSettingsCommandError(output, context); + return deserializeAws_restJson1GetVoiceConnectorGroupCommandError(output, context); } - const contents: GetAccountSettingsCommandOutput = { + const contents: GetVoiceConnectorGroupCommandOutput = { $metadata: deserializeMetadata(output), - AccountSettings: undefined, + VoiceConnectorGroup: undefined, }; const data: any = await parseBody(output.body, context); - if (data.AccountSettings !== undefined && data.AccountSettings !== null) { - contents.AccountSettings = deserializeAws_restJson1AccountSettings(data.AccountSettings, context); + if (data.VoiceConnectorGroup !== undefined && data.VoiceConnectorGroup !== null) { + contents.VoiceConnectorGroup = deserializeAws_restJson1VoiceConnectorGroup(data.VoiceConnectorGroup, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetAccountSettingsCommandError = async ( +const deserializeAws_restJson1GetVoiceConnectorGroupCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -10429,28 +17422,28 @@ const deserializeAws_restJson1GetAccountSettingsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetAttendeeCommand = async ( +export const deserializeAws_restJson1GetVoiceConnectorLoggingConfigurationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetAttendeeCommandError(output, context); + return deserializeAws_restJson1GetVoiceConnectorLoggingConfigurationCommandError(output, context); } - const contents: GetAttendeeCommandOutput = { + const contents: GetVoiceConnectorLoggingConfigurationCommandOutput = { $metadata: deserializeMetadata(output), - Attendee: undefined, + LoggingConfiguration: undefined, }; const data: any = await parseBody(output.body, context); - if (data.Attendee !== undefined && data.Attendee !== null) { - contents.Attendee = deserializeAws_restJson1Attendee(data.Attendee, context); + if (data.LoggingConfiguration !== undefined && data.LoggingConfiguration !== null) { + contents.LoggingConfiguration = deserializeAws_restJson1LoggingConfiguration(data.LoggingConfiguration, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetAttendeeCommandError = async ( +const deserializeAws_restJson1GetVoiceConnectorLoggingConfigurationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -10532,28 +17525,28 @@ const deserializeAws_restJson1GetAttendeeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetBotCommand = async ( +export const deserializeAws_restJson1GetVoiceConnectorOriginationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetBotCommandError(output, context); + return deserializeAws_restJson1GetVoiceConnectorOriginationCommandError(output, context); } - const contents: GetBotCommandOutput = { + const contents: GetVoiceConnectorOriginationCommandOutput = { $metadata: deserializeMetadata(output), - Bot: undefined, + Origination: undefined, }; const data: any = await parseBody(output.body, context); - if (data.Bot !== undefined && data.Bot !== null) { - contents.Bot = deserializeAws_restJson1Bot(data.Bot, context); + if (data.Origination !== undefined && data.Origination !== null) { + contents.Origination = deserializeAws_restJson1Origination(data.Origination, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetBotCommandError = async ( +const deserializeAws_restJson1GetVoiceConnectorOriginationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -10635,28 +17628,28 @@ const deserializeAws_restJson1GetBotCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetEventsConfigurationCommand = async ( +export const deserializeAws_restJson1GetVoiceConnectorProxyCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetEventsConfigurationCommandError(output, context); + return deserializeAws_restJson1GetVoiceConnectorProxyCommandError(output, context); } - const contents: GetEventsConfigurationCommandOutput = { + const contents: GetVoiceConnectorProxyCommandOutput = { $metadata: deserializeMetadata(output), - EventsConfiguration: undefined, + Proxy: undefined, }; const data: any = await parseBody(output.body, context); - if (data.EventsConfiguration !== undefined && data.EventsConfiguration !== null) { - contents.EventsConfiguration = deserializeAws_restJson1EventsConfiguration(data.EventsConfiguration, context); + if (data.Proxy !== undefined && data.Proxy !== null) { + contents.Proxy = deserializeAws_restJson1Proxy(data.Proxy, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetEventsConfigurationCommandError = async ( +const deserializeAws_restJson1GetVoiceConnectorProxyCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -10689,14 +17682,6 @@ const deserializeAws_restJson1GetEventsConfigurationCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceLimitExceededException": - case "com.amazonaws.chime#ResourceLimitExceededException": - response = { - ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -10713,6 +17698,14 @@ const deserializeAws_restJson1GetEventsConfigurationCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "UnauthorizedClientException": case "com.amazonaws.chime#UnauthorizedClientException": response = { @@ -10738,32 +17731,31 @@ const deserializeAws_restJson1GetEventsConfigurationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetGlobalSettingsCommand = async ( +export const deserializeAws_restJson1GetVoiceConnectorStreamingConfigurationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetGlobalSettingsCommandError(output, context); + return deserializeAws_restJson1GetVoiceConnectorStreamingConfigurationCommandError(output, context); } - const contents: GetGlobalSettingsCommandOutput = { + const contents: GetVoiceConnectorStreamingConfigurationCommandOutput = { $metadata: deserializeMetadata(output), - BusinessCalling: undefined, - VoiceConnector: undefined, + StreamingConfiguration: undefined, }; const data: any = await parseBody(output.body, context); - if (data.BusinessCalling !== undefined && data.BusinessCalling !== null) { - contents.BusinessCalling = deserializeAws_restJson1BusinessCallingSettings(data.BusinessCalling, context); - } - if (data.VoiceConnector !== undefined && data.VoiceConnector !== null) { - contents.VoiceConnector = deserializeAws_restJson1VoiceConnectorSettings(data.VoiceConnector, context); + if (data.StreamingConfiguration !== undefined && data.StreamingConfiguration !== null) { + contents.StreamingConfiguration = deserializeAws_restJson1StreamingConfiguration( + data.StreamingConfiguration, + context + ); } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetGlobalSettingsCommandError = async ( +const deserializeAws_restJson1GetVoiceConnectorStreamingConfigurationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -10788,6 +17780,14 @@ const deserializeAws_restJson1GetGlobalSettingsCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -10837,28 +17837,28 @@ const deserializeAws_restJson1GetGlobalSettingsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetMeetingCommand = async ( +export const deserializeAws_restJson1GetVoiceConnectorTerminationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetMeetingCommandError(output, context); + return deserializeAws_restJson1GetVoiceConnectorTerminationCommandError(output, context); } - const contents: GetMeetingCommandOutput = { + const contents: GetVoiceConnectorTerminationCommandOutput = { $metadata: deserializeMetadata(output), - Meeting: undefined, + Termination: undefined, }; const data: any = await parseBody(output.body, context); - if (data.Meeting !== undefined && data.Meeting !== null) { - contents.Meeting = deserializeAws_restJson1Meeting(data.Meeting, context); + if (data.Termination !== undefined && data.Termination !== null) { + contents.Termination = deserializeAws_restJson1Termination(data.Termination, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetMeetingCommandError = async ( +const deserializeAws_restJson1GetVoiceConnectorTerminationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -10940,28 +17940,28 @@ const deserializeAws_restJson1GetMeetingCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetPhoneNumberCommand = async ( +export const deserializeAws_restJson1GetVoiceConnectorTerminationHealthCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetPhoneNumberCommandError(output, context); + return deserializeAws_restJson1GetVoiceConnectorTerminationHealthCommandError(output, context); } - const contents: GetPhoneNumberCommandOutput = { + const contents: GetVoiceConnectorTerminationHealthCommandOutput = { $metadata: deserializeMetadata(output), - PhoneNumber: undefined, + TerminationHealth: undefined, }; const data: any = await parseBody(output.body, context); - if (data.PhoneNumber !== undefined && data.PhoneNumber !== null) { - contents.PhoneNumber = deserializeAws_restJson1PhoneNumber(data.PhoneNumber, context); + if (data.TerminationHealth !== undefined && data.TerminationHealth !== null) { + contents.TerminationHealth = deserializeAws_restJson1TerminationHealth(data.TerminationHealth, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetPhoneNumberCommandError = async ( +const deserializeAws_restJson1GetVoiceConnectorTerminationHealthCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11043,28 +18043,28 @@ const deserializeAws_restJson1GetPhoneNumberCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetPhoneNumberOrderCommand = async ( +export const deserializeAws_restJson1InviteUsersCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetPhoneNumberOrderCommandError(output, context); +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1InviteUsersCommandError(output, context); } - const contents: GetPhoneNumberOrderCommandOutput = { + const contents: InviteUsersCommandOutput = { $metadata: deserializeMetadata(output), - PhoneNumberOrder: undefined, + Invites: undefined, }; const data: any = await parseBody(output.body, context); - if (data.PhoneNumberOrder !== undefined && data.PhoneNumberOrder !== null) { - contents.PhoneNumberOrder = deserializeAws_restJson1PhoneNumberOrder(data.PhoneNumberOrder, context); + if (data.Invites !== undefined && data.Invites !== null) { + contents.Invites = deserializeAws_restJson1InviteList(data.Invites, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetPhoneNumberOrderCommandError = async ( +const deserializeAws_restJson1InviteUsersCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11146,32 +18146,32 @@ const deserializeAws_restJson1GetPhoneNumberOrderCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetPhoneNumberSettingsCommand = async ( +export const deserializeAws_restJson1ListAccountsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetPhoneNumberSettingsCommandError(output, context); + return deserializeAws_restJson1ListAccountsCommandError(output, context); } - const contents: GetPhoneNumberSettingsCommandOutput = { + const contents: ListAccountsCommandOutput = { $metadata: deserializeMetadata(output), - CallingName: undefined, - CallingNameUpdatedTimestamp: undefined, + Accounts: undefined, + NextToken: undefined, }; const data: any = await parseBody(output.body, context); - if (data.CallingName !== undefined && data.CallingName !== null) { - contents.CallingName = data.CallingName; + if (data.Accounts !== undefined && data.Accounts !== null) { + contents.Accounts = deserializeAws_restJson1AccountList(data.Accounts, context); } - if (data.CallingNameUpdatedTimestamp !== undefined && data.CallingNameUpdatedTimestamp !== null) { - contents.CallingNameUpdatedTimestamp = new Date(data.CallingNameUpdatedTimestamp); + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetPhoneNumberSettingsCommandError = async ( +const deserializeAws_restJson1ListAccountsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11196,6 +18196,14 @@ const deserializeAws_restJson1GetPhoneNumberSettingsCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -11245,28 +18253,36 @@ const deserializeAws_restJson1GetPhoneNumberSettingsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetProxySessionCommand = async ( +export const deserializeAws_restJson1ListAppInstanceAdminsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetProxySessionCommandError(output, context); + return deserializeAws_restJson1ListAppInstanceAdminsCommandError(output, context); } - const contents: GetProxySessionCommandOutput = { + const contents: ListAppInstanceAdminsCommandOutput = { $metadata: deserializeMetadata(output), - ProxySession: undefined, + AppInstanceAdmins: undefined, + AppInstanceArn: undefined, + NextToken: undefined, }; const data: any = await parseBody(output.body, context); - if (data.ProxySession !== undefined && data.ProxySession !== null) { - contents.ProxySession = deserializeAws_restJson1ProxySession(data.ProxySession, context); + if (data.AppInstanceAdmins !== undefined && data.AppInstanceAdmins !== null) { + contents.AppInstanceAdmins = deserializeAws_restJson1AppInstanceAdminList(data.AppInstanceAdmins, context); + } + if (data.AppInstanceArn !== undefined && data.AppInstanceArn !== null) { + contents.AppInstanceArn = data.AppInstanceArn; + } + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetProxySessionCommandError = async ( +const deserializeAws_restJson1ListAppInstanceAdminsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11291,10 +18307,10 @@ const deserializeAws_restJson1GetProxySessionCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "NotFoundException": - case "com.amazonaws.chime#NotFoundException": + case "ResourceLimitExceededException": + case "com.amazonaws.chime#ResourceLimitExceededException": response = { - ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -11348,32 +18364,32 @@ const deserializeAws_restJson1GetProxySessionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetRetentionSettingsCommand = async ( +export const deserializeAws_restJson1ListAppInstancesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetRetentionSettingsCommandError(output, context); + return deserializeAws_restJson1ListAppInstancesCommandError(output, context); } - const contents: GetRetentionSettingsCommandOutput = { + const contents: ListAppInstancesCommandOutput = { $metadata: deserializeMetadata(output), - InitiateDeletionTimestamp: undefined, - RetentionSettings: undefined, + AppInstances: undefined, + NextToken: undefined, }; const data: any = await parseBody(output.body, context); - if (data.InitiateDeletionTimestamp !== undefined && data.InitiateDeletionTimestamp !== null) { - contents.InitiateDeletionTimestamp = new Date(data.InitiateDeletionTimestamp); + if (data.AppInstances !== undefined && data.AppInstances !== null) { + contents.AppInstances = deserializeAws_restJson1AppInstanceList(data.AppInstances, context); } - if (data.RetentionSettings !== undefined && data.RetentionSettings !== null) { - contents.RetentionSettings = deserializeAws_restJson1RetentionSettings(data.RetentionSettings, context); + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetRetentionSettingsCommandError = async ( +const deserializeAws_restJson1ListAppInstancesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11398,14 +18414,6 @@ const deserializeAws_restJson1GetRetentionSettingsCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "NotFoundException": - case "com.amazonaws.chime#NotFoundException": - response = { - ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -11455,28 +18463,36 @@ const deserializeAws_restJson1GetRetentionSettingsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetRoomCommand = async ( +export const deserializeAws_restJson1ListAppInstanceUsersCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetRoomCommandError(output, context); + return deserializeAws_restJson1ListAppInstanceUsersCommandError(output, context); } - const contents: GetRoomCommandOutput = { + const contents: ListAppInstanceUsersCommandOutput = { $metadata: deserializeMetadata(output), - Room: undefined, + AppInstanceArn: undefined, + AppInstanceUsers: undefined, + NextToken: undefined, }; const data: any = await parseBody(output.body, context); - if (data.Room !== undefined && data.Room !== null) { - contents.Room = deserializeAws_restJson1Room(data.Room, context); + if (data.AppInstanceArn !== undefined && data.AppInstanceArn !== null) { + contents.AppInstanceArn = data.AppInstanceArn; + } + if (data.AppInstanceUsers !== undefined && data.AppInstanceUsers !== null) { + contents.AppInstanceUsers = deserializeAws_restJson1AppInstanceUserList(data.AppInstanceUsers, context); + } + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetRoomCommandError = async ( +const deserializeAws_restJson1ListAppInstanceUsersCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11501,14 +18517,6 @@ const deserializeAws_restJson1GetRoomCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "NotFoundException": - case "com.amazonaws.chime#NotFoundException": - response = { - ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -11558,28 +18566,32 @@ const deserializeAws_restJson1GetRoomCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetSipMediaApplicationCommand = async ( +export const deserializeAws_restJson1ListAttendeesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetSipMediaApplicationCommandError(output, context); + return deserializeAws_restJson1ListAttendeesCommandError(output, context); } - const contents: GetSipMediaApplicationCommandOutput = { + const contents: ListAttendeesCommandOutput = { $metadata: deserializeMetadata(output), - SipMediaApplication: undefined, + Attendees: undefined, + NextToken: undefined, }; const data: any = await parseBody(output.body, context); - if (data.SipMediaApplication !== undefined && data.SipMediaApplication !== null) { - contents.SipMediaApplication = deserializeAws_restJson1SipMediaApplication(data.SipMediaApplication, context); + if (data.Attendees !== undefined && data.Attendees !== null) { + contents.Attendees = deserializeAws_restJson1AttendeeList(data.Attendees, context); + } + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetSipMediaApplicationCommandError = async ( +const deserializeAws_restJson1ListAttendeesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11661,34 +18673,28 @@ const deserializeAws_restJson1GetSipMediaApplicationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetSipMediaApplicationLoggingConfigurationCommand = async ( +export const deserializeAws_restJson1ListAttendeeTagsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetSipMediaApplicationLoggingConfigurationCommandError(output, context); + return deserializeAws_restJson1ListAttendeeTagsCommandError(output, context); } - const contents: GetSipMediaApplicationLoggingConfigurationCommandOutput = { + const contents: ListAttendeeTagsCommandOutput = { $metadata: deserializeMetadata(output), - SipMediaApplicationLoggingConfiguration: undefined, + Tags: undefined, }; const data: any = await parseBody(output.body, context); - if ( - data.SipMediaApplicationLoggingConfiguration !== undefined && - data.SipMediaApplicationLoggingConfiguration !== null - ) { - contents.SipMediaApplicationLoggingConfiguration = deserializeAws_restJson1SipMediaApplicationLoggingConfiguration( - data.SipMediaApplicationLoggingConfiguration, - context - ); + if (data.Tags !== undefined && data.Tags !== null) { + contents.Tags = deserializeAws_restJson1TagList(data.Tags, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetSipMediaApplicationLoggingConfigurationCommandError = async ( +const deserializeAws_restJson1ListAttendeeTagsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11770,28 +18776,32 @@ const deserializeAws_restJson1GetSipMediaApplicationLoggingConfigurationCommandE return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetSipRuleCommand = async ( +export const deserializeAws_restJson1ListBotsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetSipRuleCommandError(output, context); + return deserializeAws_restJson1ListBotsCommandError(output, context); } - const contents: GetSipRuleCommandOutput = { + const contents: ListBotsCommandOutput = { $metadata: deserializeMetadata(output), - SipRule: undefined, + Bots: undefined, + NextToken: undefined, }; const data: any = await parseBody(output.body, context); - if (data.SipRule !== undefined && data.SipRule !== null) { - contents.SipRule = deserializeAws_restJson1SipRule(data.SipRule, context); + if (data.Bots !== undefined && data.Bots !== null) { + contents.Bots = deserializeAws_restJson1BotList(data.Bots, context); + } + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetSipRuleCommandError = async ( +const deserializeAws_restJson1ListBotsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11873,28 +18883,36 @@ const deserializeAws_restJson1GetSipRuleCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetUserCommand = async ( +export const deserializeAws_restJson1ListChannelBansCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetUserCommandError(output, context); + return deserializeAws_restJson1ListChannelBansCommandError(output, context); } - const contents: GetUserCommandOutput = { + const contents: ListChannelBansCommandOutput = { $metadata: deserializeMetadata(output), - User: undefined, + ChannelArn: undefined, + ChannelBans: undefined, + NextToken: undefined, }; const data: any = await parseBody(output.body, context); - if (data.User !== undefined && data.User !== null) { - contents.User = deserializeAws_restJson1User(data.User, context); + if (data.ChannelArn !== undefined && data.ChannelArn !== null) { + contents.ChannelArn = data.ChannelArn; + } + if (data.ChannelBans !== undefined && data.ChannelBans !== null) { + contents.ChannelBans = deserializeAws_restJson1ChannelBanSummaryList(data.ChannelBans, context); + } + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetUserCommandError = async ( +const deserializeAws_restJson1ListChannelBansCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11919,14 +18937,6 @@ const deserializeAws_restJson1GetUserCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "NotFoundException": - case "com.amazonaws.chime#NotFoundException": - response = { - ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -11976,28 +18986,39 @@ const deserializeAws_restJson1GetUserCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetUserSettingsCommand = async ( +export const deserializeAws_restJson1ListChannelMembershipsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetUserSettingsCommandError(output, context); + return deserializeAws_restJson1ListChannelMembershipsCommandError(output, context); } - const contents: GetUserSettingsCommandOutput = { + const contents: ListChannelMembershipsCommandOutput = { $metadata: deserializeMetadata(output), - UserSettings: undefined, + ChannelArn: undefined, + ChannelMemberships: undefined, + NextToken: undefined, }; const data: any = await parseBody(output.body, context); - if (data.UserSettings !== undefined && data.UserSettings !== null) { - contents.UserSettings = deserializeAws_restJson1UserSettings(data.UserSettings, context); + if (data.ChannelArn !== undefined && data.ChannelArn !== null) { + contents.ChannelArn = data.ChannelArn; + } + if (data.ChannelMemberships !== undefined && data.ChannelMemberships !== null) { + contents.ChannelMemberships = deserializeAws_restJson1ChannelMembershipSummaryList( + data.ChannelMemberships, + context + ); + } + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetUserSettingsCommandError = async ( +const deserializeAws_restJson1ListChannelMembershipsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12022,14 +19043,6 @@ const deserializeAws_restJson1GetUserSettingsCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "NotFoundException": - case "com.amazonaws.chime#NotFoundException": - response = { - ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -12079,28 +19092,35 @@ const deserializeAws_restJson1GetUserSettingsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetVoiceConnectorCommand = async ( +export const deserializeAws_restJson1ListChannelMembershipsForAppInstanceUserCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetVoiceConnectorCommandError(output, context); + return deserializeAws_restJson1ListChannelMembershipsForAppInstanceUserCommandError(output, context); } - const contents: GetVoiceConnectorCommandOutput = { + const contents: ListChannelMembershipsForAppInstanceUserCommandOutput = { $metadata: deserializeMetadata(output), - VoiceConnector: undefined, + ChannelMemberships: undefined, + NextToken: undefined, }; const data: any = await parseBody(output.body, context); - if (data.VoiceConnector !== undefined && data.VoiceConnector !== null) { - contents.VoiceConnector = deserializeAws_restJson1VoiceConnector(data.VoiceConnector, context); + if (data.ChannelMemberships !== undefined && data.ChannelMemberships !== null) { + contents.ChannelMemberships = deserializeAws_restJson1ChannelMembershipForAppInstanceUserSummaryList( + data.ChannelMemberships, + context + ); + } + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetVoiceConnectorCommandError = async ( +const deserializeAws_restJson1ListChannelMembershipsForAppInstanceUserCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12125,14 +19145,6 @@ const deserializeAws_restJson1GetVoiceConnectorCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "NotFoundException": - case "com.amazonaws.chime#NotFoundException": - response = { - ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -12182,31 +19194,36 @@ const deserializeAws_restJson1GetVoiceConnectorCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetVoiceConnectorEmergencyCallingConfigurationCommand = async ( +export const deserializeAws_restJson1ListChannelMessagesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetVoiceConnectorEmergencyCallingConfigurationCommandError(output, context); + return deserializeAws_restJson1ListChannelMessagesCommandError(output, context); } - const contents: GetVoiceConnectorEmergencyCallingConfigurationCommandOutput = { + const contents: ListChannelMessagesCommandOutput = { $metadata: deserializeMetadata(output), - EmergencyCallingConfiguration: undefined, + ChannelArn: undefined, + ChannelMessages: undefined, + NextToken: undefined, }; const data: any = await parseBody(output.body, context); - if (data.EmergencyCallingConfiguration !== undefined && data.EmergencyCallingConfiguration !== null) { - contents.EmergencyCallingConfiguration = deserializeAws_restJson1EmergencyCallingConfiguration( - data.EmergencyCallingConfiguration, - context - ); + if (data.ChannelArn !== undefined && data.ChannelArn !== null) { + contents.ChannelArn = data.ChannelArn; + } + if (data.ChannelMessages !== undefined && data.ChannelMessages !== null) { + contents.ChannelMessages = deserializeAws_restJson1ChannelMessageSummaryList(data.ChannelMessages, context); + } + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetVoiceConnectorEmergencyCallingConfigurationCommandError = async ( +const deserializeAws_restJson1ListChannelMessagesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12231,14 +19248,6 @@ const deserializeAws_restJson1GetVoiceConnectorEmergencyCallingConfigurationComm $metadata: deserializeMetadata(output), }; break; - case "NotFoundException": - case "com.amazonaws.chime#NotFoundException": - response = { - ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -12288,28 +19297,36 @@ const deserializeAws_restJson1GetVoiceConnectorEmergencyCallingConfigurationComm return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetVoiceConnectorGroupCommand = async ( +export const deserializeAws_restJson1ListChannelModeratorsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetVoiceConnectorGroupCommandError(output, context); + return deserializeAws_restJson1ListChannelModeratorsCommandError(output, context); } - const contents: GetVoiceConnectorGroupCommandOutput = { + const contents: ListChannelModeratorsCommandOutput = { $metadata: deserializeMetadata(output), - VoiceConnectorGroup: undefined, + ChannelArn: undefined, + ChannelModerators: undefined, + NextToken: undefined, }; const data: any = await parseBody(output.body, context); - if (data.VoiceConnectorGroup !== undefined && data.VoiceConnectorGroup !== null) { - contents.VoiceConnectorGroup = deserializeAws_restJson1VoiceConnectorGroup(data.VoiceConnectorGroup, context); + if (data.ChannelArn !== undefined && data.ChannelArn !== null) { + contents.ChannelArn = data.ChannelArn; + } + if (data.ChannelModerators !== undefined && data.ChannelModerators !== null) { + contents.ChannelModerators = deserializeAws_restJson1ChannelModeratorSummaryList(data.ChannelModerators, context); + } + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetVoiceConnectorGroupCommandError = async ( +const deserializeAws_restJson1ListChannelModeratorsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12334,14 +19351,6 @@ const deserializeAws_restJson1GetVoiceConnectorGroupCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "NotFoundException": - case "com.amazonaws.chime#NotFoundException": - response = { - ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -12391,28 +19400,32 @@ const deserializeAws_restJson1GetVoiceConnectorGroupCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetVoiceConnectorLoggingConfigurationCommand = async ( +export const deserializeAws_restJson1ListChannelsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetVoiceConnectorLoggingConfigurationCommandError(output, context); + return deserializeAws_restJson1ListChannelsCommandError(output, context); } - const contents: GetVoiceConnectorLoggingConfigurationCommandOutput = { + const contents: ListChannelsCommandOutput = { $metadata: deserializeMetadata(output), - LoggingConfiguration: undefined, + Channels: undefined, + NextToken: undefined, }; const data: any = await parseBody(output.body, context); - if (data.LoggingConfiguration !== undefined && data.LoggingConfiguration !== null) { - contents.LoggingConfiguration = deserializeAws_restJson1LoggingConfiguration(data.LoggingConfiguration, context); + if (data.Channels !== undefined && data.Channels !== null) { + contents.Channels = deserializeAws_restJson1ChannelSummaryList(data.Channels, context); + } + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetVoiceConnectorLoggingConfigurationCommandError = async ( +const deserializeAws_restJson1ListChannelsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12437,14 +19450,6 @@ const deserializeAws_restJson1GetVoiceConnectorLoggingConfigurationCommandError $metadata: deserializeMetadata(output), }; break; - case "NotFoundException": - case "com.amazonaws.chime#NotFoundException": - response = { - ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -12494,28 +19499,32 @@ const deserializeAws_restJson1GetVoiceConnectorLoggingConfigurationCommandError return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetVoiceConnectorOriginationCommand = async ( +export const deserializeAws_restJson1ListChannelsModeratedByAppInstanceUserCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetVoiceConnectorOriginationCommandError(output, context); + return deserializeAws_restJson1ListChannelsModeratedByAppInstanceUserCommandError(output, context); } - const contents: GetVoiceConnectorOriginationCommandOutput = { + const contents: ListChannelsModeratedByAppInstanceUserCommandOutput = { $metadata: deserializeMetadata(output), - Origination: undefined, + Channels: undefined, + NextToken: undefined, }; const data: any = await parseBody(output.body, context); - if (data.Origination !== undefined && data.Origination !== null) { - contents.Origination = deserializeAws_restJson1Origination(data.Origination, context); + if (data.Channels !== undefined && data.Channels !== null) { + contents.Channels = deserializeAws_restJson1ChannelModeratedByAppInstanceUserSummaryList(data.Channels, context); + } + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetVoiceConnectorOriginationCommandError = async ( +const deserializeAws_restJson1ListChannelsModeratedByAppInstanceUserCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12540,14 +19549,6 @@ const deserializeAws_restJson1GetVoiceConnectorOriginationCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "NotFoundException": - case "com.amazonaws.chime#NotFoundException": - response = { - ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -12597,28 +19598,32 @@ const deserializeAws_restJson1GetVoiceConnectorOriginationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetVoiceConnectorProxyCommand = async ( +export const deserializeAws_restJson1ListMeetingsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetVoiceConnectorProxyCommandError(output, context); + return deserializeAws_restJson1ListMeetingsCommandError(output, context); } - const contents: GetVoiceConnectorProxyCommandOutput = { + const contents: ListMeetingsCommandOutput = { $metadata: deserializeMetadata(output), - Proxy: undefined, + Meetings: undefined, + NextToken: undefined, }; const data: any = await parseBody(output.body, context); - if (data.Proxy !== undefined && data.Proxy !== null) { - contents.Proxy = deserializeAws_restJson1Proxy(data.Proxy, context); + if (data.Meetings !== undefined && data.Meetings !== null) { + contents.Meetings = deserializeAws_restJson1MeetingList(data.Meetings, context); + } + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetVoiceConnectorProxyCommandError = async ( +const deserializeAws_restJson1ListMeetingsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12643,14 +19648,6 @@ const deserializeAws_restJson1GetVoiceConnectorProxyCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "NotFoundException": - case "com.amazonaws.chime#NotFoundException": - response = { - ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -12700,31 +19697,28 @@ const deserializeAws_restJson1GetVoiceConnectorProxyCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetVoiceConnectorStreamingConfigurationCommand = async ( +export const deserializeAws_restJson1ListMeetingTagsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetVoiceConnectorStreamingConfigurationCommandError(output, context); + return deserializeAws_restJson1ListMeetingTagsCommandError(output, context); } - const contents: GetVoiceConnectorStreamingConfigurationCommandOutput = { + const contents: ListMeetingTagsCommandOutput = { $metadata: deserializeMetadata(output), - StreamingConfiguration: undefined, + Tags: undefined, }; const data: any = await parseBody(output.body, context); - if (data.StreamingConfiguration !== undefined && data.StreamingConfiguration !== null) { - contents.StreamingConfiguration = deserializeAws_restJson1StreamingConfiguration( - data.StreamingConfiguration, - context - ); + if (data.Tags !== undefined && data.Tags !== null) { + contents.Tags = deserializeAws_restJson1TagList(data.Tags, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetVoiceConnectorStreamingConfigurationCommandError = async ( +const deserializeAws_restJson1ListMeetingTagsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12806,28 +19800,32 @@ const deserializeAws_restJson1GetVoiceConnectorStreamingConfigurationCommandErro return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetVoiceConnectorTerminationCommand = async ( +export const deserializeAws_restJson1ListPhoneNumberOrdersCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetVoiceConnectorTerminationCommandError(output, context); + return deserializeAws_restJson1ListPhoneNumberOrdersCommandError(output, context); } - const contents: GetVoiceConnectorTerminationCommandOutput = { + const contents: ListPhoneNumberOrdersCommandOutput = { $metadata: deserializeMetadata(output), - Termination: undefined, + NextToken: undefined, + PhoneNumberOrders: undefined, }; const data: any = await parseBody(output.body, context); - if (data.Termination !== undefined && data.Termination !== null) { - contents.Termination = deserializeAws_restJson1Termination(data.Termination, context); + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; + } + if (data.PhoneNumberOrders !== undefined && data.PhoneNumberOrders !== null) { + contents.PhoneNumberOrders = deserializeAws_restJson1PhoneNumberOrderList(data.PhoneNumberOrders, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetVoiceConnectorTerminationCommandError = async ( +const deserializeAws_restJson1ListPhoneNumberOrdersCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12852,14 +19850,6 @@ const deserializeAws_restJson1GetVoiceConnectorTerminationCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "NotFoundException": - case "com.amazonaws.chime#NotFoundException": - response = { - ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -12909,28 +19899,32 @@ const deserializeAws_restJson1GetVoiceConnectorTerminationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetVoiceConnectorTerminationHealthCommand = async ( +export const deserializeAws_restJson1ListPhoneNumbersCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetVoiceConnectorTerminationHealthCommandError(output, context); + return deserializeAws_restJson1ListPhoneNumbersCommandError(output, context); } - const contents: GetVoiceConnectorTerminationHealthCommandOutput = { + const contents: ListPhoneNumbersCommandOutput = { $metadata: deserializeMetadata(output), - TerminationHealth: undefined, + NextToken: undefined, + PhoneNumbers: undefined, }; const data: any = await parseBody(output.body, context); - if (data.TerminationHealth !== undefined && data.TerminationHealth !== null) { - contents.TerminationHealth = deserializeAws_restJson1TerminationHealth(data.TerminationHealth, context); + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; + } + if (data.PhoneNumbers !== undefined && data.PhoneNumbers !== null) { + contents.PhoneNumbers = deserializeAws_restJson1PhoneNumberList(data.PhoneNumbers, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetVoiceConnectorTerminationHealthCommandError = async ( +const deserializeAws_restJson1ListPhoneNumbersCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12955,14 +19949,6 @@ const deserializeAws_restJson1GetVoiceConnectorTerminationHealthCommandError = a $metadata: deserializeMetadata(output), }; break; - case "NotFoundException": - case "com.amazonaws.chime#NotFoundException": - response = { - ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -13012,28 +19998,32 @@ const deserializeAws_restJson1GetVoiceConnectorTerminationHealthCommandError = a return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1InviteUsersCommand = async ( +export const deserializeAws_restJson1ListProxySessionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 201 && output.statusCode >= 300) { - return deserializeAws_restJson1InviteUsersCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListProxySessionsCommandError(output, context); } - const contents: InviteUsersCommandOutput = { + const contents: ListProxySessionsCommandOutput = { $metadata: deserializeMetadata(output), - Invites: undefined, + NextToken: undefined, + ProxySessions: undefined, }; const data: any = await parseBody(output.body, context); - if (data.Invites !== undefined && data.Invites !== null) { - contents.Invites = deserializeAws_restJson1InviteList(data.Invites, context); + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; + } + if (data.ProxySessions !== undefined && data.ProxySessions !== null) { + contents.ProxySessions = deserializeAws_restJson1ProxySessions(data.ProxySessions, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1InviteUsersCommandError = async ( +const deserializeAws_restJson1ListProxySessionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13115,32 +20105,32 @@ const deserializeAws_restJson1InviteUsersCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListAccountsCommand = async ( +export const deserializeAws_restJson1ListRoomMembershipsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListAccountsCommandError(output, context); + return deserializeAws_restJson1ListRoomMembershipsCommandError(output, context); } - const contents: ListAccountsCommandOutput = { + const contents: ListRoomMembershipsCommandOutput = { $metadata: deserializeMetadata(output), - Accounts: undefined, NextToken: undefined, + RoomMemberships: undefined, }; const data: any = await parseBody(output.body, context); - if (data.Accounts !== undefined && data.Accounts !== null) { - contents.Accounts = deserializeAws_restJson1AccountList(data.Accounts, context); - } if (data.NextToken !== undefined && data.NextToken !== null) { contents.NextToken = data.NextToken; } + if (data.RoomMemberships !== undefined && data.RoomMemberships !== null) { + contents.RoomMemberships = deserializeAws_restJson1RoomMembershipList(data.RoomMemberships, context); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListAccountsCommandError = async ( +const deserializeAws_restJson1ListRoomMembershipsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13222,32 +20212,32 @@ const deserializeAws_restJson1ListAccountsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListAttendeesCommand = async ( +export const deserializeAws_restJson1ListRoomsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListAttendeesCommandError(output, context); + return deserializeAws_restJson1ListRoomsCommandError(output, context); } - const contents: ListAttendeesCommandOutput = { + const contents: ListRoomsCommandOutput = { $metadata: deserializeMetadata(output), - Attendees: undefined, NextToken: undefined, + Rooms: undefined, }; const data: any = await parseBody(output.body, context); - if (data.Attendees !== undefined && data.Attendees !== null) { - contents.Attendees = deserializeAws_restJson1AttendeeList(data.Attendees, context); - } if (data.NextToken !== undefined && data.NextToken !== null) { contents.NextToken = data.NextToken; } + if (data.Rooms !== undefined && data.Rooms !== null) { + contents.Rooms = deserializeAws_restJson1RoomList(data.Rooms, context); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListAttendeesCommandError = async ( +const deserializeAws_restJson1ListRoomsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13329,28 +20319,32 @@ const deserializeAws_restJson1ListAttendeesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListAttendeeTagsCommand = async ( +export const deserializeAws_restJson1ListSipMediaApplicationsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListAttendeeTagsCommandError(output, context); + return deserializeAws_restJson1ListSipMediaApplicationsCommandError(output, context); } - const contents: ListAttendeeTagsCommandOutput = { + const contents: ListSipMediaApplicationsCommandOutput = { $metadata: deserializeMetadata(output), - Tags: undefined, + NextToken: undefined, + SipMediaApplications: undefined, }; const data: any = await parseBody(output.body, context); - if (data.Tags !== undefined && data.Tags !== null) { - contents.Tags = deserializeAws_restJson1TagList(data.Tags, context); + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; + } + if (data.SipMediaApplications !== undefined && data.SipMediaApplications !== null) { + contents.SipMediaApplications = deserializeAws_restJson1SipMediaApplicationList(data.SipMediaApplications, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListAttendeeTagsCommandError = async ( +const deserializeAws_restJson1ListSipMediaApplicationsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13375,14 +20369,6 @@ const deserializeAws_restJson1ListAttendeeTagsCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "NotFoundException": - case "com.amazonaws.chime#NotFoundException": - response = { - ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -13432,32 +20418,32 @@ const deserializeAws_restJson1ListAttendeeTagsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListBotsCommand = async ( +export const deserializeAws_restJson1ListSipRulesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListBotsCommandError(output, context); + return deserializeAws_restJson1ListSipRulesCommandError(output, context); } - const contents: ListBotsCommandOutput = { + const contents: ListSipRulesCommandOutput = { $metadata: deserializeMetadata(output), - Bots: undefined, NextToken: undefined, + SipRules: undefined, }; const data: any = await parseBody(output.body, context); - if (data.Bots !== undefined && data.Bots !== null) { - contents.Bots = deserializeAws_restJson1BotList(data.Bots, context); - } if (data.NextToken !== undefined && data.NextToken !== null) { contents.NextToken = data.NextToken; } + if (data.SipRules !== undefined && data.SipRules !== null) { + contents.SipRules = deserializeAws_restJson1SipRuleList(data.SipRules, context); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListBotsCommandError = async ( +const deserializeAws_restJson1ListSipRulesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13482,14 +20468,6 @@ const deserializeAws_restJson1ListBotsCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "NotFoundException": - case "com.amazonaws.chime#NotFoundException": - response = { - ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -13539,32 +20517,28 @@ const deserializeAws_restJson1ListBotsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListMeetingsCommand = async ( +export const deserializeAws_restJson1ListTagsForResourceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListMeetingsCommandError(output, context); + return deserializeAws_restJson1ListTagsForResourceCommandError(output, context); } - const contents: ListMeetingsCommandOutput = { + const contents: ListTagsForResourceCommandOutput = { $metadata: deserializeMetadata(output), - Meetings: undefined, - NextToken: undefined, + Tags: undefined, }; const data: any = await parseBody(output.body, context); - if (data.Meetings !== undefined && data.Meetings !== null) { - contents.Meetings = deserializeAws_restJson1MeetingList(data.Meetings, context); - } - if (data.NextToken !== undefined && data.NextToken !== null) { - contents.NextToken = data.NextToken; + if (data.Tags !== undefined && data.Tags !== null) { + contents.Tags = deserializeAws_restJson1TagList(data.Tags, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListMeetingsCommandError = async ( +const deserializeAws_restJson1ListTagsForResourceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13589,6 +20563,14 @@ const deserializeAws_restJson1ListMeetingsCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -13605,14 +20587,6 @@ const deserializeAws_restJson1ListMeetingsCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ThrottledClientException": - case "com.amazonaws.chime#ThrottledClientException": - response = { - ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "UnauthorizedClientException": case "com.amazonaws.chime#UnauthorizedClientException": response = { @@ -13638,28 +20612,32 @@ const deserializeAws_restJson1ListMeetingsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListMeetingTagsCommand = async ( +export const deserializeAws_restJson1ListUsersCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListMeetingTagsCommandError(output, context); + return deserializeAws_restJson1ListUsersCommandError(output, context); } - const contents: ListMeetingTagsCommandOutput = { + const contents: ListUsersCommandOutput = { $metadata: deserializeMetadata(output), - Tags: undefined, + NextToken: undefined, + Users: undefined, }; const data: any = await parseBody(output.body, context); - if (data.Tags !== undefined && data.Tags !== null) { - contents.Tags = deserializeAws_restJson1TagList(data.Tags, context); + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; + } + if (data.Users !== undefined && data.Users !== null) { + contents.Users = deserializeAws_restJson1UserList(data.Users, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListMeetingTagsCommandError = async ( +const deserializeAws_restJson1ListUsersCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13741,32 +20719,32 @@ const deserializeAws_restJson1ListMeetingTagsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListPhoneNumberOrdersCommand = async ( +export const deserializeAws_restJson1ListVoiceConnectorGroupsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListPhoneNumberOrdersCommandError(output, context); + return deserializeAws_restJson1ListVoiceConnectorGroupsCommandError(output, context); } - const contents: ListPhoneNumberOrdersCommandOutput = { + const contents: ListVoiceConnectorGroupsCommandOutput = { $metadata: deserializeMetadata(output), NextToken: undefined, - PhoneNumberOrders: undefined, + VoiceConnectorGroups: undefined, }; const data: any = await parseBody(output.body, context); if (data.NextToken !== undefined && data.NextToken !== null) { contents.NextToken = data.NextToken; } - if (data.PhoneNumberOrders !== undefined && data.PhoneNumberOrders !== null) { - contents.PhoneNumberOrders = deserializeAws_restJson1PhoneNumberOrderList(data.PhoneNumberOrders, context); + if (data.VoiceConnectorGroups !== undefined && data.VoiceConnectorGroups !== null) { + contents.VoiceConnectorGroups = deserializeAws_restJson1VoiceConnectorGroupList(data.VoiceConnectorGroups, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListPhoneNumberOrdersCommandError = async ( +const deserializeAws_restJson1ListVoiceConnectorGroupsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13840,32 +20818,32 @@ const deserializeAws_restJson1ListPhoneNumberOrdersCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListPhoneNumbersCommand = async ( +export const deserializeAws_restJson1ListVoiceConnectorsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListPhoneNumbersCommandError(output, context); + return deserializeAws_restJson1ListVoiceConnectorsCommandError(output, context); } - const contents: ListPhoneNumbersCommandOutput = { + const contents: ListVoiceConnectorsCommandOutput = { $metadata: deserializeMetadata(output), NextToken: undefined, - PhoneNumbers: undefined, + VoiceConnectors: undefined, }; const data: any = await parseBody(output.body, context); if (data.NextToken !== undefined && data.NextToken !== null) { contents.NextToken = data.NextToken; } - if (data.PhoneNumbers !== undefined && data.PhoneNumbers !== null) { - contents.PhoneNumbers = deserializeAws_restJson1PhoneNumberList(data.PhoneNumbers, context); + if (data.VoiceConnectors !== undefined && data.VoiceConnectors !== null) { + contents.VoiceConnectors = deserializeAws_restJson1VoiceConnectorList(data.VoiceConnectors, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListPhoneNumbersCommandError = async ( +const deserializeAws_restJson1ListVoiceConnectorsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13939,32 +20917,28 @@ const deserializeAws_restJson1ListPhoneNumbersCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListProxySessionsCommand = async ( +export const deserializeAws_restJson1ListVoiceConnectorTerminationCredentialsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListProxySessionsCommandError(output, context); + return deserializeAws_restJson1ListVoiceConnectorTerminationCredentialsCommandError(output, context); } - const contents: ListProxySessionsCommandOutput = { + const contents: ListVoiceConnectorTerminationCredentialsCommandOutput = { $metadata: deserializeMetadata(output), - NextToken: undefined, - ProxySessions: undefined, + Usernames: undefined, }; const data: any = await parseBody(output.body, context); - if (data.NextToken !== undefined && data.NextToken !== null) { - contents.NextToken = data.NextToken; - } - if (data.ProxySessions !== undefined && data.ProxySessions !== null) { - contents.ProxySessions = deserializeAws_restJson1ProxySessions(data.ProxySessions, context); + if (data.Usernames !== undefined && data.Usernames !== null) { + contents.Usernames = deserializeAws_restJson1SensitiveStringList(data.Usernames, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListProxySessionsCommandError = async ( +const deserializeAws_restJson1ListVoiceConnectorTerminationCredentialsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -14046,32 +21020,24 @@ const deserializeAws_restJson1ListProxySessionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListRoomMembershipsCommand = async ( +export const deserializeAws_restJson1LogoutUserCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListRoomMembershipsCommandError(output, context); +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1LogoutUserCommandError(output, context); } - const contents: ListRoomMembershipsCommandOutput = { + const contents: LogoutUserCommandOutput = { $metadata: deserializeMetadata(output), - NextToken: undefined, - RoomMemberships: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.NextToken !== undefined && data.NextToken !== null) { - contents.NextToken = data.NextToken; - } - if (data.RoomMemberships !== undefined && data.RoomMemberships !== null) { - contents.RoomMemberships = deserializeAws_restJson1RoomMembershipList(data.RoomMemberships, context); - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1ListRoomMembershipsCommandError = async ( +const deserializeAws_restJson1LogoutUserCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -14153,32 +21119,35 @@ const deserializeAws_restJson1ListRoomMembershipsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListRoomsCommand = async ( +export const deserializeAws_restJson1PutAppInstanceRetentionSettingsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListRoomsCommandError(output, context); + return deserializeAws_restJson1PutAppInstanceRetentionSettingsCommandError(output, context); } - const contents: ListRoomsCommandOutput = { + const contents: PutAppInstanceRetentionSettingsCommandOutput = { $metadata: deserializeMetadata(output), - NextToken: undefined, - Rooms: undefined, + AppInstanceRetentionSettings: undefined, + InitiateDeletionTimestamp: undefined, }; const data: any = await parseBody(output.body, context); - if (data.NextToken !== undefined && data.NextToken !== null) { - contents.NextToken = data.NextToken; + if (data.AppInstanceRetentionSettings !== undefined && data.AppInstanceRetentionSettings !== null) { + contents.AppInstanceRetentionSettings = deserializeAws_restJson1AppInstanceRetentionSettings( + data.AppInstanceRetentionSettings, + context + ); } - if (data.Rooms !== undefined && data.Rooms !== null) { - contents.Rooms = deserializeAws_restJson1RoomList(data.Rooms, context); + if (data.InitiateDeletionTimestamp !== undefined && data.InitiateDeletionTimestamp !== null) { + contents.InitiateDeletionTimestamp = new Date(Math.round(data.InitiateDeletionTimestamp * 1000)); } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListRoomsCommandError = async ( +const deserializeAws_restJson1PutAppInstanceRetentionSettingsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -14195,6 +21164,14 @@ const deserializeAws_restJson1ListRoomsCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ConflictException": + case "com.amazonaws.chime#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ForbiddenException": case "com.amazonaws.chime#ForbiddenException": response = { @@ -14260,32 +21237,31 @@ const deserializeAws_restJson1ListRoomsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListSipMediaApplicationsCommand = async ( +export const deserializeAws_restJson1PutAppInstanceStreamingConfigurationsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListSipMediaApplicationsCommandError(output, context); + return deserializeAws_restJson1PutAppInstanceStreamingConfigurationsCommandError(output, context); } - const contents: ListSipMediaApplicationsCommandOutput = { + const contents: PutAppInstanceStreamingConfigurationsCommandOutput = { $metadata: deserializeMetadata(output), - NextToken: undefined, - SipMediaApplications: undefined, + AppInstanceStreamingConfigurations: undefined, }; const data: any = await parseBody(output.body, context); - if (data.NextToken !== undefined && data.NextToken !== null) { - contents.NextToken = data.NextToken; - } - if (data.SipMediaApplications !== undefined && data.SipMediaApplications !== null) { - contents.SipMediaApplications = deserializeAws_restJson1SipMediaApplicationList(data.SipMediaApplications, context); + if (data.AppInstanceStreamingConfigurations !== undefined && data.AppInstanceStreamingConfigurations !== null) { + contents.AppInstanceStreamingConfigurations = deserializeAws_restJson1AppInstanceStreamingConfigurationList( + data.AppInstanceStreamingConfigurations, + context + ); } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListSipMediaApplicationsCommandError = async ( +const deserializeAws_restJson1PutAppInstanceStreamingConfigurationsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -14310,6 +21286,14 @@ const deserializeAws_restJson1ListSipMediaApplicationsCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -14359,32 +21343,28 @@ const deserializeAws_restJson1ListSipMediaApplicationsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListSipRulesCommand = async ( +export const deserializeAws_restJson1PutEventsConfigurationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListSipRulesCommandError(output, context); +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1PutEventsConfigurationCommandError(output, context); } - const contents: ListSipRulesCommandOutput = { + const contents: PutEventsConfigurationCommandOutput = { $metadata: deserializeMetadata(output), - NextToken: undefined, - SipRules: undefined, + EventsConfiguration: undefined, }; const data: any = await parseBody(output.body, context); - if (data.NextToken !== undefined && data.NextToken !== null) { - contents.NextToken = data.NextToken; - } - if (data.SipRules !== undefined && data.SipRules !== null) { - contents.SipRules = deserializeAws_restJson1SipRuleList(data.SipRules, context); + if (data.EventsConfiguration !== undefined && data.EventsConfiguration !== null) { + contents.EventsConfiguration = deserializeAws_restJson1EventsConfiguration(data.EventsConfiguration, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListSipRulesCommandError = async ( +const deserializeAws_restJson1PutEventsConfigurationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -14409,6 +21389,22 @@ const deserializeAws_restJson1ListSipRulesCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceLimitExceededException": + case "com.amazonaws.chime#ResourceLimitExceededException": + response = { + ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -14425,14 +21421,6 @@ const deserializeAws_restJson1ListSipRulesCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ThrottledClientException": - case "com.amazonaws.chime#ThrottledClientException": - response = { - ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "UnauthorizedClientException": case "com.amazonaws.chime#UnauthorizedClientException": response = { @@ -14458,28 +21446,32 @@ const deserializeAws_restJson1ListSipRulesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListTagsForResourceCommand = async ( +export const deserializeAws_restJson1PutRetentionSettingsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListTagsForResourceCommandError(output, context); +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1PutRetentionSettingsCommandError(output, context); } - const contents: ListTagsForResourceCommandOutput = { + const contents: PutRetentionSettingsCommandOutput = { $metadata: deserializeMetadata(output), - Tags: undefined, + InitiateDeletionTimestamp: undefined, + RetentionSettings: undefined, }; const data: any = await parseBody(output.body, context); - if (data.Tags !== undefined && data.Tags !== null) { - contents.Tags = deserializeAws_restJson1TagList(data.Tags, context); + if (data.InitiateDeletionTimestamp !== undefined && data.InitiateDeletionTimestamp !== null) { + contents.InitiateDeletionTimestamp = new Date(data.InitiateDeletionTimestamp); + } + if (data.RetentionSettings !== undefined && data.RetentionSettings !== null) { + contents.RetentionSettings = deserializeAws_restJson1RetentionSettings(data.RetentionSettings, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListTagsForResourceCommandError = async ( +const deserializeAws_restJson1PutRetentionSettingsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -14496,6 +21488,14 @@ const deserializeAws_restJson1ListTagsForResourceCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ConflictException": + case "com.amazonaws.chime#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ForbiddenException": case "com.amazonaws.chime#ForbiddenException": response = { @@ -14528,6 +21528,14 @@ const deserializeAws_restJson1ListTagsForResourceCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "UnauthorizedClientException": case "com.amazonaws.chime#UnauthorizedClientException": response = { @@ -14553,32 +21561,34 @@ const deserializeAws_restJson1ListTagsForResourceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListUsersCommand = async ( +export const deserializeAws_restJson1PutSipMediaApplicationLoggingConfigurationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListUsersCommandError(output, context); + return deserializeAws_restJson1PutSipMediaApplicationLoggingConfigurationCommandError(output, context); } - const contents: ListUsersCommandOutput = { + const contents: PutSipMediaApplicationLoggingConfigurationCommandOutput = { $metadata: deserializeMetadata(output), - NextToken: undefined, - Users: undefined, + SipMediaApplicationLoggingConfiguration: undefined, }; const data: any = await parseBody(output.body, context); - if (data.NextToken !== undefined && data.NextToken !== null) { - contents.NextToken = data.NextToken; - } - if (data.Users !== undefined && data.Users !== null) { - contents.Users = deserializeAws_restJson1UserList(data.Users, context); + if ( + data.SipMediaApplicationLoggingConfiguration !== undefined && + data.SipMediaApplicationLoggingConfiguration !== null + ) { + contents.SipMediaApplicationLoggingConfiguration = deserializeAws_restJson1SipMediaApplicationLoggingConfiguration( + data.SipMediaApplicationLoggingConfiguration, + context + ); } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListUsersCommandError = async ( +const deserializeAws_restJson1PutSipMediaApplicationLoggingConfigurationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -14660,32 +21670,31 @@ const deserializeAws_restJson1ListUsersCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListVoiceConnectorGroupsCommand = async ( +export const deserializeAws_restJson1PutVoiceConnectorEmergencyCallingConfigurationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListVoiceConnectorGroupsCommandError(output, context); + return deserializeAws_restJson1PutVoiceConnectorEmergencyCallingConfigurationCommandError(output, context); } - const contents: ListVoiceConnectorGroupsCommandOutput = { + const contents: PutVoiceConnectorEmergencyCallingConfigurationCommandOutput = { $metadata: deserializeMetadata(output), - NextToken: undefined, - VoiceConnectorGroups: undefined, + EmergencyCallingConfiguration: undefined, }; const data: any = await parseBody(output.body, context); - if (data.NextToken !== undefined && data.NextToken !== null) { - contents.NextToken = data.NextToken; - } - if (data.VoiceConnectorGroups !== undefined && data.VoiceConnectorGroups !== null) { - contents.VoiceConnectorGroups = deserializeAws_restJson1VoiceConnectorGroupList(data.VoiceConnectorGroups, context); + if (data.EmergencyCallingConfiguration !== undefined && data.EmergencyCallingConfiguration !== null) { + contents.EmergencyCallingConfiguration = deserializeAws_restJson1EmergencyCallingConfiguration( + data.EmergencyCallingConfiguration, + context + ); } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListVoiceConnectorGroupsCommandError = async ( +const deserializeAws_restJson1PutVoiceConnectorEmergencyCallingConfigurationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -14710,6 +21719,14 @@ const deserializeAws_restJson1ListVoiceConnectorGroupsCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -14759,32 +21776,28 @@ const deserializeAws_restJson1ListVoiceConnectorGroupsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListVoiceConnectorsCommand = async ( +export const deserializeAws_restJson1PutVoiceConnectorLoggingConfigurationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListVoiceConnectorsCommandError(output, context); + return deserializeAws_restJson1PutVoiceConnectorLoggingConfigurationCommandError(output, context); } - const contents: ListVoiceConnectorsCommandOutput = { + const contents: PutVoiceConnectorLoggingConfigurationCommandOutput = { $metadata: deserializeMetadata(output), - NextToken: undefined, - VoiceConnectors: undefined, + LoggingConfiguration: undefined, }; const data: any = await parseBody(output.body, context); - if (data.NextToken !== undefined && data.NextToken !== null) { - contents.NextToken = data.NextToken; - } - if (data.VoiceConnectors !== undefined && data.VoiceConnectors !== null) { - contents.VoiceConnectors = deserializeAws_restJson1VoiceConnectorList(data.VoiceConnectors, context); + if (data.LoggingConfiguration !== undefined && data.LoggingConfiguration !== null) { + contents.LoggingConfiguration = deserializeAws_restJson1LoggingConfiguration(data.LoggingConfiguration, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListVoiceConnectorsCommandError = async ( +const deserializeAws_restJson1PutVoiceConnectorLoggingConfigurationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -14809,6 +21822,14 @@ const deserializeAws_restJson1ListVoiceConnectorsCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -14858,28 +21879,28 @@ const deserializeAws_restJson1ListVoiceConnectorsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListVoiceConnectorTerminationCredentialsCommand = async ( +export const deserializeAws_restJson1PutVoiceConnectorOriginationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListVoiceConnectorTerminationCredentialsCommandError(output, context); + return deserializeAws_restJson1PutVoiceConnectorOriginationCommandError(output, context); } - const contents: ListVoiceConnectorTerminationCredentialsCommandOutput = { + const contents: PutVoiceConnectorOriginationCommandOutput = { $metadata: deserializeMetadata(output), - Usernames: undefined, + Origination: undefined, }; const data: any = await parseBody(output.body, context); - if (data.Usernames !== undefined && data.Usernames !== null) { - contents.Usernames = deserializeAws_restJson1SensitiveStringList(data.Usernames, context); + if (data.Origination !== undefined && data.Origination !== null) { + contents.Origination = deserializeAws_restJson1Origination(data.Origination, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListVoiceConnectorTerminationCredentialsCommandError = async ( +const deserializeAws_restJson1PutVoiceConnectorOriginationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -14961,24 +21982,28 @@ const deserializeAws_restJson1ListVoiceConnectorTerminationCredentialsCommandErr return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1LogoutUserCommand = async ( +export const deserializeAws_restJson1PutVoiceConnectorProxyCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 204 && output.statusCode >= 300) { - return deserializeAws_restJson1LogoutUserCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1PutVoiceConnectorProxyCommandError(output, context); } - const contents: LogoutUserCommandOutput = { + const contents: PutVoiceConnectorProxyCommandOutput = { $metadata: deserializeMetadata(output), + Proxy: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.Proxy !== undefined && data.Proxy !== null) { + contents.Proxy = deserializeAws_restJson1Proxy(data.Proxy, context); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1LogoutUserCommandError = async ( +const deserializeAws_restJson1PutVoiceConnectorProxyCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -14987,6 +22012,14 @@ const deserializeAws_restJson1LogoutUserCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.chime#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "BadRequestException": case "com.amazonaws.chime#BadRequestException": response = { @@ -15060,28 +22093,31 @@ const deserializeAws_restJson1LogoutUserCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1PutEventsConfigurationCommand = async ( +export const deserializeAws_restJson1PutVoiceConnectorStreamingConfigurationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 201 && output.statusCode >= 300) { - return deserializeAws_restJson1PutEventsConfigurationCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1PutVoiceConnectorStreamingConfigurationCommandError(output, context); } - const contents: PutEventsConfigurationCommandOutput = { + const contents: PutVoiceConnectorStreamingConfigurationCommandOutput = { $metadata: deserializeMetadata(output), - EventsConfiguration: undefined, + StreamingConfiguration: undefined, }; const data: any = await parseBody(output.body, context); - if (data.EventsConfiguration !== undefined && data.EventsConfiguration !== null) { - contents.EventsConfiguration = deserializeAws_restJson1EventsConfiguration(data.EventsConfiguration, context); + if (data.StreamingConfiguration !== undefined && data.StreamingConfiguration !== null) { + contents.StreamingConfiguration = deserializeAws_restJson1StreamingConfiguration( + data.StreamingConfiguration, + context + ); } return Promise.resolve(contents); }; -const deserializeAws_restJson1PutEventsConfigurationCommandError = async ( +const deserializeAws_restJson1PutVoiceConnectorStreamingConfigurationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15114,14 +22150,6 @@ const deserializeAws_restJson1PutEventsConfigurationCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceLimitExceededException": - case "com.amazonaws.chime#ResourceLimitExceededException": - response = { - ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -15138,6 +22166,14 @@ const deserializeAws_restJson1PutEventsConfigurationCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "UnauthorizedClientException": case "com.amazonaws.chime#UnauthorizedClientException": response = { @@ -15163,32 +22199,28 @@ const deserializeAws_restJson1PutEventsConfigurationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1PutRetentionSettingsCommand = async ( +export const deserializeAws_restJson1PutVoiceConnectorTerminationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 204 && output.statusCode >= 300) { - return deserializeAws_restJson1PutRetentionSettingsCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1PutVoiceConnectorTerminationCommandError(output, context); } - const contents: PutRetentionSettingsCommandOutput = { + const contents: PutVoiceConnectorTerminationCommandOutput = { $metadata: deserializeMetadata(output), - InitiateDeletionTimestamp: undefined, - RetentionSettings: undefined, + Termination: undefined, }; const data: any = await parseBody(output.body, context); - if (data.InitiateDeletionTimestamp !== undefined && data.InitiateDeletionTimestamp !== null) { - contents.InitiateDeletionTimestamp = new Date(data.InitiateDeletionTimestamp); - } - if (data.RetentionSettings !== undefined && data.RetentionSettings !== null) { - contents.RetentionSettings = deserializeAws_restJson1RetentionSettings(data.RetentionSettings, context); + if (data.Termination !== undefined && data.Termination !== null) { + contents.Termination = deserializeAws_restJson1Termination(data.Termination, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1PutRetentionSettingsCommandError = async ( +const deserializeAws_restJson1PutVoiceConnectorTerminationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15197,18 +22229,18 @@ const deserializeAws_restJson1PutRetentionSettingsCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "BadRequestException": - case "com.amazonaws.chime#BadRequestException": + case "AccessDeniedException": + case "com.amazonaws.chime#AccessDeniedException": response = { - ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "ConflictException": - case "com.amazonaws.chime#ConflictException": + case "BadRequestException": + case "com.amazonaws.chime#BadRequestException": response = { - ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -15278,34 +22310,24 @@ const deserializeAws_restJson1PutRetentionSettingsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1PutSipMediaApplicationLoggingConfigurationCommand = async ( +export const deserializeAws_restJson1PutVoiceConnectorTerminationCredentialsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1PutSipMediaApplicationLoggingConfigurationCommandError(output, context); +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1PutVoiceConnectorTerminationCredentialsCommandError(output, context); } - const contents: PutSipMediaApplicationLoggingConfigurationCommandOutput = { + const contents: PutVoiceConnectorTerminationCredentialsCommandOutput = { $metadata: deserializeMetadata(output), - SipMediaApplicationLoggingConfiguration: undefined, }; - const data: any = await parseBody(output.body, context); - if ( - data.SipMediaApplicationLoggingConfiguration !== undefined && - data.SipMediaApplicationLoggingConfiguration !== null - ) { - contents.SipMediaApplicationLoggingConfiguration = deserializeAws_restJson1SipMediaApplicationLoggingConfiguration( - data.SipMediaApplicationLoggingConfiguration, - context - ); - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1PutSipMediaApplicationLoggingConfigurationCommandError = async ( +const deserializeAws_restJson1PutVoiceConnectorTerminationCredentialsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15387,31 +22409,32 @@ const deserializeAws_restJson1PutSipMediaApplicationLoggingConfigurationCommandE return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1PutVoiceConnectorEmergencyCallingConfigurationCommand = async ( +export const deserializeAws_restJson1RedactChannelMessageCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1PutVoiceConnectorEmergencyCallingConfigurationCommandError(output, context); + return deserializeAws_restJson1RedactChannelMessageCommandError(output, context); } - const contents: PutVoiceConnectorEmergencyCallingConfigurationCommandOutput = { + const contents: RedactChannelMessageCommandOutput = { $metadata: deserializeMetadata(output), - EmergencyCallingConfiguration: undefined, + ChannelArn: undefined, + MessageId: undefined, }; const data: any = await parseBody(output.body, context); - if (data.EmergencyCallingConfiguration !== undefined && data.EmergencyCallingConfiguration !== null) { - contents.EmergencyCallingConfiguration = deserializeAws_restJson1EmergencyCallingConfiguration( - data.EmergencyCallingConfiguration, - context - ); + if (data.ChannelArn !== undefined && data.ChannelArn !== null) { + contents.ChannelArn = data.ChannelArn; + } + if (data.MessageId !== undefined && data.MessageId !== null) { + contents.MessageId = data.MessageId; } return Promise.resolve(contents); }; -const deserializeAws_restJson1PutVoiceConnectorEmergencyCallingConfigurationCommandError = async ( +const deserializeAws_restJson1RedactChannelMessageCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15436,14 +22459,6 @@ const deserializeAws_restJson1PutVoiceConnectorEmergencyCallingConfigurationComm $metadata: deserializeMetadata(output), }; break; - case "NotFoundException": - case "com.amazonaws.chime#NotFoundException": - response = { - ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -15493,28 +22508,24 @@ const deserializeAws_restJson1PutVoiceConnectorEmergencyCallingConfigurationComm return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1PutVoiceConnectorLoggingConfigurationCommand = async ( +export const deserializeAws_restJson1RedactConversationMessageCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1PutVoiceConnectorLoggingConfigurationCommandError(output, context); + return deserializeAws_restJson1RedactConversationMessageCommandError(output, context); } - const contents: PutVoiceConnectorLoggingConfigurationCommandOutput = { + const contents: RedactConversationMessageCommandOutput = { $metadata: deserializeMetadata(output), - LoggingConfiguration: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.LoggingConfiguration !== undefined && data.LoggingConfiguration !== null) { - contents.LoggingConfiguration = deserializeAws_restJson1LoggingConfiguration(data.LoggingConfiguration, context); - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1PutVoiceConnectorLoggingConfigurationCommandError = async ( +const deserializeAws_restJson1RedactConversationMessageCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15596,28 +22607,24 @@ const deserializeAws_restJson1PutVoiceConnectorLoggingConfigurationCommandError return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1PutVoiceConnectorOriginationCommand = async ( +export const deserializeAws_restJson1RedactRoomMessageCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1PutVoiceConnectorOriginationCommandError(output, context); + return deserializeAws_restJson1RedactRoomMessageCommandError(output, context); } - const contents: PutVoiceConnectorOriginationCommandOutput = { + const contents: RedactRoomMessageCommandOutput = { $metadata: deserializeMetadata(output), - Origination: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.Origination !== undefined && data.Origination !== null) { - contents.Origination = deserializeAws_restJson1Origination(data.Origination, context); - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1PutVoiceConnectorOriginationCommandError = async ( +const deserializeAws_restJson1RedactRoomMessageCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15699,28 +22706,28 @@ const deserializeAws_restJson1PutVoiceConnectorOriginationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1PutVoiceConnectorProxyCommand = async ( +export const deserializeAws_restJson1RegenerateSecurityTokenCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1PutVoiceConnectorProxyCommandError(output, context); + return deserializeAws_restJson1RegenerateSecurityTokenCommandError(output, context); } - const contents: PutVoiceConnectorProxyCommandOutput = { + const contents: RegenerateSecurityTokenCommandOutput = { $metadata: deserializeMetadata(output), - Proxy: undefined, + Bot: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.Proxy !== undefined && data.Proxy !== null) { - contents.Proxy = deserializeAws_restJson1Proxy(data.Proxy, context); + const data: any = await parseBody(output.body, context); + if (data.Bot !== undefined && data.Bot !== null) { + contents.Bot = deserializeAws_restJson1Bot(data.Bot, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1PutVoiceConnectorProxyCommandError = async ( +const deserializeAws_restJson1RegenerateSecurityTokenCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15729,14 +22736,6 @@ const deserializeAws_restJson1PutVoiceConnectorProxyCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "AccessDeniedException": - case "com.amazonaws.chime#AccessDeniedException": - response = { - ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "BadRequestException": case "com.amazonaws.chime#BadRequestException": response = { @@ -15810,31 +22809,28 @@ const deserializeAws_restJson1PutVoiceConnectorProxyCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1PutVoiceConnectorStreamingConfigurationCommand = async ( +export const deserializeAws_restJson1ResetPersonalPINCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1PutVoiceConnectorStreamingConfigurationCommandError(output, context); + return deserializeAws_restJson1ResetPersonalPINCommandError(output, context); } - const contents: PutVoiceConnectorStreamingConfigurationCommandOutput = { + const contents: ResetPersonalPINCommandOutput = { $metadata: deserializeMetadata(output), - StreamingConfiguration: undefined, + User: undefined, }; const data: any = await parseBody(output.body, context); - if (data.StreamingConfiguration !== undefined && data.StreamingConfiguration !== null) { - contents.StreamingConfiguration = deserializeAws_restJson1StreamingConfiguration( - data.StreamingConfiguration, - context - ); + if (data.User !== undefined && data.User !== null) { + contents.User = deserializeAws_restJson1User(data.User, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1PutVoiceConnectorStreamingConfigurationCommandError = async ( +const deserializeAws_restJson1ResetPersonalPINCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15916,28 +22912,28 @@ const deserializeAws_restJson1PutVoiceConnectorStreamingConfigurationCommandErro return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1PutVoiceConnectorTerminationCommand = async ( +export const deserializeAws_restJson1RestorePhoneNumberCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1PutVoiceConnectorTerminationCommandError(output, context); + return deserializeAws_restJson1RestorePhoneNumberCommandError(output, context); } - const contents: PutVoiceConnectorTerminationCommandOutput = { + const contents: RestorePhoneNumberCommandOutput = { $metadata: deserializeMetadata(output), - Termination: undefined, + PhoneNumber: undefined, }; const data: any = await parseBody(output.body, context); - if (data.Termination !== undefined && data.Termination !== null) { - contents.Termination = deserializeAws_restJson1Termination(data.Termination, context); + if (data.PhoneNumber !== undefined && data.PhoneNumber !== null) { + contents.PhoneNumber = deserializeAws_restJson1PhoneNumber(data.PhoneNumber, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1PutVoiceConnectorTerminationCommandError = async ( +const deserializeAws_restJson1RestorePhoneNumberCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -15946,14 +22942,6 @@ const deserializeAws_restJson1PutVoiceConnectorTerminationCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "AccessDeniedException": - case "com.amazonaws.chime#AccessDeniedException": - response = { - ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "BadRequestException": case "com.amazonaws.chime#BadRequestException": response = { @@ -15978,6 +22966,14 @@ const deserializeAws_restJson1PutVoiceConnectorTerminationCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ResourceLimitExceededException": + case "com.amazonaws.chime#ResourceLimitExceededException": + response = { + ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -16027,24 +23023,28 @@ const deserializeAws_restJson1PutVoiceConnectorTerminationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1PutVoiceConnectorTerminationCredentialsCommand = async ( +export const deserializeAws_restJson1SearchAvailablePhoneNumbersCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 204 && output.statusCode >= 300) { - return deserializeAws_restJson1PutVoiceConnectorTerminationCredentialsCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1SearchAvailablePhoneNumbersCommandError(output, context); } - const contents: PutVoiceConnectorTerminationCredentialsCommandOutput = { + const contents: SearchAvailablePhoneNumbersCommandOutput = { $metadata: deserializeMetadata(output), + E164PhoneNumbers: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.E164PhoneNumbers !== undefined && data.E164PhoneNumbers !== null) { + contents.E164PhoneNumbers = deserializeAws_restJson1E164PhoneNumberList(data.E164PhoneNumbers, context); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1PutVoiceConnectorTerminationCredentialsCommandError = async ( +const deserializeAws_restJson1SearchAvailablePhoneNumbersCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16053,6 +23053,14 @@ const deserializeAws_restJson1PutVoiceConnectorTerminationCredentialsCommandErro let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.chime#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "BadRequestException": case "com.amazonaws.chime#BadRequestException": response = { @@ -16069,14 +23077,6 @@ const deserializeAws_restJson1PutVoiceConnectorTerminationCredentialsCommandErro $metadata: deserializeMetadata(output), }; break; - case "NotFoundException": - case "com.amazonaws.chime#NotFoundException": - response = { - ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -16126,24 +23126,32 @@ const deserializeAws_restJson1PutVoiceConnectorTerminationCredentialsCommandErro return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1RedactConversationMessageCommand = async ( +export const deserializeAws_restJson1SendChannelMessageCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1RedactConversationMessageCommandError(output, context); +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1SendChannelMessageCommandError(output, context); } - const contents: RedactConversationMessageCommandOutput = { + const contents: SendChannelMessageCommandOutput = { $metadata: deserializeMetadata(output), + ChannelArn: undefined, + MessageId: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.ChannelArn !== undefined && data.ChannelArn !== null) { + contents.ChannelArn = data.ChannelArn; + } + if (data.MessageId !== undefined && data.MessageId !== null) { + contents.MessageId = data.MessageId; + } return Promise.resolve(contents); }; -const deserializeAws_restJson1RedactConversationMessageCommandError = async ( +const deserializeAws_restJson1SendChannelMessageCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16160,18 +23168,18 @@ const deserializeAws_restJson1RedactConversationMessageCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ForbiddenException": - case "com.amazonaws.chime#ForbiddenException": + case "ConflictException": + case "com.amazonaws.chime#ConflictException": response = { - ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "NotFoundException": - case "com.amazonaws.chime#NotFoundException": + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": response = { - ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -16225,24 +23233,24 @@ const deserializeAws_restJson1RedactConversationMessageCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1RedactRoomMessageCommand = async ( +export const deserializeAws_restJson1TagAttendeeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1RedactRoomMessageCommandError(output, context); +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1TagAttendeeCommandError(output, context); } - const contents: RedactRoomMessageCommandOutput = { + const contents: TagAttendeeCommandOutput = { $metadata: deserializeMetadata(output), }; await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1RedactRoomMessageCommandError = async ( +const deserializeAws_restJson1TagAttendeeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16275,6 +23283,14 @@ const deserializeAws_restJson1RedactRoomMessageCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ResourceLimitExceededException": + case "com.amazonaws.chime#ResourceLimitExceededException": + response = { + ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -16324,28 +23340,24 @@ const deserializeAws_restJson1RedactRoomMessageCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1RegenerateSecurityTokenCommand = async ( +export const deserializeAws_restJson1TagMeetingCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1RegenerateSecurityTokenCommandError(output, context); +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1TagMeetingCommandError(output, context); } - const contents: RegenerateSecurityTokenCommandOutput = { + const contents: TagMeetingCommandOutput = { $metadata: deserializeMetadata(output), - Bot: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.Bot !== undefined && data.Bot !== null) { - contents.Bot = deserializeAws_restJson1Bot(data.Bot, context); - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1RegenerateSecurityTokenCommandError = async ( +const deserializeAws_restJson1TagMeetingCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16378,6 +23390,14 @@ const deserializeAws_restJson1RegenerateSecurityTokenCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ResourceLimitExceededException": + case "com.amazonaws.chime#ResourceLimitExceededException": + response = { + ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -16427,28 +23447,24 @@ const deserializeAws_restJson1RegenerateSecurityTokenCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ResetPersonalPINCommand = async ( +export const deserializeAws_restJson1TagResourceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ResetPersonalPINCommandError(output, context); +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1TagResourceCommandError(output, context); } - const contents: ResetPersonalPINCommandOutput = { + const contents: TagResourceCommandOutput = { $metadata: deserializeMetadata(output), - User: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.User !== undefined && data.User !== null) { - contents.User = deserializeAws_restJson1User(data.User, context); - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1ResetPersonalPINCommandError = async ( +const deserializeAws_restJson1TagResourceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16497,14 +23513,6 @@ const deserializeAws_restJson1ResetPersonalPINCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ThrottledClientException": - case "com.amazonaws.chime#ThrottledClientException": - response = { - ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "UnauthorizedClientException": case "com.amazonaws.chime#UnauthorizedClientException": response = { @@ -16530,28 +23538,24 @@ const deserializeAws_restJson1ResetPersonalPINCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1RestorePhoneNumberCommand = async ( +export const deserializeAws_restJson1UntagAttendeeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1RestorePhoneNumberCommandError(output, context); +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1UntagAttendeeCommandError(output, context); } - const contents: RestorePhoneNumberCommandOutput = { + const contents: UntagAttendeeCommandOutput = { $metadata: deserializeMetadata(output), - PhoneNumber: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.PhoneNumber !== undefined && data.PhoneNumber !== null) { - contents.PhoneNumber = deserializeAws_restJson1PhoneNumber(data.PhoneNumber, context); - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1RestorePhoneNumberCommandError = async ( +const deserializeAws_restJson1UntagAttendeeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16584,14 +23588,6 @@ const deserializeAws_restJson1RestorePhoneNumberCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceLimitExceededException": - case "com.amazonaws.chime#ResourceLimitExceededException": - response = { - ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -16641,28 +23637,24 @@ const deserializeAws_restJson1RestorePhoneNumberCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1SearchAvailablePhoneNumbersCommand = async ( +export const deserializeAws_restJson1UntagMeetingCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1SearchAvailablePhoneNumbersCommandError(output, context); +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1UntagMeetingCommandError(output, context); } - const contents: SearchAvailablePhoneNumbersCommandOutput = { + const contents: UntagMeetingCommandOutput = { $metadata: deserializeMetadata(output), - E164PhoneNumbers: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.E164PhoneNumbers !== undefined && data.E164PhoneNumbers !== null) { - contents.E164PhoneNumbers = deserializeAws_restJson1E164PhoneNumberList(data.E164PhoneNumbers, context); - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1SearchAvailablePhoneNumbersCommandError = async ( +const deserializeAws_restJson1UntagMeetingCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16671,14 +23663,6 @@ const deserializeAws_restJson1SearchAvailablePhoneNumbersCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "AccessDeniedException": - case "com.amazonaws.chime#AccessDeniedException": - response = { - ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "BadRequestException": case "com.amazonaws.chime#BadRequestException": response = { @@ -16695,6 +23679,14 @@ const deserializeAws_restJson1SearchAvailablePhoneNumbersCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "NotFoundException": + case "com.amazonaws.chime#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -16744,24 +23736,24 @@ const deserializeAws_restJson1SearchAvailablePhoneNumbersCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1TagAttendeeCommand = async ( +export const deserializeAws_restJson1UntagResourceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 204 && output.statusCode >= 300) { - return deserializeAws_restJson1TagAttendeeCommandError(output, context); + return deserializeAws_restJson1UntagResourceCommandError(output, context); } - const contents: TagAttendeeCommandOutput = { + const contents: UntagResourceCommandOutput = { $metadata: deserializeMetadata(output), }; await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1TagAttendeeCommandError = async ( +const deserializeAws_restJson1UntagResourceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16794,14 +23786,6 @@ const deserializeAws_restJson1TagAttendeeCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceLimitExceededException": - case "com.amazonaws.chime#ResourceLimitExceededException": - response = { - ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -16818,14 +23802,6 @@ const deserializeAws_restJson1TagAttendeeCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ThrottledClientException": - case "com.amazonaws.chime#ThrottledClientException": - response = { - ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "UnauthorizedClientException": case "com.amazonaws.chime#UnauthorizedClientException": response = { @@ -16851,24 +23827,28 @@ const deserializeAws_restJson1TagAttendeeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1TagMeetingCommand = async ( +export const deserializeAws_restJson1UpdateAccountCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 204 && output.statusCode >= 300) { - return deserializeAws_restJson1TagMeetingCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1UpdateAccountCommandError(output, context); } - const contents: TagMeetingCommandOutput = { + const contents: UpdateAccountCommandOutput = { $metadata: deserializeMetadata(output), + Account: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.Account !== undefined && data.Account !== null) { + contents.Account = deserializeAws_restJson1Account(data.Account, context); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1TagMeetingCommandError = async ( +const deserializeAws_restJson1UpdateAccountCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16901,14 +23881,6 @@ const deserializeAws_restJson1TagMeetingCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceLimitExceededException": - case "com.amazonaws.chime#ResourceLimitExceededException": - response = { - ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -16958,24 +23930,24 @@ const deserializeAws_restJson1TagMeetingCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1TagResourceCommand = async ( +export const deserializeAws_restJson1UpdateAccountSettingsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 204 && output.statusCode >= 300) { - return deserializeAws_restJson1TagResourceCommandError(output, context); + return deserializeAws_restJson1UpdateAccountSettingsCommandError(output, context); } - const contents: TagResourceCommandOutput = { + const contents: UpdateAccountSettingsCommandOutput = { $metadata: deserializeMetadata(output), }; await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1TagResourceCommandError = async ( +const deserializeAws_restJson1UpdateAccountSettingsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -16992,6 +23964,14 @@ const deserializeAws_restJson1TagResourceCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ConflictException": + case "com.amazonaws.chime#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ForbiddenException": case "com.amazonaws.chime#ForbiddenException": response = { @@ -17024,6 +24004,14 @@ const deserializeAws_restJson1TagResourceCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "UnauthorizedClientException": case "com.amazonaws.chime#UnauthorizedClientException": response = { @@ -17049,24 +24037,28 @@ const deserializeAws_restJson1TagResourceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1UntagAttendeeCommand = async ( +export const deserializeAws_restJson1UpdateAppInstanceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 204 && output.statusCode >= 300) { - return deserializeAws_restJson1UntagAttendeeCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1UpdateAppInstanceCommandError(output, context); } - const contents: UntagAttendeeCommandOutput = { + const contents: UpdateAppInstanceCommandOutput = { $metadata: deserializeMetadata(output), + AppInstanceArn: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.AppInstanceArn !== undefined && data.AppInstanceArn !== null) { + contents.AppInstanceArn = data.AppInstanceArn; + } return Promise.resolve(contents); }; -const deserializeAws_restJson1UntagAttendeeCommandError = async ( +const deserializeAws_restJson1UpdateAppInstanceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -17083,18 +24075,18 @@ const deserializeAws_restJson1UntagAttendeeCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ForbiddenException": - case "com.amazonaws.chime#ForbiddenException": + case "ConflictException": + case "com.amazonaws.chime#ConflictException": response = { - ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "NotFoundException": - case "com.amazonaws.chime#NotFoundException": + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": response = { - ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -17148,24 +24140,28 @@ const deserializeAws_restJson1UntagAttendeeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1UntagMeetingCommand = async ( +export const deserializeAws_restJson1UpdateAppInstanceUserCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 204 && output.statusCode >= 300) { - return deserializeAws_restJson1UntagMeetingCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1UpdateAppInstanceUserCommandError(output, context); } - const contents: UntagMeetingCommandOutput = { + const contents: UpdateAppInstanceUserCommandOutput = { $metadata: deserializeMetadata(output), + AppInstanceUserArn: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.AppInstanceUserArn !== undefined && data.AppInstanceUserArn !== null) { + contents.AppInstanceUserArn = data.AppInstanceUserArn; + } return Promise.resolve(contents); }; -const deserializeAws_restJson1UntagMeetingCommandError = async ( +const deserializeAws_restJson1UpdateAppInstanceUserCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -17182,18 +24178,18 @@ const deserializeAws_restJson1UntagMeetingCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ForbiddenException": - case "com.amazonaws.chime#ForbiddenException": + case "ConflictException": + case "com.amazonaws.chime#ConflictException": response = { - ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "NotFoundException": - case "com.amazonaws.chime#NotFoundException": + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": response = { - ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -17247,24 +24243,28 @@ const deserializeAws_restJson1UntagMeetingCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1UntagResourceCommand = async ( +export const deserializeAws_restJson1UpdateBotCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 204 && output.statusCode >= 300) { - return deserializeAws_restJson1UntagResourceCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1UpdateBotCommandError(output, context); } - const contents: UntagResourceCommandOutput = { + const contents: UpdateBotCommandOutput = { $metadata: deserializeMetadata(output), + Bot: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.Bot !== undefined && data.Bot !== null) { + contents.Bot = deserializeAws_restJson1Bot(data.Bot, context); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1UntagResourceCommandError = async ( +const deserializeAws_restJson1UpdateBotCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -17313,6 +24313,14 @@ const deserializeAws_restJson1UntagResourceCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ThrottledClientException": + case "com.amazonaws.chime#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "UnauthorizedClientException": case "com.amazonaws.chime#UnauthorizedClientException": response = { @@ -17338,28 +24346,28 @@ const deserializeAws_restJson1UntagResourceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1UpdateAccountCommand = async ( +export const deserializeAws_restJson1UpdateChannelCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1UpdateAccountCommandError(output, context); + return deserializeAws_restJson1UpdateChannelCommandError(output, context); } - const contents: UpdateAccountCommandOutput = { + const contents: UpdateChannelCommandOutput = { $metadata: deserializeMetadata(output), - Account: undefined, + ChannelArn: undefined, }; const data: any = await parseBody(output.body, context); - if (data.Account !== undefined && data.Account !== null) { - contents.Account = deserializeAws_restJson1Account(data.Account, context); + if (data.ChannelArn !== undefined && data.ChannelArn !== null) { + contents.ChannelArn = data.ChannelArn; } return Promise.resolve(contents); }; -const deserializeAws_restJson1UpdateAccountCommandError = async ( +const deserializeAws_restJson1UpdateChannelCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -17376,18 +24384,18 @@ const deserializeAws_restJson1UpdateAccountCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ForbiddenException": - case "com.amazonaws.chime#ForbiddenException": + case "ConflictException": + case "com.amazonaws.chime#ConflictException": response = { - ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "NotFoundException": - case "com.amazonaws.chime#NotFoundException": + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": response = { - ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -17441,24 +24449,32 @@ const deserializeAws_restJson1UpdateAccountCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1UpdateAccountSettingsCommand = async ( +export const deserializeAws_restJson1UpdateChannelMessageCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 204 && output.statusCode >= 300) { - return deserializeAws_restJson1UpdateAccountSettingsCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1UpdateChannelMessageCommandError(output, context); } - const contents: UpdateAccountSettingsCommandOutput = { + const contents: UpdateChannelMessageCommandOutput = { $metadata: deserializeMetadata(output), + ChannelArn: undefined, + MessageId: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.ChannelArn !== undefined && data.ChannelArn !== null) { + contents.ChannelArn = data.ChannelArn; + } + if (data.MessageId !== undefined && data.MessageId !== null) { + contents.MessageId = data.MessageId; + } return Promise.resolve(contents); }; -const deserializeAws_restJson1UpdateAccountSettingsCommandError = async ( +const deserializeAws_restJson1UpdateChannelMessageCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -17491,14 +24507,6 @@ const deserializeAws_restJson1UpdateAccountSettingsCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "NotFoundException": - case "com.amazonaws.chime#NotFoundException": - response = { - ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceFailureException": case "com.amazonaws.chime#ServiceFailureException": response = { @@ -17548,28 +24556,28 @@ const deserializeAws_restJson1UpdateAccountSettingsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1UpdateBotCommand = async ( +export const deserializeAws_restJson1UpdateChannelReadMarkerCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1UpdateBotCommandError(output, context); + return deserializeAws_restJson1UpdateChannelReadMarkerCommandError(output, context); } - const contents: UpdateBotCommandOutput = { + const contents: UpdateChannelReadMarkerCommandOutput = { $metadata: deserializeMetadata(output), - Bot: undefined, + ChannelArn: undefined, }; const data: any = await parseBody(output.body, context); - if (data.Bot !== undefined && data.Bot !== null) { - contents.Bot = deserializeAws_restJson1Bot(data.Bot, context); + if (data.ChannelArn !== undefined && data.ChannelArn !== null) { + contents.ChannelArn = data.ChannelArn; } return Promise.resolve(contents); }; -const deserializeAws_restJson1UpdateBotCommandError = async ( +const deserializeAws_restJson1UpdateChannelReadMarkerCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -17586,18 +24594,18 @@ const deserializeAws_restJson1UpdateBotCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ForbiddenException": - case "com.amazonaws.chime#ForbiddenException": + case "ConflictException": + case "com.amazonaws.chime#ConflictException": response = { - ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "NotFoundException": - case "com.amazonaws.chime#NotFoundException": + case "ForbiddenException": + case "com.amazonaws.chime#ForbiddenException": response = { - ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -19124,23 +26132,51 @@ const deserializeAws_restJson1UnprocessableEntityExceptionResponse = async ( const serializeAws_restJson1AccountSettings = (input: AccountSettings, context: __SerdeContext): any => { return { - ...(input.DisableRemoteControl !== undefined && { DisableRemoteControl: input.DisableRemoteControl }), - ...(input.EnableDialOut !== undefined && { EnableDialOut: input.EnableDialOut }), + ...(input.DisableRemoteControl !== undefined && { DisableRemoteControl: input.DisableRemoteControl }), + ...(input.EnableDialOut !== undefined && { EnableDialOut: input.EnableDialOut }), + }; +}; + +const serializeAws_restJson1AlexaForBusinessMetadata = ( + input: AlexaForBusinessMetadata, + context: __SerdeContext +): any => { + return { + ...(input.AlexaForBusinessRoomArn !== undefined && { AlexaForBusinessRoomArn: input.AlexaForBusinessRoomArn }), + ...(input.IsAlexaForBusinessEnabled !== undefined && { + IsAlexaForBusinessEnabled: input.IsAlexaForBusinessEnabled, + }), + }; +}; + +const serializeAws_restJson1AppInstanceRetentionSettings = ( + input: AppInstanceRetentionSettings, + context: __SerdeContext +): any => { + return { + ...(input.ChannelRetentionSettings !== undefined && { + ChannelRetentionSettings: serializeAws_restJson1ChannelRetentionSettings(input.ChannelRetentionSettings, context), + }), }; }; -const serializeAws_restJson1AlexaForBusinessMetadata = ( - input: AlexaForBusinessMetadata, +const serializeAws_restJson1AppInstanceStreamingConfiguration = ( + input: AppInstanceStreamingConfiguration, context: __SerdeContext ): any => { return { - ...(input.AlexaForBusinessRoomArn !== undefined && { AlexaForBusinessRoomArn: input.AlexaForBusinessRoomArn }), - ...(input.IsAlexaForBusinessEnabled !== undefined && { - IsAlexaForBusinessEnabled: input.IsAlexaForBusinessEnabled, - }), + ...(input.AppInstanceDataType !== undefined && { AppInstanceDataType: input.AppInstanceDataType }), + ...(input.ResourceArn !== undefined && { ResourceArn: input.ResourceArn }), }; }; +const serializeAws_restJson1AppInstanceStreamingConfigurationList = ( + input: AppInstanceStreamingConfiguration[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AppInstanceStreamingConfiguration(entry, context)); +}; + const serializeAws_restJson1AttendeeTagKeyList = (input: string[], context: __SerdeContext): any => { return input.map((entry) => entry); }; @@ -19166,6 +26202,15 @@ const serializeAws_restJson1CapabilityList = (input: (Capability | string)[], co return input.map((entry) => entry); }; +const serializeAws_restJson1ChannelRetentionSettings = ( + input: ChannelRetentionSettings, + context: __SerdeContext +): any => { + return { + ...(input.RetentionDays !== undefined && { RetentionDays: input.RetentionDays }), + }; +}; + const serializeAws_restJson1ConversationRetentionSettings = ( input: ConversationRetentionSettings, context: __SerdeContext @@ -19590,6 +26635,155 @@ const deserializeAws_restJson1AlexaForBusinessMetadata = ( } as any; }; +const deserializeAws_restJson1AppInstance = (output: any, context: __SerdeContext): AppInstance => { + return { + AppInstanceArn: + output.AppInstanceArn !== undefined && output.AppInstanceArn !== null ? output.AppInstanceArn : undefined, + CreatedTimestamp: + output.CreatedTimestamp !== undefined && output.CreatedTimestamp !== null + ? new Date(Math.round(output.CreatedTimestamp * 1000)) + : undefined, + LastUpdatedTimestamp: + output.LastUpdatedTimestamp !== undefined && output.LastUpdatedTimestamp !== null + ? new Date(Math.round(output.LastUpdatedTimestamp * 1000)) + : undefined, + Metadata: output.Metadata !== undefined && output.Metadata !== null ? output.Metadata : undefined, + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + } as any; +}; + +const deserializeAws_restJson1AppInstanceAdmin = (output: any, context: __SerdeContext): AppInstanceAdmin => { + return { + Admin: + output.Admin !== undefined && output.Admin !== null + ? deserializeAws_restJson1Identity(output.Admin, context) + : undefined, + AppInstanceArn: + output.AppInstanceArn !== undefined && output.AppInstanceArn !== null ? output.AppInstanceArn : undefined, + CreatedTimestamp: + output.CreatedTimestamp !== undefined && output.CreatedTimestamp !== null + ? new Date(Math.round(output.CreatedTimestamp * 1000)) + : undefined, + } as any; +}; + +const deserializeAws_restJson1AppInstanceAdminList = ( + output: any, + context: __SerdeContext +): AppInstanceAdminSummary[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AppInstanceAdminSummary(entry, context)); +}; + +const deserializeAws_restJson1AppInstanceAdminSummary = ( + output: any, + context: __SerdeContext +): AppInstanceAdminSummary => { + return { + Admin: + output.Admin !== undefined && output.Admin !== null + ? deserializeAws_restJson1Identity(output.Admin, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1AppInstanceList = (output: any, context: __SerdeContext): AppInstanceSummary[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AppInstanceSummary(entry, context)); +}; + +const deserializeAws_restJson1AppInstanceRetentionSettings = ( + output: any, + context: __SerdeContext +): AppInstanceRetentionSettings => { + return { + ChannelRetentionSettings: + output.ChannelRetentionSettings !== undefined && output.ChannelRetentionSettings !== null + ? deserializeAws_restJson1ChannelRetentionSettings(output.ChannelRetentionSettings, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1AppInstanceStreamingConfiguration = ( + output: any, + context: __SerdeContext +): AppInstanceStreamingConfiguration => { + return { + AppInstanceDataType: + output.AppInstanceDataType !== undefined && output.AppInstanceDataType !== null + ? output.AppInstanceDataType + : undefined, + ResourceArn: output.ResourceArn !== undefined && output.ResourceArn !== null ? output.ResourceArn : undefined, + } as any; +}; + +const deserializeAws_restJson1AppInstanceStreamingConfigurationList = ( + output: any, + context: __SerdeContext +): AppInstanceStreamingConfiguration[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AppInstanceStreamingConfiguration(entry, context)); +}; + +const deserializeAws_restJson1AppInstanceSummary = (output: any, context: __SerdeContext): AppInstanceSummary => { + return { + AppInstanceArn: + output.AppInstanceArn !== undefined && output.AppInstanceArn !== null ? output.AppInstanceArn : undefined, + Metadata: output.Metadata !== undefined && output.Metadata !== null ? output.Metadata : undefined, + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + } as any; +}; + +const deserializeAws_restJson1AppInstanceUser = (output: any, context: __SerdeContext): AppInstanceUser => { + return { + AppInstanceUserArn: + output.AppInstanceUserArn !== undefined && output.AppInstanceUserArn !== null + ? output.AppInstanceUserArn + : undefined, + CreatedTimestamp: + output.CreatedTimestamp !== undefined && output.CreatedTimestamp !== null + ? new Date(Math.round(output.CreatedTimestamp * 1000)) + : undefined, + LastUpdatedTimestamp: + output.LastUpdatedTimestamp !== undefined && output.LastUpdatedTimestamp !== null + ? new Date(Math.round(output.LastUpdatedTimestamp * 1000)) + : undefined, + Metadata: output.Metadata !== undefined && output.Metadata !== null ? output.Metadata : undefined, + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + } as any; +}; + +const deserializeAws_restJson1AppInstanceUserList = ( + output: any, + context: __SerdeContext +): AppInstanceUserSummary[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AppInstanceUserSummary(entry, context)); +}; + +const deserializeAws_restJson1AppInstanceUserMembershipSummary = ( + output: any, + context: __SerdeContext +): AppInstanceUserMembershipSummary => { + return { + ReadMarkerTimestamp: + output.ReadMarkerTimestamp !== undefined && output.ReadMarkerTimestamp !== null + ? new Date(Math.round(output.ReadMarkerTimestamp * 1000)) + : undefined, + Type: output.Type !== undefined && output.Type !== null ? output.Type : undefined, + } as any; +}; + +const deserializeAws_restJson1AppInstanceUserSummary = ( + output: any, + context: __SerdeContext +): AppInstanceUserSummary => { + return { + AppInstanceUserArn: + output.AppInstanceUserArn !== undefined && output.AppInstanceUserArn !== null + ? output.AppInstanceUserArn + : undefined, + Metadata: output.Metadata !== undefined && output.Metadata !== null ? output.Metadata : undefined, + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + } as any; +}; + const deserializeAws_restJson1Attendee = (output: any, context: __SerdeContext): Attendee => { return { AttendeeId: output.AttendeeId !== undefined && output.AttendeeId !== null ? output.AttendeeId : undefined, @@ -19652,6 +26846,277 @@ const deserializeAws_restJson1CapabilityList = (output: any, context: __SerdeCon return (output || []).map((entry: any) => entry); }; +const deserializeAws_restJson1Channel = (output: any, context: __SerdeContext): Channel => { + return { + ChannelArn: output.ChannelArn !== undefined && output.ChannelArn !== null ? output.ChannelArn : undefined, + CreatedBy: + output.CreatedBy !== undefined && output.CreatedBy !== null + ? deserializeAws_restJson1Identity(output.CreatedBy, context) + : undefined, + CreatedTimestamp: + output.CreatedTimestamp !== undefined && output.CreatedTimestamp !== null + ? new Date(Math.round(output.CreatedTimestamp * 1000)) + : undefined, + LastMessageTimestamp: + output.LastMessageTimestamp !== undefined && output.LastMessageTimestamp !== null + ? new Date(Math.round(output.LastMessageTimestamp * 1000)) + : undefined, + LastUpdatedTimestamp: + output.LastUpdatedTimestamp !== undefined && output.LastUpdatedTimestamp !== null + ? new Date(Math.round(output.LastUpdatedTimestamp * 1000)) + : undefined, + Metadata: output.Metadata !== undefined && output.Metadata !== null ? output.Metadata : undefined, + Mode: output.Mode !== undefined && output.Mode !== null ? output.Mode : undefined, + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + Privacy: output.Privacy !== undefined && output.Privacy !== null ? output.Privacy : undefined, + } as any; +}; + +const deserializeAws_restJson1ChannelBan = (output: any, context: __SerdeContext): ChannelBan => { + return { + ChannelArn: output.ChannelArn !== undefined && output.ChannelArn !== null ? output.ChannelArn : undefined, + CreatedBy: + output.CreatedBy !== undefined && output.CreatedBy !== null + ? deserializeAws_restJson1Identity(output.CreatedBy, context) + : undefined, + CreatedTimestamp: + output.CreatedTimestamp !== undefined && output.CreatedTimestamp !== null + ? new Date(Math.round(output.CreatedTimestamp * 1000)) + : undefined, + Member: + output.Member !== undefined && output.Member !== null + ? deserializeAws_restJson1Identity(output.Member, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1ChannelBanSummary = (output: any, context: __SerdeContext): ChannelBanSummary => { + return { + Member: + output.Member !== undefined && output.Member !== null + ? deserializeAws_restJson1Identity(output.Member, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1ChannelBanSummaryList = (output: any, context: __SerdeContext): ChannelBanSummary[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1ChannelBanSummary(entry, context)); +}; + +const deserializeAws_restJson1ChannelMembership = (output: any, context: __SerdeContext): ChannelMembership => { + return { + ChannelArn: output.ChannelArn !== undefined && output.ChannelArn !== null ? output.ChannelArn : undefined, + CreatedTimestamp: + output.CreatedTimestamp !== undefined && output.CreatedTimestamp !== null + ? new Date(Math.round(output.CreatedTimestamp * 1000)) + : undefined, + InvitedBy: + output.InvitedBy !== undefined && output.InvitedBy !== null + ? deserializeAws_restJson1Identity(output.InvitedBy, context) + : undefined, + LastUpdatedTimestamp: + output.LastUpdatedTimestamp !== undefined && output.LastUpdatedTimestamp !== null + ? new Date(Math.round(output.LastUpdatedTimestamp * 1000)) + : undefined, + Member: + output.Member !== undefined && output.Member !== null + ? deserializeAws_restJson1Identity(output.Member, context) + : undefined, + Type: output.Type !== undefined && output.Type !== null ? output.Type : undefined, + } as any; +}; + +const deserializeAws_restJson1ChannelMembershipForAppInstanceUserSummary = ( + output: any, + context: __SerdeContext +): ChannelMembershipForAppInstanceUserSummary => { + return { + AppInstanceUserMembershipSummary: + output.AppInstanceUserMembershipSummary !== undefined && output.AppInstanceUserMembershipSummary !== null + ? deserializeAws_restJson1AppInstanceUserMembershipSummary(output.AppInstanceUserMembershipSummary, context) + : undefined, + ChannelSummary: + output.ChannelSummary !== undefined && output.ChannelSummary !== null + ? deserializeAws_restJson1ChannelSummary(output.ChannelSummary, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1ChannelMembershipForAppInstanceUserSummaryList = ( + output: any, + context: __SerdeContext +): ChannelMembershipForAppInstanceUserSummary[] => { + return (output || []).map((entry: any) => + deserializeAws_restJson1ChannelMembershipForAppInstanceUserSummary(entry, context) + ); +}; + +const deserializeAws_restJson1ChannelMembershipSummary = ( + output: any, + context: __SerdeContext +): ChannelMembershipSummary => { + return { + Member: + output.Member !== undefined && output.Member !== null + ? deserializeAws_restJson1Identity(output.Member, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1ChannelMembershipSummaryList = ( + output: any, + context: __SerdeContext +): ChannelMembershipSummary[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1ChannelMembershipSummary(entry, context)); +}; + +const deserializeAws_restJson1ChannelMessage = (output: any, context: __SerdeContext): ChannelMessage => { + return { + ChannelArn: output.ChannelArn !== undefined && output.ChannelArn !== null ? output.ChannelArn : undefined, + Content: output.Content !== undefined && output.Content !== null ? output.Content : undefined, + CreatedTimestamp: + output.CreatedTimestamp !== undefined && output.CreatedTimestamp !== null + ? new Date(Math.round(output.CreatedTimestamp * 1000)) + : undefined, + LastEditedTimestamp: + output.LastEditedTimestamp !== undefined && output.LastEditedTimestamp !== null + ? new Date(Math.round(output.LastEditedTimestamp * 1000)) + : undefined, + LastUpdatedTimestamp: + output.LastUpdatedTimestamp !== undefined && output.LastUpdatedTimestamp !== null + ? new Date(Math.round(output.LastUpdatedTimestamp * 1000)) + : undefined, + MessageId: output.MessageId !== undefined && output.MessageId !== null ? output.MessageId : undefined, + Metadata: output.Metadata !== undefined && output.Metadata !== null ? output.Metadata : undefined, + Persistence: output.Persistence !== undefined && output.Persistence !== null ? output.Persistence : undefined, + Redacted: output.Redacted !== undefined && output.Redacted !== null ? output.Redacted : undefined, + Sender: + output.Sender !== undefined && output.Sender !== null + ? deserializeAws_restJson1Identity(output.Sender, context) + : undefined, + Type: output.Type !== undefined && output.Type !== null ? output.Type : undefined, + } as any; +}; + +const deserializeAws_restJson1ChannelMessageSummary = (output: any, context: __SerdeContext): ChannelMessageSummary => { + return { + Content: output.Content !== undefined && output.Content !== null ? output.Content : undefined, + CreatedTimestamp: + output.CreatedTimestamp !== undefined && output.CreatedTimestamp !== null + ? new Date(Math.round(output.CreatedTimestamp * 1000)) + : undefined, + LastEditedTimestamp: + output.LastEditedTimestamp !== undefined && output.LastEditedTimestamp !== null + ? new Date(Math.round(output.LastEditedTimestamp * 1000)) + : undefined, + LastUpdatedTimestamp: + output.LastUpdatedTimestamp !== undefined && output.LastUpdatedTimestamp !== null + ? new Date(Math.round(output.LastUpdatedTimestamp * 1000)) + : undefined, + MessageId: output.MessageId !== undefined && output.MessageId !== null ? output.MessageId : undefined, + Metadata: output.Metadata !== undefined && output.Metadata !== null ? output.Metadata : undefined, + Redacted: output.Redacted !== undefined && output.Redacted !== null ? output.Redacted : undefined, + Sender: + output.Sender !== undefined && output.Sender !== null + ? deserializeAws_restJson1Identity(output.Sender, context) + : undefined, + Type: output.Type !== undefined && output.Type !== null ? output.Type : undefined, + } as any; +}; + +const deserializeAws_restJson1ChannelMessageSummaryList = ( + output: any, + context: __SerdeContext +): ChannelMessageSummary[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1ChannelMessageSummary(entry, context)); +}; + +const deserializeAws_restJson1ChannelModeratedByAppInstanceUserSummary = ( + output: any, + context: __SerdeContext +): ChannelModeratedByAppInstanceUserSummary => { + return { + ChannelSummary: + output.ChannelSummary !== undefined && output.ChannelSummary !== null + ? deserializeAws_restJson1ChannelSummary(output.ChannelSummary, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1ChannelModeratedByAppInstanceUserSummaryList = ( + output: any, + context: __SerdeContext +): ChannelModeratedByAppInstanceUserSummary[] => { + return (output || []).map((entry: any) => + deserializeAws_restJson1ChannelModeratedByAppInstanceUserSummary(entry, context) + ); +}; + +const deserializeAws_restJson1ChannelModerator = (output: any, context: __SerdeContext): ChannelModerator => { + return { + ChannelArn: output.ChannelArn !== undefined && output.ChannelArn !== null ? output.ChannelArn : undefined, + CreatedBy: + output.CreatedBy !== undefined && output.CreatedBy !== null + ? deserializeAws_restJson1Identity(output.CreatedBy, context) + : undefined, + CreatedTimestamp: + output.CreatedTimestamp !== undefined && output.CreatedTimestamp !== null + ? new Date(Math.round(output.CreatedTimestamp * 1000)) + : undefined, + Moderator: + output.Moderator !== undefined && output.Moderator !== null + ? deserializeAws_restJson1Identity(output.Moderator, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1ChannelModeratorSummary = ( + output: any, + context: __SerdeContext +): ChannelModeratorSummary => { + return { + Moderator: + output.Moderator !== undefined && output.Moderator !== null + ? deserializeAws_restJson1Identity(output.Moderator, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1ChannelModeratorSummaryList = ( + output: any, + context: __SerdeContext +): ChannelModeratorSummary[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1ChannelModeratorSummary(entry, context)); +}; + +const deserializeAws_restJson1ChannelRetentionSettings = ( + output: any, + context: __SerdeContext +): ChannelRetentionSettings => { + return { + RetentionDays: + output.RetentionDays !== undefined && output.RetentionDays !== null ? output.RetentionDays : undefined, + } as any; +}; + +const deserializeAws_restJson1ChannelSummary = (output: any, context: __SerdeContext): ChannelSummary => { + return { + ChannelArn: output.ChannelArn !== undefined && output.ChannelArn !== null ? output.ChannelArn : undefined, + LastMessageTimestamp: + output.LastMessageTimestamp !== undefined && output.LastMessageTimestamp !== null + ? new Date(Math.round(output.LastMessageTimestamp * 1000)) + : undefined, + Metadata: output.Metadata !== undefined && output.Metadata !== null ? output.Metadata : undefined, + Mode: output.Mode !== undefined && output.Mode !== null ? output.Mode : undefined, + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + Privacy: output.Privacy !== undefined && output.Privacy !== null ? output.Privacy : undefined, + } as any; +}; + +const deserializeAws_restJson1ChannelSummaryList = (output: any, context: __SerdeContext): ChannelSummary[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1ChannelSummary(entry, context)); +}; + const deserializeAws_restJson1ConversationRetentionSettings = ( output: any, context: __SerdeContext @@ -19731,6 +27196,13 @@ const deserializeAws_restJson1GeoMatchParams = (output: any, context: __SerdeCon } as any; }; +const deserializeAws_restJson1Identity = (output: any, context: __SerdeContext): Identity => { + return { + Arn: output.Arn !== undefined && output.Arn !== null ? output.Arn : undefined, + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + } as any; +}; + const deserializeAws_restJson1Invite = (output: any, context: __SerdeContext): Invite => { return { EmailAddress: output.EmailAddress !== undefined && output.EmailAddress !== null ? output.EmailAddress : undefined, @@ -19813,6 +27285,15 @@ const deserializeAws_restJson1MemberErrorList = (output: any, context: __SerdeCo return (output || []).map((entry: any) => deserializeAws_restJson1MemberError(entry, context)); }; +const deserializeAws_restJson1MessagingSessionEndpoint = ( + output: any, + context: __SerdeContext +): MessagingSessionEndpoint => { + return { + Url: output.Url !== undefined && output.Url !== null ? output.Url : undefined, + } as any; +}; + const deserializeAws_restJson1OrderedPhoneNumber = (output: any, context: __SerdeContext): OrderedPhoneNumber => { return { E164PhoneNumber: diff --git a/clients/client-cloudhsm-v2/CloudHSMV2.ts b/clients/client-cloudhsm-v2/CloudHSMV2.ts index 82d0cef05f92..bf608d10abdb 100644 --- a/clients/client-cloudhsm-v2/CloudHSMV2.ts +++ b/clients/client-cloudhsm-v2/CloudHSMV2.ts @@ -37,6 +37,16 @@ import { InitializeClusterCommandOutput, } from "./commands/InitializeClusterCommand"; import { ListTagsCommand, ListTagsCommandInput, ListTagsCommandOutput } from "./commands/ListTagsCommand"; +import { + ModifyBackupAttributesCommand, + ModifyBackupAttributesCommandInput, + ModifyBackupAttributesCommandOutput, +} from "./commands/ModifyBackupAttributesCommand"; +import { + ModifyClusterCommand, + ModifyClusterCommandInput, + ModifyClusterCommandOutput, +} from "./commands/ModifyClusterCommand"; import { RestoreBackupCommand, RestoreBackupCommandInput, @@ -378,6 +388,70 @@ export class CloudHSMV2 extends CloudHSMV2Client { } } + /** + *

Modifies attributes for AWS CloudHSM backup.

+ */ + public modifyBackupAttributes( + args: ModifyBackupAttributesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public modifyBackupAttributes( + args: ModifyBackupAttributesCommandInput, + cb: (err: any, data?: ModifyBackupAttributesCommandOutput) => void + ): void; + public modifyBackupAttributes( + args: ModifyBackupAttributesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ModifyBackupAttributesCommandOutput) => void + ): void; + public modifyBackupAttributes( + args: ModifyBackupAttributesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ModifyBackupAttributesCommandOutput) => void), + cb?: (err: any, data?: ModifyBackupAttributesCommandOutput) => void + ): Promise | void { + const command = new ModifyBackupAttributesCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Modifies AWS CloudHSM cluster.

+ */ + public modifyCluster( + args: ModifyClusterCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public modifyCluster( + args: ModifyClusterCommandInput, + cb: (err: any, data?: ModifyClusterCommandOutput) => void + ): void; + public modifyCluster( + args: ModifyClusterCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ModifyClusterCommandOutput) => void + ): void; + public modifyCluster( + args: ModifyClusterCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ModifyClusterCommandOutput) => void), + cb?: (err: any, data?: ModifyClusterCommandOutput) => void + ): Promise | void { + const command = new ModifyClusterCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

Restores a specified AWS CloudHSM backup that is in the * PENDING_DELETION state. For mor information on deleting a backup, see diff --git a/clients/client-cloudhsm-v2/CloudHSMV2Client.ts b/clients/client-cloudhsm-v2/CloudHSMV2Client.ts index c1493d7ddd67..e9bd18eae40a 100644 --- a/clients/client-cloudhsm-v2/CloudHSMV2Client.ts +++ b/clients/client-cloudhsm-v2/CloudHSMV2Client.ts @@ -8,6 +8,11 @@ import { DescribeBackupsCommandInput, DescribeBackupsCommandOutput } from "./com import { DescribeClustersCommandInput, DescribeClustersCommandOutput } from "./commands/DescribeClustersCommand"; import { InitializeClusterCommandInput, InitializeClusterCommandOutput } from "./commands/InitializeClusterCommand"; import { ListTagsCommandInput, ListTagsCommandOutput } from "./commands/ListTagsCommand"; +import { + ModifyBackupAttributesCommandInput, + ModifyBackupAttributesCommandOutput, +} from "./commands/ModifyBackupAttributesCommand"; +import { ModifyClusterCommandInput, ModifyClusterCommandOutput } from "./commands/ModifyClusterCommand"; import { RestoreBackupCommandInput, RestoreBackupCommandOutput } from "./commands/RestoreBackupCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; @@ -71,6 +76,8 @@ export type ServiceInputTypes = | DescribeClustersCommandInput | InitializeClusterCommandInput | ListTagsCommandInput + | ModifyBackupAttributesCommandInput + | ModifyClusterCommandInput | RestoreBackupCommandInput | TagResourceCommandInput | UntagResourceCommandInput; @@ -86,6 +93,8 @@ export type ServiceOutputTypes = | DescribeClustersCommandOutput | InitializeClusterCommandOutput | ListTagsCommandOutput + | ModifyBackupAttributesCommandOutput + | ModifyClusterCommandOutput | RestoreBackupCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput; diff --git a/clients/client-cloudhsm-v2/commands/ModifyBackupAttributesCommand.ts b/clients/client-cloudhsm-v2/commands/ModifyBackupAttributesCommand.ts new file mode 100644 index 000000000000..be476632c50a --- /dev/null +++ b/clients/client-cloudhsm-v2/commands/ModifyBackupAttributesCommand.ts @@ -0,0 +1,82 @@ +import { CloudHSMV2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CloudHSMV2Client"; +import { ModifyBackupAttributesRequest, ModifyBackupAttributesResponse } from "../models/models_0"; +import { + deserializeAws_json1_1ModifyBackupAttributesCommand, + serializeAws_json1_1ModifyBackupAttributesCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ModifyBackupAttributesCommandInput = ModifyBackupAttributesRequest; +export type ModifyBackupAttributesCommandOutput = ModifyBackupAttributesResponse & __MetadataBearer; + +export class ModifyBackupAttributesCommand extends $Command< + ModifyBackupAttributesCommandInput, + ModifyBackupAttributesCommandOutput, + CloudHSMV2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ModifyBackupAttributesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: CloudHSMV2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "CloudHSMV2Client"; + const commandName = "ModifyBackupAttributesCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ModifyBackupAttributesRequest.filterSensitiveLog, + outputFilterSensitiveLog: ModifyBackupAttributesResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ModifyBackupAttributesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ModifyBackupAttributesCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ModifyBackupAttributesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-cloudhsm-v2/commands/ModifyClusterCommand.ts b/clients/client-cloudhsm-v2/commands/ModifyClusterCommand.ts new file mode 100644 index 000000000000..beeefafa5d0c --- /dev/null +++ b/clients/client-cloudhsm-v2/commands/ModifyClusterCommand.ts @@ -0,0 +1,82 @@ +import { CloudHSMV2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CloudHSMV2Client"; +import { ModifyClusterRequest, ModifyClusterResponse } from "../models/models_0"; +import { + deserializeAws_json1_1ModifyClusterCommand, + serializeAws_json1_1ModifyClusterCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ModifyClusterCommandInput = ModifyClusterRequest; +export type ModifyClusterCommandOutput = ModifyClusterResponse & __MetadataBearer; + +export class ModifyClusterCommand extends $Command< + ModifyClusterCommandInput, + ModifyClusterCommandOutput, + CloudHSMV2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ModifyClusterCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: CloudHSMV2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "CloudHSMV2Client"; + const commandName = "ModifyClusterCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ModifyClusterRequest.filterSensitiveLog, + outputFilterSensitiveLog: ModifyClusterResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ModifyClusterCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ModifyClusterCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ModifyClusterCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-cloudhsm-v2/index.ts b/clients/client-cloudhsm-v2/index.ts index a9d65f7689ef..d6f8ae22a01f 100644 --- a/clients/client-cloudhsm-v2/index.ts +++ b/clients/client-cloudhsm-v2/index.ts @@ -13,6 +13,8 @@ export * from "./pagination/DescribeClustersPaginator"; export * from "./commands/InitializeClusterCommand"; export * from "./commands/ListTagsCommand"; export * from "./pagination/ListTagsPaginator"; +export * from "./commands/ModifyBackupAttributesCommand"; +export * from "./commands/ModifyClusterCommand"; export * from "./commands/RestoreBackupCommand"; export * from "./commands/TagResourceCommand"; export * from "./commands/UntagResourceCommand"; diff --git a/clients/client-cloudhsm-v2/models/models_0.ts b/clients/client-cloudhsm-v2/models/models_0.ts index 76635e6c1698..2e3ce282ac54 100644 --- a/clients/client-cloudhsm-v2/models/models_0.ts +++ b/clients/client-cloudhsm-v2/models/models_0.ts @@ -31,9 +31,11 @@ export namespace Tag { /** *

Contains information about a backup of an AWS CloudHSM cluster. All backup objects - * contain the BackupId, BackupState, ClusterId, and CreateTimestamp parameters. Backups that were copied - * into a destination region additionally contain the CopyTimestamp, SourceBackup, SourceCluster, - * and SourceRegion paramters. A backup that is pending deletion will include the DeleteTimestamp parameter.

+ * contain the BackupId, BackupState, ClusterId, and + * CreateTimestamp parameters. Backups that were copied into a destination region + * additionally contain the CopyTimestamp, SourceBackup, + * SourceCluster, and SourceRegion parameters. A backup that is + * pending deletion will include the DeleteTimestamp parameter.

*/ export interface Backup { /** @@ -42,42 +44,48 @@ export interface Backup { BackupId: string | undefined; /** - *

The date and time when the backup was copied from a source backup.

+ *

The state of the backup.

*/ - CopyTimestamp?: Date; + BackupState?: BackupState | string; /** - *

The AWS Region that contains the source backup from which the new backup was - * copied.

+ *

The identifier (ID) of the cluster that was backed up.

*/ - SourceRegion?: string; + ClusterId?: string; /** - *

The identifier (ID) of the cluster containing the source backup from which the new - * backup was copied.

+ *

The date and time when the backup was created.

*/ - SourceCluster?: string; + CreateTimestamp?: Date; /** - *

The date and time when the backup was created.

+ *

The date and time when the backup was copied from a source backup.

*/ - CreateTimestamp?: Date; + CopyTimestamp?: Date; /** - *

The identifier (ID) of the source backup from which the new backup was + *

Specifies whether the service should exempt a backup from the retention policy for the cluster. True exempts + * a backup from the retention policy. False means the service applies the backup retention policy defined at the cluster.

+ */ + NeverExpires?: boolean; + + /** + *

The AWS Region that contains the source backup from which the new backup was * copied.

*/ - SourceBackup?: string; + SourceRegion?: string; /** - *

The state of the backup.

+ *

The identifier (ID) of the source backup from which the new backup was + * copied.

*/ - BackupState?: BackupState | string; + SourceBackup?: string; /** - *

The identifier (ID) of the cluster that was backed up.

+ *

The identifier (ID) of the cluster containing the source backup from which the new + * backup was copied.

*/ - ClusterId?: string; + SourceCluster?: string; /** *

The date and time when the backup will be permanently deleted.

@@ -100,6 +108,32 @@ export enum BackupPolicy { DEFAULT = "DEFAULT", } +export enum BackupRetentionType { + DAYS = "DAYS", +} + +/** + *

A policy that defines the number of days to retain backups.

+ */ +export interface BackupRetentionPolicy { + /** + *

The type of backup retention policy. For the DAYS type, the value is + * the number of days to retain backups.

+ */ + Type?: BackupRetentionType | string; + + /** + *

Use a value between 7 - 379.

+ */ + Value?: string; +} + +export namespace BackupRetentionPolicy { + export const filterSensitiveLog = (obj: BackupRetentionPolicy): any => ({ + ...obj, + }); +} + /** *

The request was rejected because the requester does not have permission to perform the * requested operation.

@@ -195,14 +229,14 @@ export namespace CloudHsmTagException { export interface CopyBackupToRegionRequest { /** - *

The ID of the backup that will be copied to the destination region.

+ *

The AWS region that will contain your copied CloudHSM cluster backup.

*/ - BackupId: string | undefined; + DestinationRegion: string | undefined; /** - *

The AWS region that will contain your copied CloudHSM cluster backup.

+ *

The ID of the backup that will be copied to the destination region.

*/ - DestinationRegion: string | undefined; + BackupId: string | undefined; /** *

Tags to apply to the destination backup during creation. If you specify tags, only these tags will be applied to the destination backup. If you do not specify tags, the service copies tags from the source backup to the destination backup.

@@ -221,24 +255,24 @@ export namespace CopyBackupToRegionRequest { */ export interface DestinationBackup { /** - *

The identifier (ID) of the cluster containing the source backup from which the new backup was copied.

+ *

The date and time when both the source backup was created.

*/ - SourceCluster?: string; + CreateTimestamp?: Date; /** - *

The identifier (ID) of the source backup from which the new backup was copied.

+ *

The AWS region that contains the source backup from which the new backup was copied.

*/ - SourceBackup?: string; + SourceRegion?: string; /** - *

The date and time when both the source backup was created.

+ *

The identifier (ID) of the source backup from which the new backup was copied.

*/ - CreateTimestamp?: Date; + SourceBackup?: string; /** - *

The AWS region that contains the source backup from which the new backup was copied.

+ *

The identifier (ID) of the cluster containing the source backup from which the new backup was copied.

*/ - SourceRegion?: string; + SourceCluster?: string; } export namespace DestinationBackup { @@ -267,9 +301,9 @@ export namespace CopyBackupToRegionResponse { export interface CreateClusterRequest { /** - *

Tags to apply to the CloudHSM cluster during creation.

+ *

A policy that defines how the service retains backups.

*/ - TagList?: Tag[]; + BackupRetentionPolicy?: BackupRetentionPolicy; /** *

The type of HSM to use in the cluster. Currently the only allowed value is @@ -297,6 +331,11 @@ export interface CreateClusterRequest { * */ SubnetIds: string[] | undefined; + + /** + *

Tags to apply to the CloudHSM cluster during creation.

+ */ + TagList?: Tag[]; } export namespace CreateClusterRequest { @@ -309,11 +348,6 @@ export namespace CreateClusterRequest { *

Contains one or more certificates or a certificate signing request (CSR).

*/ export interface Certificates { - /** - *

The HSM certificate issued (signed) by the HSM hardware.

- */ - HsmCertificate?: string; - /** *

The cluster's certificate signing request (CSR). The CSR exists only when the cluster's * state is UNINITIALIZED.

@@ -321,10 +355,14 @@ export interface Certificates { ClusterCsr?: string; /** - *

The cluster certificate issued (signed) by the issuing certificate authority (CA) of - * the cluster's owner.

+ *

The HSM certificate issued (signed) by the HSM hardware.

*/ - ClusterCertificate?: string; + HsmCertificate?: string; + + /** + *

The HSM hardware certificate issued (signed) by AWS CloudHSM.

+ */ + AwsHardwareCertificate?: string; /** *

The HSM hardware certificate issued (signed) by the hardware manufacturer.

@@ -332,9 +370,10 @@ export interface Certificates { ManufacturerHardwareCertificate?: string; /** - *

The HSM hardware certificate issued (signed) by AWS CloudHSM.

+ *

The cluster certificate issued (signed) by the issuing certificate authority (CA) of + * the cluster's owner.

*/ - AwsHardwareCertificate?: string; + ClusterCertificate?: string; } export namespace Certificates { @@ -357,14 +396,14 @@ export enum HsmState { */ export interface Hsm { /** - *

The HSM's identifier (ID).

+ *

The Availability Zone that contains the HSM.

*/ - HsmId: string | undefined; + AvailabilityZone?: string; /** - *

The identifier (ID) of the HSM's elastic network interface (ENI).

+ *

The identifier (ID) of the cluster that contains the HSM.

*/ - EniId?: string; + ClusterId?: string; /** *

The subnet that contains the HSM's elastic network interface (ENI).

@@ -372,29 +411,29 @@ export interface Hsm { SubnetId?: string; /** - *

The HSM's state.

+ *

The identifier (ID) of the HSM's elastic network interface (ENI).

*/ - State?: HsmState | string; + EniId?: string; /** - *

The Availability Zone that contains the HSM.

+ *

The IP address of the HSM's elastic network interface (ENI).

*/ - AvailabilityZone?: string; + EniIp?: string; /** - *

The IP address of the HSM's elastic network interface (ENI).

+ *

The HSM's identifier (ID).

*/ - EniIp?: string; + HsmId: string | undefined; /** - *

A description of the HSM's state.

+ *

The HSM's state.

*/ - StateMessage?: string; + State?: HsmState | string; /** - *

The identifier (ID) of the cluster that contains the HSM.

+ *

A description of the HSM's state.

*/ - ClusterId?: string; + StateMessage?: string; } export namespace Hsm { @@ -420,76 +459,81 @@ export enum ClusterState { */ export interface Cluster { /** - *

The type of HSM that the cluster contains.

+ *

The cluster's backup policy.

*/ - HsmType?: string; + BackupPolicy?: BackupPolicy | string; /** - *

The identifier (ID) of the virtual private cloud (VPC) that contains the - * cluster.

+ *

A policy that defines how the service retains backups.

*/ - VpcId?: string; + BackupRetentionPolicy?: BackupRetentionPolicy; /** - *

The default password for the cluster's Pre-Crypto Officer (PRECO) user.

+ *

The cluster's identifier (ID).

*/ - PreCoPassword?: string; + ClusterId?: string; /** - *

The list of tags for the cluster.

+ *

The date and time when the cluster was created.

*/ - TagList?: Tag[]; + CreateTimestamp?: Date; /** - *

The identifier (ID) of the backup used to create the cluster. This value exists only - * when the cluster was created from a backup.

+ *

Contains information about the HSMs in the cluster.

*/ - SourceBackupId?: string; + Hsms?: Hsm[]; /** - *

The identifier (ID) of the cluster's security group.

+ *

The type of HSM that the cluster contains.

*/ - SecurityGroup?: string; + HsmType?: string; /** - *

Contains information about the HSMs in the cluster.

+ *

The default password for the cluster's Pre-Crypto Officer (PRECO) user.

*/ - Hsms?: Hsm[]; + PreCoPassword?: string; /** - *

Contains one or more certificates or a certificate signing request (CSR).

+ *

The identifier (ID) of the cluster's security group.

*/ - Certificates?: Certificates; + SecurityGroup?: string; /** - *

The cluster's identifier (ID).

+ *

The identifier (ID) of the backup used to create the cluster. This value exists only + * when the cluster was created from a backup.

*/ - ClusterId?: string; + SourceBackupId?: string; /** *

The cluster's state.

*/ State?: ClusterState | string; + /** + *

A description of the cluster's state.

+ */ + StateMessage?: string; + /** *

A map from availability zone to the cluster’s subnet in that availability zone.

*/ SubnetMapping?: { [key: string]: string }; /** - *

The cluster's backup policy.

+ *

The identifier (ID) of the virtual private cloud (VPC) that contains the + * cluster.

*/ - BackupPolicy?: BackupPolicy | string; + VpcId?: string; /** - *

The date and time when the cluster was created.

+ *

Contains one or more certificates or a certificate signing request (CSR).

*/ - CreateTimestamp?: Date; + Certificates?: Certificates; /** - *

A description of the cluster's state.

+ *

The list of tags for the cluster.

*/ - StateMessage?: string; + TagList?: Tag[]; } export namespace Cluster { @@ -512,13 +556,6 @@ export namespace CreateClusterResponse { } export interface CreateHsmRequest { - /** - *

The HSM's IP address. If you specify an IP address, use an available address from the - * subnet that maps to the Availability Zone where you are creating the HSM. If you don't specify - * an IP address, one is chosen for you from that subnet.

- */ - IpAddress?: string; - /** *

The identifier (ID) of the HSM's cluster. To find the cluster ID, use DescribeClusters.

*/ @@ -529,6 +566,13 @@ export interface CreateHsmRequest { * Availability Zones, use DescribeClusters.

*/ AvailabilityZone: string | undefined; + + /** + *

The HSM's IP address. If you specify an IP address, use an available address from the + * subnet that maps to the Availability Zone where you are creating the HSM. If you don't specify + * an IP address, one is chosen for you from that subnet.

+ */ + IpAddress?: string; } export namespace CreateHsmRequest { @@ -610,12 +654,6 @@ export interface DeleteHsmRequest { */ ClusterId: string | undefined; - /** - *

The IP address of the elastic network interface (ENI) of the HSM that you are - * deleting.

- */ - EniIp?: string; - /** *

The identifier (ID) of the HSM that you are deleting.

*/ @@ -626,6 +664,12 @@ export interface DeleteHsmRequest { * deleting.

*/ EniId?: string; + + /** + *

The IP address of the elastic network interface (ENI) of the HSM that you are + * deleting.

+ */ + EniIp?: string; } export namespace DeleteHsmRequest { @@ -660,12 +704,6 @@ export interface DescribeBackupsRequest { */ MaxResults?: number; - /** - *

Designates whether or not to sort the return backups by ascending chronological order - * of generation.

- */ - SortAscending?: boolean; - /** *

One or more filters to limit the items returned in the response.

*

Use the backupIds filter to return only the specified backups. Specify @@ -676,8 +714,18 @@ export interface DescribeBackupsRequest { * clusters. Specify clusters by their cluster identifier (ID).

*

Use the states filter to return only backups that match the specified * state.

+ *

Use the neverExpires filter to return backups filtered by the value in the + * neverExpires parameter. True returns all backups exempt from the + * backup retention policy. False returns all backups with a backup retention policy + * defined at the cluster.

*/ Filters?: { [key: string]: string[] }; + + /** + *

Designates whether or not to sort the return backups by ascending chronological order + * of generation.

+ */ + SortAscending?: boolean; } export namespace DescribeBackupsRequest { @@ -687,17 +735,17 @@ export namespace DescribeBackupsRequest { } export interface DescribeBackupsResponse { + /** + *

A list of backups.

+ */ + Backups?: Backup[]; + /** *

An opaque string that indicates that the response contains only a subset of backups. * Use this value in a subsequent DescribeBackups request to get more * backups.

*/ NextToken?: string; - - /** - *

A list of backups.

- */ - Backups?: Backup[]; } export namespace DescribeBackupsResponse { @@ -708,10 +756,15 @@ export namespace DescribeBackupsResponse { export interface DescribeClustersRequest { /** - *

The maximum number of clusters to return in the response. When there are more clusters - * than the number you specify, the response contains a NextToken value.

+ *

One or more filters to limit the items returned in the response.

+ *

Use the clusterIds filter to return only the specified clusters. Specify + * clusters by their cluster identifier (ID).

+ *

Use the vpcIds filter to return only the clusters in the specified virtual + * private clouds (VPCs). Specify VPCs by their VPC identifier (ID).

+ *

Use the states filter to return only clusters that match the specified + * state.

*/ - MaxResults?: number; + Filters?: { [key: string]: string[] }; /** *

The NextToken value that you received in the previous response. Use this @@ -720,15 +773,10 @@ export interface DescribeClustersRequest { NextToken?: string; /** - *

One or more filters to limit the items returned in the response.

- *

Use the clusterIds filter to return only the specified clusters. Specify - * clusters by their cluster identifier (ID).

- *

Use the vpcIds filter to return only the clusters in the specified virtual - * private clouds (VPCs). Specify VPCs by their VPC identifier (ID).

- *

Use the states filter to return only clusters that match the specified - * state.

+ *

The maximum number of clusters to return in the response. When there are more clusters + * than the number you specify, the response contains a NextToken value.

*/ - Filters?: { [key: string]: string[] }; + MaxResults?: number; } export namespace DescribeClustersRequest { @@ -738,17 +786,17 @@ export namespace DescribeClustersRequest { } export interface DescribeClustersResponse { + /** + *

A list of clusters.

+ */ + Clusters?: Cluster[]; + /** *

An opaque string that indicates that the response contains only a subset of clusters. * Use this value in a subsequent DescribeClusters request to get more * clusters.

*/ NextToken?: string; - - /** - *

A list of clusters.

- */ - Clusters?: Cluster[]; } export namespace DescribeClustersResponse { @@ -764,6 +812,12 @@ export interface InitializeClusterRequest { */ ClusterId: string | undefined; + /** + *

The cluster certificate issued (signed) by your issuing certificate authority (CA). The + * certificate must be in PEM format and can contain a maximum of 5000 characters.

+ */ + SignedCert: string | undefined; + /** *

The issuing certificate of the issuing certificate authority (CA) that issued (signed) * the cluster certificate. You must use a self-signed certificate. The certificate used to sign the HSM CSR must be directly available, and thus must be the @@ -771,12 +825,6 @@ export interface InitializeClusterRequest { * maximum of 5000 characters.

*/ TrustAnchor: string | undefined; - - /** - *

The cluster certificate issued (signed) by your issuing certificate authority (CA). The - * certificate must be in PEM format and can contain a maximum of 5000 characters.

- */ - SignedCert: string | undefined; } export namespace InitializeClusterRequest { @@ -787,14 +835,14 @@ export namespace InitializeClusterRequest { export interface InitializeClusterResponse { /** - *

A description of the cluster's state.

+ *

The cluster's state.

*/ - StateMessage?: string; + State?: ClusterState | string; /** - *

The cluster's state.

+ *

A description of the cluster's state.

*/ - State?: ClusterState | string; + StateMessage?: string; } export namespace InitializeClusterResponse { @@ -804,6 +852,12 @@ export namespace InitializeClusterResponse { } export interface ListTagsRequest { + /** + *

The cluster identifier (ID) for the cluster whose tags you are getting. To find the + * cluster ID, use DescribeClusters.

+ */ + ResourceId: string | undefined; + /** *

The NextToken value that you received in the previous response. Use this * value to get more tags.

@@ -815,12 +869,6 @@ export interface ListTagsRequest { * number you specify, the response contains a NextToken value.

*/ MaxResults?: number; - - /** - *

The cluster identifier (ID) for the cluster whose tags you are getting. To find the - * cluster ID, use DescribeClusters.

- */ - ResourceId: string | undefined; } export namespace ListTagsRequest { @@ -830,20 +878,89 @@ export namespace ListTagsRequest { } export interface ListTagsResponse { + /** + *

A list of tags.

+ */ + TagList: Tag[] | undefined; + /** *

An opaque string that indicates that the response contains only a subset of tags. Use * this value in a subsequent ListTags request to get more tags.

*/ NextToken?: string; +} + +export namespace ListTagsResponse { + export const filterSensitiveLog = (obj: ListTagsResponse): any => ({ + ...obj, + }); +} +export interface ModifyBackupAttributesRequest { /** - *

A list of tags.

+ *

The identifier (ID) of the backup to modify. To find the ID of a backup, use the DescribeBackups operation.

*/ - TagList: Tag[] | undefined; + BackupId: string | undefined; + + /** + *

Specifies whether the service should exempt a backup from the retention policy for the cluster. True exempts + * a backup from the retention policy. False means the service applies the backup retention policy defined at the cluster.

+ */ + NeverExpires: boolean | undefined; } -export namespace ListTagsResponse { - export const filterSensitiveLog = (obj: ListTagsResponse): any => ({ +export namespace ModifyBackupAttributesRequest { + export const filterSensitiveLog = (obj: ModifyBackupAttributesRequest): any => ({ + ...obj, + }); +} + +export interface ModifyBackupAttributesResponse { + /** + *

Contains information about a backup of an AWS CloudHSM cluster. All backup objects + * contain the BackupId, BackupState, ClusterId, and + * CreateTimestamp parameters. Backups that were copied into a destination region + * additionally contain the CopyTimestamp, SourceBackup, + * SourceCluster, and SourceRegion parameters. A backup that is + * pending deletion will include the DeleteTimestamp parameter.

+ */ + Backup?: Backup; +} + +export namespace ModifyBackupAttributesResponse { + export const filterSensitiveLog = (obj: ModifyBackupAttributesResponse): any => ({ + ...obj, + }); +} + +export interface ModifyClusterRequest { + /** + *

A policy that defines how the service retains backups.

+ */ + BackupRetentionPolicy: BackupRetentionPolicy | undefined; + + /** + *

The identifier (ID) of the cluster that you want to modify. To find the cluster ID, use + * DescribeClusters.

+ */ + ClusterId: string | undefined; +} + +export namespace ModifyClusterRequest { + export const filterSensitiveLog = (obj: ModifyClusterRequest): any => ({ + ...obj, + }); +} + +export interface ModifyClusterResponse { + /** + *

Contains information about an AWS CloudHSM cluster.

+ */ + Cluster?: Cluster; +} + +export namespace ModifyClusterResponse { + export const filterSensitiveLog = (obj: ModifyClusterResponse): any => ({ ...obj, }); } diff --git a/clients/client-cloudhsm-v2/protocols/Aws_json1_1.ts b/clients/client-cloudhsm-v2/protocols/Aws_json1_1.ts index bbb9e7adb5b4..4b132eb54604 100644 --- a/clients/client-cloudhsm-v2/protocols/Aws_json1_1.ts +++ b/clients/client-cloudhsm-v2/protocols/Aws_json1_1.ts @@ -8,11 +8,17 @@ import { DescribeBackupsCommandInput, DescribeBackupsCommandOutput } from "../co import { DescribeClustersCommandInput, DescribeClustersCommandOutput } from "../commands/DescribeClustersCommand"; import { InitializeClusterCommandInput, InitializeClusterCommandOutput } from "../commands/InitializeClusterCommand"; import { ListTagsCommandInput, ListTagsCommandOutput } from "../commands/ListTagsCommand"; +import { + ModifyBackupAttributesCommandInput, + ModifyBackupAttributesCommandOutput, +} from "../commands/ModifyBackupAttributesCommand"; +import { ModifyClusterCommandInput, ModifyClusterCommandOutput } from "../commands/ModifyClusterCommand"; import { RestoreBackupCommandInput, RestoreBackupCommandOutput } from "../commands/RestoreBackupCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; import { Backup, + BackupRetentionPolicy, Certificates, CloudHsmAccessDeniedException, CloudHsmInternalFailureException, @@ -43,6 +49,10 @@ import { InitializeClusterResponse, ListTagsRequest, ListTagsResponse, + ModifyBackupAttributesRequest, + ModifyBackupAttributesResponse, + ModifyClusterRequest, + ModifyClusterResponse, RestoreBackupRequest, RestoreBackupResponse, Tag, @@ -191,6 +201,32 @@ export const serializeAws_json1_1ListTagsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1ModifyBackupAttributesCommand = async ( + input: ModifyBackupAttributesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "BaldrApiService.ModifyBackupAttributes", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ModifyBackupAttributesRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1ModifyClusterCommand = async ( + input: ModifyClusterCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "BaldrApiService.ModifyCluster", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ModifyClusterRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1RestoreBackupCommand = async ( input: RestoreBackupCommandInput, context: __SerdeContext @@ -1140,6 +1176,180 @@ const deserializeAws_json1_1ListTagsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1ModifyBackupAttributesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ModifyBackupAttributesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ModifyBackupAttributesResponse(data, context); + const response: ModifyBackupAttributesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ModifyBackupAttributesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "CloudHsmAccessDeniedException": + case "com.amazonaws.cloudhsmv2#CloudHsmAccessDeniedException": + response = { + ...(await deserializeAws_json1_1CloudHsmAccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "CloudHsmInternalFailureException": + case "com.amazonaws.cloudhsmv2#CloudHsmInternalFailureException": + response = { + ...(await deserializeAws_json1_1CloudHsmInternalFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "CloudHsmInvalidRequestException": + case "com.amazonaws.cloudhsmv2#CloudHsmInvalidRequestException": + response = { + ...(await deserializeAws_json1_1CloudHsmInvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "CloudHsmResourceNotFoundException": + case "com.amazonaws.cloudhsmv2#CloudHsmResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1CloudHsmResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "CloudHsmServiceException": + case "com.amazonaws.cloudhsmv2#CloudHsmServiceException": + response = { + ...(await deserializeAws_json1_1CloudHsmServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1ModifyClusterCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ModifyClusterCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ModifyClusterResponse(data, context); + const response: ModifyClusterCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ModifyClusterCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "CloudHsmAccessDeniedException": + case "com.amazonaws.cloudhsmv2#CloudHsmAccessDeniedException": + response = { + ...(await deserializeAws_json1_1CloudHsmAccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "CloudHsmInternalFailureException": + case "com.amazonaws.cloudhsmv2#CloudHsmInternalFailureException": + response = { + ...(await deserializeAws_json1_1CloudHsmInternalFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "CloudHsmInvalidRequestException": + case "com.amazonaws.cloudhsmv2#CloudHsmInvalidRequestException": + response = { + ...(await deserializeAws_json1_1CloudHsmInvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "CloudHsmResourceNotFoundException": + case "com.amazonaws.cloudhsmv2#CloudHsmResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1CloudHsmResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "CloudHsmServiceException": + case "com.amazonaws.cloudhsmv2#CloudHsmServiceException": + response = { + ...(await deserializeAws_json1_1CloudHsmServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1RestoreBackupCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1507,6 +1717,13 @@ const deserializeAws_json1_1CloudHsmTagExceptionResponse = async ( return contents; }; +const serializeAws_json1_1BackupRetentionPolicy = (input: BackupRetentionPolicy, context: __SerdeContext): any => { + return { + ...(input.Type !== undefined && { Type: input.Type }), + ...(input.Value !== undefined && { Value: input.Value }), + }; +}; + const serializeAws_json1_1CopyBackupToRegionRequest = ( input: CopyBackupToRegionRequest, context: __SerdeContext @@ -1520,6 +1737,9 @@ const serializeAws_json1_1CopyBackupToRegionRequest = ( const serializeAws_json1_1CreateClusterRequest = (input: CreateClusterRequest, context: __SerdeContext): any => { return { + ...(input.BackupRetentionPolicy !== undefined && { + BackupRetentionPolicy: serializeAws_json1_1BackupRetentionPolicy(input.BackupRetentionPolicy, context), + }), ...(input.HsmType !== undefined && { HsmType: input.HsmType }), ...(input.SourceBackupId !== undefined && { SourceBackupId: input.SourceBackupId }), ...(input.SubnetIds !== undefined && { SubnetIds: serializeAws_json1_1SubnetIds(input.SubnetIds, context) }), @@ -1602,6 +1822,25 @@ const serializeAws_json1_1ListTagsRequest = (input: ListTagsRequest, context: __ }; }; +const serializeAws_json1_1ModifyBackupAttributesRequest = ( + input: ModifyBackupAttributesRequest, + context: __SerdeContext +): any => { + return { + ...(input.BackupId !== undefined && { BackupId: input.BackupId }), + ...(input.NeverExpires !== undefined && { NeverExpires: input.NeverExpires }), + }; +}; + +const serializeAws_json1_1ModifyClusterRequest = (input: ModifyClusterRequest, context: __SerdeContext): any => { + return { + ...(input.BackupRetentionPolicy !== undefined && { + BackupRetentionPolicy: serializeAws_json1_1BackupRetentionPolicy(input.BackupRetentionPolicy, context), + }), + ...(input.ClusterId !== undefined && { ClusterId: input.ClusterId }), + }; +}; + const serializeAws_json1_1RestoreBackupRequest = (input: RestoreBackupRequest, context: __SerdeContext): any => { return { ...(input.BackupId !== undefined && { BackupId: input.BackupId }), @@ -1662,6 +1901,7 @@ const deserializeAws_json1_1Backup = (output: any, context: __SerdeContext): Bac output.DeleteTimestamp !== undefined && output.DeleteTimestamp !== null ? new Date(Math.round(output.DeleteTimestamp * 1000)) : undefined, + NeverExpires: output.NeverExpires !== undefined && output.NeverExpires !== null ? output.NeverExpires : undefined, SourceBackup: output.SourceBackup !== undefined && output.SourceBackup !== null ? output.SourceBackup : undefined, SourceCluster: output.SourceCluster !== undefined && output.SourceCluster !== null ? output.SourceCluster : undefined, @@ -1673,6 +1913,13 @@ const deserializeAws_json1_1Backup = (output: any, context: __SerdeContext): Bac } as any; }; +const deserializeAws_json1_1BackupRetentionPolicy = (output: any, context: __SerdeContext): BackupRetentionPolicy => { + return { + Type: output.Type !== undefined && output.Type !== null ? output.Type : undefined, + Value: output.Value !== undefined && output.Value !== null ? output.Value : undefined, + } as any; +}; + const deserializeAws_json1_1Backups = (output: any, context: __SerdeContext): Backup[] => { return (output || []).map((entry: any) => deserializeAws_json1_1Backup(entry, context)); }; @@ -1751,6 +1998,10 @@ const deserializeAws_json1_1CloudHsmTagException = (output: any, context: __Serd const deserializeAws_json1_1Cluster = (output: any, context: __SerdeContext): Cluster => { return { BackupPolicy: output.BackupPolicy !== undefined && output.BackupPolicy !== null ? output.BackupPolicy : undefined, + BackupRetentionPolicy: + output.BackupRetentionPolicy !== undefined && output.BackupRetentionPolicy !== null + ? deserializeAws_json1_1BackupRetentionPolicy(output.BackupRetentionPolicy, context) + : undefined, Certificates: output.Certificates !== undefined && output.Certificates !== null ? deserializeAws_json1_1Certificates(output.Certificates, context) @@ -1928,6 +2179,27 @@ const deserializeAws_json1_1ListTagsResponse = (output: any, context: __SerdeCon } as any; }; +const deserializeAws_json1_1ModifyBackupAttributesResponse = ( + output: any, + context: __SerdeContext +): ModifyBackupAttributesResponse => { + return { + Backup: + output.Backup !== undefined && output.Backup !== null + ? deserializeAws_json1_1Backup(output.Backup, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1ModifyClusterResponse = (output: any, context: __SerdeContext): ModifyClusterResponse => { + return { + Cluster: + output.Cluster !== undefined && output.Cluster !== null + ? deserializeAws_json1_1Cluster(output.Cluster, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1RestoreBackupResponse = (output: any, context: __SerdeContext): RestoreBackupResponse => { return { Backup: diff --git a/clients/client-cloudwatch-events/CloudWatchEvents.ts b/clients/client-cloudwatch-events/CloudWatchEvents.ts index af5813588d1e..81b312f10dae 100644 --- a/clients/client-cloudwatch-events/CloudWatchEvents.ts +++ b/clients/client-cloudwatch-events/CloudWatchEvents.ts @@ -251,7 +251,7 @@ export class CloudWatchEvents extends CloudWatchEventsClient { /** *

Creates an archive of events with the specified settings. When you create an archive, * incoming events might not immediately start being sent to the archive. Allow a short - * period of time for changes to take effect.

+ * period of time for changes to take effect. If you do not specify a pattern to filter events sent to the archive, all events are sent to the archive except replayed events. Replayed events are not sent to an archive.

*/ public createArchive( args: CreateArchiveCommandInput, @@ -1391,12 +1391,13 @@ export class CloudWatchEvents extends CloudWatchEventsClient { * goes to by using the KinesisParameters argument. To invoke a command on * multiple EC2 instances with one rule, you can use the RunCommandParameters * field.

+ * *

To be able to make API calls against the resources that you own, Amazon EventBridge - * (CloudWatch Events) needs the appropriate permissions. For AWS Lambda and Amazon SNS - * resources, EventBridge relies on resource-based policies. For EC2 instances, Kinesis - * data streams, AWS Step Functions state machines and API Gateway REST APIs, EventBridge - * relies on IAM roles that you specify in the RoleARN argument in - * PutTargets. For more information, see Authentication and Access Control in the Amazon EventBridge User + * (CloudWatch Events) needs the appropriate permissions. For AWS Lambda and Amazon SNS resources, + * EventBridge relies on resource-based policies. For EC2 instances, Kinesis data + * streams, AWS Step Functions state machines and API Gateway REST APIs, EventBridge relies on IAM roles + * that you specify in the RoleARN argument in PutTargets. For more information, + * see Authentication and Access Control in the Amazon EventBridge User * Guide.

* *

If another AWS account is in the same region and has granted you permission (using @@ -1406,8 +1407,8 @@ export class CloudWatchEvents extends CloudWatchEventsClient { * run PutTargets. If your account sends events to another account, your * account is charged for each sent event. Each event sent to another account is charged as * a custom event. The account receiving the event is not charged. For more information, - * see Amazon EventBridge - * (CloudWatch Events) Pricing.

+ * see Amazon EventBridge (CloudWatch Events) + * Pricing.

* * *

diff --git a/clients/client-cloudwatch-events/models/models_0.ts b/clients/client-cloudwatch-events/models/models_0.ts index f9ca1588a69e..594e4182dfe3 100644 --- a/clients/client-cloudwatch-events/models/models_0.ts +++ b/clients/client-cloudwatch-events/models/models_0.ts @@ -103,19 +103,20 @@ export enum ArchiveState { */ export interface Archive { /** - *

The size of the archive, in bytes.

+ *

The name of the archive.

*/ - SizeBytes?: number; + ArchiveName?: string; /** - *

The number of events in the archive.

+ *

The ARN of the event bus associated with the archive. Only events from this event bus + * are sent to the archive.

*/ - EventCount?: number; + EventSourceArn?: string; /** - *

The number of days to retain events in the archive before they are deleted.

+ *

The current state of the archive.

*/ - RetentionDays?: number; + State?: ArchiveState | string; /** *

A description for the reason that the archive is in the current state.

@@ -123,25 +124,24 @@ export interface Archive { StateReason?: string; /** - *

The name of the archive.

+ *

The number of days to retain events in the archive before they are deleted.

*/ - ArchiveName?: string; + RetentionDays?: number; /** - *

The time stamp for the time that the archive was created.

+ *

The size of the archive, in bytes.

*/ - CreationTime?: Date; + SizeBytes?: number; /** - *

The current state of the archive.

+ *

The number of events in the archive.

*/ - State?: ArchiveState | string; + EventCount?: number; /** - *

The ARN of the event bus associated with the archive. Only events from this event bus - * are sent to the archive.

+ *

The time stamp for the time that the archive was created.

*/ - EventSourceArn?: string; + CreationTime?: Date; } export namespace Archive { @@ -184,14 +184,14 @@ export interface CancelReplayResponse { ReplayArn?: string; /** - *

The reason that the replay is in the current state.

+ *

The current state of the replay.

*/ - StateReason?: string; + State?: ReplayState | string; /** - *

The current state of the replay.

+ *

The reason that the replay is in the current state.

*/ - State?: ReplayState | string; + StateReason?: string; } export namespace CancelReplayResponse { @@ -218,24 +218,24 @@ export namespace IllegalStatusException { export interface CreateArchiveRequest { /** - *

A description for the archive.

+ *

The name for the archive to create.

*/ - Description?: string; + ArchiveName: string | undefined; /** - *

The name for the archive to create.

+ *

The ARN of the event source associated with the archive.

*/ - ArchiveName: string | undefined; + EventSourceArn: string | undefined; /** - *

An event pattern to use to filter events sent to the archive.

+ *

A description for the archive.

*/ - EventPattern?: string; + Description?: string; /** - *

The ARN of the event source associated with the archive.

+ *

An event pattern to use to filter events sent to the archive.

*/ - EventSourceArn: string | undefined; + EventPattern?: string; /** *

The number of days to retain events for. Default value is 0. If set to 0, events are @@ -252,14 +252,14 @@ export namespace CreateArchiveRequest { export interface CreateArchiveResponse { /** - *

The time at which the archive was created.

+ *

The ARN of the archive that was created.

*/ - CreationTime?: Date; + ArchiveArn?: string; /** - *

The ARN of the archive that was created.

+ *

The state of the archive that was created.

*/ - ArchiveArn?: string; + State?: ArchiveState | string; /** *

The reason that the archive is in the state.

@@ -267,9 +267,9 @@ export interface CreateArchiveResponse { StateReason?: string; /** - *

The state of the archive that was created.

+ *

The time at which the archive was created.

*/ - State?: ArchiveState | string; + CreationTime?: Date; } export namespace CreateArchiveResponse { @@ -348,11 +348,6 @@ export namespace Tag { } export interface CreateEventBusRequest { - /** - *

Tags to associate with the event bus.

- */ - Tags?: Tag[]; - /** *

The name of the new event bus.

*

Event bus names cannot contain the / character. You can't use the name @@ -368,6 +363,11 @@ export interface CreateEventBusRequest { * the new event bus will be matched with.

*/ EventSourceName?: string; + + /** + *

Tags to associate with the event bus.

+ */ + Tags?: Tag[]; } export namespace CreateEventBusRequest { @@ -476,14 +476,14 @@ export namespace DeleteEventBusRequest { export interface DeletePartnerEventSourceRequest { /** - *

The AWS account ID of the AWS customer that the event source was created for.

+ *

The name of the event source to delete.

*/ - Account: string | undefined; + Name: string | undefined; /** - *

The name of the event source to delete.

+ *

The AWS account ID of the AWS customer that the event source was created for.

*/ - Name: string | undefined; + Account: string | undefined; } export namespace DeletePartnerEventSourceRequest { @@ -494,24 +494,24 @@ export namespace DeletePartnerEventSourceRequest { export interface DeleteRuleRequest { /** - *

If this is a managed rule, created by an AWS service on your behalf, you must specify - * Force as True to delete the rule. This parameter is - * ignored for rules that are not managed rules. You can check whether a rule is a managed - * rule by using DescribeRule or ListRules and checking the - * ManagedBy field of the response.

+ *

The name of the rule.

*/ - Force?: boolean; + Name: string | undefined; /** - *

The event bus associated with the rule. If you omit this, the default event bus is + *

The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is * used.

*/ EventBusName?: string; /** - *

The name of the rule.

+ *

If this is a managed rule, created by an AWS service on your behalf, you must specify + * Force as True to delete the rule. This parameter is + * ignored for rules that are not managed rules. You can check whether a rule is a managed + * rule by using DescribeRule or ListRules and checking the + * ManagedBy field of the response.

*/ - Name: string | undefined; + Force?: boolean; } export namespace DeleteRuleRequest { @@ -555,35 +555,40 @@ export namespace DescribeArchiveRequest { } export interface DescribeArchiveResponse { + /** + *

The ARN of the archive.

+ */ + ArchiveArn?: string; + /** *

The name of the archive.

*/ ArchiveName?: string; /** - *

The time at which the archive was created.

+ *

The ARN of the event source associated with the archive.

*/ - CreationTime?: Date; + EventSourceArn?: string; /** - *

The ARN of the archive.

+ *

The description of the archive.

*/ - ArchiveArn?: string; + Description?: string; /** - *

The state of the archive.

+ *

The event pattern used to filter events sent to the archive.

*/ - State?: ArchiveState | string; + EventPattern?: string; /** - *

The size of the archive in bytes.

+ *

The state of the archive.

*/ - SizeBytes?: number; + State?: ArchiveState | string; /** - *

The number of events in the archive.

+ *

The reason that the archive is in the state.

*/ - EventCount?: number; + StateReason?: string; /** *

The number of days to retain events for in the archive.

@@ -591,24 +596,19 @@ export interface DescribeArchiveResponse { RetentionDays?: number; /** - *

The event pattern used to filter events sent to the archive.

- */ - EventPattern?: string; - - /** - *

The reason that the archive is in the state.

+ *

The size of the archive in bytes.

*/ - StateReason?: string; + SizeBytes?: number; /** - *

The description of the archive.

+ *

The number of events in the archive.

*/ - Description?: string; + EventCount?: number; /** - *

The ARN of the event source associated with the archive.

+ *

The time at which the archive was created.

*/ - EventSourceArn?: string; + CreationTime?: Date; } export namespace DescribeArchiveResponse { @@ -619,7 +619,7 @@ export namespace DescribeArchiveResponse { export interface DescribeEventBusRequest { /** - *

The name of the event bus to show details for. If you omit this, the default event bus + *

The name or ARN of the event bus to show details for. If you omit this, the default event bus * is displayed.

*/ Name?: string; @@ -638,17 +638,17 @@ export interface DescribeEventBusResponse { */ Name?: string; - /** - *

The policy that enables the external account to send events to your - * account.

- */ - Policy?: string; - /** *

The Amazon Resource Name (ARN) of the account permitted to write events to the * current account.

*/ Arn?: string; + + /** + *

The policy that enables the external account to send events to your + * account.

+ */ + Policy?: string; } export namespace DescribeEventBusResponse { @@ -678,18 +678,14 @@ export enum EventSourceState { export interface DescribeEventSourceResponse { /** - *

The state of the event source. If it is ACTIVE, you have already created a matching - * event bus for this event source, and that event bus is active. If it is PENDING, either - * you haven't yet created a matching event bus, or that event bus is deactivated. If it is - * DELETED, you have created a matching event bus, but the event source has since been - * deleted.

+ *

The ARN of the partner event source.

*/ - State?: EventSourceState | string; + Arn?: string; /** - *

The name of the partner event source.

+ *

The name of the SaaS partner that created the event source.

*/ - Name?: string; + CreatedBy?: string; /** *

The date and time that the event source was created.

@@ -697,20 +693,24 @@ export interface DescribeEventSourceResponse { CreationTime?: Date; /** - *

The ARN of the partner event source.

+ *

The date and time that the event source will expire if you do not create a matching + * event bus.

*/ - Arn?: string; + ExpirationTime?: Date; /** - *

The name of the SaaS partner that created the event source.

+ *

The name of the partner event source.

*/ - CreatedBy?: string; + Name?: string; /** - *

The date and time that the event source will expire if you do not create a matching - * event bus.

+ *

The state of the event source. If it is ACTIVE, you have already created a matching + * event bus for this event source, and that event bus is active. If it is PENDING, either + * you haven't yet created a matching event bus, or that event bus is deactivated. If it is + * DELETED, you have created a matching event bus, but the event source has since been + * deleted.

*/ - ExpirationTime?: Date; + State?: EventSourceState | string; } export namespace DescribeEventSourceResponse { @@ -787,19 +787,19 @@ export namespace ReplayDestination { export interface DescribeReplayResponse { /** - *

The reason that the replay is in the current state.

+ *

The name of the replay.

*/ - StateReason?: string; + ReplayName?: string; /** - *

A time stamp for the time that the replay stopped.

+ *

The ARN of the replay.

*/ - ReplayEndTime?: Date; + ReplayArn?: string; /** - *

The name of the replay.

+ *

The description of the replay.

*/ - ReplayName?: string; + Description?: string; /** *

The current state of the replay.

@@ -807,44 +807,44 @@ export interface DescribeReplayResponse { State?: ReplayState | string; /** - *

The time that the event was last replayed.

+ *

The reason that the replay is in the current state.

*/ - EventLastReplayedTime?: Date; + StateReason?: string; /** - *

The time stamp for the last event that was replayed from the archive.

+ *

The ARN of the archive events were replayed from.

*/ - EventEndTime?: Date; + EventSourceArn?: string; /** - *

A time stamp for the time that the replay started.

+ *

A ReplayDestination object that contains details about the replay.

*/ - ReplayStartTime?: Date; + Destination?: ReplayDestination; /** - *

The description of the replay.

+ *

The time stamp of the first event that was last replayed from the archive.

*/ - Description?: string; + EventStartTime?: Date; /** - *

A ReplayDestination object that contains details about the replay.

+ *

The time stamp for the last event that was replayed from the archive.

*/ - Destination?: ReplayDestination; + EventEndTime?: Date; /** - *

The ARN of the replay.

+ *

The time that the event was last replayed.

*/ - ReplayArn?: string; + EventLastReplayedTime?: Date; /** - *

The ARN of the archive events were replayed from.

+ *

A time stamp for the time that the replay started.

*/ - EventSourceArn?: string; + ReplayStartTime?: Date; /** - *

The time stamp of the first event that was last replayed from the archive.

+ *

A time stamp for the time that the replay stopped.

*/ - EventStartTime?: Date; + ReplayEndTime?: Date; } export namespace DescribeReplayResponse { @@ -855,15 +855,15 @@ export namespace DescribeReplayResponse { export interface DescribeRuleRequest { /** - *

The event bus associated with the rule. If you omit this, the default event bus is - * used.

+ *

The name of the rule.

*/ - EventBusName?: string; + Name: string | undefined; /** - *

The name of the rule.

+ *

The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is + * used.

*/ - Name: string | undefined; + EventBusName?: string; } export namespace DescribeRuleRequest { @@ -879,10 +879,14 @@ export enum RuleState { export interface DescribeRuleResponse { /** - *

If this is a managed rule, created by an AWS service on your behalf, this field - * displays the principal name of the AWS service that created the rule.

+ *

The name of the rule.

*/ - ManagedBy?: string; + Name?: string; + + /** + *

The Amazon Resource Name (ARN) of the rule.

+ */ + Arn?: string; /** *

The event pattern. For more information, see Events and @@ -897,20 +901,15 @@ export interface DescribeRuleResponse { */ ScheduleExpression?: string; - /** - *

The description of the rule.

- */ - Description?: string; - /** *

Specifies whether the rule is enabled or disabled.

*/ State?: RuleState | string; /** - *

The Amazon Resource Name (ARN) of the rule.

+ *

The description of the rule.

*/ - Arn?: string; + Description?: string; /** *

The Amazon Resource Name (ARN) of the IAM role associated with the rule.

@@ -918,14 +917,22 @@ export interface DescribeRuleResponse { RoleArn?: string; /** - *

The name of the rule.

+ *

If this is a managed rule, created by an AWS service on your behalf, this field + * displays the principal name of the AWS service that created the rule.

*/ - Name?: string; + ManagedBy?: string; /** - *

The event bus associated with the rule.

+ *

The name of the event bus associated with the rule.

*/ EventBusName?: string; + + /** + *

The account ID of the user that created the rule. If you use PutRule + * to put a rule on an event bus in another account, the other account is the owner of the rule, and the rule ARN includes the account ID for that account. + * However, the value for CreatedBy is the account ID as the account that created the rule in the other account.

+ */ + CreatedBy?: string; } export namespace DescribeRuleResponse { @@ -936,15 +943,15 @@ export namespace DescribeRuleResponse { export interface DisableRuleRequest { /** - *

The event bus associated with the rule. If you omit this, the default event bus is - * used.

+ *

The name of the rule.

*/ - EventBusName?: string; + Name: string | undefined; /** - *

The name of the rule.

+ *

The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is + * used.

*/ - Name: string | undefined; + EventBusName?: string; } export namespace DisableRuleRequest { @@ -955,15 +962,15 @@ export namespace DisableRuleRequest { export interface EnableRuleRequest { /** - *

The event bus associated with the rule. If you omit this, the default event bus is - * used.

+ *

The name of the rule.

*/ - EventBusName?: string; + Name: string | undefined; /** - *

The name of the rule.

+ *

The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is + * used.

*/ - Name: string | undefined; + EventBusName?: string; } export namespace EnableRuleRequest { @@ -974,30 +981,30 @@ export namespace EnableRuleRequest { export interface ListArchivesRequest { /** - *

The state of the archive.

+ *

A name prefix to filter the archives returned. Only archives with name that match the + * prefix are returned.

*/ - State?: ArchiveState | string; + NamePrefix?: string; /** - *

The token returned by a previous call to retrieve the next set of results.

+ *

The ARN of the event source associated with the archive.

*/ - NextToken?: string; + EventSourceArn?: string; /** - *

The ARN of the event source associated with the archive.

+ *

The state of the archive.

*/ - EventSourceArn?: string; + State?: ArchiveState | string; /** - *

The maximum number of results to return.

+ *

The token returned by a previous call to retrieve the next set of results.

*/ - Limit?: number; + NextToken?: string; /** - *

A name prefix to filter the archives returned. Only archives with name that match the - * prefix are returned.

+ *

The maximum number of results to return.

*/ - NamePrefix?: string; + Limit?: number; } export namespace ListArchivesRequest { @@ -1031,17 +1038,17 @@ export interface ListEventBusesRequest { */ NamePrefix?: string; + /** + *

The token returned by a previous call to retrieve the next set of results.

+ */ + NextToken?: string; + /** *

Specifying this limits the number of results returned by this operation. The operation * also returns a NextToken which you can use in a subsequent operation to retrieve the * next set of results.

*/ Limit?: number; - - /** - *

The token returned by a previous call to retrieve the next set of results.

- */ - NextToken?: string; } export namespace ListEventBusesRequest { @@ -1058,6 +1065,11 @@ export namespace ListEventBusesRequest { * SaaS partner. These events come from the partners services or applications.

*/ export interface EventBus { + /** + *

The name of the event bus.

+ */ + Name?: string; + /** *

The ARN of the event bus.

*/ @@ -1068,11 +1080,6 @@ export interface EventBus { * events to this event bus.

*/ Policy?: string; - - /** - *

The name of the event bus.

- */ - Name?: string; } export namespace EventBus { @@ -1101,13 +1108,6 @@ export namespace ListEventBusesResponse { } export interface ListEventSourcesRequest { - /** - *

Specifying this limits the number of results returned by this operation. The operation - * also returns a NextToken which you can use in a subsequent operation to retrieve the - * next set of results.

- */ - Limit?: number; - /** *

Specifying this limits the results to only those partner event sources with names that * start with the specified prefix.

@@ -1118,6 +1118,13 @@ export interface ListEventSourcesRequest { *

The token returned by a previous call to retrieve the next set of results.

*/ NextToken?: string; + + /** + *

Specifying this limits the number of results returned by this operation. The operation + * also returns a NextToken which you can use in a subsequent operation to retrieve the + * next set of results.

+ */ + Limit?: number; } export namespace ListEventSourcesRequest { @@ -1133,19 +1140,19 @@ export namespace ListEventSourcesRequest { */ export interface EventSource { /** - *

The date and time the event source was created.

+ *

The ARN of the event source.

*/ - CreationTime?: Date; + Arn?: string; /** - *

The name of the event source.

+ *

The name of the partner that created the event source.

*/ - Name?: string; + CreatedBy?: string; /** - *

The name of the partner that created the event source.

+ *

The date and time the event source was created.

*/ - CreatedBy?: string; + CreationTime?: Date; /** *

The date and time that the event source will expire, if the AWS account doesn't create @@ -1154,9 +1161,9 @@ export interface EventSource { ExpirationTime?: Date; /** - *

The ARN of the event source.

+ *

The name of the event source.

*/ - Arn?: string; + Name?: string; /** *

The state of the event source. If it is ACTIVE, you have already created a matching @@ -1176,15 +1183,15 @@ export namespace EventSource { export interface ListEventSourcesResponse { /** - *

A token you can use in a subsequent operation to retrieve the next set of - * results.

+ *

The list of event sources.

*/ - NextToken?: string; + EventSources?: EventSource[]; /** - *

The list of event sources.

+ *

A token you can use in a subsequent operation to retrieve the next set of + * results.

*/ - EventSources?: EventSource[]; + NextToken?: string; } export namespace ListEventSourcesResponse { @@ -1195,11 +1202,9 @@ export namespace ListEventSourcesResponse { export interface ListPartnerEventSourceAccountsRequest { /** - *

Specifying this limits the number of results returned by this operation. The operation - * also returns a NextToken which you can use in a subsequent operation to retrieve the - * next set of results.

+ *

The name of the partner event source to display account information about.

*/ - Limit?: number; + EventSourceName: string | undefined; /** *

The token returned by a previous call to this operation. Specifying this retrieves the @@ -1208,9 +1213,11 @@ export interface ListPartnerEventSourceAccountsRequest { NextToken?: string; /** - *

The name of the partner event source to display account information about.

+ *

Specifying this limits the number of results returned by this operation. The operation + * also returns a NextToken which you can use in a subsequent operation to retrieve the + * next set of results.

*/ - EventSourceName: string | undefined; + Limit?: number; } export namespace ListPartnerEventSourceAccountsRequest { @@ -1229,13 +1236,9 @@ export interface PartnerEventSourceAccount { Account?: string; /** - *

The state of the event source. If it is ACTIVE, you have already created a matching - * event bus for this event source, and that event bus is active. If it is PENDING, either - * you haven't yet created a matching event bus, or that event bus is deactivated. If it is - * DELETED, you have created a matching event bus, but the event source has since been - * deleted.

+ *

The date and time the event source was created.

*/ - State?: EventSourceState | string; + CreationTime?: Date; /** *

The date and time that the event source will expire, if the AWS account doesn't create @@ -1244,9 +1247,13 @@ export interface PartnerEventSourceAccount { ExpirationTime?: Date; /** - *

The date and time the event source was created.

+ *

The state of the event source. If it is ACTIVE, you have already created a matching + * event bus for this event source, and that event bus is active. If it is PENDING, either + * you haven't yet created a matching event bus, or that event bus is deactivated. If it is + * DELETED, you have created a matching event bus, but the event source has since been + * deleted.

*/ - CreationTime?: Date; + State?: EventSourceState | string; } export namespace PartnerEventSourceAccount { @@ -1257,15 +1264,15 @@ export namespace PartnerEventSourceAccount { export interface ListPartnerEventSourceAccountsResponse { /** - *

A token you can use in a subsequent operation to retrieve the next set of - * results.

+ *

The list of partner event sources returned by the operation.

*/ - NextToken?: string; + PartnerEventSourceAccounts?: PartnerEventSourceAccount[]; /** - *

The list of partner event sources returned by the operation.

+ *

A token you can use in a subsequent operation to retrieve the next set of + * results.

*/ - PartnerEventSourceAccounts?: PartnerEventSourceAccount[]; + NextToken?: string; } export namespace ListPartnerEventSourceAccountsResponse { @@ -1275,18 +1282,18 @@ export namespace ListPartnerEventSourceAccountsResponse { } export interface ListPartnerEventSourcesRequest { - /** - *

The token returned by a previous call to this operation. Specifying this retrieves the - * next set of results.

- */ - NextToken?: string; - /** *

If you specify this, the results are limited to only those partner event sources that * start with the string you specify.

*/ NamePrefix: string | undefined; + /** + *

The token returned by a previous call to this operation. Specifying this retrieves the + * next set of results.

+ */ + NextToken?: string; + /** *

pecifying this limits the number of results returned by this operation. The operation * also returns a NextToken which you can use in a subsequent operation to retrieve the @@ -1308,14 +1315,14 @@ export namespace ListPartnerEventSourcesRequest { */ export interface PartnerEventSource { /** - *

The name of the partner event source.

+ *

The ARN of the partner event source.

*/ - Name?: string; + Arn?: string; /** - *

The ARN of the partner event source.

+ *

The name of the partner event source.

*/ - Arn?: string; + Name?: string; } export namespace PartnerEventSource { @@ -1345,15 +1352,15 @@ export namespace ListPartnerEventSourcesResponse { export interface ListReplaysRequest { /** - *

A name prefix to filter the archives returned. Only archives with name that match the + *

A name prefix to filter the replays returned. Only replays with name that match the * prefix are returned.

*/ NamePrefix?: string; /** - *

The token returned by a previous call to retrieve the next set of results.

+ *

The state of the replay.

*/ - NextToken?: string; + State?: ReplayState | string; /** *

The ARN of the event source associated with the replay.

@@ -1361,14 +1368,14 @@ export interface ListReplaysRequest { EventSourceArn?: string; /** - *

The maximum number of replays to retrieve.

+ *

The token returned by a previous call to retrieve the next set of results.

*/ - Limit?: number; + NextToken?: string; /** - *

The state of the replay.

+ *

The maximum number of replays to retrieve.

*/ - State?: ReplayState | string; + Limit?: number; } export namespace ListReplaysRequest { @@ -1382,24 +1389,24 @@ export namespace ListReplaysRequest { */ export interface Replay { /** - *

A time stamp for the time that the last event was replayed.

+ *

The name of the replay.

*/ - EventLastReplayedTime?: Date; + ReplayName?: string; /** - *

A time stamp for the time that the replay started.

+ *

The ARN of the archive to replay event from.

*/ - ReplayStartTime?: Date; + EventSourceArn?: string; /** - *

A description of why the replay is in the current state.

+ *

The current state of the replay.

*/ - StateReason?: string; + State?: ReplayState | string; /** - *

The current state of the replay.

+ *

A description of why the replay is in the current state.

*/ - State?: ReplayState | string; + StateReason?: string; /** *

A time stamp for the time to start replaying events. This is determined by the time in @@ -1408,25 +1415,25 @@ export interface Replay { EventStartTime?: Date; /** - *

A time stamp for the time that the replay completed.

+ *

A time stamp for the time to start replaying events. Any event with a creation time + * prior to the EventEndTime specified is replayed.

*/ - ReplayEndTime?: Date; + EventEndTime?: Date; /** - *

The name of the replay.

+ *

A time stamp for the time that the last event was replayed.

*/ - ReplayName?: string; + EventLastReplayedTime?: Date; /** - *

The ARN of the archive to replay event from.

+ *

A time stamp for the time that the replay started.

*/ - EventSourceArn?: string; + ReplayStartTime?: Date; /** - *

A time stamp for the time to start replaying events. Any event with a creation time - * prior to the EventEndTime specified is replayed.

+ *

A time stamp for the time that the replay completed.

*/ - EventEndTime?: Date; + ReplayEndTime?: Date; } export namespace Replay { @@ -1436,16 +1443,16 @@ export namespace Replay { } export interface ListReplaysResponse { - /** - *

The token returned by a previous call to retrieve the next set of results.

- */ - NextToken?: string; - /** *

An array of Replay objects that contain information about the * replay.

*/ Replays?: Replay[]; + + /** + *

The token returned by a previous call to retrieve the next set of results.

+ */ + NextToken?: string; } export namespace ListReplaysResponse { @@ -1456,14 +1463,15 @@ export namespace ListReplaysResponse { export interface ListRuleNamesByTargetRequest { /** - *

The maximum number of results to return.

+ *

The Amazon Resource Name (ARN) of the target resource.

*/ - Limit?: number; + TargetArn: string | undefined; /** - *

The Amazon Resource Name (ARN) of the target resource.

+ *

The name or ARN of the event bus to list rules for. If you omit this, the default event bus is + * used.

*/ - TargetArn: string | undefined; + EventBusName?: string; /** *

The token returned by a previous call to retrieve the next set of @@ -1472,10 +1480,9 @@ export interface ListRuleNamesByTargetRequest { NextToken?: string; /** - *

Limits the results to show only the rules associated with the specified event - * bus.

+ *

The maximum number of results to return.

*/ - EventBusName?: string; + Limit?: number; } export namespace ListRuleNamesByTargetRequest { @@ -1505,26 +1512,26 @@ export namespace ListRuleNamesByTargetResponse { export interface ListRulesRequest { /** - *

The token returned by a previous call to retrieve the next set of - * results.

+ *

The prefix matching the rule name.

*/ - NextToken?: string; + NamePrefix?: string; /** - *

The maximum number of results to return.

+ *

The name or ARN of the event bus to list the rules for. If you omit this, the default event bus is + * used.

*/ - Limit?: number; + EventBusName?: string; /** - *

The prefix matching the rule name.

+ *

The token returned by a previous call to retrieve the next set of + * results.

*/ - NamePrefix?: string; + NextToken?: string; /** - *

Limits the results to show only the rules associated with the specified event - * bus.

+ *

The maximum number of results to return.

*/ - EventBusName?: string; + Limit?: number; } export namespace ListRulesRequest { @@ -1543,16 +1550,9 @@ export interface Rule { Name?: string; /** - *

If the rule was created on behalf of your account by an AWS service, this field - * displays the principal name of the service that created the rule.

- */ - ManagedBy?: string; - - /** - *

The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5 - * minutes)".

+ *

The Amazon Resource Name (ARN) of the rule.

*/ - ScheduleExpression?: string; + Arn?: string; /** *

The event pattern of the rule. For more information, see Events and @@ -1562,15 +1562,21 @@ export interface Rule { EventPattern?: string; /** - *

The Amazon Resource Name (ARN) of the rule.

+ *

The state of the rule.

*/ - Arn?: string; + State?: RuleState | string; /** *

The description of the rule.

*/ Description?: string; + /** + *

The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5 + * minutes)".

+ */ + ScheduleExpression?: string; + /** *

The Amazon Resource Name (ARN) of the role that is used for target * invocation.

@@ -1578,14 +1584,16 @@ export interface Rule { RoleArn?: string; /** - *

The event bus associated with the rule.

+ *

If the rule was created on behalf of your account by an AWS service, this field + * displays the principal name of the service that created the rule.

*/ - EventBusName?: string; + ManagedBy?: string; /** - *

The state of the rule.

+ *

The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is + * used.

*/ - State?: RuleState | string; + EventBusName?: string; } export namespace Rule { @@ -1596,15 +1604,15 @@ export namespace Rule { export interface ListRulesResponse { /** - *

Indicates whether there are additional results to retrieve. If there are no more - * results, the value is null.

+ *

The rules that match the specified criteria.

*/ - NextToken?: string; + Rules?: Rule[]; /** - *

The rules that match the specified criteria.

+ *

Indicates whether there are additional results to retrieve. If there are no more + * results, the value is null.

*/ - Rules?: Rule[]; + NextToken?: string; } export namespace ListRulesResponse { @@ -1641,7 +1649,12 @@ export namespace ListTagsForResourceResponse { export interface ListTargetsByRuleRequest { /** - *

The event bus associated with the rule. If you omit this, the default event bus is + *

The name of the rule.

+ */ + Rule: string | undefined; + + /** + *

The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is * used.

*/ EventBusName?: string; @@ -1655,12 +1668,7 @@ export interface ListTargetsByRuleRequest { /** *

The maximum number of results to return.

*/ - Limit?: number; - - /** - *

The name of the rule.

- */ - Rule: string | undefined; + Limit?: number; } export namespace ListTargetsByRuleRequest { @@ -1712,6 +1720,18 @@ export namespace BatchRetryStrategy { *

The custom parameters to be used when the target is an AWS Batch job.

*/ export interface BatchParameters { + /** + *

The ARN or name of the job definition to use if the event target is an AWS Batch + * job. This job definition must already exist.

+ */ + JobDefinition: string | undefined; + + /** + *

The name to use for this execution of the job, if the target is an AWS Batch + * job.

+ */ + JobName: string | undefined; + /** *

The array properties for the submitted job, such as the size of the array. The * array size can be between 2 and 10,000. If you specify array properties for a job, it @@ -1720,12 +1740,6 @@ export interface BatchParameters { */ ArrayProperties?: BatchArrayProperties; - /** - *

The ARN or name of the job definition to use if the event target is an AWS Batch - * job. This job definition must already exist.

- */ - JobDefinition: string | undefined; - /** *

The retry strategy to use for failed jobs, if the target is an AWS Batch job. The * retry strategy is the number of times to retry the failed job execution. Valid values @@ -1733,12 +1747,6 @@ export interface BatchParameters { * defined in the job definition.

*/ RetryStrategy?: BatchRetryStrategy; - - /** - *

The name to use for this execution of the job, if the target is an AWS Batch - * job.

- */ - JobName: string | undefined; } export namespace BatchParameters { @@ -1776,11 +1784,10 @@ export enum LaunchType { */ export interface AwsVpcConfiguration { /** - *

Specifies whether the task's elastic network interface receives a public IP address. - * You can specify ENABLED only when LaunchType in - * EcsParameters is set to FARGATE.

+ *

Specifies the subnets associated with the task. These subnets must all be in the same + * VPC. You can specify as many as 16 subnets.

*/ - AssignPublicIp?: AssignPublicIp | string; + Subnets: string[] | undefined; /** *

Specifies the security groups associated with the task. These security groups must all @@ -1790,10 +1797,11 @@ export interface AwsVpcConfiguration { SecurityGroups?: string[]; /** - *

Specifies the subnets associated with the task. These subnets must all be in the same - * VPC. You can specify as many as 16 subnets.

+ *

Specifies whether the task's elastic network interface receives a public IP address. + * You can specify ENABLED only when LaunchType in + * EcsParameters is set to FARGATE.

*/ - Subnets: string[] | undefined; + AssignPublicIp?: AssignPublicIp | string; } export namespace AwsVpcConfiguration { @@ -1825,19 +1833,16 @@ export namespace NetworkConfiguration { */ export interface EcsParameters { /** - *

Specifies the platform version for the task. Specify only the numeric portion of the - * platform version, such as 1.1.0.

- *

This structure is used only if LaunchType is FARGATE. For - * more information about valid platform versions, see AWS Fargate Platform - * Versions in the Amazon Elastic Container Service Developer - * Guide.

+ *

The ARN of the task definition to use if the event target is an Amazon ECS task. + *

*/ - PlatformVersion?: string; + TaskDefinitionArn: string | undefined; /** - *

Specifies an ECS task group for the task. The maximum length is 255 characters.

+ *

The number of tasks to create based on TaskDefinition. The default is + * 1.

*/ - Group?: string; + TaskCount?: number; /** *

Specifies the launch type on which your task is running. The launch type that you @@ -1849,12 +1854,6 @@ export interface EcsParameters { */ LaunchType?: LaunchType | string; - /** - *

The ARN of the task definition to use if the event target is an Amazon ECS task. - *

- */ - TaskDefinitionArn: string | undefined; - /** *

Use this structure if the ECS task uses the awsvpc network mode. This * structure specifies the VPC subnets and security groups associated with the task, and @@ -1867,10 +1866,19 @@ export interface EcsParameters { NetworkConfiguration?: NetworkConfiguration; /** - *

The number of tasks to create based on TaskDefinition. The default is - * 1.

+ *

Specifies the platform version for the task. Specify only the numeric portion of the + * platform version, such as 1.1.0.

+ *

This structure is used only if LaunchType is FARGATE. For + * more information about valid platform versions, see AWS Fargate Platform + * Versions in the Amazon Elastic Container Service Developer + * Guide.

*/ - TaskCount?: number; + PlatformVersion?: string; + + /** + *

Specifies an ECS task group for the task. The maximum length is 255 characters.

+ */ + Group?: string; } export namespace EcsParameters { @@ -1885,10 +1893,10 @@ export namespace EcsParameters { */ export interface HttpParameters { /** - *

The query string keys/values that need to be sent as part of request invoking the API - * Gateway REST API.

+ *

The path parameter values to be used to populate API Gateway REST API path wildcards + * ("*").

*/ - QueryStringParameters?: { [key: string]: string }; + PathParameterValues?: string[]; /** *

The headers that need to be sent as part of request invoking the API Gateway REST @@ -1897,10 +1905,10 @@ export interface HttpParameters { HeaderParameters?: { [key: string]: string }; /** - *

The path parameter values to be used to populate API Gateway REST API path wildcards - * ("*").

+ *

The query string keys/values that need to be sent as part of request invoking the API + * Gateway REST API.

*/ - PathParameterValues?: string[]; + QueryStringParameters?: { [key: string]: string }; } export namespace HttpParameters { @@ -1914,6 +1922,18 @@ export namespace HttpParameters { * one or more pieces of data extracted from the event.

*/ export interface InputTransformer { + /** + *

Map of JSON paths to be extracted from the event. You can then insert these in the + * template in InputTemplate to produce the output you want to be sent to the + * target.

+ *

+ * InputPathsMap is an array key-value pairs, where each value is a valid + * JSON path. You can have as many as 10 key-value pairs. You must use JSON dot notation, + * not bracket notation.

+ *

The keys cannot start with "AWS."

+ */ + InputPathsMap?: { [key: string]: string }; + /** *

Input template where you specify placeholders that will be filled with the values * of the keys from InputPathsMap to customize the data sent to the target. @@ -1970,18 +1990,6 @@ export interface InputTransformer { *

*/ InputTemplate: string | undefined; - - /** - *

Map of JSON paths to be extracted from the event. You can then insert these in the - * template in InputTemplate to produce the output you want to be sent to the - * target.

- *

- * InputPathsMap is an array key-value pairs, where each value is a valid - * JSON path. You can have as many as 10 key-value pairs. You must use JSON dot notation, - * not bracket notation.

- *

The keys cannot start with "AWS."

- */ - InputPathsMap?: { [key: string]: string }; } export namespace InputTransformer { @@ -2018,15 +2026,16 @@ export namespace KinesisParameters { */ export interface RedshiftDataParameters { /** - *

The name of the SQL statement. You can name the SQL statement when you create it to - * identify the query.

+ *

The name or ARN of the secret that enables access to the database. Required when + * authenticating using AWS Secrets Manager.

*/ - StatementName?: string; + SecretManagerArn?: string; /** - *

The SQL statement text to run.

+ *

The name of the database. Required when authenticating using temporary + * credentials.

*/ - Sql: string | undefined; + Database: string | undefined; /** *

The database user name. Required when authenticating using temporary @@ -2035,22 +2044,21 @@ export interface RedshiftDataParameters { DbUser?: string; /** - *

Indicates whether to send an event back to EventBridge after the SQL statement - * runs.

+ *

The SQL statement text to run.

*/ - WithEvent?: boolean; + Sql: string | undefined; /** - *

The name of the database. Required when authenticating using temporary - * credentials.

+ *

The name of the SQL statement. You can name the SQL statement when you create it to + * identify the query.

*/ - Database: string | undefined; + StatementName?: string; /** - *

The name or ARN of the secret that enables access to the database. Required when - * authenticating using AWS Secrets Manager.

+ *

Indicates whether to send an event back to EventBridge after the SQL statement + * runs.

*/ - SecretManagerArn?: string; + WithEvent?: boolean; } export namespace RedshiftDataParameters { @@ -2158,6 +2166,23 @@ export namespace SqsParameters { * EventBridge User Guide
.

*/ export interface Target { + /** + *

The ID of the target.

+ */ + Id: string | undefined; + + /** + *

The Amazon Resource Name (ARN) of the target.

+ */ + Arn: string | undefined; + + /** + *

The Amazon Resource Name (ARN) of the IAM role to be used for this target when the + * rule is triggered. If one rule triggers multiple targets, you can use a different IAM + * role for each target.

+ */ + RoleArn?: string; + /** *

Valid JSON text passed to the target. In this case, nothing from the event itself * is passed to the target. For more information, see The JavaScript Object Notation @@ -2166,55 +2191,53 @@ export interface Target { Input?: string; /** - *

The RetryPolicy object that contains the retry policy configuration to - * use for the dead-letter queue.

+ *

The value of the JSONPath that is used for extracting part of the matched event + * when passing it to the target. You must use JSON dot notation, not bracket notation. For + * more information about JSON paths, see JSONPath.

*/ - RetryPolicy?: RetryPolicy; + InputPath?: string; /** - *

Contains the Amazon ECS task definition and task count to be used, if the event - * target is an Amazon ECS task. For more information about Amazon ECS tasks, see Task - * Definitions in the Amazon EC2 Container Service Developer - * Guide.

+ *

Settings to enable you to provide custom input to a target based on certain event + * data. You can extract one or more key-value pairs from the event and then use that data + * to send customized input to the target.

*/ - EcsParameters?: EcsParameters; + InputTransformer?: InputTransformer; /** - *

Contains the message group ID to use when the target is a FIFO queue.

- *

If you specify an SQS FIFO queue as a target, the queue must have content-based - * deduplication enabled.

+ *

The custom parameter you can use to control the shard assignment, when the target + * is a Kinesis data stream. If you do not include this parameter, the default is to use + * the eventId as the partition key.

*/ - SqsParameters?: SqsParameters; + KinesisParameters?: KinesisParameters; /** - *

The ID of the target.

+ *

Parameters used when you are using the rule to invoke Amazon EC2 Run + * Command.

*/ - Id: string | undefined; + RunCommandParameters?: RunCommandParameters; /** - *

If the event target is an AWS Batch job, this contains the job definition, job - * name, and other parameters. For more information, see Jobs in the AWS Batch User + *

Contains the Amazon ECS task definition and task count to be used, if the event + * target is an Amazon ECS task. For more information about Amazon ECS tasks, see Task + * Definitions in the Amazon EC2 Container Service Developer * Guide.

*/ - BatchParameters?: BatchParameters; - - /** - *

The Amazon Resource Name (ARN) of the target.

- */ - Arn: string | undefined; + EcsParameters?: EcsParameters; /** - *

The DeadLetterConfig that defines the target queue to send dead-letter - * queue events to.

+ *

If the event target is an AWS Batch job, this contains the job definition, job + * name, and other parameters. For more information, see Jobs in the AWS Batch User + * Guide.

*/ - DeadLetterConfig?: DeadLetterConfig; + BatchParameters?: BatchParameters; /** - *

The value of the JSONPath that is used for extracting part of the matched event - * when passing it to the target. You must use JSON dot notation, not bracket notation. For - * more information about JSON paths, see JSONPath.

+ *

Contains the message group ID to use when the target is a FIFO queue.

+ *

If you specify an SQS FIFO queue as a target, the queue must have content-based + * deduplication enabled.

*/ - InputPath?: string; + SqsParameters?: SqsParameters; /** *

Contains the HTTP parameters to use when the target is a API Gateway REST @@ -2225,26 +2248,6 @@ export interface Target { */ HttpParameters?: HttpParameters; - /** - *

Parameters used when you are using the rule to invoke Amazon EC2 Run - * Command.

- */ - RunCommandParameters?: RunCommandParameters; - - /** - *

Settings to enable you to provide custom input to a target based on certain event - * data. You can extract one or more key-value pairs from the event and then use that data - * to send customized input to the target.

- */ - InputTransformer?: InputTransformer; - - /** - *

The Amazon Resource Name (ARN) of the IAM role to be used for this target when the - * rule is triggered. If one rule triggers multiple targets, you can use a different IAM - * role for each target.

- */ - RoleArn?: string; - /** *

Contains the Redshift Data API parameters to use when the target is a Redshift * cluster.

@@ -2255,11 +2258,16 @@ export interface Target { RedshiftDataParameters?: RedshiftDataParameters; /** - *

The custom parameter you can use to control the shard assignment, when the target - * is a Kinesis data stream. If you do not include this parameter, the default is to use - * the eventId as the partition key.

+ *

The DeadLetterConfig that defines the target queue to send dead-letter + * queue events to.

*/ - KinesisParameters?: KinesisParameters; + DeadLetterConfig?: DeadLetterConfig; + + /** + *

The RetryPolicy object that contains the retry policy configuration to + * use for the dead-letter queue.

+ */ + RetryPolicy?: RetryPolicy; } export namespace Target { @@ -2287,16 +2295,10 @@ export namespace ListTargetsByRuleResponse { }); } -/** - *

Represents an event to be submitted.

- */ -export interface PutEventsRequestEntry { - /** - *

AWS resources, identified by Amazon Resource Name (ARN), which the event primarily - * concerns. Any number, including zero, may be present.

- */ - Resources?: string[]; - +/** + *

Represents an event to be submitted.

+ */ +export interface PutEventsRequestEntry { /** *

The time stamp of the event, per RFC3339. If no time stamp * is provided, the time stamp of the PutEvents call is used.

@@ -2304,15 +2306,21 @@ export interface PutEventsRequestEntry { Time?: Date; /** - *

The event bus that will receive the event. Only the rules that are associated with - * this event bus will be able to match the event.

+ *

The source of the event.

*/ - EventBusName?: string; + Source?: string; /** - *

The source of the event.

+ *

AWS resources, identified by Amazon Resource Name (ARN), which the event primarily + * concerns. Any number, including zero, may be present.

*/ - Source?: string; + Resources?: string[]; + + /** + *

Free-form string used to decide what fields to expect in the event + * detail.

+ */ + DetailType?: string; /** *

A valid JSON string. There is no other schema imposed. The JSON string may contain @@ -2321,10 +2329,11 @@ export interface PutEventsRequestEntry { Detail?: string; /** - *

Free-form string used to decide what fields to expect in the event - * detail.

+ *

The name or ARN of the event bus to receive the event. Only the rules that are associated with + * this event bus are used to match the event. If you omit this, the default event bus is + * used.

*/ - DetailType?: string; + EventBusName?: string; } export namespace PutEventsRequestEntry { @@ -2352,11 +2361,6 @@ export namespace PutEventsRequest { *

Represents an event that failed to be submitted.

*/ export interface PutEventsResultEntry { - /** - *

The error message that explains why the event submission failed.

- */ - ErrorMessage?: string; - /** *

The ID of the event.

*/ @@ -2366,6 +2370,11 @@ export interface PutEventsResultEntry { *

The error code that indicates why the event submission failed.

*/ ErrorCode?: string; + + /** + *

The error message that explains why the event submission failed.

+ */ + ErrorMessage?: string; } export namespace PutEventsResultEntry { @@ -2399,15 +2408,9 @@ export namespace PutEventsResponse { */ export interface PutPartnerEventsRequestEntry { /** - *

A free-form string used to decide what fields to expect in the event detail.

- */ - DetailType?: string; - - /** - *

A valid JSON string. There is no other schema imposed. The JSON string may contain - * fields and nested subobjects.

+ *

The date and time of the event.

*/ - Detail?: string; + Time?: Date; /** *

The event source that is generating the evntry.

@@ -2421,9 +2424,15 @@ export interface PutPartnerEventsRequestEntry { Resources?: string[]; /** - *

The date and time of the event.

+ *

A free-form string used to decide what fields to expect in the event detail.

*/ - Time?: Date; + DetailType?: string; + + /** + *

A valid JSON string. There is no other schema imposed. The JSON string may contain + * fields and nested subobjects.

+ */ + Detail?: string; } export namespace PutPartnerEventsRequestEntry { @@ -2449,6 +2458,11 @@ export namespace PutPartnerEventsRequest { *

Represents an event that a partner tried to generate, but failed.

*/ export interface PutPartnerEventsResultEntry { + /** + *

The ID of the event.

+ */ + EventId?: string; + /** *

The error code that indicates why the event submission failed.

*/ @@ -2458,11 +2472,6 @@ export interface PutPartnerEventsResultEntry { *

The error message that explains why the event submission failed.

*/ ErrorMessage?: string; - - /** - *

The ID of the event.

- */ - EventId?: string; } export namespace PutPartnerEventsResultEntry { @@ -2546,7 +2555,7 @@ export namespace Condition { export interface PutPermissionRequest { /** - *

The event bus associated with the rule. If you omit this, the default event bus is + *

The name of the event bus associated with the rule. If you omit this, the default event bus is * used.

*/ EventBusName?: string; @@ -2555,7 +2564,27 @@ export interface PutPermissionRequest { *

The action that you are enabling the other account to perform. Currently, this must * be events:PutEvents.

*/ - Action: string | undefined; + Action?: string; + + /** + *

The 12-digit AWS account ID that you are permitting to put events to your default + * event bus. Specify "*" to permit any account to put events to your default event + * bus.

+ * + *

If you specify "*" without specifying Condition, avoid creating rules + * that may match undesirable events. To create more secure rules, make sure that the event + * pattern for each rule contains an account field with a specific account ID + * from which to receive events. Rules with an account field do not match any events sent + * from other accounts.

+ */ + Principal?: string; + + /** + *

An identifier string for the external account that you are granting permissions to. + * If you later want to revoke the permission for this external account, specify this + * StatementId when you run RemovePermission.

+ */ + StatementId?: string; /** *

This parameter enables you to limit the permission to accounts that fulfill a certain @@ -2573,24 +2602,10 @@ export interface PutPermissionRequest { Condition?: Condition; /** - *

An identifier string for the external account that you are granting permissions to. - * If you later want to revoke the permission for this external account, specify this - * StatementId when you run RemovePermission.

- */ - StatementId: string | undefined; - - /** - *

The 12-digit AWS account ID that you are permitting to put events to your default - * event bus. Specify "*" to permit any account to put events to your default event - * bus.

- * - *

If you specify "*" without specifying Condition, avoid creating rules - * that may match undesirable events. To create more secure rules, make sure that the event - * pattern for each rule contains an account field with a specific account ID - * from which to receive events. Rules with an account field do not match any events sent - * from other accounts.

+ *

A JSON string that describes the permission policy statement. You can include a Policy parameter + * in the request instead of using the StatementId, Action, Principal, or Condition parameters.

*/ - Principal: string | undefined; + Policy?: string; } export namespace PutPermissionRequest { @@ -2601,11 +2616,9 @@ export namespace PutPermissionRequest { export interface PutRuleRequest { /** - *

The event pattern. For more information, see Events and - * Event Patterns in the Amazon EventBridge User - * Guide.

+ *

The name of the rule that you are creating or updating.

*/ - EventPattern?: string; + Name: string | undefined; /** *

The scheduling expression. For example, "cron(0 20 * * ? *)" or "rate(5 @@ -2614,35 +2627,37 @@ export interface PutRuleRequest { ScheduleExpression?: string; /** - *

The event bus to associate with this rule. If you omit this, the default event bus is - * used.

+ *

The event pattern. For more information, see Events and + * Event Patterns in the Amazon EventBridge User + * Guide.

*/ - EventBusName?: string; + EventPattern?: string; /** - *

The list of key-value pairs to associate with the rule.

+ *

Indicates whether the rule is enabled or disabled.

*/ - Tags?: Tag[]; + State?: RuleState | string; /** - *

The Amazon Resource Name (ARN) of the IAM role associated with the rule.

+ *

A description of the rule.

*/ - RoleArn?: string; + Description?: string; /** - *

The name of the rule that you are creating or updating.

+ *

The Amazon Resource Name (ARN) of the IAM role associated with the rule.

*/ - Name: string | undefined; + RoleArn?: string; /** - *

A description of the rule.

+ *

The list of key-value pairs to associate with the rule.

*/ - Description?: string; + Tags?: Tag[]; /** - *

Indicates whether the rule is enabled or disabled.

+ *

The name or ARN of the event bus to associate with this rule. If you omit this, the default event bus is + * used.

*/ - State?: RuleState | string; + EventBusName?: string; } export namespace PutRuleRequest { @@ -2666,20 +2681,20 @@ export namespace PutRuleResponse { export interface PutTargetsRequest { /** - *

The targets to update or add to the rule.

+ *

The name of the rule.

*/ - Targets: Target[] | undefined; + Rule: string | undefined; /** - *

The name of the event bus associated with the rule. If you omit this, the default + *

The name or ARN of the event bus associated with the rule. If you omit this, the default * event bus is used.

*/ EventBusName?: string; /** - *

The name of the rule.

+ *

The targets to update or add to the rule.

*/ - Rule: string | undefined; + Targets: Target[] | undefined; } export namespace PutTargetsRequest { @@ -2692,11 +2707,6 @@ export namespace PutTargetsRequest { *

Represents a target that failed to be added to a rule.

*/ export interface PutTargetsResultEntry { - /** - *

The error message that explains why the target addition failed.

- */ - ErrorMessage?: string; - /** *

The ID of the target.

*/ @@ -2708,6 +2718,11 @@ export interface PutTargetsResultEntry { * same time.

*/ ErrorCode?: string; + + /** + *

The error message that explains why the target addition failed.

+ */ + ErrorMessage?: string; } export namespace PutTargetsResultEntry { @@ -2739,7 +2754,12 @@ export interface RemovePermissionRequest { *

The statement ID corresponding to the account that is no longer allowed to put * events to the default event bus.

*/ - StatementId: string | undefined; + StatementId?: string; + + /** + *

Specifies whether to remove all permissions.

+ */ + RemoveAllPermissions?: boolean; /** *

The name of the event bus to revoke permissions for. If you omit this, the default @@ -2755,22 +2775,14 @@ export namespace RemovePermissionRequest { } export interface RemoveTargetsRequest { - /** - *

If this is a managed rule, created by an AWS service on your behalf, you must specify - * Force as True to remove targets. This parameter is ignored - * for rules that are not managed rules. You can check whether a rule is a managed rule by - * using DescribeRule or ListRules and checking the - * ManagedBy field of the response.

- */ - Force?: boolean; - /** *

The name of the rule.

*/ Rule: string | undefined; /** - *

The name of the event bus associated with the rule.

+ *

The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is + * used.

*/ EventBusName?: string; @@ -2778,6 +2790,15 @@ export interface RemoveTargetsRequest { *

The IDs of the targets to remove from the rule.

*/ Ids: string[] | undefined; + + /** + *

If this is a managed rule, created by an AWS service on your behalf, you must specify + * Force as True to remove targets. This parameter is ignored + * for rules that are not managed rules. You can check whether a rule is a managed rule by + * using DescribeRule or ListRules and checking the + * ManagedBy field of the response.

+ */ + Force?: boolean; } export namespace RemoveTargetsRequest { @@ -2790,11 +2811,6 @@ export namespace RemoveTargetsRequest { *

Represents a target that failed to be removed from a rule.

*/ export interface RemoveTargetsResultEntry { - /** - *

The error message that explains why the target removal failed.

- */ - ErrorMessage?: string; - /** *

The ID of the target.

*/ @@ -2806,6 +2822,11 @@ export interface RemoveTargetsResultEntry { * same time.

*/ ErrorCode?: string; + + /** + *

The error message that explains why the target removal failed.

+ */ + ErrorMessage?: string; } export namespace RemoveTargetsResultEntry { @@ -2816,14 +2837,14 @@ export namespace RemoveTargetsResultEntry { export interface RemoveTargetsResponse { /** - *

The failed target entries.

+ *

The number of failed entries.

*/ - FailedEntries?: RemoveTargetsResultEntry[]; + FailedEntryCount?: number; /** - *

The number of failed entries.

+ *

The failed target entries.

*/ - FailedEntryCount?: number; + FailedEntries?: RemoveTargetsResultEntry[]; } export namespace RemoveTargetsResponse { @@ -2839,26 +2860,26 @@ export interface StartReplayRequest { ReplayName: string | undefined; /** - *

A time stamp for the time to start replaying events. Only events that occurred between - * the EventStartTime and EventEndTime are replayed.

+ *

A description for the replay to start.

*/ - EventStartTime: Date | undefined; + Description?: string; /** - *

A description for the replay to start.

+ *

The ARN of the archive to replay events from.

*/ - Description?: string; + EventSourceArn: string | undefined; /** - *

A time stamp for the time to stop replaying events. Only events that occurred between + *

A time stamp for the time to start replaying events. Only events that occurred between * the EventStartTime and EventEndTime are replayed.

*/ - EventEndTime: Date | undefined; + EventStartTime: Date | undefined; /** - *

The ARN of the archive to replay events from.

+ *

A time stamp for the time to stop replaying events. Only events that occurred between + * the EventStartTime and EventEndTime are replayed.

*/ - EventSourceArn: string | undefined; + EventEndTime: Date | undefined; /** *

A ReplayDestination object that includes details about the destination @@ -2875,9 +2896,9 @@ export namespace StartReplayRequest { export interface StartReplayResponse { /** - *

The reason that the replay is in the state.

+ *

The ARN of the replay.

*/ - StateReason?: string; + ReplayArn?: string; /** *

The state of the replay.

@@ -2885,14 +2906,14 @@ export interface StartReplayResponse { State?: ReplayState | string; /** - *

The time at which the replay started.

+ *

The reason that the replay is in the state.

*/ - ReplayStartTime?: Date; + StateReason?: string; /** - *

The ARN of the replay.

+ *

The time at which the replay started.

*/ - ReplayArn?: string; + ReplayStartTime?: Date; } export namespace StartReplayResponse { @@ -2928,17 +2949,17 @@ export namespace TagResourceResponse { } export interface TestEventPatternRequest { - /** - *

The event, in JSON format, to test against the event pattern.

- */ - Event: string | undefined; - /** *

The event pattern. For more information, see Events and * Event Patterns in the Amazon EventBridge User * Guide.

*/ EventPattern: string | undefined; + + /** + *

The event, in JSON format, to test against the event pattern.

+ */ + Event: string | undefined; } export namespace TestEventPatternRequest { @@ -2962,14 +2983,14 @@ export namespace TestEventPatternResponse { export interface UntagResourceRequest { /** - *

The list of tag keys to remove from the resource.

+ *

The ARN of the EventBridge resource from which you are removing tags.

*/ - TagKeys: string[] | undefined; + ResourceARN: string | undefined; /** - *

The ARN of the EventBridge resource from which you are removing tags.

+ *

The list of tag keys to remove from the resource.

*/ - ResourceARN: string | undefined; + TagKeys: string[] | undefined; } export namespace UntagResourceRequest { @@ -2988,9 +3009,9 @@ export namespace UntagResourceResponse { export interface UpdateArchiveRequest { /** - *

The event pattern to use to filter events sent to the archive.

+ *

The name of the archive to update.

*/ - EventPattern?: string; + ArchiveName: string | undefined; /** *

The description for the archive.

@@ -2998,9 +3019,9 @@ export interface UpdateArchiveRequest { Description?: string; /** - *

The name of the archive to update.

+ *

The event pattern to use to filter events sent to the archive.

*/ - ArchiveName: string | undefined; + EventPattern?: string; /** *

The number of days to retain events in the archive.

@@ -3016,9 +3037,9 @@ export namespace UpdateArchiveRequest { export interface UpdateArchiveResponse { /** - *

The reason that the archive is in the current state.

+ *

The ARN of the archive.

*/ - StateReason?: string; + ArchiveArn?: string; /** *

The state of the archive.

@@ -3026,14 +3047,14 @@ export interface UpdateArchiveResponse { State?: ArchiveState | string; /** - *

The time at which the archive was updated.

+ *

The reason that the archive is in the current state.

*/ - CreationTime?: Date; + StateReason?: string; /** - *

The ARN of the archive.

+ *

The time at which the archive was updated.

*/ - ArchiveArn?: string; + CreationTime?: Date; } export namespace UpdateArchiveResponse { diff --git a/clients/client-cloudwatch-events/protocols/Aws_json1_1.ts b/clients/client-cloudwatch-events/protocols/Aws_json1_1.ts index 6b0e01358915..bd3d055cd07a 100644 --- a/clients/client-cloudwatch-events/protocols/Aws_json1_1.ts +++ b/clients/client-cloudwatch-events/protocols/Aws_json1_1.ts @@ -2858,6 +2858,14 @@ const deserializeAws_json1_1PutPermissionCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "OperationDisabledException": + case "com.amazonaws.cloudwatchevents#OperationDisabledException": + response = { + ...(await deserializeAws_json1_1OperationDisabledExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "PolicyLengthExceededException": case "com.amazonaws.cloudwatchevents#PolicyLengthExceededException": response = { @@ -3116,6 +3124,14 @@ const deserializeAws_json1_1RemovePermissionCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "OperationDisabledException": + case "com.amazonaws.cloudwatchevents#OperationDisabledException": + response = { + ...(await deserializeAws_json1_1OperationDisabledExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ResourceNotFoundException": case "com.amazonaws.cloudwatchevents#ResourceNotFoundException": response = { @@ -4199,6 +4215,7 @@ const serializeAws_json1_1PutPermissionRequest = (input: PutPermissionRequest, c ...(input.Action !== undefined && { Action: input.Action }), ...(input.Condition !== undefined && { Condition: serializeAws_json1_1Condition(input.Condition, context) }), ...(input.EventBusName !== undefined && { EventBusName: input.EventBusName }), + ...(input.Policy !== undefined && { Policy: input.Policy }), ...(input.Principal !== undefined && { Principal: input.Principal }), ...(input.StatementId !== undefined && { StatementId: input.StatementId }), }; @@ -4252,6 +4269,7 @@ const serializeAws_json1_1RedshiftDataParameters = (input: RedshiftDataParameter const serializeAws_json1_1RemovePermissionRequest = (input: RemovePermissionRequest, context: __SerdeContext): any => { return { ...(input.EventBusName !== undefined && { EventBusName: input.EventBusName }), + ...(input.RemoveAllPermissions !== undefined && { RemoveAllPermissions: input.RemoveAllPermissions }), ...(input.StatementId !== undefined && { StatementId: input.StatementId }), }; }; @@ -4658,6 +4676,7 @@ const deserializeAws_json1_1DescribeReplayResponse = (output: any, context: __Se const deserializeAws_json1_1DescribeRuleResponse = (output: any, context: __SerdeContext): DescribeRuleResponse => { return { Arn: output.Arn !== undefined && output.Arn !== null ? output.Arn : undefined, + CreatedBy: output.CreatedBy !== undefined && output.CreatedBy !== null ? output.CreatedBy : undefined, Description: output.Description !== undefined && output.Description !== null ? output.Description : undefined, EventBusName: output.EventBusName !== undefined && output.EventBusName !== null ? output.EventBusName : undefined, EventPattern: output.EventPattern !== undefined && output.EventPattern !== null ? output.EventPattern : undefined, diff --git a/clients/client-codeguru-reviewer/CodeGuruReviewer.ts b/clients/client-codeguru-reviewer/CodeGuruReviewer.ts index b0a5aa4e5656..e5e14728eed5 100644 --- a/clients/client-codeguru-reviewer/CodeGuruReviewer.ts +++ b/clients/client-codeguru-reviewer/CodeGuruReviewer.ts @@ -49,11 +49,22 @@ import { ListRepositoryAssociationsCommandInput, ListRepositoryAssociationsCommandOutput, } from "./commands/ListRepositoryAssociationsCommand"; +import { + ListTagsForResourceCommand, + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "./commands/ListTagsForResourceCommand"; import { PutRecommendationFeedbackCommand, PutRecommendationFeedbackCommandInput, PutRecommendationFeedbackCommandOutput, } from "./commands/PutRecommendationFeedbackCommand"; +import { TagResourceCommand, TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; +import { + UntagResourceCommand, + UntagResourceCommandInput, + UntagResourceCommandOutput, +} from "./commands/UntagResourceCommand"; import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** @@ -66,6 +77,13 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; * * Amazon CodeGuru Reviewer User Guide. *

+ * + *

+ * To improve the security of your CodeGuru Reviewer API calls, you can establish a private connection between your VPC and CodeGuru Reviewer by + * creating an interface VPC endpoint. For more information, see + * CodeGuru Reviewer and interface + * VPC endpoints (AWS PrivateLink) in the Amazon CodeGuru Reviewer User Guide. + *

*/ export class CodeGuruReviewer extends CodeGuruReviewerClient { /** @@ -126,7 +144,11 @@ export class CodeGuruReviewer extends CodeGuruReviewerClient { /** *

- * Use to create a code review for a repository analysis. + * Use to create a code review with a + * CodeReviewType + * + * of RepositoryAnalysis. This type of code review analyzes all code under a specified branch in an associated repository. + * PullRequest code reviews are automatically triggered by a pull request so cannot be created using this method. *

*/ public createCodeReview( @@ -448,6 +470,38 @@ export class CodeGuruReviewer extends CodeGuruReviewerClient { } } + /** + *

Returns the list of tags associated with an associated repository resource.

+ */ + public listTagsForResource( + args: ListTagsForResourceCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listTagsForResource( + args: ListTagsForResourceCommandInput, + cb: (err: any, data?: ListTagsForResourceCommandOutput) => void + ): void; + public listTagsForResource( + args: ListTagsForResourceCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListTagsForResourceCommandOutput) => void + ): void; + public listTagsForResource( + args: ListTagsForResourceCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListTagsForResourceCommandOutput) => void), + cb?: (err: any, data?: ListTagsForResourceCommandOutput) => void + ): Promise | void { + const command = new ListTagsForResourceCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

* Stores customer feedback for a CodeGuru Reviewer recommendation. When this API is called again with different reactions the previous feedback is overwritten. @@ -481,4 +535,62 @@ export class CodeGuruReviewer extends CodeGuruReviewerClient { return this.send(command, optionsOrCb); } } + + /** + *

Adds one or more tags to an associated repository.

+ */ + public tagResource(args: TagResourceCommandInput, options?: __HttpHandlerOptions): Promise; + public tagResource(args: TagResourceCommandInput, cb: (err: any, data?: TagResourceCommandOutput) => void): void; + public tagResource( + args: TagResourceCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: TagResourceCommandOutput) => void + ): void; + public tagResource( + args: TagResourceCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: TagResourceCommandOutput) => void), + cb?: (err: any, data?: TagResourceCommandOutput) => void + ): Promise | void { + const command = new TagResourceCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Removes a tag from an associated repository.

+ */ + public untagResource( + args: UntagResourceCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public untagResource( + args: UntagResourceCommandInput, + cb: (err: any, data?: UntagResourceCommandOutput) => void + ): void; + public untagResource( + args: UntagResourceCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UntagResourceCommandOutput) => void + ): void; + public untagResource( + args: UntagResourceCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UntagResourceCommandOutput) => void), + cb?: (err: any, data?: UntagResourceCommandOutput) => void + ): Promise | void { + const command = new UntagResourceCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } } diff --git a/clients/client-codeguru-reviewer/CodeGuruReviewerClient.ts b/clients/client-codeguru-reviewer/CodeGuruReviewerClient.ts index 8e21c91cbcee..c47c47f49640 100644 --- a/clients/client-codeguru-reviewer/CodeGuruReviewerClient.ts +++ b/clients/client-codeguru-reviewer/CodeGuruReviewerClient.ts @@ -29,10 +29,16 @@ import { ListRepositoryAssociationsCommandInput, ListRepositoryAssociationsCommandOutput, } from "./commands/ListRepositoryAssociationsCommand"; +import { + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "./commands/ListTagsForResourceCommand"; import { PutRecommendationFeedbackCommandInput, PutRecommendationFeedbackCommandOutput, } from "./commands/PutRecommendationFeedbackCommand"; +import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; +import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; import { ClientDefaultValues as __ClientDefaultValues } from "./runtimeConfig"; import { EndpointsInputConfig, @@ -93,7 +99,10 @@ export type ServiceInputTypes = | ListRecommendationFeedbackCommandInput | ListRecommendationsCommandInput | ListRepositoryAssociationsCommandInput - | PutRecommendationFeedbackCommandInput; + | ListTagsForResourceCommandInput + | PutRecommendationFeedbackCommandInput + | TagResourceCommandInput + | UntagResourceCommandInput; export type ServiceOutputTypes = | AssociateRepositoryCommandOutput @@ -106,7 +115,10 @@ export type ServiceOutputTypes = | ListRecommendationFeedbackCommandOutput | ListRecommendationsCommandOutput | ListRepositoryAssociationsCommandOutput - | PutRecommendationFeedbackCommandOutput; + | ListTagsForResourceCommandOutput + | PutRecommendationFeedbackCommandOutput + | TagResourceCommandOutput + | UntagResourceCommandOutput; export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> { /** @@ -230,6 +242,13 @@ export type CodeGuruReviewerClientResolvedConfig = __SmithyResolvedConfiguration * * Amazon CodeGuru Reviewer User Guide. *

+ * + *

+ * To improve the security of your CodeGuru Reviewer API calls, you can establish a private connection between your VPC and CodeGuru Reviewer by + * creating an interface VPC endpoint. For more information, see + * CodeGuru Reviewer and interface + * VPC endpoints (AWS PrivateLink) in the Amazon CodeGuru Reviewer User Guide. + *

*/ export class CodeGuruReviewerClient extends __Client< __HttpHandlerOptions, diff --git a/clients/client-codeguru-reviewer/commands/ListTagsForResourceCommand.ts b/clients/client-codeguru-reviewer/commands/ListTagsForResourceCommand.ts new file mode 100644 index 000000000000..f61e07c3ac7f --- /dev/null +++ b/clients/client-codeguru-reviewer/commands/ListTagsForResourceCommand.ts @@ -0,0 +1,82 @@ +import { CodeGuruReviewerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CodeGuruReviewerClient"; +import { ListTagsForResourceRequest, ListTagsForResourceResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListTagsForResourceCommand, + serializeAws_restJson1ListTagsForResourceCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ListTagsForResourceCommandInput = ListTagsForResourceRequest; +export type ListTagsForResourceCommandOutput = ListTagsForResourceResponse & __MetadataBearer; + +export class ListTagsForResourceCommand extends $Command< + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, + CodeGuruReviewerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListTagsForResourceCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: CodeGuruReviewerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "CodeGuruReviewerClient"; + const commandName = "ListTagsForResourceCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListTagsForResourceRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListTagsForResourceResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListTagsForResourceCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListTagsForResourceCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListTagsForResourceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-codeguru-reviewer/commands/TagResourceCommand.ts b/clients/client-codeguru-reviewer/commands/TagResourceCommand.ts new file mode 100644 index 000000000000..6a2fbb15c6f6 --- /dev/null +++ b/clients/client-codeguru-reviewer/commands/TagResourceCommand.ts @@ -0,0 +1,82 @@ +import { CodeGuruReviewerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CodeGuruReviewerClient"; +import { TagResourceRequest, TagResourceResponse } from "../models/models_0"; +import { + deserializeAws_restJson1TagResourceCommand, + serializeAws_restJson1TagResourceCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type TagResourceCommandInput = TagResourceRequest; +export type TagResourceCommandOutput = TagResourceResponse & __MetadataBearer; + +export class TagResourceCommand extends $Command< + TagResourceCommandInput, + TagResourceCommandOutput, + CodeGuruReviewerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: TagResourceCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: CodeGuruReviewerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "CodeGuruReviewerClient"; + const commandName = "TagResourceCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: TagResourceRequest.filterSensitiveLog, + outputFilterSensitiveLog: TagResourceResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: TagResourceCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1TagResourceCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1TagResourceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-codeguru-reviewer/commands/UntagResourceCommand.ts b/clients/client-codeguru-reviewer/commands/UntagResourceCommand.ts new file mode 100644 index 000000000000..37a965e92a46 --- /dev/null +++ b/clients/client-codeguru-reviewer/commands/UntagResourceCommand.ts @@ -0,0 +1,82 @@ +import { CodeGuruReviewerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CodeGuruReviewerClient"; +import { UntagResourceRequest, UntagResourceResponse } from "../models/models_0"; +import { + deserializeAws_restJson1UntagResourceCommand, + serializeAws_restJson1UntagResourceCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type UntagResourceCommandInput = UntagResourceRequest; +export type UntagResourceCommandOutput = UntagResourceResponse & __MetadataBearer; + +export class UntagResourceCommand extends $Command< + UntagResourceCommandInput, + UntagResourceCommandOutput, + CodeGuruReviewerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UntagResourceCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: CodeGuruReviewerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "CodeGuruReviewerClient"; + const commandName = "UntagResourceCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UntagResourceRequest.filterSensitiveLog, + outputFilterSensitiveLog: UntagResourceResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UntagResourceCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1UntagResourceCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1UntagResourceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-codeguru-reviewer/index.ts b/clients/client-codeguru-reviewer/index.ts index cd8c7f80d9f0..30b10ead580d 100644 --- a/clients/client-codeguru-reviewer/index.ts +++ b/clients/client-codeguru-reviewer/index.ts @@ -14,6 +14,9 @@ export * from "./commands/ListRecommendationsCommand"; export * from "./pagination/ListRecommendationsPaginator"; export * from "./commands/ListRepositoryAssociationsCommand"; export * from "./pagination/ListRepositoryAssociationsPaginator"; +export * from "./commands/ListTagsForResourceCommand"; export * from "./commands/PutRecommendationFeedbackCommand"; +export * from "./commands/TagResourceCommand"; +export * from "./commands/UntagResourceCommand"; export * from "./pagination/Interfaces"; export * from "./models/index"; diff --git a/clients/client-codeguru-reviewer/models/models_0.ts b/clients/client-codeguru-reviewer/models/models_0.ts index 8307304f3143..2f0a3634333e 100644 --- a/clients/client-codeguru-reviewer/models/models_0.ts +++ b/clients/client-codeguru-reviewer/models/models_0.ts @@ -22,6 +22,13 @@ export namespace AccessDeniedException { *

*/ export interface ThirdPartySourceRepository { + /** + *

+ * The name of the third party source repository. + *

+ */ + Name: string | undefined; + /** *

* The Amazon Resource Name (ARN) of an AWS CodeStar Connections connection. Its format is @@ -41,13 +48,6 @@ export interface ThirdPartySourceRepository { *

*/ Owner: string | undefined; - - /** - *

- * The name of the third party source repository. - *

- */ - Name: string | undefined; } export namespace ThirdPartySourceRepository { @@ -83,13 +83,6 @@ export namespace CodeCommitRepository { *

*/ export interface Repository { - /** - *

- * Information about a GitHub Enterprise Server repository. - *

- */ - GitHubEnterpriseServer?: ThirdPartySourceRepository; - /** *

Information about an AWS CodeCommit repository.

*/ @@ -101,6 +94,13 @@ export interface Repository { *

*/ Bitbucket?: ThirdPartySourceRepository; + + /** + *

+ * Information about a GitHub Enterprise Server repository. + *

+ */ + GitHubEnterpriseServer?: ThirdPartySourceRepository; } export namespace Repository { @@ -110,6 +110,11 @@ export namespace Repository { } export interface AssociateRepositoryRequest { + /** + *

The repository to associate.

+ */ + Repository: Repository | undefined; + /** *

Amazon CodeGuru Reviewer uses this value to prevent the accidental creation of duplicate repository * associations if there are failures and retries.

@@ -117,9 +122,24 @@ export interface AssociateRepositoryRequest { ClientRequestToken?: string; /** - *

The repository to associate.

+ *

+ * An array of key-value pairs used to tag an associated repository. A tag is a custom attribute label with two parts: + *

+ *
    + *
  • + *

    A tag key (for example, CostCenter, + * Environment, Project, or Secret). Tag + * keys are case sensitive.

    + *
  • + *
  • + *

    An optional field known as a tag value (for example, + * 111122223333, Production, or a team name). + * Omitting the tag value is the same as using an empty string. Like tag keys, tag + * values are case sensitive.

    + *
  • + *
*/ - Repository: Repository | undefined; + Tags?: { [key: string]: string }; } export namespace AssociateRepositoryRequest { @@ -138,6 +158,7 @@ export enum ProviderType { export enum RepositoryAssociationState { ASSOCIATED = "Associated", ASSOCIATING = "Associating", + DISASSOCIATED = "Disassociated", DISASSOCIATING = "Disassociating", FAILED = "Failed", } @@ -150,26 +171,15 @@ export enum RepositoryAssociationState { * operation returns a RepositoryAssociation object.

*/ export interface RepositoryAssociation { - /** - *

The time, in milliseconds since the epoch, when the repository association was last updated.

- */ - LastUpdatedTimeStamp?: Date; - - /** - *

The owner of the repository. For an AWS CodeCommit repository, this is the AWS account ID of the - * account that owns the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository, this is the username for the account that owns the repository.

- */ - Owner?: string; - /** *

The ID of the repository association.

*/ AssociationId?: string; /** - *

The name of the repository.

+ *

The Amazon Resource Name (ARN) identifying the repository association.

*/ - Name?: string; + AssociationArn?: string; /** *

@@ -184,24 +194,20 @@ export interface RepositoryAssociation { ConnectionArn?: string; /** - *

The provider type of the repository association.

- */ - ProviderType?: ProviderType | string; - - /** - *

The Amazon Resource Name (ARN) identifying the repository association.

+ *

The name of the repository.

*/ - AssociationArn?: string; + Name?: string; /** - *

The time, in milliseconds since the epoch, when the repository association was created.

+ *

The owner of the repository. For an AWS CodeCommit repository, this is the AWS account ID of the + * account that owns the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository, this is the username for the account that owns the repository.

*/ - CreatedTimeStamp?: Date; + Owner?: string; /** - *

A description of why the repository association is in the current state.

+ *

The provider type of the repository association.

*/ - StateReason?: string; + ProviderType?: ProviderType | string; /** *

The state of the repository association.

@@ -250,9 +256,32 @@ export interface RepositoryAssociation { * source code access. *

* + *
  • + *

    + * Disassociated: CodeGuru Reviewer successfully disassociated the repository. You can create a new association + * with this repository if you want to review source code in it later. You can control access to code reviews created in an + * associated repository with tags after it has been disassociated. For more information, see Using tags to control access to + * associated repositories in the Amazon CodeGuru Reviewer User Guide. + *

    + *
  • * */ State?: RepositoryAssociationState | string; + + /** + *

    A description of why the repository association is in the current state.

    + */ + StateReason?: string; + + /** + *

    The time, in milliseconds since the epoch, when the repository association was last updated.

    + */ + LastUpdatedTimeStamp?: Date; + + /** + *

    The time, in milliseconds since the epoch, when the repository association was created.

    + */ + CreatedTimeStamp?: Date; } export namespace RepositoryAssociation { @@ -266,6 +295,26 @@ export interface AssociateRepositoryResponse { *

    Information about the repository association.

    */ RepositoryAssociation?: RepositoryAssociation; + + /** + *

    + * An array of key-value pairs used to tag an associated repository. A tag is a custom attribute label with two parts: + *

    + *
      + *
    • + *

      A tag key (for example, CostCenter, + * Environment, Project, or Secret). Tag + * keys are case sensitive.

      + *
    • + *
    • + *

      An optional field known as a tag value (for example, + * 111122223333, Production, or a team name). + * Omitting the tag value is the same as using an empty string. Like tag keys, tag + * values are case sensitive.

      + *
    • + *
    + */ + Tags?: { [key: string]: string }; } export namespace AssociateRepositoryResponse { @@ -414,8 +463,8 @@ export interface CodeReviewType { * A code review that analyzes all code under a specified branch in an associated respository. * The assocated repository is specified using its ARN in * CreateCodeReview - * - *

    + * . + *

    */ RepositoryAnalysis: RepositoryAnalysis | undefined; } @@ -427,13 +476,23 @@ export namespace CodeReviewType { } export interface CreateCodeReviewRequest { + /** + *

    + * The name of the code review. The name of each code review in your AWS account must be unique. + *

    + */ + Name: string | undefined; + /** *

    * The Amazon Resource Name (ARN) of the * * RepositoryAssociation * object. - * You can retrieve this ARN by calling ListRepositories. + * You can retrieve this ARN by calling + * + * ListRepositoryAssociations + * . *

    *

    * A code review can only be created on an associated repository. This is the ARN of the @@ -442,20 +501,13 @@ export interface CreateCodeReviewRequest { */ RepositoryAssociationArn: string | undefined; - /** - *

    - * The name of the code review. Each code review of the same code review type must have a unique name in your AWS account. - *

    - */ - Name: string | undefined; - /** *

    * The type of code review to create. This is specified using a * * CodeReviewType * - * object. + * object. You can create a code review only of type RepositoryAnalysis. *

    */ Type: CodeReviewType | undefined; @@ -481,13 +533,6 @@ export namespace CreateCodeReviewRequest { *

    */ export interface Metrics { - /** - *

    - * Total number of recommendations found in the code review. - *

    - */ - FindingsCount?: number; - /** *

    * Lines of code metered in the code review. For the initial code review pull request and all subsequent revisions, @@ -500,6 +545,13 @@ export interface Metrics { *

    */ MeteredLinesOfCodeCount?: number; + + /** + *

    + * Total number of recommendations found in the code review. + *

    + */ + FindingsCount?: number; } export namespace Metrics { @@ -586,44 +638,44 @@ export enum Type { /** *

    - * Information about a code review. + * Information about a code review. A code review belongs to the associated repository that contains the reviewed code. *

    */ export interface CodeReview { /** *

    - * The reason for the state of the code review. + * The name of the code review. *

    */ - StateReason?: string; + Name?: string; /** - *

    - * The statistics from the code review. + *

    The Amazon Resource Name (ARN) of the + * CodeReview + * object. *

    */ - Metrics?: Metrics; + CodeReviewArn?: string; /** *

    - * The type of code review. + * The name of the repository. *

    */ - Type?: Type | string; + RepositoryName?: string; /** - *

    - * The name of the repository. - *

    + *

    The owner of the repository. For an AWS CodeCommit repository, this is the AWS account ID of the + * account that owns the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository, this is the username for the account that owns the repository.

    */ - RepositoryName?: string; + Owner?: string; /** *

    - * The time, in milliseconds since the epoch, when the code review was created. + * The type of repository that contains the reviewed code (for example, GitHub or Bitbucket). *

    */ - CreatedTimeStamp?: Date; + ProviderType?: ProviderType | string; /** *

    The valid code review states are:

    @@ -654,10 +706,17 @@ export interface CodeReview { /** *

    - * The type of repository that contains the reviewed code (for example, GitHub or Bitbucket). + * The reason for the state of the code review. *

    */ - ProviderType?: ProviderType | string; + StateReason?: string; + + /** + *

    + * The time, in milliseconds since the epoch, when the code review was created. + *

    + */ + CreatedTimeStamp?: Date; /** *

    @@ -668,38 +727,45 @@ export interface CodeReview { /** *

    - * The type of the source code for the code review. + * The type of code review. *

    */ - SourceCodeType?: SourceCodeType; + Type?: Type | string; /** - *

    The owner of the repository. For an AWS CodeCommit repository, this is the AWS account ID of the - * account that owns the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository, this is the username for the account that owns the repository.

    + *

    + * The pull request ID for the code review. + *

    */ - Owner?: string; + PullRequestId?: string; /** *

    - * The name of the code review. + * The type of the source code for the code review. *

    */ - Name?: string; + SourceCodeType?: SourceCodeType; /** - *

    The Amazon Resource Name (ARN) of the - * CodeReview - * object. - *

    + *

    + * The Amazon Resource Name (ARN) of the + * + * RepositoryAssociation + * that contains + * the reviewed source code. You can retrieve associated repository ARNs by calling + * + * ListRepositoryAssociations + * . + *

    */ - CodeReviewArn?: string; + AssociationArn?: string; /** *

    - * The pull request ID for the code review. + * The statistics from the code review. *

    */ - PullRequestId?: string; + Metrics?: Metrics; } export namespace CodeReview { @@ -711,7 +777,7 @@ export namespace CodeReview { export interface CreateCodeReviewResponse { /** *

    - * Information about a code review. + * Information about a code review. A code review belongs to the associated repository that contains the reviewed code. *

    */ CodeReview?: CodeReview; @@ -773,16 +839,12 @@ export namespace DescribeCodeReviewResponse { export interface DescribeRecommendationFeedbackRequest { /** - *

    - * Optional parameter to describe the feedback for a given user. If this is not supplied, it defaults to the user making the request. - *

    - *

    - * The UserId is an IAM principal that can be specified as an AWS account ID or an Amazon Resource Name (ARN). For - * more information, see - * Specifying a Principal in the AWS Identity and Access Management User Guide. + *

    The Amazon Resource Name (ARN) of the + * CodeReview + * object. *

    */ - UserId?: string; + CodeReviewArn: string | undefined; /** *

    @@ -792,12 +854,16 @@ export interface DescribeRecommendationFeedbackRequest { RecommendationId: string | undefined; /** - *

    The Amazon Resource Name (ARN) of the - * CodeReview - * object. + *

    + * Optional parameter to describe the feedback for a given user. If this is not supplied, it defaults to the user making the request. + *

    + *

    + * The UserId is an IAM principal that can be specified as an AWS account ID or an Amazon Resource Name (ARN). For + * more information, see + * Specifying a Principal in the AWS Identity and Access Management User Guide. *

    */ - CodeReviewArn: string | undefined; + UserId?: string; } export namespace DescribeRecommendationFeedbackRequest { @@ -818,11 +884,12 @@ export enum Reaction { */ export interface RecommendationFeedback { /** - *

    - * The time at which the feedback was last updated. + *

    The Amazon Resource Name (ARN) of the + * CodeReview + * object. *

    */ - LastUpdatedTimeStamp?: Date; + CodeReviewArn?: string; /** *

    @@ -851,19 +918,18 @@ export interface RecommendationFeedback { UserId?: string; /** - *

    The Amazon Resource Name (ARN) of the - * CodeReview - * object. + *

    + * The time at which the feedback was created. *

    */ - CodeReviewArn?: string; + CreatedTimeStamp?: Date; /** *

    - * The time at which the feedback was created. + * The time at which the feedback was last updated. *

    */ - CreatedTimeStamp?: Date; + LastUpdatedTimeStamp?: Date; } export namespace RecommendationFeedback { @@ -894,7 +960,10 @@ export interface DescribeRepositoryAssociationRequest { * * RepositoryAssociation * object. - * You can retrieve this ARN by calling ListRepositories. + * You can retrieve this ARN by calling + * + * ListRepositoryAssociations + * . *

    */ AssociationArn: string | undefined; @@ -911,6 +980,26 @@ export interface DescribeRepositoryAssociationResponse { *

    Information about the repository association.

    */ RepositoryAssociation?: RepositoryAssociation; + + /** + *

    + * An array of key-value pairs used to tag an associated repository. A tag is a custom attribute label with two parts: + *

    + *
      + *
    • + *

      A tag key (for example, CostCenter, + * Environment, Project, or Secret). Tag + * keys are case sensitive.

      + *
    • + *
    • + *

      An optional field known as a tag value (for example, + * 111122223333, Production, or a team name). + * Omitting the tag value is the same as using an empty string. Like tag keys, tag + * values are case sensitive.

      + *
    • + *
    + */ + Tags?: { [key: string]: string }; } export namespace DescribeRepositoryAssociationResponse { @@ -941,7 +1030,10 @@ export interface DisassociateRepositoryRequest { * * RepositoryAssociation * object. - * You can retrieve this ARN by calling ListRepositories. + * You can retrieve this ARN by calling + * + * ListRepositoryAssociations + * . *

    */ AssociationArn: string | undefined; @@ -958,6 +1050,26 @@ export interface DisassociateRepositoryResponse { *

    Information about the disassociated repository.

    */ RepositoryAssociation?: RepositoryAssociation; + + /** + *

    + * An array of key-value pairs used to tag an associated repository. A tag is a custom attribute label with two parts: + *

    + *
      + *
    • + *

      A tag key (for example, CostCenter, + * Environment, Project, or Secret). Tag + * keys are case sensitive.

      + *
    • + *
    • + *

      An optional field known as a tag value (for example, + * 111122223333, Production, or a team name). + * Omitting the tag value is the same as using an empty string. Like tag keys, tag + * values are case sensitive.

      + *
    • + *
    + */ + Tags?: { [key: string]: string }; } export namespace DisassociateRepositoryResponse { @@ -974,13 +1086,6 @@ export interface ListCodeReviewsRequest { */ ProviderTypes?: (ProviderType | string)[]; - /** - *

    - * The maximum number of results that are returned per call. The default is 100. - *

    - */ - MaxResults?: number; - /** *

    * List of states for filtering that needs to be applied before displaying the result. For example, states=[Pending] lists code reviews in the Pending state. @@ -1027,8 +1132,15 @@ export interface ListCodeReviewsRequest { /** *

    - * If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. - * Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. + * The maximum number of results that are returned per call. The default is 100. + *

    + */ + MaxResults?: number; + + /** + *

    + * If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. + * Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. *

    */ NextToken?: string; @@ -1046,13 +1158,6 @@ export namespace ListCodeReviewsRequest { *

    */ export interface MetricsSummary { - /** - *

    - * Total number of recommendations found in the code review. - *

    - */ - FindingsCount?: number; - /** *

    * Lines of code metered in the code review. For the initial code review pull request and all subsequent revisions, @@ -1065,6 +1170,13 @@ export interface MetricsSummary { *

    */ MeteredLinesOfCodeCount?: number; + + /** + *

    + * Total number of recommendations found in the code review. + *

    + */ + FindingsCount?: number; } export namespace MetricsSummary { @@ -1079,6 +1191,41 @@ export namespace MetricsSummary { *

    */ export interface CodeReviewSummary { + /** + *

    + * The name of the code review. + *

    + */ + Name?: string; + + /** + *

    The Amazon Resource Name (ARN) of the + * CodeReview + * object. + *

    + */ + CodeReviewArn?: string; + + /** + *

    + * The name of the repository. + *

    + */ + RepositoryName?: string; + + /** + *

    The owner of the repository. For an AWS CodeCommit repository, this is the AWS account ID of the + * account that owns the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository, this is the username for the account that owns the repository.

    + */ + Owner?: string; + + /** + *

    + * The provider type of the repository association. + *

    + */ + ProviderType?: ProviderType | string; + /** *

    * The state of the code review. @@ -1111,31 +1258,10 @@ export interface CodeReviewSummary { /** *

    - * The provider type of the repository association. - *

    - */ - ProviderType?: ProviderType | string; - - /** - *

    - * The statistics from the code review. - *

    - */ - MetricsSummary?: MetricsSummary; - - /** - *

    - * The pull request ID for the code review. - *

    - */ - PullRequestId?: string; - - /** - *

    - * The name of the repository. + * The time, in milliseconds since the epoch, when the code review was created. *

    */ - RepositoryName?: string; + CreatedTimeStamp?: Date; /** *

    @@ -1144,13 +1270,6 @@ export interface CodeReviewSummary { */ LastUpdatedTimeStamp?: Date; - /** - *

    - * The name of the code review. - *

    - */ - Name?: string; - /** *

    * The type of the code review. @@ -1159,25 +1278,18 @@ export interface CodeReviewSummary { Type?: Type | string; /** - *

    The owner of the repository. For an AWS CodeCommit repository, this is the AWS account ID of the - * account that owns the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository, this is the username for the account that owns the repository.

    - */ - Owner?: string; - - /** - *

    The Amazon Resource Name (ARN) of the - * CodeReview - * object. + *

    + * The pull request ID for the code review. *

    */ - CodeReviewArn?: string; + PullRequestId?: string; /** *

    - * The time, in milliseconds since the epoch, when the code review was created. + * The statistics from the code review. *

    */ - CreatedTimeStamp?: Date; + MetricsSummary?: MetricsSummary; } export namespace CodeReviewSummary { @@ -1189,17 +1301,17 @@ export namespace CodeReviewSummary { export interface ListCodeReviewsResponse { /** *

    - * Pagination token. + * A list of code reviews that meet the criteria of the request. *

    */ - NextToken?: string; + CodeReviewSummaries?: CodeReviewSummary[]; /** *

    - * A list of code reviews that meet the criteria of the request. + * Pagination token. *

    */ - CodeReviewSummaries?: CodeReviewSummary[]; + NextToken?: string; } export namespace ListCodeReviewsResponse { @@ -1211,25 +1323,18 @@ export namespace ListCodeReviewsResponse { export interface ListRecommendationFeedbackRequest { /** *

    - * The maximum number of results that are returned per call. The default is 100. - *

    - */ - MaxResults?: number; - - /** - *

    - * Used to query the recommendation feedback for a given recommendation. + * If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. + * Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. *

    */ - RecommendationIds?: string[]; + NextToken?: string; /** *

    - * If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. - * Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. + * The maximum number of results that are returned per call. The default is 100. *

    */ - NextToken?: string; + MaxResults?: number; /** *

    The Amazon Resource Name (ARN) of the @@ -1250,6 +1355,13 @@ export interface ListRecommendationFeedbackRequest { *

    */ UserIds?: string[]; + + /** + *

    + * Used to query the recommendation feedback for a given recommendation. + *

    + */ + RecommendationIds?: string[]; } export namespace ListRecommendationFeedbackRequest { @@ -1266,29 +1378,29 @@ export namespace ListRecommendationFeedbackRequest { export interface RecommendationFeedbackSummary { /** *

    - * The ID of the user that gave the feedback. - *

    - *

    - * The UserId is an IAM principal that can be specified as an AWS account ID or an Amazon Resource Name (ARN). For - * more information, see - * Specifying a Principal in the AWS Identity and Access Management User Guide. + * The recommendation ID that can be used to track the provided recommendations. Later on it can be used to collect the feedback. *

    */ - UserId?: string; + RecommendationId?: string; /** *

    - * The recommendation ID that can be used to track the provided recommendations. Later on it can be used to collect the feedback. + * List for storing reactions. Reactions are utf-8 text code for emojis. *

    */ - RecommendationId?: string; + Reactions?: (Reaction | string)[]; /** *

    - * List for storing reactions. Reactions are utf-8 text code for emojis. + * The ID of the user that gave the feedback. + *

    + *

    + * The UserId is an IAM principal that can be specified as an AWS account ID or an Amazon Resource Name (ARN). For + * more information, see + * Specifying a Principal in the AWS Identity and Access Management User Guide. *

    */ - Reactions?: (Reaction | string)[]; + UserId?: string; } export namespace RecommendationFeedbackSummary { @@ -1298,6 +1410,11 @@ export namespace RecommendationFeedbackSummary { } export interface ListRecommendationFeedbackResponse { + /** + *

    Recommendation feedback summaries corresponding to the code review ARN.

    + */ + RecommendationFeedbackSummaries?: RecommendationFeedbackSummary[]; + /** *

    * If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. @@ -1305,11 +1422,6 @@ export interface ListRecommendationFeedbackResponse { *

    */ NextToken?: string; - - /** - *

    Recommendation feedback summaries corresponding to the code review ARN.

    - */ - RecommendationFeedbackSummaries?: RecommendationFeedbackSummary[]; } export namespace ListRecommendationFeedbackResponse { @@ -1321,17 +1433,17 @@ export namespace ListRecommendationFeedbackResponse { export interface ListRecommendationsRequest { /** *

    - * The maximum number of results that are returned per call. The default is 100. + * Pagination token. *

    */ - MaxResults?: number; + NextToken?: string; /** *

    - * Pagination token. + * The maximum number of results that are returned per call. The default is 100. *

    */ - NextToken?: string; + MaxResults?: number; /** *

    The Amazon Resource Name (ARN) of the @@ -1354,13 +1466,6 @@ export namespace ListRecommendationsRequest { *

    */ export interface RecommendationSummary { - /** - *

    - * A description of the recommendation generated by CodeGuru Reviewer for the lines of code between the start line and the end line. - *

    - */ - Description?: string; - /** *

    Name of the file on which a recommendation is provided.

    */ @@ -1373,6 +1478,13 @@ export interface RecommendationSummary { */ RecommendationId?: string; + /** + *

    + * Start line from where the recommendation is applicable in the source commit or source branch. + *

    + */ + StartLine?: number; + /** *

    * Last line where the recommendation is applicable in the source commit or source branch. For a single line comment the start line and end line values are the same. @@ -1382,10 +1494,10 @@ export interface RecommendationSummary { /** *

    - * Start line from where the recommendation is applicable in the source commit or source branch. + * A description of the recommendation generated by CodeGuru Reviewer for the lines of code between the start line and the end line. *

    */ - StartLine?: number; + Description?: string; } export namespace RecommendationSummary { @@ -1397,17 +1509,17 @@ export namespace RecommendationSummary { export interface ListRecommendationsResponse { /** *

    - * Pagination token. + * List of recommendations for the requested code review. *

    */ - NextToken?: string; + RecommendationSummaries?: RecommendationSummary[]; /** *

    - * List of recommendations for the requested code review. + * Pagination token. *

    */ - RecommendationSummaries?: RecommendationSummary[]; + NextToken?: string; } export namespace ListRecommendationsResponse { @@ -1417,44 +1529,6 @@ export namespace ListRecommendationsResponse { } export interface ListRepositoryAssociationsRequest { - /** - *

    The nextToken value returned from a previous paginated - * ListRepositoryAssociations request where maxResults was used and the results - * exceeded the value of that parameter. Pagination continues from the end of the previous results - * that returned the nextToken value. - *

    - * - *

    Treat this token as an opaque identifier that is only used to retrieve - * the next items in a list and not for other programmatic purposes.

    - *
    - */ - NextToken?: string; - - /** - *

    List of owners to use as a filter. - * For AWS CodeCommit, it is the name of the CodeCommit account that was - * used to associate the repository. For other repository source providers, such as Bitbucket and GitHub Enterprise Server, this is name of the account - * that was used to associate the repository.

    - */ - Owners?: string[]; - - /** - *

    The maximum number of repository association results returned by ListRepositoryAssociations - * in paginated output. When this parameter is used, ListRepositoryAssociations only returns - * maxResults results in a single page with a nextToken response - * element. The remaining results of the initial request - * can be seen by sending another ListRepositoryAssociations request with the returned - * nextToken value. - * This value can be between 1 and 100. If this parameter is not used, ListRepositoryAssociations - * returns up to 100 results and a nextToken value if applicable.

    - */ - MaxResults?: number; - - /** - *

    List of repository names to use as a filter.

    - */ - Names?: string[]; - /** *

    List of provider types to use as a filter.

    */ @@ -1507,9 +1581,55 @@ export interface ListRepositoryAssociationsRequest { * source code access. *

    * + *
  • + *

    + * Disassociated: CodeGuru Reviewer successfully disassociated the repository. You can create a new association + * with this repository if you want to review source code in it later. You can control access to code reviews created in an + * associated repository with tags after it has been disassociated. For more information, see Using tags to control access to + * associated repositories in the Amazon CodeGuru Reviewer User Guide. + *

    + *
  • * */ States?: (RepositoryAssociationState | string)[]; + + /** + *

    List of repository names to use as a filter.

    + */ + Names?: string[]; + + /** + *

    List of owners to use as a filter. + * For AWS CodeCommit, it is the name of the CodeCommit account that was + * used to associate the repository. For other repository source providers, such as Bitbucket and GitHub Enterprise Server, this is name of the account + * that was used to associate the repository.

    + */ + Owners?: string[]; + + /** + *

    The maximum number of repository association results returned by ListRepositoryAssociations + * in paginated output. When this parameter is used, ListRepositoryAssociations only returns + * maxResults results in a single page with a nextToken response + * element. The remaining results of the initial request + * can be seen by sending another ListRepositoryAssociations request with the returned + * nextToken value. + * This value can be between 1 and 100. If this parameter is not used, ListRepositoryAssociations + * returns up to 100 results and a nextToken value if applicable.

    + */ + MaxResults?: number; + + /** + *

    The nextToken value returned from a previous paginated + * ListRepositoryAssociations request where maxResults was used and the results + * exceeded the value of that parameter. Pagination continues from the end of the previous results + * that returned the nextToken value. + *

    + * + *

    Treat this token as an opaque identifier that is only used to retrieve + * the next items in a list and not for other programmatic purposes.

    + *
    + */ + NextToken?: string; } export namespace ListRepositoryAssociationsRequest { @@ -1527,9 +1647,37 @@ export namespace ListRepositoryAssociationsRequest { */ export interface RepositoryAssociationSummary { /** - *

    The provider type of the repository association.

    + *

    + * The Amazon Resource Name (ARN) of the + * + * RepositoryAssociation + * object. + * You can retrieve this ARN by calling + * + * ListRepositoryAssociations + * . + *

    */ - ProviderType?: ProviderType | string; + AssociationArn?: string; + + /** + *

    + * The Amazon Resource Name (ARN) of an AWS CodeStar Connections connection. Its format is + * arn:aws:codestar-connections:region-id:aws-account_id:connection/connection-id. For more information, see + * + * Connection + * in + * the AWS CodeStar Connections API Reference. + *

    + */ + ConnectionArn?: string; + + /** + *

    The time, in milliseconds since the epoch, since the repository association + * was last updated. + *

    + */ + LastUpdatedTimeStamp?: Date; /** *

    @@ -1538,6 +1686,22 @@ export interface RepositoryAssociationSummary { */ AssociationId?: string; + /** + *

    The name of the repository association.

    + */ + Name?: string; + + /** + *

    The owner of the repository. For an AWS CodeCommit repository, this is the AWS account ID of the + * account that owns the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository, this is the username for the account that owns the repository.

    + */ + Owner?: string; + + /** + *

    The provider type of the repository association.

    + */ + ProviderType?: ProviderType | string; + /** *

    The state of the repository association.

    *

    The valid repository association states are:

    @@ -1585,50 +1749,17 @@ export interface RepositoryAssociationSummary { * source code access. *

    * + *
  • + *

    + * Disassociated: CodeGuru Reviewer successfully disassociated the repository. You can create a new association + * with this repository if you want to review source code in it later. You can control access to code reviews created in an + * associated repository with tags after it has been disassociated. For more information, see Using tags to control access to + * associated repositories in the Amazon CodeGuru Reviewer User Guide. + *

    + *
  • * */ State?: RepositoryAssociationState | string; - - /** - *

    - * The Amazon Resource Name (ARN) of an AWS CodeStar Connections connection. Its format is - * arn:aws:codestar-connections:region-id:aws-account_id:connection/connection-id. For more information, see - * - * Connection - * in - * the AWS CodeStar Connections API Reference. - *

    - */ - ConnectionArn?: string; - - /** - *

    The time, in milliseconds since the epoch, since the repository association - * was last updated. - *

    - */ - LastUpdatedTimeStamp?: Date; - - /** - *

    The owner of the repository. For an AWS CodeCommit repository, this is the AWS account ID of the - * account that owns the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository, this is the username for the account that owns the repository.

    - */ - Owner?: string; - - /** - *

    - * The Amazon Resource Name (ARN) of the - * - * RepositoryAssociation - * object. - * You can retrieve this ARN by calling ListRepositories. - *

    - */ - AssociationArn?: string; - - /** - *

    The name of the repository association.

    - */ - Name?: string; } export namespace RepositoryAssociationSummary { @@ -1658,14 +1789,57 @@ export namespace ListRepositoryAssociationsResponse { }); } -export interface PutRecommendationFeedbackRequest { +export interface ListTagsForResourceRequest { /** *

    - * The recommendation ID that can be used to track the provided recommendations and then to collect the feedback. + * The Amazon Resource Name (ARN) of the + * + * RepositoryAssociation + * object. + * You can retrieve this ARN by calling + * + * ListRepositoryAssociations + * . *

    */ - RecommendationId: string | undefined; + resourceArn: string | undefined; +} + +export namespace ListTagsForResourceRequest { + export const filterSensitiveLog = (obj: ListTagsForResourceRequest): any => ({ + ...obj, + }); +} +export interface ListTagsForResourceResponse { + /** + *

    + * An array of key-value pairs used to tag an associated repository. A tag is a custom attribute label with two parts: + *

    + *
      + *
    • + *

      A tag key (for example, CostCenter, + * Environment, Project, or Secret). Tag + * keys are case sensitive.

      + *
    • + *
    • + *

      An optional field known as a tag value (for example, + * 111122223333, Production, or a team name). + * Omitting the tag value is the same as using an empty string. Like tag keys, tag + * values are case sensitive.

      + *
    • + *
    + */ + Tags?: { [key: string]: string }; +} + +export namespace ListTagsForResourceResponse { + export const filterSensitiveLog = (obj: ListTagsForResourceResponse): any => ({ + ...obj, + }); +} + +export interface PutRecommendationFeedbackRequest { /** *

    The Amazon Resource Name (ARN) of the * CodeReview @@ -1674,6 +1848,13 @@ export interface PutRecommendationFeedbackRequest { */ CodeReviewArn: string | undefined; + /** + *

    + * The recommendation ID that can be used to track the provided recommendations and then to collect the feedback. + *

    + */ + RecommendationId: string | undefined; + /** *

    * List for storing reactions. Reactions are utf-8 text code for emojis. If you send an empty list it clears all your feedback. @@ -1695,3 +1876,88 @@ export namespace PutRecommendationFeedbackResponse { ...obj, }); } + +export interface TagResourceRequest { + /** + *

    + * The Amazon Resource Name (ARN) of the + * + * RepositoryAssociation + * object. + * You can retrieve this ARN by calling + * + * ListRepositoryAssociations + * . + *

    + */ + resourceArn: string | undefined; + + /** + *

    + * An array of key-value pairs used to tag an associated repository. A tag is a custom attribute label with two parts: + *

    + *
      + *
    • + *

      A tag key (for example, CostCenter, + * Environment, Project, or Secret). Tag + * keys are case sensitive.

      + *
    • + *
    • + *

      An optional field known as a tag value (for example, + * 111122223333, Production, or a team name). + * Omitting the tag value is the same as using an empty string. Like tag keys, tag + * values are case sensitive.

      + *
    • + *
    + */ + Tags: { [key: string]: string } | undefined; +} + +export namespace TagResourceRequest { + export const filterSensitiveLog = (obj: TagResourceRequest): any => ({ + ...obj, + }); +} + +export interface TagResourceResponse {} + +export namespace TagResourceResponse { + export const filterSensitiveLog = (obj: TagResourceResponse): any => ({ + ...obj, + }); +} + +export interface UntagResourceRequest { + /** + *

    + * The Amazon Resource Name (ARN) of the + * + * RepositoryAssociation + * object. + * You can retrieve this ARN by calling + * + * ListRepositoryAssociations + * . + *

    + */ + resourceArn: string | undefined; + + /** + *

    A list of the keys for each tag you want to remove from an associated repository.

    + */ + TagKeys: string[] | undefined; +} + +export namespace UntagResourceRequest { + export const filterSensitiveLog = (obj: UntagResourceRequest): any => ({ + ...obj, + }); +} + +export interface UntagResourceResponse {} + +export namespace UntagResourceResponse { + export const filterSensitiveLog = (obj: UntagResourceResponse): any => ({ + ...obj, + }); +} diff --git a/clients/client-codeguru-reviewer/protocols/Aws_restJson1.ts b/clients/client-codeguru-reviewer/protocols/Aws_restJson1.ts index 545a477df4a8..4e121491cb1d 100644 --- a/clients/client-codeguru-reviewer/protocols/Aws_restJson1.ts +++ b/clients/client-codeguru-reviewer/protocols/Aws_restJson1.ts @@ -29,10 +29,16 @@ import { ListRepositoryAssociationsCommandInput, ListRepositoryAssociationsCommandOutput, } from "../commands/ListRepositoryAssociationsCommand"; +import { + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "../commands/ListTagsForResourceCommand"; import { PutRecommendationFeedbackCommandInput, PutRecommendationFeedbackCommandOutput, } from "../commands/PutRecommendationFeedbackCommand"; +import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; +import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; import { AccessDeniedException, CodeCommitRepository, @@ -85,6 +91,7 @@ export const serializeAws_restJson1AssociateRepositoryCommand = async ( body = JSON.stringify({ ClientRequestToken: input.ClientRequestToken ?? generateIdempotencyToken(), ...(input.Repository !== undefined && { Repository: serializeAws_restJson1Repository(input.Repository, context) }), + ...(input.Tags !== undefined && { Tags: serializeAws_restJson1TagMap(input.Tags, context) }), }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -173,8 +180,8 @@ export const serializeAws_restJson1DescribeRecommendationFeedbackCommand = async throw new Error("No value provided for input HTTP label: CodeReviewArn."); } const query: any = { - ...(input.UserId !== undefined && { UserId: input.UserId }), ...(input.RecommendationId !== undefined && { RecommendationId: input.RecommendationId }), + ...(input.UserId !== undefined && { UserId: input.UserId }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -260,12 +267,12 @@ export const serializeAws_restJson1ListCodeReviewsCommand = async ( let resolvedPath = "/codereviews"; const query: any = { ...(input.ProviderTypes !== undefined && { ProviderTypes: (input.ProviderTypes || []).map((_entry) => _entry) }), - ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults.toString() }), ...(input.States !== undefined && { States: (input.States || []).map((_entry) => _entry) }), ...(input.RepositoryNames !== undefined && { RepositoryNames: (input.RepositoryNames || []).map((_entry) => _entry), }), ...(input.Type !== undefined && { Type: input.Type }), + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults.toString() }), ...(input.NextToken !== undefined && { NextToken: input.NextToken }), }; let body: any; @@ -300,12 +307,12 @@ export const serializeAws_restJson1ListRecommendationFeedbackCommand = async ( throw new Error("No value provided for input HTTP label: CodeReviewArn."); } const query: any = { + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults.toString() }), + ...(input.UserIds !== undefined && { UserIds: (input.UserIds || []).map((_entry) => _entry) }), ...(input.RecommendationIds !== undefined && { RecommendationIds: (input.RecommendationIds || []).map((_entry) => _entry), }), - ...(input.NextToken !== undefined && { NextToken: input.NextToken }), - ...(input.UserIds !== undefined && { UserIds: (input.UserIds || []).map((_entry) => _entry) }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -339,8 +346,8 @@ export const serializeAws_restJson1ListRecommendationsCommand = async ( throw new Error("No value provided for input HTTP label: CodeReviewArn."); } const query: any = { - ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults.toString() }), ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -365,12 +372,12 @@ export const serializeAws_restJson1ListRepositoryAssociationsCommand = async ( }; let resolvedPath = "/associations"; const query: any = { - ...(input.NextToken !== undefined && { NextToken: input.NextToken }), - ...(input.Owners !== undefined && { Owner: (input.Owners || []).map((_entry) => _entry) }), - ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults.toString() }), - ...(input.Names !== undefined && { Name: (input.Names || []).map((_entry) => _entry) }), ...(input.ProviderTypes !== undefined && { ProviderType: (input.ProviderTypes || []).map((_entry) => _entry) }), ...(input.States !== undefined && { State: (input.States || []).map((_entry) => _entry) }), + ...(input.Names !== undefined && { Name: (input.Names || []).map((_entry) => _entry) }), + ...(input.Owners !== undefined && { Owner: (input.Owners || []).map((_entry) => _entry) }), + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -386,6 +393,36 @@ export const serializeAws_restJson1ListRepositoryAssociationsCommand = async ( }); }; +export const serializeAws_restJson1ListTagsForResourceCommand = async ( + input: ListTagsForResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/tags/{resourceArn}"; + if (input.resourceArn !== undefined) { + const labelValue: string = input.resourceArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: resourceArn."); + } + resolvedPath = resolvedPath.replace("{resourceArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: resourceArn."); + } + let body: any; + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1PutRecommendationFeedbackCommand = async ( input: PutRecommendationFeedbackCommandInput, context: __SerdeContext @@ -412,6 +449,73 @@ export const serializeAws_restJson1PutRecommendationFeedbackCommand = async ( }); }; +export const serializeAws_restJson1TagResourceCommand = async ( + input: TagResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/tags/{resourceArn}"; + if (input.resourceArn !== undefined) { + const labelValue: string = input.resourceArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: resourceArn."); + } + resolvedPath = resolvedPath.replace("{resourceArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: resourceArn."); + } + let body: any; + body = JSON.stringify({ + ...(input.Tags !== undefined && { Tags: serializeAws_restJson1TagMap(input.Tags, context) }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UntagResourceCommand = async ( + input: UntagResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/tags/{resourceArn}"; + if (input.resourceArn !== undefined) { + const labelValue: string = input.resourceArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: resourceArn."); + } + resolvedPath = resolvedPath.replace("{resourceArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: resourceArn."); + } + const query: any = { + ...(input.TagKeys !== undefined && { tagKeys: (input.TagKeys || []).map((_entry) => _entry) }), + }; + let body: any; + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "DELETE", + headers, + path: resolvedPath, + query, + body, + }); +}; + export const deserializeAws_restJson1AssociateRepositoryCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -422,11 +526,15 @@ export const deserializeAws_restJson1AssociateRepositoryCommand = async ( const contents: AssociateRepositoryCommandOutput = { $metadata: deserializeMetadata(output), RepositoryAssociation: undefined, + Tags: undefined, }; const data: any = await parseBody(output.body, context); if (data.RepositoryAssociation !== undefined && data.RepositoryAssociation !== null) { contents.RepositoryAssociation = deserializeAws_restJson1RepositoryAssociation(data.RepositoryAssociation, context); } + if (data.Tags !== undefined && data.Tags !== null) { + contents.Tags = deserializeAws_restJson1TagMap(data.Tags, context); + } return Promise.resolve(contents); }; @@ -781,11 +889,15 @@ export const deserializeAws_restJson1DescribeRepositoryAssociationCommand = asyn const contents: DescribeRepositoryAssociationCommandOutput = { $metadata: deserializeMetadata(output), RepositoryAssociation: undefined, + Tags: undefined, }; const data: any = await parseBody(output.body, context); if (data.RepositoryAssociation !== undefined && data.RepositoryAssociation !== null) { contents.RepositoryAssociation = deserializeAws_restJson1RepositoryAssociation(data.RepositoryAssociation, context); } + if (data.Tags !== undefined && data.Tags !== null) { + contents.Tags = deserializeAws_restJson1TagMap(data.Tags, context); + } return Promise.resolve(contents); }; @@ -868,11 +980,15 @@ export const deserializeAws_restJson1DisassociateRepositoryCommand = async ( const contents: DisassociateRepositoryCommandOutput = { $metadata: deserializeMetadata(output), RepositoryAssociation: undefined, + Tags: undefined, }; const data: any = await parseBody(output.body, context); if (data.RepositoryAssociation !== undefined && data.RepositoryAssociation !== null) { contents.RepositoryAssociation = deserializeAws_restJson1RepositoryAssociation(data.RepositoryAssociation, context); } + if (data.Tags !== undefined && data.Tags !== null) { + contents.Tags = deserializeAws_restJson1TagMap(data.Tags, context); + } return Promise.resolve(contents); }; @@ -1302,6 +1418,77 @@ const deserializeAws_restJson1ListRepositoryAssociationsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1ListTagsForResourceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListTagsForResourceCommandError(output, context); + } + const contents: ListTagsForResourceCommandOutput = { + $metadata: deserializeMetadata(output), + Tags: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.Tags !== undefined && data.Tags !== null) { + contents.Tags = deserializeAws_restJson1TagMap(data.Tags, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ListTagsForResourceCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServerException": + case "com.amazonaws.codegurureviewer#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.codegurureviewer#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.codegurureviewer#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_restJson1PutRecommendationFeedbackCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1385,6 +1572,140 @@ const deserializeAws_restJson1PutRecommendationFeedbackCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1TagResourceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1TagResourceCommandError(output, context); + } + const contents: TagResourceCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1TagResourceCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServerException": + case "com.amazonaws.codegurureviewer#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.codegurureviewer#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.codegurureviewer#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1UntagResourceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1UntagResourceCommandError(output, context); + } + const contents: UntagResourceCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1UntagResourceCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServerException": + case "com.amazonaws.codegurureviewer#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.codegurureviewer#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.codegurureviewer#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + const deserializeAws_restJson1AccessDeniedExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -1553,6 +1874,16 @@ const serializeAws_restJson1RepositoryHeadSourceCodeType = ( }; }; +const serializeAws_restJson1TagMap = (input: { [key: string]: string }, context: __SerdeContext): any => { + return Object.entries(input).reduce( + (acc: { [key: string]: string }, [key, value]: [string, any]) => ({ + ...acc, + [key]: value, + }), + {} + ); +}; + const serializeAws_restJson1ThirdPartySourceRepository = ( input: ThirdPartySourceRepository, context: __SerdeContext @@ -1566,6 +1897,8 @@ const serializeAws_restJson1ThirdPartySourceRepository = ( const deserializeAws_restJson1CodeReview = (output: any, context: __SerdeContext): CodeReview => { return { + AssociationArn: + output.AssociationArn !== undefined && output.AssociationArn !== null ? output.AssociationArn : undefined, CodeReviewArn: output.CodeReviewArn !== undefined && output.CodeReviewArn !== null ? output.CodeReviewArn : undefined, CreatedTimeStamp: @@ -1808,6 +2141,16 @@ const deserializeAws_restJson1SourceCodeType = (output: any, context: __SerdeCon } as any; }; +const deserializeAws_restJson1TagMap = (output: any, context: __SerdeContext): { [key: string]: string } => { + return Object.entries(output).reduce( + (acc: { [key: string]: string }, [key, value]: [string, any]) => ({ + ...acc, + [key]: value, + }), + {} + ); +}; + const deserializeMetadata = (output: __HttpResponse): __ResponseMetadata => ({ httpStatusCode: output.statusCode, httpHeaders: output.headers, diff --git a/clients/client-cognito-identity/models/models_0.ts b/clients/client-cognito-identity/models/models_0.ts index 6692db179334..3b267a35c918 100644 --- a/clients/client-cognito-identity/models/models_0.ts +++ b/clients/client-cognito-identity/models/models_0.ts @@ -45,9 +45,9 @@ export namespace CognitoIdentityProvider { */ export interface CreateIdentityPoolInput { /** - *

    An array of Amazon Cognito user pools and their client IDs.

    + *

    A string that you provide.

    */ - CognitoIdentityProviders?: CognitoIdentityProvider[]; + IdentityPoolName: string | undefined; /** *

    TRUE if the identity pool supports unauthenticated logins.

    @@ -55,32 +55,36 @@ export interface CreateIdentityPoolInput { AllowUnauthenticatedIdentities: boolean | undefined; /** - *

    Optional key:value pairs mapping provider names to provider app IDs.

    + *

    Enables or disables the Basic (Classic) authentication flow. For more information, see + * Identity Pools (Federated Identities) Authentication Flow in the Amazon Cognito Developer Guide.

    */ - SupportedLoginProviders?: { [key: string]: string }; + AllowClassicFlow?: boolean; /** - *

    Tags to assign to the identity pool. A tag is a label that you can apply to identity - * pools to categorize and manage them in different ways, such as by purpose, owner, - * environment, or other criteria.

    + *

    Optional key:value pairs mapping provider names to provider app IDs.

    */ - IdentityPoolTags?: { [key: string]: string }; + SupportedLoginProviders?: { [key: string]: string }; /** - *

    Enables or disables the Basic (Classic) authentication flow. For more information, see - * Identity Pools (Federated Identities) Authentication Flow in the Amazon Cognito Developer Guide.

    + *

    The "domain" by which Cognito will refer to your users. This name acts as a + * placeholder that allows your backend and the Cognito service to communicate about the + * developer provider. For the DeveloperProviderName, you can use letters as well + * as period (.), underscore (_), and dash + * (-).

    + *

    Once you have set a developer provider name, you cannot change it. Please take care + * in setting this parameter.

    */ - AllowClassicFlow?: boolean; + DeveloperProviderName?: string; /** - *

    A string that you provide.

    + *

    A list of OpendID Connect provider ARNs.

    */ - IdentityPoolName: string | undefined; + OpenIdConnectProviderARNs?: string[]; /** - *

    A list of OpendID Connect provider ARNs.

    + *

    An array of Amazon Cognito user pools and their client IDs.

    */ - OpenIdConnectProviderARNs?: string[]; + CognitoIdentityProviders?: CognitoIdentityProvider[]; /** *

    An array of Amazon Resource Names (ARNs) of the SAML provider for your identity @@ -89,15 +93,11 @@ export interface CreateIdentityPoolInput { SamlProviderARNs?: string[]; /** - *

    The "domain" by which Cognito will refer to your users. This name acts as a - * placeholder that allows your backend and the Cognito service to communicate about the - * developer provider. For the DeveloperProviderName, you can use letters as well - * as period (.), underscore (_), and dash - * (-).

    - *

    Once you have set a developer provider name, you cannot change it. Please take care - * in setting this parameter.

    + *

    Tags to assign to the identity pool. A tag is a label that you can apply to identity + * pools to categorize and manage them in different ways, such as by purpose, owner, + * environment, or other criteria.

    */ - DeveloperProviderName?: string; + IdentityPoolTags?: { [key: string]: string }; } export namespace CreateIdentityPoolInput { @@ -116,15 +116,9 @@ export interface IdentityPool { IdentityPoolId: string | undefined; /** - *

    An array of Amazon Resource Names (ARNs) of the SAML provider for your identity - * pool.

    - */ - SamlProviderARNs?: string[]; - - /** - *

    A list of OpendID Connect provider ARNs.

    + *

    A string that you provide.

    */ - OpenIdConnectProviderARNs?: string[]; + IdentityPoolName: string | undefined; /** *

    TRUE if the identity pool supports unauthenticated logins.

    @@ -138,21 +132,19 @@ export interface IdentityPool { AllowClassicFlow?: boolean; /** - *

    The tags that are assigned to the identity pool. A tag is a label that you can apply to - * identity pools to categorize and manage them in different ways, such as by purpose, owner, - * environment, or other criteria.

    + *

    Optional key:value pairs mapping provider names to provider app IDs.

    */ - IdentityPoolTags?: { [key: string]: string }; + SupportedLoginProviders?: { [key: string]: string }; /** - *

    A string that you provide.

    + *

    The "domain" by which Cognito will refer to your users.

    */ - IdentityPoolName: string | undefined; + DeveloperProviderName?: string; /** - *

    Optional key:value pairs mapping provider names to provider app IDs.

    + *

    A list of OpendID Connect provider ARNs.

    */ - SupportedLoginProviders?: { [key: string]: string }; + OpenIdConnectProviderARNs?: string[]; /** *

    A list representing an Amazon Cognito user pool and its client ID.

    @@ -160,9 +152,17 @@ export interface IdentityPool { CognitoIdentityProviders?: CognitoIdentityProvider[]; /** - *

    The "domain" by which Cognito will refer to your users.

    + *

    An array of Amazon Resource Names (ARNs) of the SAML provider for your identity + * pool.

    */ - DeveloperProviderName?: string; + SamlProviderARNs?: string[]; + + /** + *

    The tags that are assigned to the identity pool. A tag is a label that you can apply to + * identity pools to categorize and manage them in different ways, such as by purpose, owner, + * environment, or other criteria.

    + */ + IdentityPoolTags?: { [key: string]: string }; } export namespace IdentityPool { @@ -407,14 +407,14 @@ export interface IdentityDescription { Logins?: string[]; /** - *

    Date on which the identity was last modified.

    + *

    Date on which the identity was created.

    */ - LastModifiedDate?: Date; + CreationDate?: Date; /** - *

    Date on which the identity was created.

    + *

    Date on which the identity was last modified.

    */ - CreationDate?: Date; + LastModifiedDate?: Date; } export namespace IdentityDescription { @@ -462,6 +462,11 @@ export namespace ExternalServiceException { *

    Input to the GetCredentialsForIdentity action.

    */ export interface GetCredentialsForIdentityInput { + /** + *

    A unique identifier in the format REGION:GUID.

    + */ + IdentityId: string | undefined; + /** *

    A set of optional name-value pairs that map provider names to provider tokens. The * name-value pair will follow the syntax "provider_name": @@ -482,11 +487,6 @@ export interface GetCredentialsForIdentityInput { * customization.

    */ CustomRoleArn?: string; - - /** - *

    A unique identifier in the format REGION:GUID.

    - */ - IdentityId: string | undefined; } export namespace GetCredentialsForIdentityInput { @@ -505,9 +505,9 @@ export interface Credentials { AccessKeyId?: string; /** - *

    The date at which these credentials will expire.

    + *

    The Secret Access Key portion of the credentials

    */ - Expiration?: Date; + SecretKey?: string; /** *

    The Session Token portion of the credentials

    @@ -515,9 +515,9 @@ export interface Credentials { SessionToken?: string; /** - *

    The Secret Access Key portion of the credentials

    + *

    The date at which these credentials will expire.

    */ - SecretKey?: string; + Expiration?: Date; } export namespace Credentials { @@ -577,6 +577,11 @@ export interface GetIdInput { */ AccountId?: string; + /** + *

    An identity pool ID in the format REGION:GUID.

    + */ + IdentityPoolId: string | undefined; + /** *

    A set of optional name-value pairs that map provider names to provider tokens. The * available provider names for Logins are as follows:

    @@ -610,11 +615,6 @@ export interface GetIdInput { * */ Logins?: { [key: string]: string }; - - /** - *

    An identity pool ID in the format REGION:GUID.

    - */ - IdentityPoolId: string | undefined; } export namespace GetIdInput { @@ -668,9 +668,10 @@ export enum MappingRuleMatchType { */ export interface MappingRule { /** - *

    The role ARN.

    + *

    The claim name that must be present in the token, for example, "isAdmin" or + * "paid".

    */ - RoleARN: string | undefined; + Claim: string | undefined; /** *

    The match condition that specifies how closely the claim value in the IdP token must @@ -684,10 +685,9 @@ export interface MappingRule { Value: string | undefined; /** - *

    The claim name that must be present in the token, for example, "isAdmin" or - * "paid".

    + *

    The role ARN.

    */ - Claim: string | undefined; + RoleARN: string | undefined; } export namespace MappingRule { @@ -760,12 +760,9 @@ export namespace RoleMapping { */ export interface GetIdentityPoolRolesResponse { /** - *

    How users for a specific identity provider are to mapped to roles. This is a - * String-to-RoleMapping object map. The string identifies the identity - * provider, for example, "graph.facebook.com" or - * "cognito-idp.us-east-1.amazonaws.com/us-east-1_abcdefghi:app_client_id".

    + *

    An identity pool ID in the format REGION:GUID.

    */ - RoleMappings?: { [key: string]: RoleMapping }; + IdentityPoolId?: string; /** *

    The map of roles associated with this pool. Currently only authenticated and @@ -774,9 +771,12 @@ export interface GetIdentityPoolRolesResponse { Roles?: { [key: string]: string }; /** - *

    An identity pool ID in the format REGION:GUID.

    + *

    How users for a specific identity provider are to mapped to roles. This is a + * String-to-RoleMapping object map. The string identifies the identity + * provider, for example, "graph.facebook.com" or + * "cognito-idp.us-east-1.amazonaws.com/us-east-1_abcdefghi:app_client_id".

    */ - IdentityPoolId?: string; + RoleMappings?: { [key: string]: RoleMapping }; } export namespace GetIdentityPoolRolesResponse { @@ -813,16 +813,16 @@ export namespace GetOpenIdTokenInput { *

    Returned in response to a successful GetOpenIdToken request.

    */ export interface GetOpenIdTokenResponse { - /** - *

    An OpenID token, valid for 10 minutes.

    - */ - Token?: string; - /** *

    A unique identifier in the format REGION:GUID. Note that the IdentityId returned may * not match the one passed on input.

    */ IdentityId?: string; + + /** + *

    An OpenID token, valid for 10 minutes.

    + */ + Token?: string; } export namespace GetOpenIdTokenResponse { @@ -854,6 +854,16 @@ export namespace DeveloperUserAlreadyRegisteredException { *

    Input to the GetOpenIdTokenForDeveloperIdentity action.

    */ export interface GetOpenIdTokenForDeveloperIdentityInput { + /** + *

    An identity pool ID in the format REGION:GUID.

    + */ + IdentityPoolId: string | undefined; + + /** + *

    A unique identifier in the format REGION:GUID.

    + */ + IdentityId?: string; + /** *

    A set of optional name-value pairs that map provider names to provider tokens. Each * name-value pair represents a user from a public provider or developer provider. If the user @@ -866,11 +876,6 @@ export interface GetOpenIdTokenForDeveloperIdentityInput { */ Logins: { [key: string]: string } | undefined; - /** - *

    An identity pool ID in the format REGION:GUID.

    - */ - IdentityPoolId: string | undefined; - /** *

    The expiration time of the token, in seconds. You can specify a custom expiration * time for the token so that you can cache it. If you don't provide an expiration time, the @@ -884,11 +889,6 @@ export interface GetOpenIdTokenForDeveloperIdentityInput { * */ TokenDuration?: number; - - /** - *

    A unique identifier in the format REGION:GUID.

    - */ - IdentityId?: string; } export namespace GetOpenIdTokenForDeveloperIdentityInput { @@ -903,14 +903,14 @@ export namespace GetOpenIdTokenForDeveloperIdentityInput { */ export interface GetOpenIdTokenForDeveloperIdentityResponse { /** - *

    An OpenID token.

    + *

    A unique identifier in the format REGION:GUID.

    */ - Token?: string; + IdentityId?: string; /** - *

    A unique identifier in the format REGION:GUID.

    + *

    An OpenID token.

    */ - IdentityId?: string; + Token?: string; } export namespace GetOpenIdTokenForDeveloperIdentityResponse { @@ -924,15 +924,14 @@ export namespace GetOpenIdTokenForDeveloperIdentityResponse { */ export interface ListIdentitiesInput { /** - *

    An optional boolean parameter that allows you to hide disabled identities. If - * omitted, the ListIdentities API will include disabled identities in the response.

    + *

    An identity pool ID in the format REGION:GUID.

    */ - HideDisabled?: boolean; + IdentityPoolId: string | undefined; /** - *

    An identity pool ID in the format REGION:GUID.

    + *

    The maximum number of identities to return.

    */ - IdentityPoolId: string | undefined; + MaxResults: number | undefined; /** *

    A pagination token.

    @@ -940,9 +939,10 @@ export interface ListIdentitiesInput { NextToken?: string; /** - *

    The maximum number of identities to return.

    + *

    An optional boolean parameter that allows you to hide disabled identities. If + * omitted, the ListIdentities API will include disabled identities in the response.

    */ - MaxResults: number | undefined; + HideDisabled?: boolean; } export namespace ListIdentitiesInput { @@ -982,14 +982,14 @@ export namespace ListIdentitiesResponse { */ export interface ListIdentityPoolsInput { /** - *

    A pagination token.

    + *

    The maximum number of identities to return.

    */ - NextToken?: string; + MaxResults: number | undefined; /** - *

    The maximum number of identities to return.

    + *

    A pagination token.

    */ - MaxResults: number | undefined; + NextToken?: string; } export namespace ListIdentityPoolsInput { @@ -1024,14 +1024,14 @@ export namespace IdentityPoolShortDescription { */ export interface ListIdentityPoolsResponse { /** - *

    A pagination token.

    + *

    The identity pools returned by the ListIdentityPools action.

    */ - NextToken?: string; + IdentityPools?: IdentityPoolShortDescription[]; /** - *

    The identity pools returned by the ListIdentityPools action.

    + *

    A pagination token.

    */ - IdentityPools?: IdentityPoolShortDescription[]; + NextToken?: string; } export namespace ListIdentityPoolsResponse { @@ -1072,19 +1072,14 @@ export namespace ListTagsForResourceResponse { */ export interface LookupDeveloperIdentityInput { /** - *

    A unique identifier in the format REGION:GUID.

    - */ - IdentityId?: string; - - /** - *

    The maximum number of identities to return.

    + *

    An identity pool ID in the format REGION:GUID.

    */ - MaxResults?: number; + IdentityPoolId: string | undefined; /** - *

    An identity pool ID in the format REGION:GUID.

    + *

    A unique identifier in the format REGION:GUID.

    */ - IdentityPoolId: string | undefined; + IdentityId?: string; /** *

    A unique ID used by your backend authentication process to identify a user. @@ -1093,6 +1088,11 @@ export interface LookupDeveloperIdentityInput { */ DeveloperUserIdentifier?: string; + /** + *

    The maximum number of identities to return.

    + */ + MaxResults?: number; + /** *

    A pagination token. The first call you make will have NextToken set to * null. After that the service will return NextToken values as needed. For @@ -1160,11 +1160,6 @@ export interface MergeDeveloperIdentitiesInput { */ DestinationUserIdentifier: string | undefined; - /** - *

    An identity pool ID in the format REGION:GUID.

    - */ - IdentityPoolId: string | undefined; - /** *

    The "domain" by which Cognito will refer to your users. This is a (pseudo) domain * name that you provide while creating an identity pool. This name acts as a placeholder that @@ -1173,6 +1168,11 @@ export interface MergeDeveloperIdentitiesInput { * underscore (_), and dash (-).

    */ DeveloperProviderName: string | undefined; + + /** + *

    An identity pool ID in the format REGION:GUID.

    + */ + IdentityPoolId: string | undefined; } export namespace MergeDeveloperIdentitiesInput { @@ -1221,13 +1221,9 @@ export namespace ConcurrentModificationException { */ export interface SetIdentityPoolRolesInput { /** - *

    How users for a specific identity provider are to mapped to roles. This is a string - * to RoleMapping object map. The string identifies the identity provider, - * for example, "graph.facebook.com" or - * "cognito-idp-east-1.amazonaws.com/us-east-1_abcdefghi:app_client_id".

    - *

    Up to 25 rules can be specified per identity provider.

    + *

    An identity pool ID in the format REGION:GUID.

    */ - RoleMappings?: { [key: string]: RoleMapping }; + IdentityPoolId: string | undefined; /** *

    The map of roles associated with this pool. For a given role, the key will be either @@ -1236,9 +1232,13 @@ export interface SetIdentityPoolRolesInput { Roles: { [key: string]: string } | undefined; /** - *

    An identity pool ID in the format REGION:GUID.

    + *

    How users for a specific identity provider are to mapped to roles. This is a string + * to RoleMapping object map. The string identifies the identity provider, + * for example, "graph.facebook.com" or + * "cognito-idp-east-1.amazonaws.com/us-east-1_abcdefghi:app_client_id".

    + *

    Up to 25 rules can be specified per identity provider.

    */ - IdentityPoolId: string | undefined; + RoleMappings?: { [key: string]: RoleMapping }; } export namespace SetIdentityPoolRolesInput { @@ -1249,14 +1249,14 @@ export namespace SetIdentityPoolRolesInput { export interface TagResourceInput { /** - *

    The tags to assign to the identity pool.

    + *

    The Amazon Resource Name (ARN) of the identity pool to assign the tags to.

    */ - Tags: { [key: string]: string } | undefined; + ResourceArn: string | undefined; /** - *

    The Amazon Resource Name (ARN) of the identity pool to assign the tags to.

    + *

    The tags to assign to the identity pool.

    */ - ResourceArn: string | undefined; + Tags: { [key: string]: string } | undefined; } export namespace TagResourceInput { @@ -1278,24 +1278,24 @@ export namespace TagResourceResponse { */ export interface UnlinkDeveloperIdentityInput { /** - *

    The "domain" by which Cognito will refer to your users.

    + *

    A unique identifier in the format REGION:GUID.

    */ - DeveloperProviderName: string | undefined; + IdentityId: string | undefined; /** - *

    A unique ID used by your backend authentication process to identify a user.

    + *

    An identity pool ID in the format REGION:GUID.

    */ - DeveloperUserIdentifier: string | undefined; + IdentityPoolId: string | undefined; /** - *

    An identity pool ID in the format REGION:GUID.

    + *

    The "domain" by which Cognito will refer to your users.

    */ - IdentityPoolId: string | undefined; + DeveloperProviderName: string | undefined; /** - *

    A unique identifier in the format REGION:GUID.

    + *

    A unique ID used by your backend authentication process to identify a user.

    */ - IdentityId: string | undefined; + DeveloperUserIdentifier: string | undefined; } export namespace UnlinkDeveloperIdentityInput { @@ -1309,15 +1309,15 @@ export namespace UnlinkDeveloperIdentityInput { */ export interface UnlinkIdentityInput { /** - *

    A set of optional name-value pairs that map provider names to provider - * tokens.

    + *

    A unique identifier in the format REGION:GUID.

    */ - Logins: { [key: string]: string } | undefined; + IdentityId: string | undefined; /** - *

    A unique identifier in the format REGION:GUID.

    + *

    A set of optional name-value pairs that map provider names to provider + * tokens.

    */ - IdentityId: string | undefined; + Logins: { [key: string]: string } | undefined; /** *

    Provider names to unlink from this identity.

    diff --git a/clients/client-connect/Connect.ts b/clients/client-connect/Connect.ts index a95f22ed1a74..ec99b7eff4d5 100644 --- a/clients/client-connect/Connect.ts +++ b/clients/client-connect/Connect.ts @@ -1,14 +1,44 @@ import { ConnectClient } from "./ConnectClient"; +import { + AssociateApprovedOriginCommand, + AssociateApprovedOriginCommandInput, + AssociateApprovedOriginCommandOutput, +} from "./commands/AssociateApprovedOriginCommand"; +import { + AssociateInstanceStorageConfigCommand, + AssociateInstanceStorageConfigCommandInput, + AssociateInstanceStorageConfigCommandOutput, +} from "./commands/AssociateInstanceStorageConfigCommand"; +import { + AssociateLambdaFunctionCommand, + AssociateLambdaFunctionCommandInput, + AssociateLambdaFunctionCommandOutput, +} from "./commands/AssociateLambdaFunctionCommand"; +import { + AssociateLexBotCommand, + AssociateLexBotCommandInput, + AssociateLexBotCommandOutput, +} from "./commands/AssociateLexBotCommand"; import { AssociateRoutingProfileQueuesCommand, AssociateRoutingProfileQueuesCommandInput, AssociateRoutingProfileQueuesCommandOutput, } from "./commands/AssociateRoutingProfileQueuesCommand"; +import { + AssociateSecurityKeyCommand, + AssociateSecurityKeyCommandInput, + AssociateSecurityKeyCommandOutput, +} from "./commands/AssociateSecurityKeyCommand"; import { CreateContactFlowCommand, CreateContactFlowCommandInput, CreateContactFlowCommandOutput, } from "./commands/CreateContactFlowCommand"; +import { + CreateInstanceCommand, + CreateInstanceCommandInput, + CreateInstanceCommandOutput, +} from "./commands/CreateInstanceCommand"; import { CreateRoutingProfileCommand, CreateRoutingProfileCommandInput, @@ -20,6 +50,11 @@ import { CreateUserHierarchyGroupCommandInput, CreateUserHierarchyGroupCommandOutput, } from "./commands/CreateUserHierarchyGroupCommand"; +import { + DeleteInstanceCommand, + DeleteInstanceCommandInput, + DeleteInstanceCommandOutput, +} from "./commands/DeleteInstanceCommand"; import { DeleteUserCommand, DeleteUserCommandInput, DeleteUserCommandOutput } from "./commands/DeleteUserCommand"; import { DeleteUserHierarchyGroupCommand, @@ -31,6 +66,21 @@ import { DescribeContactFlowCommandInput, DescribeContactFlowCommandOutput, } from "./commands/DescribeContactFlowCommand"; +import { + DescribeInstanceAttributeCommand, + DescribeInstanceAttributeCommandInput, + DescribeInstanceAttributeCommandOutput, +} from "./commands/DescribeInstanceAttributeCommand"; +import { + DescribeInstanceCommand, + DescribeInstanceCommandInput, + DescribeInstanceCommandOutput, +} from "./commands/DescribeInstanceCommand"; +import { + DescribeInstanceStorageConfigCommand, + DescribeInstanceStorageConfigCommandInput, + DescribeInstanceStorageConfigCommandOutput, +} from "./commands/DescribeInstanceStorageConfigCommand"; import { DescribeRoutingProfileCommand, DescribeRoutingProfileCommandInput, @@ -51,11 +101,36 @@ import { DescribeUserHierarchyStructureCommandInput, DescribeUserHierarchyStructureCommandOutput, } from "./commands/DescribeUserHierarchyStructureCommand"; +import { + DisassociateApprovedOriginCommand, + DisassociateApprovedOriginCommandInput, + DisassociateApprovedOriginCommandOutput, +} from "./commands/DisassociateApprovedOriginCommand"; +import { + DisassociateInstanceStorageConfigCommand, + DisassociateInstanceStorageConfigCommandInput, + DisassociateInstanceStorageConfigCommandOutput, +} from "./commands/DisassociateInstanceStorageConfigCommand"; +import { + DisassociateLambdaFunctionCommand, + DisassociateLambdaFunctionCommandInput, + DisassociateLambdaFunctionCommandOutput, +} from "./commands/DisassociateLambdaFunctionCommand"; +import { + DisassociateLexBotCommand, + DisassociateLexBotCommandInput, + DisassociateLexBotCommandOutput, +} from "./commands/DisassociateLexBotCommand"; import { DisassociateRoutingProfileQueuesCommand, DisassociateRoutingProfileQueuesCommandInput, DisassociateRoutingProfileQueuesCommandOutput, } from "./commands/DisassociateRoutingProfileQueuesCommand"; +import { + DisassociateSecurityKeyCommand, + DisassociateSecurityKeyCommandInput, + DisassociateSecurityKeyCommandOutput, +} from "./commands/DisassociateSecurityKeyCommand"; import { GetContactAttributesCommand, GetContactAttributesCommandInput, @@ -76,6 +151,11 @@ import { GetMetricDataCommandInput, GetMetricDataCommandOutput, } from "./commands/GetMetricDataCommand"; +import { + ListApprovedOriginsCommand, + ListApprovedOriginsCommandInput, + ListApprovedOriginsCommandOutput, +} from "./commands/ListApprovedOriginsCommand"; import { ListContactFlowsCommand, ListContactFlowsCommandInput, @@ -86,6 +166,27 @@ import { ListHoursOfOperationsCommandInput, ListHoursOfOperationsCommandOutput, } from "./commands/ListHoursOfOperationsCommand"; +import { + ListInstanceAttributesCommand, + ListInstanceAttributesCommandInput, + ListInstanceAttributesCommandOutput, +} from "./commands/ListInstanceAttributesCommand"; +import { + ListInstanceStorageConfigsCommand, + ListInstanceStorageConfigsCommandInput, + ListInstanceStorageConfigsCommandOutput, +} from "./commands/ListInstanceStorageConfigsCommand"; +import { + ListInstancesCommand, + ListInstancesCommandInput, + ListInstancesCommandOutput, +} from "./commands/ListInstancesCommand"; +import { + ListLambdaFunctionsCommand, + ListLambdaFunctionsCommandInput, + ListLambdaFunctionsCommandOutput, +} from "./commands/ListLambdaFunctionsCommand"; +import { ListLexBotsCommand, ListLexBotsCommandInput, ListLexBotsCommandOutput } from "./commands/ListLexBotsCommand"; import { ListPhoneNumbersCommand, ListPhoneNumbersCommandInput, @@ -103,6 +204,11 @@ import { ListRoutingProfilesCommandInput, ListRoutingProfilesCommandOutput, } from "./commands/ListRoutingProfilesCommand"; +import { + ListSecurityKeysCommand, + ListSecurityKeysCommandInput, + ListSecurityKeysCommandOutput, +} from "./commands/ListSecurityKeysCommand"; import { ListSecurityProfilesCommand, ListSecurityProfilesCommandInput, @@ -171,6 +277,16 @@ import { UpdateContactFlowNameCommandInput, UpdateContactFlowNameCommandOutput, } from "./commands/UpdateContactFlowNameCommand"; +import { + UpdateInstanceAttributeCommand, + UpdateInstanceAttributeCommandInput, + UpdateInstanceAttributeCommandOutput, +} from "./commands/UpdateInstanceAttributeCommand"; +import { + UpdateInstanceStorageConfigCommand, + UpdateInstanceStorageConfigCommandInput, + UpdateInstanceStorageConfigCommandOutput, +} from "./commands/UpdateInstanceStorageConfigCommand"; import { UpdateRoutingProfileConcurrencyCommand, UpdateRoutingProfileConcurrencyCommandInput, @@ -246,6 +362,140 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; * */ export class Connect extends ConnectClient { + /** + *

    Associates an approved origin to an Amazon Connect instance.

    + */ + public associateApprovedOrigin( + args: AssociateApprovedOriginCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public associateApprovedOrigin( + args: AssociateApprovedOriginCommandInput, + cb: (err: any, data?: AssociateApprovedOriginCommandOutput) => void + ): void; + public associateApprovedOrigin( + args: AssociateApprovedOriginCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: AssociateApprovedOriginCommandOutput) => void + ): void; + public associateApprovedOrigin( + args: AssociateApprovedOriginCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: AssociateApprovedOriginCommandOutput) => void), + cb?: (err: any, data?: AssociateApprovedOriginCommandOutput) => void + ): Promise | void { + const command = new AssociateApprovedOriginCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

    Associates a storage resource type for the first time. You can only associate one type of + * storage configuration in a single call. This means, for example, that you can't define an + * instance with multiple S3 buckets for storing chat transcripts.

    + * + *

    This API does not create a resource that doesn't exist. It only associates it to the + * instance. Ensure that the resource being specified in the storage configuration, like an Amazon + * S3 bucket, exists when being used for association.

    + */ + public associateInstanceStorageConfig( + args: AssociateInstanceStorageConfigCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public associateInstanceStorageConfig( + args: AssociateInstanceStorageConfigCommandInput, + cb: (err: any, data?: AssociateInstanceStorageConfigCommandOutput) => void + ): void; + public associateInstanceStorageConfig( + args: AssociateInstanceStorageConfigCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: AssociateInstanceStorageConfigCommandOutput) => void + ): void; + public associateInstanceStorageConfig( + args: AssociateInstanceStorageConfigCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: AssociateInstanceStorageConfigCommandOutput) => void), + cb?: (err: any, data?: AssociateInstanceStorageConfigCommandOutput) => void + ): Promise | void { + const command = new AssociateInstanceStorageConfigCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

    Allows the specified Amazon Connect instance to access the specified Lambda function.

    + */ + public associateLambdaFunction( + args: AssociateLambdaFunctionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public associateLambdaFunction( + args: AssociateLambdaFunctionCommandInput, + cb: (err: any, data?: AssociateLambdaFunctionCommandOutput) => void + ): void; + public associateLambdaFunction( + args: AssociateLambdaFunctionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: AssociateLambdaFunctionCommandOutput) => void + ): void; + public associateLambdaFunction( + args: AssociateLambdaFunctionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: AssociateLambdaFunctionCommandOutput) => void), + cb?: (err: any, data?: AssociateLambdaFunctionCommandOutput) => void + ): Promise | void { + const command = new AssociateLambdaFunctionCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

    Allows the specified Amazon Connect instance to access the specified Amazon Lex bot.

    + */ + public associateLexBot( + args: AssociateLexBotCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public associateLexBot( + args: AssociateLexBotCommandInput, + cb: (err: any, data?: AssociateLexBotCommandOutput) => void + ): void; + public associateLexBot( + args: AssociateLexBotCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: AssociateLexBotCommandOutput) => void + ): void; + public associateLexBot( + args: AssociateLexBotCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: AssociateLexBotCommandOutput) => void), + cb?: (err: any, data?: AssociateLexBotCommandOutput) => void + ): Promise | void { + const command = new AssociateLexBotCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Associates a set of queues with a routing profile.

    */ @@ -278,6 +528,38 @@ export class Connect extends ConnectClient { } } + /** + *

    Associates a security key to the instance.

    + */ + public associateSecurityKey( + args: AssociateSecurityKeyCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public associateSecurityKey( + args: AssociateSecurityKeyCommandInput, + cb: (err: any, data?: AssociateSecurityKeyCommandOutput) => void + ): void; + public associateSecurityKey( + args: AssociateSecurityKeyCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: AssociateSecurityKeyCommandOutput) => void + ): void; + public associateSecurityKey( + args: AssociateSecurityKeyCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: AssociateSecurityKeyCommandOutput) => void), + cb?: (err: any, data?: AssociateSecurityKeyCommandOutput) => void + ): Promise | void { + const command = new AssociateSecurityKeyCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Creates a contact flow for the specified Amazon Connect instance.

    *

    You can also create and update contact flows using the Amazon Connect @@ -312,6 +594,40 @@ export class Connect extends ConnectClient { } } + /** + *

    Initiates an Amazon Connect instance with all the supported channels enabled. It does not attach any + * storage (such as Amazon S3, or Kinesis) or allow for any configurations on features such as + * Contact Lens for Amazon Connect.

    + */ + public createInstance( + args: CreateInstanceCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createInstance( + args: CreateInstanceCommandInput, + cb: (err: any, data?: CreateInstanceCommandOutput) => void + ): void; + public createInstance( + args: CreateInstanceCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateInstanceCommandOutput) => void + ): void; + public createInstance( + args: CreateInstanceCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateInstanceCommandOutput) => void), + cb?: (err: any, data?: CreateInstanceCommandOutput) => void + ): Promise | void { + const command = new CreateInstanceCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Creates a new routing profile.

    */ @@ -404,6 +720,38 @@ export class Connect extends ConnectClient { } } + /** + *

    Deletes the Amazon Connect instance.

    + */ + public deleteInstance( + args: DeleteInstanceCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteInstance( + args: DeleteInstanceCommandInput, + cb: (err: any, data?: DeleteInstanceCommandOutput) => void + ): void; + public deleteInstance( + args: DeleteInstanceCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteInstanceCommandOutput) => void + ): void; + public deleteInstance( + args: DeleteInstanceCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteInstanceCommandOutput) => void), + cb?: (err: any, data?: DeleteInstanceCommandOutput) => void + ): Promise | void { + const command = new DeleteInstanceCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Deletes a user account from the specified Amazon Connect instance.

    *

    For information about what happens to a user's data when their account is deleted, see @@ -500,6 +848,107 @@ export class Connect extends ConnectClient { } } + /** + *

    Returns the current state of the specified instance identifier. It tracks the instance while it is + * being created and returns an error status if applicable.

    + *

    If an instance is not created + * successfully, the instance status reason field returns details relevant to the reason. The instance + * in a failed state is returned only for 24 hours after + * the CreateInstance API was invoked.

    + */ + public describeInstance( + args: DescribeInstanceCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeInstance( + args: DescribeInstanceCommandInput, + cb: (err: any, data?: DescribeInstanceCommandOutput) => void + ): void; + public describeInstance( + args: DescribeInstanceCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeInstanceCommandOutput) => void + ): void; + public describeInstance( + args: DescribeInstanceCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeInstanceCommandOutput) => void), + cb?: (err: any, data?: DescribeInstanceCommandOutput) => void + ): Promise | void { + const command = new DescribeInstanceCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

    Describes the specified instance attribute.

    + */ + public describeInstanceAttribute( + args: DescribeInstanceAttributeCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeInstanceAttribute( + args: DescribeInstanceAttributeCommandInput, + cb: (err: any, data?: DescribeInstanceAttributeCommandOutput) => void + ): void; + public describeInstanceAttribute( + args: DescribeInstanceAttributeCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeInstanceAttributeCommandOutput) => void + ): void; + public describeInstanceAttribute( + args: DescribeInstanceAttributeCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeInstanceAttributeCommandOutput) => void), + cb?: (err: any, data?: DescribeInstanceAttributeCommandOutput) => void + ): Promise | void { + const command = new DescribeInstanceAttributeCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

    Retrieves the current storage configurations for the specified resource type, association ID, and instance ID.

    + */ + public describeInstanceStorageConfig( + args: DescribeInstanceStorageConfigCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeInstanceStorageConfig( + args: DescribeInstanceStorageConfigCommandInput, + cb: (err: any, data?: DescribeInstanceStorageConfigCommandOutput) => void + ): void; + public describeInstanceStorageConfig( + args: DescribeInstanceStorageConfigCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeInstanceStorageConfigCommandOutput) => void + ): void; + public describeInstanceStorageConfig( + args: DescribeInstanceStorageConfigCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeInstanceStorageConfigCommandOutput) => void), + cb?: (err: any, data?: DescribeInstanceStorageConfigCommandOutput) => void + ): Promise | void { + const command = new DescribeInstanceStorageConfigCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Describes the specified routing profile.

    */ @@ -627,6 +1076,135 @@ export class Connect extends ConnectClient { } } + /** + *

    Revokes access to integrated applications from Amazon Connect.

    + */ + public disassociateApprovedOrigin( + args: DisassociateApprovedOriginCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public disassociateApprovedOrigin( + args: DisassociateApprovedOriginCommandInput, + cb: (err: any, data?: DisassociateApprovedOriginCommandOutput) => void + ): void; + public disassociateApprovedOrigin( + args: DisassociateApprovedOriginCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DisassociateApprovedOriginCommandOutput) => void + ): void; + public disassociateApprovedOrigin( + args: DisassociateApprovedOriginCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DisassociateApprovedOriginCommandOutput) => void), + cb?: (err: any, data?: DisassociateApprovedOriginCommandOutput) => void + ): Promise | void { + const command = new DisassociateApprovedOriginCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

    Removes the storage type configurations for the specified resource type and association ID.

    + */ + public disassociateInstanceStorageConfig( + args: DisassociateInstanceStorageConfigCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public disassociateInstanceStorageConfig( + args: DisassociateInstanceStorageConfigCommandInput, + cb: (err: any, data?: DisassociateInstanceStorageConfigCommandOutput) => void + ): void; + public disassociateInstanceStorageConfig( + args: DisassociateInstanceStorageConfigCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DisassociateInstanceStorageConfigCommandOutput) => void + ): void; + public disassociateInstanceStorageConfig( + args: DisassociateInstanceStorageConfigCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DisassociateInstanceStorageConfigCommandOutput) => void), + cb?: (err: any, data?: DisassociateInstanceStorageConfigCommandOutput) => void + ): Promise | void { + const command = new DisassociateInstanceStorageConfigCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

    Remove the Lambda function from the drop-down options available in the relevant contact flow + * blocks.

    + */ + public disassociateLambdaFunction( + args: DisassociateLambdaFunctionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public disassociateLambdaFunction( + args: DisassociateLambdaFunctionCommandInput, + cb: (err: any, data?: DisassociateLambdaFunctionCommandOutput) => void + ): void; + public disassociateLambdaFunction( + args: DisassociateLambdaFunctionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DisassociateLambdaFunctionCommandOutput) => void + ): void; + public disassociateLambdaFunction( + args: DisassociateLambdaFunctionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DisassociateLambdaFunctionCommandOutput) => void), + cb?: (err: any, data?: DisassociateLambdaFunctionCommandOutput) => void + ): Promise | void { + const command = new DisassociateLambdaFunctionCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

    Revokes authorization from the specified instance to access the specified Amazon Lex bot.

    + */ + public disassociateLexBot( + args: DisassociateLexBotCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public disassociateLexBot( + args: DisassociateLexBotCommandInput, + cb: (err: any, data?: DisassociateLexBotCommandOutput) => void + ): void; + public disassociateLexBot( + args: DisassociateLexBotCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DisassociateLexBotCommandOutput) => void + ): void; + public disassociateLexBot( + args: DisassociateLexBotCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DisassociateLexBotCommandOutput) => void), + cb?: (err: any, data?: DisassociateLexBotCommandOutput) => void + ): Promise | void { + const command = new DisassociateLexBotCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Disassociates a set of queues from a routing profile.

    */ @@ -659,6 +1237,38 @@ export class Connect extends ConnectClient { } } + /** + *

    Deletes the specified security key.

    + */ + public disassociateSecurityKey( + args: DisassociateSecurityKeyCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public disassociateSecurityKey( + args: DisassociateSecurityKeyCommandInput, + cb: (err: any, data?: DisassociateSecurityKeyCommandOutput) => void + ): void; + public disassociateSecurityKey( + args: DisassociateSecurityKeyCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DisassociateSecurityKeyCommandOutput) => void + ): void; + public disassociateSecurityKey( + args: DisassociateSecurityKeyCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DisassociateSecurityKeyCommandOutput) => void), + cb?: (err: any, data?: DisassociateSecurityKeyCommandOutput) => void + ): Promise | void { + const command = new DisassociateSecurityKeyCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Retrieves the contact attributes for the specified contact.

    */ @@ -791,6 +1401,38 @@ export class Connect extends ConnectClient { } } + /** + *

    Returns a paginated list of all approved origins associated with the instance.

    + */ + public listApprovedOrigins( + args: ListApprovedOriginsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listApprovedOrigins( + args: ListApprovedOriginsCommandInput, + cb: (err: any, data?: ListApprovedOriginsCommandOutput) => void + ): void; + public listApprovedOrigins( + args: ListApprovedOriginsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListApprovedOriginsCommandOutput) => void + ): void; + public listApprovedOrigins( + args: ListApprovedOriginsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListApprovedOriginsCommandOutput) => void), + cb?: (err: any, data?: ListApprovedOriginsCommandOutput) => void + ): Promise | void { + const command = new ListApprovedOriginsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Provides information about the contact flows for the specified Amazon Connect instance.

    *

    You can also create and update contact flows using the Amazon Connect @@ -861,6 +1503,163 @@ export class Connect extends ConnectClient { } } + /** + *

    Returns a paginated list of all attribute types for the given instance.

    + */ + public listInstanceAttributes( + args: ListInstanceAttributesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listInstanceAttributes( + args: ListInstanceAttributesCommandInput, + cb: (err: any, data?: ListInstanceAttributesCommandOutput) => void + ): void; + public listInstanceAttributes( + args: ListInstanceAttributesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListInstanceAttributesCommandOutput) => void + ): void; + public listInstanceAttributes( + args: ListInstanceAttributesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListInstanceAttributesCommandOutput) => void), + cb?: (err: any, data?: ListInstanceAttributesCommandOutput) => void + ): Promise | void { + const command = new ListInstanceAttributesCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

    Return a list of instances which are in active state, creation-in-progress state, and failed + * state. Instances that aren't successfully created (they are in a failed state) are returned only + * for 24 hours after the CreateInstance API was invoked.

    + */ + public listInstances( + args: ListInstancesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listInstances( + args: ListInstancesCommandInput, + cb: (err: any, data?: ListInstancesCommandOutput) => void + ): void; + public listInstances( + args: ListInstancesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListInstancesCommandOutput) => void + ): void; + public listInstances( + args: ListInstancesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListInstancesCommandOutput) => void), + cb?: (err: any, data?: ListInstancesCommandOutput) => void + ): Promise | void { + const command = new ListInstancesCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

    Returns a paginated list of storage configs for the identified instance and resource + * type.

    + */ + public listInstanceStorageConfigs( + args: ListInstanceStorageConfigsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listInstanceStorageConfigs( + args: ListInstanceStorageConfigsCommandInput, + cb: (err: any, data?: ListInstanceStorageConfigsCommandOutput) => void + ): void; + public listInstanceStorageConfigs( + args: ListInstanceStorageConfigsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListInstanceStorageConfigsCommandOutput) => void + ): void; + public listInstanceStorageConfigs( + args: ListInstanceStorageConfigsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListInstanceStorageConfigsCommandOutput) => void), + cb?: (err: any, data?: ListInstanceStorageConfigsCommandOutput) => void + ): Promise | void { + const command = new ListInstanceStorageConfigsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

    Returns a paginated list of all the Lambda functions that show up in the drop-down options in the relevant contact flow blocks.

    + */ + public listLambdaFunctions( + args: ListLambdaFunctionsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listLambdaFunctions( + args: ListLambdaFunctionsCommandInput, + cb: (err: any, data?: ListLambdaFunctionsCommandOutput) => void + ): void; + public listLambdaFunctions( + args: ListLambdaFunctionsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListLambdaFunctionsCommandOutput) => void + ): void; + public listLambdaFunctions( + args: ListLambdaFunctionsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListLambdaFunctionsCommandOutput) => void), + cb?: (err: any, data?: ListLambdaFunctionsCommandOutput) => void + ): Promise | void { + const command = new ListLambdaFunctionsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

    Returns a paginated list of all the Amazon Lex bots currently associated with the instance.

    + */ + public listLexBots(args: ListLexBotsCommandInput, options?: __HttpHandlerOptions): Promise; + public listLexBots(args: ListLexBotsCommandInput, cb: (err: any, data?: ListLexBotsCommandOutput) => void): void; + public listLexBots( + args: ListLexBotsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListLexBotsCommandOutput) => void + ): void; + public listLexBots( + args: ListLexBotsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListLexBotsCommandOutput) => void), + cb?: (err: any, data?: ListLexBotsCommandOutput) => void + ): Promise | void { + const command = new ListLexBotsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Provides information about the phone numbers for the specified Amazon Connect instance.

    *

    For more information about phone numbers, see Set Up Phone Numbers for Your @@ -1017,6 +1816,38 @@ export class Connect extends ConnectClient { } } + /** + *

    Returns a paginated list of all security keys associated with the instance.

    + */ + public listSecurityKeys( + args: ListSecurityKeysCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listSecurityKeys( + args: ListSecurityKeysCommandInput, + cb: (err: any, data?: ListSecurityKeysCommandOutput) => void + ): void; + public listSecurityKeys( + args: ListSecurityKeysCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListSecurityKeysCommandOutput) => void + ): void; + public listSecurityKeys( + args: ListSecurityKeysCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListSecurityKeysCommandOutput) => void), + cb?: (err: any, data?: ListSecurityKeysCommandOutput) => void + ): Promise | void { + const command = new ListSecurityKeysCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Provides summary information about the security profiles for the specified Amazon Connect * instance.

    @@ -1596,6 +2427,70 @@ export class Connect extends ConnectClient { } } + /** + *

    Updates the value for the specified attribute type.

    + */ + public updateInstanceAttribute( + args: UpdateInstanceAttributeCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateInstanceAttribute( + args: UpdateInstanceAttributeCommandInput, + cb: (err: any, data?: UpdateInstanceAttributeCommandOutput) => void + ): void; + public updateInstanceAttribute( + args: UpdateInstanceAttributeCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateInstanceAttributeCommandOutput) => void + ): void; + public updateInstanceAttribute( + args: UpdateInstanceAttributeCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateInstanceAttributeCommandOutput) => void), + cb?: (err: any, data?: UpdateInstanceAttributeCommandOutput) => void + ): Promise | void { + const command = new UpdateInstanceAttributeCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

    Updates an existing configuration for a resource type. This API is idempotent.

    + */ + public updateInstanceStorageConfig( + args: UpdateInstanceStorageConfigCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateInstanceStorageConfig( + args: UpdateInstanceStorageConfigCommandInput, + cb: (err: any, data?: UpdateInstanceStorageConfigCommandOutput) => void + ): void; + public updateInstanceStorageConfig( + args: UpdateInstanceStorageConfigCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateInstanceStorageConfigCommandOutput) => void + ): void; + public updateInstanceStorageConfig( + args: UpdateInstanceStorageConfigCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateInstanceStorageConfigCommandOutput) => void), + cb?: (err: any, data?: UpdateInstanceStorageConfigCommandOutput) => void + ): Promise | void { + const command = new UpdateInstanceStorageConfigCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Updates the channels that agents can handle in the Contact Control Panel (CCP) for a routing profile.

    */ diff --git a/clients/client-connect/ConnectClient.ts b/clients/client-connect/ConnectClient.ts index eacf235c878e..c8341380f5bf 100644 --- a/clients/client-connect/ConnectClient.ts +++ b/clients/client-connect/ConnectClient.ts @@ -1,8 +1,26 @@ +import { + AssociateApprovedOriginCommandInput, + AssociateApprovedOriginCommandOutput, +} from "./commands/AssociateApprovedOriginCommand"; +import { + AssociateInstanceStorageConfigCommandInput, + AssociateInstanceStorageConfigCommandOutput, +} from "./commands/AssociateInstanceStorageConfigCommand"; +import { + AssociateLambdaFunctionCommandInput, + AssociateLambdaFunctionCommandOutput, +} from "./commands/AssociateLambdaFunctionCommand"; +import { AssociateLexBotCommandInput, AssociateLexBotCommandOutput } from "./commands/AssociateLexBotCommand"; import { AssociateRoutingProfileQueuesCommandInput, AssociateRoutingProfileQueuesCommandOutput, } from "./commands/AssociateRoutingProfileQueuesCommand"; +import { + AssociateSecurityKeyCommandInput, + AssociateSecurityKeyCommandOutput, +} from "./commands/AssociateSecurityKeyCommand"; import { CreateContactFlowCommandInput, CreateContactFlowCommandOutput } from "./commands/CreateContactFlowCommand"; +import { CreateInstanceCommandInput, CreateInstanceCommandOutput } from "./commands/CreateInstanceCommand"; import { CreateRoutingProfileCommandInput, CreateRoutingProfileCommandOutput, @@ -12,6 +30,7 @@ import { CreateUserHierarchyGroupCommandInput, CreateUserHierarchyGroupCommandOutput, } from "./commands/CreateUserHierarchyGroupCommand"; +import { DeleteInstanceCommandInput, DeleteInstanceCommandOutput } from "./commands/DeleteInstanceCommand"; import { DeleteUserCommandInput, DeleteUserCommandOutput } from "./commands/DeleteUserCommand"; import { DeleteUserHierarchyGroupCommandInput, @@ -21,6 +40,15 @@ import { DescribeContactFlowCommandInput, DescribeContactFlowCommandOutput, } from "./commands/DescribeContactFlowCommand"; +import { + DescribeInstanceAttributeCommandInput, + DescribeInstanceAttributeCommandOutput, +} from "./commands/DescribeInstanceAttributeCommand"; +import { DescribeInstanceCommandInput, DescribeInstanceCommandOutput } from "./commands/DescribeInstanceCommand"; +import { + DescribeInstanceStorageConfigCommandInput, + DescribeInstanceStorageConfigCommandOutput, +} from "./commands/DescribeInstanceStorageConfigCommand"; import { DescribeRoutingProfileCommandInput, DescribeRoutingProfileCommandOutput, @@ -34,10 +62,27 @@ import { DescribeUserHierarchyStructureCommandInput, DescribeUserHierarchyStructureCommandOutput, } from "./commands/DescribeUserHierarchyStructureCommand"; +import { + DisassociateApprovedOriginCommandInput, + DisassociateApprovedOriginCommandOutput, +} from "./commands/DisassociateApprovedOriginCommand"; +import { + DisassociateInstanceStorageConfigCommandInput, + DisassociateInstanceStorageConfigCommandOutput, +} from "./commands/DisassociateInstanceStorageConfigCommand"; +import { + DisassociateLambdaFunctionCommandInput, + DisassociateLambdaFunctionCommandOutput, +} from "./commands/DisassociateLambdaFunctionCommand"; +import { DisassociateLexBotCommandInput, DisassociateLexBotCommandOutput } from "./commands/DisassociateLexBotCommand"; import { DisassociateRoutingProfileQueuesCommandInput, DisassociateRoutingProfileQueuesCommandOutput, } from "./commands/DisassociateRoutingProfileQueuesCommand"; +import { + DisassociateSecurityKeyCommandInput, + DisassociateSecurityKeyCommandOutput, +} from "./commands/DisassociateSecurityKeyCommand"; import { GetContactAttributesCommandInput, GetContactAttributesCommandOutput, @@ -48,11 +93,29 @@ import { } from "./commands/GetCurrentMetricDataCommand"; import { GetFederationTokenCommandInput, GetFederationTokenCommandOutput } from "./commands/GetFederationTokenCommand"; import { GetMetricDataCommandInput, GetMetricDataCommandOutput } from "./commands/GetMetricDataCommand"; +import { + ListApprovedOriginsCommandInput, + ListApprovedOriginsCommandOutput, +} from "./commands/ListApprovedOriginsCommand"; import { ListContactFlowsCommandInput, ListContactFlowsCommandOutput } from "./commands/ListContactFlowsCommand"; import { ListHoursOfOperationsCommandInput, ListHoursOfOperationsCommandOutput, } from "./commands/ListHoursOfOperationsCommand"; +import { + ListInstanceAttributesCommandInput, + ListInstanceAttributesCommandOutput, +} from "./commands/ListInstanceAttributesCommand"; +import { + ListInstanceStorageConfigsCommandInput, + ListInstanceStorageConfigsCommandOutput, +} from "./commands/ListInstanceStorageConfigsCommand"; +import { ListInstancesCommandInput, ListInstancesCommandOutput } from "./commands/ListInstancesCommand"; +import { + ListLambdaFunctionsCommandInput, + ListLambdaFunctionsCommandOutput, +} from "./commands/ListLambdaFunctionsCommand"; +import { ListLexBotsCommandInput, ListLexBotsCommandOutput } from "./commands/ListLexBotsCommand"; import { ListPhoneNumbersCommandInput, ListPhoneNumbersCommandOutput } from "./commands/ListPhoneNumbersCommand"; import { ListPromptsCommandInput, ListPromptsCommandOutput } from "./commands/ListPromptsCommand"; import { ListQueuesCommandInput, ListQueuesCommandOutput } from "./commands/ListQueuesCommand"; @@ -64,6 +127,7 @@ import { ListRoutingProfilesCommandInput, ListRoutingProfilesCommandOutput, } from "./commands/ListRoutingProfilesCommand"; +import { ListSecurityKeysCommandInput, ListSecurityKeysCommandOutput } from "./commands/ListSecurityKeysCommand"; import { ListSecurityProfilesCommandInput, ListSecurityProfilesCommandOutput, @@ -113,6 +177,14 @@ import { UpdateContactFlowNameCommandInput, UpdateContactFlowNameCommandOutput, } from "./commands/UpdateContactFlowNameCommand"; +import { + UpdateInstanceAttributeCommandInput, + UpdateInstanceAttributeCommandOutput, +} from "./commands/UpdateInstanceAttributeCommand"; +import { + UpdateInstanceStorageConfigCommandInput, + UpdateInstanceStorageConfigCommandOutput, +} from "./commands/UpdateInstanceStorageConfigCommand"; import { UpdateRoutingProfileConcurrencyCommandInput, UpdateRoutingProfileConcurrencyCommandOutput, @@ -207,30 +279,52 @@ import { } from "@aws-sdk/types"; export type ServiceInputTypes = + | AssociateApprovedOriginCommandInput + | AssociateInstanceStorageConfigCommandInput + | AssociateLambdaFunctionCommandInput + | AssociateLexBotCommandInput | AssociateRoutingProfileQueuesCommandInput + | AssociateSecurityKeyCommandInput | CreateContactFlowCommandInput + | CreateInstanceCommandInput | CreateRoutingProfileCommandInput | CreateUserCommandInput | CreateUserHierarchyGroupCommandInput + | DeleteInstanceCommandInput | DeleteUserCommandInput | DeleteUserHierarchyGroupCommandInput | DescribeContactFlowCommandInput + | DescribeInstanceAttributeCommandInput + | DescribeInstanceCommandInput + | DescribeInstanceStorageConfigCommandInput | DescribeRoutingProfileCommandInput | DescribeUserCommandInput | DescribeUserHierarchyGroupCommandInput | DescribeUserHierarchyStructureCommandInput + | DisassociateApprovedOriginCommandInput + | DisassociateInstanceStorageConfigCommandInput + | DisassociateLambdaFunctionCommandInput + | DisassociateLexBotCommandInput | DisassociateRoutingProfileQueuesCommandInput + | DisassociateSecurityKeyCommandInput | GetContactAttributesCommandInput | GetCurrentMetricDataCommandInput | GetFederationTokenCommandInput | GetMetricDataCommandInput + | ListApprovedOriginsCommandInput | ListContactFlowsCommandInput | ListHoursOfOperationsCommandInput + | ListInstanceAttributesCommandInput + | ListInstanceStorageConfigsCommandInput + | ListInstancesCommandInput + | ListLambdaFunctionsCommandInput + | ListLexBotsCommandInput | ListPhoneNumbersCommandInput | ListPromptsCommandInput | ListQueuesCommandInput | ListRoutingProfileQueuesCommandInput | ListRoutingProfilesCommandInput + | ListSecurityKeysCommandInput | ListSecurityProfilesCommandInput | ListTagsForResourceCommandInput | ListUserHierarchyGroupsCommandInput @@ -247,6 +341,8 @@ export type ServiceInputTypes = | UpdateContactAttributesCommandInput | UpdateContactFlowContentCommandInput | UpdateContactFlowNameCommandInput + | UpdateInstanceAttributeCommandInput + | UpdateInstanceStorageConfigCommandInput | UpdateRoutingProfileConcurrencyCommandInput | UpdateRoutingProfileDefaultOutboundQueueCommandInput | UpdateRoutingProfileNameCommandInput @@ -260,30 +356,52 @@ export type ServiceInputTypes = | UpdateUserSecurityProfilesCommandInput; export type ServiceOutputTypes = + | AssociateApprovedOriginCommandOutput + | AssociateInstanceStorageConfigCommandOutput + | AssociateLambdaFunctionCommandOutput + | AssociateLexBotCommandOutput | AssociateRoutingProfileQueuesCommandOutput + | AssociateSecurityKeyCommandOutput | CreateContactFlowCommandOutput + | CreateInstanceCommandOutput | CreateRoutingProfileCommandOutput | CreateUserCommandOutput | CreateUserHierarchyGroupCommandOutput + | DeleteInstanceCommandOutput | DeleteUserCommandOutput | DeleteUserHierarchyGroupCommandOutput | DescribeContactFlowCommandOutput + | DescribeInstanceAttributeCommandOutput + | DescribeInstanceCommandOutput + | DescribeInstanceStorageConfigCommandOutput | DescribeRoutingProfileCommandOutput | DescribeUserCommandOutput | DescribeUserHierarchyGroupCommandOutput | DescribeUserHierarchyStructureCommandOutput + | DisassociateApprovedOriginCommandOutput + | DisassociateInstanceStorageConfigCommandOutput + | DisassociateLambdaFunctionCommandOutput + | DisassociateLexBotCommandOutput | DisassociateRoutingProfileQueuesCommandOutput + | DisassociateSecurityKeyCommandOutput | GetContactAttributesCommandOutput | GetCurrentMetricDataCommandOutput | GetFederationTokenCommandOutput | GetMetricDataCommandOutput + | ListApprovedOriginsCommandOutput | ListContactFlowsCommandOutput | ListHoursOfOperationsCommandOutput + | ListInstanceAttributesCommandOutput + | ListInstanceStorageConfigsCommandOutput + | ListInstancesCommandOutput + | ListLambdaFunctionsCommandOutput + | ListLexBotsCommandOutput | ListPhoneNumbersCommandOutput | ListPromptsCommandOutput | ListQueuesCommandOutput | ListRoutingProfileQueuesCommandOutput | ListRoutingProfilesCommandOutput + | ListSecurityKeysCommandOutput | ListSecurityProfilesCommandOutput | ListTagsForResourceCommandOutput | ListUserHierarchyGroupsCommandOutput @@ -300,6 +418,8 @@ export type ServiceOutputTypes = | UpdateContactAttributesCommandOutput | UpdateContactFlowContentCommandOutput | UpdateContactFlowNameCommandOutput + | UpdateInstanceAttributeCommandOutput + | UpdateInstanceStorageConfigCommandOutput | UpdateRoutingProfileConcurrencyCommandOutput | UpdateRoutingProfileDefaultOutboundQueueCommandOutput | UpdateRoutingProfileNameCommandOutput diff --git a/clients/client-connect/commands/AssociateApprovedOriginCommand.ts b/clients/client-connect/commands/AssociateApprovedOriginCommand.ts new file mode 100644 index 000000000000..14dc39f0a3b2 --- /dev/null +++ b/clients/client-connect/commands/AssociateApprovedOriginCommand.ts @@ -0,0 +1,82 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { AssociateApprovedOriginRequest } from "../models/models_0"; +import { + deserializeAws_restJson1AssociateApprovedOriginCommand, + serializeAws_restJson1AssociateApprovedOriginCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type AssociateApprovedOriginCommandInput = AssociateApprovedOriginRequest; +export type AssociateApprovedOriginCommandOutput = __MetadataBearer; + +export class AssociateApprovedOriginCommand extends $Command< + AssociateApprovedOriginCommandInput, + AssociateApprovedOriginCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: AssociateApprovedOriginCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "AssociateApprovedOriginCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: AssociateApprovedOriginRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: AssociateApprovedOriginCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1AssociateApprovedOriginCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1AssociateApprovedOriginCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/AssociateInstanceStorageConfigCommand.ts b/clients/client-connect/commands/AssociateInstanceStorageConfigCommand.ts new file mode 100644 index 000000000000..3c23fe063d82 --- /dev/null +++ b/clients/client-connect/commands/AssociateInstanceStorageConfigCommand.ts @@ -0,0 +1,88 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { AssociateInstanceStorageConfigRequest, AssociateInstanceStorageConfigResponse } from "../models/models_0"; +import { + deserializeAws_restJson1AssociateInstanceStorageConfigCommand, + serializeAws_restJson1AssociateInstanceStorageConfigCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type AssociateInstanceStorageConfigCommandInput = AssociateInstanceStorageConfigRequest; +export type AssociateInstanceStorageConfigCommandOutput = AssociateInstanceStorageConfigResponse & __MetadataBearer; + +export class AssociateInstanceStorageConfigCommand extends $Command< + AssociateInstanceStorageConfigCommandInput, + AssociateInstanceStorageConfigCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: AssociateInstanceStorageConfigCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "AssociateInstanceStorageConfigCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: AssociateInstanceStorageConfigRequest.filterSensitiveLog, + outputFilterSensitiveLog: AssociateInstanceStorageConfigResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: AssociateInstanceStorageConfigCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restJson1AssociateInstanceStorageConfigCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1AssociateInstanceStorageConfigCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/AssociateLambdaFunctionCommand.ts b/clients/client-connect/commands/AssociateLambdaFunctionCommand.ts new file mode 100644 index 000000000000..7c6a87a916ee --- /dev/null +++ b/clients/client-connect/commands/AssociateLambdaFunctionCommand.ts @@ -0,0 +1,82 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { AssociateLambdaFunctionRequest } from "../models/models_0"; +import { + deserializeAws_restJson1AssociateLambdaFunctionCommand, + serializeAws_restJson1AssociateLambdaFunctionCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type AssociateLambdaFunctionCommandInput = AssociateLambdaFunctionRequest; +export type AssociateLambdaFunctionCommandOutput = __MetadataBearer; + +export class AssociateLambdaFunctionCommand extends $Command< + AssociateLambdaFunctionCommandInput, + AssociateLambdaFunctionCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: AssociateLambdaFunctionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "AssociateLambdaFunctionCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: AssociateLambdaFunctionRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: AssociateLambdaFunctionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1AssociateLambdaFunctionCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1AssociateLambdaFunctionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/AssociateLexBotCommand.ts b/clients/client-connect/commands/AssociateLexBotCommand.ts new file mode 100644 index 000000000000..3d80e4d0b4ba --- /dev/null +++ b/clients/client-connect/commands/AssociateLexBotCommand.ts @@ -0,0 +1,82 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { AssociateLexBotRequest } from "../models/models_0"; +import { + deserializeAws_restJson1AssociateLexBotCommand, + serializeAws_restJson1AssociateLexBotCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type AssociateLexBotCommandInput = AssociateLexBotRequest; +export type AssociateLexBotCommandOutput = __MetadataBearer; + +export class AssociateLexBotCommand extends $Command< + AssociateLexBotCommandInput, + AssociateLexBotCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: AssociateLexBotCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "AssociateLexBotCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: AssociateLexBotRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: AssociateLexBotCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1AssociateLexBotCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1AssociateLexBotCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/AssociateSecurityKeyCommand.ts b/clients/client-connect/commands/AssociateSecurityKeyCommand.ts new file mode 100644 index 000000000000..fbf3a867f4d2 --- /dev/null +++ b/clients/client-connect/commands/AssociateSecurityKeyCommand.ts @@ -0,0 +1,82 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { AssociateSecurityKeyRequest, AssociateSecurityKeyResponse } from "../models/models_0"; +import { + deserializeAws_restJson1AssociateSecurityKeyCommand, + serializeAws_restJson1AssociateSecurityKeyCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type AssociateSecurityKeyCommandInput = AssociateSecurityKeyRequest; +export type AssociateSecurityKeyCommandOutput = AssociateSecurityKeyResponse & __MetadataBearer; + +export class AssociateSecurityKeyCommand extends $Command< + AssociateSecurityKeyCommandInput, + AssociateSecurityKeyCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: AssociateSecurityKeyCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "AssociateSecurityKeyCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: AssociateSecurityKeyRequest.filterSensitiveLog, + outputFilterSensitiveLog: AssociateSecurityKeyResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: AssociateSecurityKeyCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1AssociateSecurityKeyCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1AssociateSecurityKeyCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/CreateInstanceCommand.ts b/clients/client-connect/commands/CreateInstanceCommand.ts new file mode 100644 index 000000000000..d74ea10f8502 --- /dev/null +++ b/clients/client-connect/commands/CreateInstanceCommand.ts @@ -0,0 +1,82 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { CreateInstanceRequest, CreateInstanceResponse } from "../models/models_0"; +import { + deserializeAws_restJson1CreateInstanceCommand, + serializeAws_restJson1CreateInstanceCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type CreateInstanceCommandInput = CreateInstanceRequest; +export type CreateInstanceCommandOutput = CreateInstanceResponse & __MetadataBearer; + +export class CreateInstanceCommand extends $Command< + CreateInstanceCommandInput, + CreateInstanceCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateInstanceCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "CreateInstanceCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreateInstanceRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateInstanceResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateInstanceCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1CreateInstanceCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1CreateInstanceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/DeleteInstanceCommand.ts b/clients/client-connect/commands/DeleteInstanceCommand.ts new file mode 100644 index 000000000000..5ab948b93f51 --- /dev/null +++ b/clients/client-connect/commands/DeleteInstanceCommand.ts @@ -0,0 +1,82 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { DeleteInstanceRequest } from "../models/models_0"; +import { + deserializeAws_restJson1DeleteInstanceCommand, + serializeAws_restJson1DeleteInstanceCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DeleteInstanceCommandInput = DeleteInstanceRequest; +export type DeleteInstanceCommandOutput = __MetadataBearer; + +export class DeleteInstanceCommand extends $Command< + DeleteInstanceCommandInput, + DeleteInstanceCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteInstanceCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "DeleteInstanceCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteInstanceRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteInstanceCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DeleteInstanceCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DeleteInstanceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/DescribeInstanceAttributeCommand.ts b/clients/client-connect/commands/DescribeInstanceAttributeCommand.ts new file mode 100644 index 000000000000..9f2502dc356d --- /dev/null +++ b/clients/client-connect/commands/DescribeInstanceAttributeCommand.ts @@ -0,0 +1,85 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { DescribeInstanceAttributeRequest, DescribeInstanceAttributeResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeInstanceAttributeCommand, + serializeAws_restJson1DescribeInstanceAttributeCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DescribeInstanceAttributeCommandInput = DescribeInstanceAttributeRequest; +export type DescribeInstanceAttributeCommandOutput = DescribeInstanceAttributeResponse & __MetadataBearer; + +export class DescribeInstanceAttributeCommand extends $Command< + DescribeInstanceAttributeCommandInput, + DescribeInstanceAttributeCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeInstanceAttributeCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "DescribeInstanceAttributeCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeInstanceAttributeRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeInstanceAttributeResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeInstanceAttributeCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeInstanceAttributeCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1DescribeInstanceAttributeCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/DescribeInstanceCommand.ts b/clients/client-connect/commands/DescribeInstanceCommand.ts new file mode 100644 index 000000000000..611162c6f2ba --- /dev/null +++ b/clients/client-connect/commands/DescribeInstanceCommand.ts @@ -0,0 +1,82 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { DescribeInstanceRequest, DescribeInstanceResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeInstanceCommand, + serializeAws_restJson1DescribeInstanceCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DescribeInstanceCommandInput = DescribeInstanceRequest; +export type DescribeInstanceCommandOutput = DescribeInstanceResponse & __MetadataBearer; + +export class DescribeInstanceCommand extends $Command< + DescribeInstanceCommandInput, + DescribeInstanceCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeInstanceCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "DescribeInstanceCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeInstanceRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeInstanceResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeInstanceCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeInstanceCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DescribeInstanceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/DescribeInstanceStorageConfigCommand.ts b/clients/client-connect/commands/DescribeInstanceStorageConfigCommand.ts new file mode 100644 index 000000000000..1983c561f6ef --- /dev/null +++ b/clients/client-connect/commands/DescribeInstanceStorageConfigCommand.ts @@ -0,0 +1,85 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { DescribeInstanceStorageConfigRequest, DescribeInstanceStorageConfigResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeInstanceStorageConfigCommand, + serializeAws_restJson1DescribeInstanceStorageConfigCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DescribeInstanceStorageConfigCommandInput = DescribeInstanceStorageConfigRequest; +export type DescribeInstanceStorageConfigCommandOutput = DescribeInstanceStorageConfigResponse & __MetadataBearer; + +export class DescribeInstanceStorageConfigCommand extends $Command< + DescribeInstanceStorageConfigCommandInput, + DescribeInstanceStorageConfigCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeInstanceStorageConfigCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "DescribeInstanceStorageConfigCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeInstanceStorageConfigRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeInstanceStorageConfigResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeInstanceStorageConfigCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeInstanceStorageConfigCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1DescribeInstanceStorageConfigCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/DisassociateApprovedOriginCommand.ts b/clients/client-connect/commands/DisassociateApprovedOriginCommand.ts new file mode 100644 index 000000000000..626665c0ad9b --- /dev/null +++ b/clients/client-connect/commands/DisassociateApprovedOriginCommand.ts @@ -0,0 +1,85 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { DisassociateApprovedOriginRequest } from "../models/models_0"; +import { + deserializeAws_restJson1DisassociateApprovedOriginCommand, + serializeAws_restJson1DisassociateApprovedOriginCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DisassociateApprovedOriginCommandInput = DisassociateApprovedOriginRequest; +export type DisassociateApprovedOriginCommandOutput = __MetadataBearer; + +export class DisassociateApprovedOriginCommand extends $Command< + DisassociateApprovedOriginCommandInput, + DisassociateApprovedOriginCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DisassociateApprovedOriginCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "DisassociateApprovedOriginCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DisassociateApprovedOriginRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DisassociateApprovedOriginCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DisassociateApprovedOriginCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1DisassociateApprovedOriginCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/DisassociateInstanceStorageConfigCommand.ts b/clients/client-connect/commands/DisassociateInstanceStorageConfigCommand.ts new file mode 100644 index 000000000000..24a782f07be5 --- /dev/null +++ b/clients/client-connect/commands/DisassociateInstanceStorageConfigCommand.ts @@ -0,0 +1,88 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { DisassociateInstanceStorageConfigRequest } from "../models/models_0"; +import { + deserializeAws_restJson1DisassociateInstanceStorageConfigCommand, + serializeAws_restJson1DisassociateInstanceStorageConfigCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DisassociateInstanceStorageConfigCommandInput = DisassociateInstanceStorageConfigRequest; +export type DisassociateInstanceStorageConfigCommandOutput = __MetadataBearer; + +export class DisassociateInstanceStorageConfigCommand extends $Command< + DisassociateInstanceStorageConfigCommandInput, + DisassociateInstanceStorageConfigCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DisassociateInstanceStorageConfigCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "DisassociateInstanceStorageConfigCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DisassociateInstanceStorageConfigRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DisassociateInstanceStorageConfigCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restJson1DisassociateInstanceStorageConfigCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1DisassociateInstanceStorageConfigCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/DisassociateLambdaFunctionCommand.ts b/clients/client-connect/commands/DisassociateLambdaFunctionCommand.ts new file mode 100644 index 000000000000..212853c9e524 --- /dev/null +++ b/clients/client-connect/commands/DisassociateLambdaFunctionCommand.ts @@ -0,0 +1,85 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { DisassociateLambdaFunctionRequest } from "../models/models_0"; +import { + deserializeAws_restJson1DisassociateLambdaFunctionCommand, + serializeAws_restJson1DisassociateLambdaFunctionCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DisassociateLambdaFunctionCommandInput = DisassociateLambdaFunctionRequest; +export type DisassociateLambdaFunctionCommandOutput = __MetadataBearer; + +export class DisassociateLambdaFunctionCommand extends $Command< + DisassociateLambdaFunctionCommandInput, + DisassociateLambdaFunctionCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DisassociateLambdaFunctionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "DisassociateLambdaFunctionCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DisassociateLambdaFunctionRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DisassociateLambdaFunctionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DisassociateLambdaFunctionCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1DisassociateLambdaFunctionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/DisassociateLexBotCommand.ts b/clients/client-connect/commands/DisassociateLexBotCommand.ts new file mode 100644 index 000000000000..7986991869f3 --- /dev/null +++ b/clients/client-connect/commands/DisassociateLexBotCommand.ts @@ -0,0 +1,82 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { DisassociateLexBotRequest } from "../models/models_0"; +import { + deserializeAws_restJson1DisassociateLexBotCommand, + serializeAws_restJson1DisassociateLexBotCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DisassociateLexBotCommandInput = DisassociateLexBotRequest; +export type DisassociateLexBotCommandOutput = __MetadataBearer; + +export class DisassociateLexBotCommand extends $Command< + DisassociateLexBotCommandInput, + DisassociateLexBotCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DisassociateLexBotCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "DisassociateLexBotCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DisassociateLexBotRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DisassociateLexBotCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DisassociateLexBotCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DisassociateLexBotCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/DisassociateSecurityKeyCommand.ts b/clients/client-connect/commands/DisassociateSecurityKeyCommand.ts new file mode 100644 index 000000000000..0dd9faa4239f --- /dev/null +++ b/clients/client-connect/commands/DisassociateSecurityKeyCommand.ts @@ -0,0 +1,82 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { DisassociateSecurityKeyRequest } from "../models/models_0"; +import { + deserializeAws_restJson1DisassociateSecurityKeyCommand, + serializeAws_restJson1DisassociateSecurityKeyCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DisassociateSecurityKeyCommandInput = DisassociateSecurityKeyRequest; +export type DisassociateSecurityKeyCommandOutput = __MetadataBearer; + +export class DisassociateSecurityKeyCommand extends $Command< + DisassociateSecurityKeyCommandInput, + DisassociateSecurityKeyCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DisassociateSecurityKeyCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "DisassociateSecurityKeyCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DisassociateSecurityKeyRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DisassociateSecurityKeyCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DisassociateSecurityKeyCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DisassociateSecurityKeyCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/ListApprovedOriginsCommand.ts b/clients/client-connect/commands/ListApprovedOriginsCommand.ts new file mode 100644 index 000000000000..896aa267374c --- /dev/null +++ b/clients/client-connect/commands/ListApprovedOriginsCommand.ts @@ -0,0 +1,82 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { ListApprovedOriginsRequest, ListApprovedOriginsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListApprovedOriginsCommand, + serializeAws_restJson1ListApprovedOriginsCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ListApprovedOriginsCommandInput = ListApprovedOriginsRequest; +export type ListApprovedOriginsCommandOutput = ListApprovedOriginsResponse & __MetadataBearer; + +export class ListApprovedOriginsCommand extends $Command< + ListApprovedOriginsCommandInput, + ListApprovedOriginsCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListApprovedOriginsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "ListApprovedOriginsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListApprovedOriginsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListApprovedOriginsResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListApprovedOriginsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListApprovedOriginsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListApprovedOriginsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/ListInstanceAttributesCommand.ts b/clients/client-connect/commands/ListInstanceAttributesCommand.ts new file mode 100644 index 000000000000..b8604b77aeae --- /dev/null +++ b/clients/client-connect/commands/ListInstanceAttributesCommand.ts @@ -0,0 +1,82 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { ListInstanceAttributesRequest, ListInstanceAttributesResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListInstanceAttributesCommand, + serializeAws_restJson1ListInstanceAttributesCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ListInstanceAttributesCommandInput = ListInstanceAttributesRequest; +export type ListInstanceAttributesCommandOutput = ListInstanceAttributesResponse & __MetadataBearer; + +export class ListInstanceAttributesCommand extends $Command< + ListInstanceAttributesCommandInput, + ListInstanceAttributesCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListInstanceAttributesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "ListInstanceAttributesCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListInstanceAttributesRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListInstanceAttributesResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListInstanceAttributesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListInstanceAttributesCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListInstanceAttributesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/ListInstanceStorageConfigsCommand.ts b/clients/client-connect/commands/ListInstanceStorageConfigsCommand.ts new file mode 100644 index 000000000000..bab9e226edc7 --- /dev/null +++ b/clients/client-connect/commands/ListInstanceStorageConfigsCommand.ts @@ -0,0 +1,85 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { ListInstanceStorageConfigsRequest, ListInstanceStorageConfigsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListInstanceStorageConfigsCommand, + serializeAws_restJson1ListInstanceStorageConfigsCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ListInstanceStorageConfigsCommandInput = ListInstanceStorageConfigsRequest; +export type ListInstanceStorageConfigsCommandOutput = ListInstanceStorageConfigsResponse & __MetadataBearer; + +export class ListInstanceStorageConfigsCommand extends $Command< + ListInstanceStorageConfigsCommandInput, + ListInstanceStorageConfigsCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListInstanceStorageConfigsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "ListInstanceStorageConfigsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListInstanceStorageConfigsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListInstanceStorageConfigsResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListInstanceStorageConfigsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListInstanceStorageConfigsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1ListInstanceStorageConfigsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/ListInstancesCommand.ts b/clients/client-connect/commands/ListInstancesCommand.ts new file mode 100644 index 000000000000..86b05658a4f7 --- /dev/null +++ b/clients/client-connect/commands/ListInstancesCommand.ts @@ -0,0 +1,82 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { ListInstancesRequest, ListInstancesResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListInstancesCommand, + serializeAws_restJson1ListInstancesCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ListInstancesCommandInput = ListInstancesRequest; +export type ListInstancesCommandOutput = ListInstancesResponse & __MetadataBearer; + +export class ListInstancesCommand extends $Command< + ListInstancesCommandInput, + ListInstancesCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListInstancesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "ListInstancesCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListInstancesRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListInstancesResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListInstancesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListInstancesCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListInstancesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/ListLambdaFunctionsCommand.ts b/clients/client-connect/commands/ListLambdaFunctionsCommand.ts new file mode 100644 index 000000000000..eb7ff29a302b --- /dev/null +++ b/clients/client-connect/commands/ListLambdaFunctionsCommand.ts @@ -0,0 +1,82 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { ListLambdaFunctionsRequest, ListLambdaFunctionsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListLambdaFunctionsCommand, + serializeAws_restJson1ListLambdaFunctionsCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ListLambdaFunctionsCommandInput = ListLambdaFunctionsRequest; +export type ListLambdaFunctionsCommandOutput = ListLambdaFunctionsResponse & __MetadataBearer; + +export class ListLambdaFunctionsCommand extends $Command< + ListLambdaFunctionsCommandInput, + ListLambdaFunctionsCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListLambdaFunctionsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "ListLambdaFunctionsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListLambdaFunctionsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListLambdaFunctionsResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListLambdaFunctionsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListLambdaFunctionsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListLambdaFunctionsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/ListLexBotsCommand.ts b/clients/client-connect/commands/ListLexBotsCommand.ts new file mode 100644 index 000000000000..c1db17b1e174 --- /dev/null +++ b/clients/client-connect/commands/ListLexBotsCommand.ts @@ -0,0 +1,82 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { ListLexBotsRequest, ListLexBotsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListLexBotsCommand, + serializeAws_restJson1ListLexBotsCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ListLexBotsCommandInput = ListLexBotsRequest; +export type ListLexBotsCommandOutput = ListLexBotsResponse & __MetadataBearer; + +export class ListLexBotsCommand extends $Command< + ListLexBotsCommandInput, + ListLexBotsCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListLexBotsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "ListLexBotsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListLexBotsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListLexBotsResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListLexBotsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListLexBotsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListLexBotsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/ListSecurityKeysCommand.ts b/clients/client-connect/commands/ListSecurityKeysCommand.ts new file mode 100644 index 000000000000..b7e49fa5a92b --- /dev/null +++ b/clients/client-connect/commands/ListSecurityKeysCommand.ts @@ -0,0 +1,82 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { ListSecurityKeysRequest, ListSecurityKeysResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListSecurityKeysCommand, + serializeAws_restJson1ListSecurityKeysCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ListSecurityKeysCommandInput = ListSecurityKeysRequest; +export type ListSecurityKeysCommandOutput = ListSecurityKeysResponse & __MetadataBearer; + +export class ListSecurityKeysCommand extends $Command< + ListSecurityKeysCommandInput, + ListSecurityKeysCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListSecurityKeysCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "ListSecurityKeysCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListSecurityKeysRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListSecurityKeysResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListSecurityKeysCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListSecurityKeysCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListSecurityKeysCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/UpdateInstanceAttributeCommand.ts b/clients/client-connect/commands/UpdateInstanceAttributeCommand.ts new file mode 100644 index 000000000000..700c25e37a5d --- /dev/null +++ b/clients/client-connect/commands/UpdateInstanceAttributeCommand.ts @@ -0,0 +1,82 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { UpdateInstanceAttributeRequest } from "../models/models_0"; +import { + deserializeAws_restJson1UpdateInstanceAttributeCommand, + serializeAws_restJson1UpdateInstanceAttributeCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type UpdateInstanceAttributeCommandInput = UpdateInstanceAttributeRequest; +export type UpdateInstanceAttributeCommandOutput = __MetadataBearer; + +export class UpdateInstanceAttributeCommand extends $Command< + UpdateInstanceAttributeCommandInput, + UpdateInstanceAttributeCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateInstanceAttributeCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "UpdateInstanceAttributeCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpdateInstanceAttributeRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateInstanceAttributeCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1UpdateInstanceAttributeCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1UpdateInstanceAttributeCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/UpdateInstanceStorageConfigCommand.ts b/clients/client-connect/commands/UpdateInstanceStorageConfigCommand.ts new file mode 100644 index 000000000000..6ccfd6e99b43 --- /dev/null +++ b/clients/client-connect/commands/UpdateInstanceStorageConfigCommand.ts @@ -0,0 +1,85 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { UpdateInstanceStorageConfigRequest } from "../models/models_0"; +import { + deserializeAws_restJson1UpdateInstanceStorageConfigCommand, + serializeAws_restJson1UpdateInstanceStorageConfigCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type UpdateInstanceStorageConfigCommandInput = UpdateInstanceStorageConfigRequest; +export type UpdateInstanceStorageConfigCommandOutput = __MetadataBearer; + +export class UpdateInstanceStorageConfigCommand extends $Command< + UpdateInstanceStorageConfigCommandInput, + UpdateInstanceStorageConfigCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateInstanceStorageConfigCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "UpdateInstanceStorageConfigCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpdateInstanceStorageConfigRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateInstanceStorageConfigCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1UpdateInstanceStorageConfigCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1UpdateInstanceStorageConfigCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/index.ts b/clients/client-connect/index.ts index de20b1603732..f7993eb53005 100644 --- a/clients/client-connect/index.ts +++ b/clients/client-connect/index.ts @@ -1,28 +1,55 @@ export * from "./ConnectClient"; export * from "./Connect"; +export * from "./commands/AssociateApprovedOriginCommand"; +export * from "./commands/AssociateInstanceStorageConfigCommand"; +export * from "./commands/AssociateLambdaFunctionCommand"; +export * from "./commands/AssociateLexBotCommand"; export * from "./commands/AssociateRoutingProfileQueuesCommand"; +export * from "./commands/AssociateSecurityKeyCommand"; export * from "./commands/CreateContactFlowCommand"; +export * from "./commands/CreateInstanceCommand"; export * from "./commands/CreateRoutingProfileCommand"; export * from "./commands/CreateUserCommand"; export * from "./commands/CreateUserHierarchyGroupCommand"; +export * from "./commands/DeleteInstanceCommand"; export * from "./commands/DeleteUserCommand"; export * from "./commands/DeleteUserHierarchyGroupCommand"; export * from "./commands/DescribeContactFlowCommand"; +export * from "./commands/DescribeInstanceCommand"; +export * from "./commands/DescribeInstanceAttributeCommand"; +export * from "./commands/DescribeInstanceStorageConfigCommand"; export * from "./commands/DescribeRoutingProfileCommand"; export * from "./commands/DescribeUserCommand"; export * from "./commands/DescribeUserHierarchyGroupCommand"; export * from "./commands/DescribeUserHierarchyStructureCommand"; +export * from "./commands/DisassociateApprovedOriginCommand"; +export * from "./commands/DisassociateInstanceStorageConfigCommand"; +export * from "./commands/DisassociateLambdaFunctionCommand"; +export * from "./commands/DisassociateLexBotCommand"; export * from "./commands/DisassociateRoutingProfileQueuesCommand"; +export * from "./commands/DisassociateSecurityKeyCommand"; export * from "./commands/GetContactAttributesCommand"; export * from "./commands/GetCurrentMetricDataCommand"; export * from "./pagination/GetCurrentMetricDataPaginator"; export * from "./commands/GetFederationTokenCommand"; export * from "./commands/GetMetricDataCommand"; export * from "./pagination/GetMetricDataPaginator"; +export * from "./commands/ListApprovedOriginsCommand"; +export * from "./pagination/ListApprovedOriginsPaginator"; export * from "./commands/ListContactFlowsCommand"; export * from "./pagination/ListContactFlowsPaginator"; export * from "./commands/ListHoursOfOperationsCommand"; export * from "./pagination/ListHoursOfOperationsPaginator"; +export * from "./commands/ListInstanceAttributesCommand"; +export * from "./pagination/ListInstanceAttributesPaginator"; +export * from "./commands/ListInstancesCommand"; +export * from "./pagination/ListInstancesPaginator"; +export * from "./commands/ListInstanceStorageConfigsCommand"; +export * from "./pagination/ListInstanceStorageConfigsPaginator"; +export * from "./commands/ListLambdaFunctionsCommand"; +export * from "./pagination/ListLambdaFunctionsPaginator"; +export * from "./commands/ListLexBotsCommand"; +export * from "./pagination/ListLexBotsPaginator"; export * from "./commands/ListPhoneNumbersCommand"; export * from "./pagination/ListPhoneNumbersPaginator"; export * from "./commands/ListPromptsCommand"; @@ -33,6 +60,8 @@ export * from "./commands/ListRoutingProfileQueuesCommand"; export * from "./pagination/ListRoutingProfileQueuesPaginator"; export * from "./commands/ListRoutingProfilesCommand"; export * from "./pagination/ListRoutingProfilesPaginator"; +export * from "./commands/ListSecurityKeysCommand"; +export * from "./pagination/ListSecurityKeysPaginator"; export * from "./commands/ListSecurityProfilesCommand"; export * from "./pagination/ListSecurityProfilesPaginator"; export * from "./commands/ListTagsForResourceCommand"; @@ -52,6 +81,8 @@ export * from "./commands/UntagResourceCommand"; export * from "./commands/UpdateContactAttributesCommand"; export * from "./commands/UpdateContactFlowContentCommand"; export * from "./commands/UpdateContactFlowNameCommand"; +export * from "./commands/UpdateInstanceAttributeCommand"; +export * from "./commands/UpdateInstanceStorageConfigCommand"; export * from "./commands/UpdateRoutingProfileConcurrencyCommand"; export * from "./commands/UpdateRoutingProfileDefaultOutboundQueueCommand"; export * from "./commands/UpdateRoutingProfileNameCommand"; diff --git a/clients/client-connect/models/models_0.ts b/clients/client-connect/models/models_0.ts index bce3ab0cd186..1a6d4d94b7ed 100644 --- a/clients/client-connect/models/models_0.ts +++ b/clients/client-connect/models/models_0.ts @@ -1,81 +1,20 @@ import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; -export enum Channel { - CHAT = "CHAT", - VOICE = "VOICE", -} - -/** - *

    Contains the channel and queue identifier for a routing profile.

    - */ -export interface RoutingProfileQueueReference { - /** - *

    The identifier of the queue.

    - */ - QueueId: string | undefined; - - /** - *

    The channels agents can handle in the Contact Control Panel (CCP) for this routing - * profile.

    - */ - Channel: Channel | string | undefined; -} - -export namespace RoutingProfileQueueReference { - export const filterSensitiveLog = (obj: RoutingProfileQueueReference): any => ({ - ...obj, - }); -} - -/** - *

    Contains information about the queue and channel for which priority and delay can be set.

    - */ -export interface RoutingProfileQueueConfig { - /** - *

    Contains information about a queue resource.

    - */ - QueueReference: RoutingProfileQueueReference | undefined; - - /** - *

    The order in which contacts are to be handled for the queue. For more information, see Queues: priority and - * delay.

    - */ - Priority: number | undefined; - - /** - *

    The delay, in seconds, a contact should be in the queue before they are routed to an - * available agent. For more information, see Queues: priority and - * delay in the Amazon Connect Administrator Guide.

    - */ - Delay: number | undefined; -} - -export namespace RoutingProfileQueueConfig { - export const filterSensitiveLog = (obj: RoutingProfileQueueConfig): any => ({ - ...obj, - }); -} - -export interface AssociateRoutingProfileQueuesRequest { +export interface AssociateApprovedOriginRequest { /** *

    The identifier of the Amazon Connect instance.

    */ InstanceId: string | undefined; /** - *

    The identifier of the routing profile.

    + *

    The domain to add to your allow list.

    */ - RoutingProfileId: string | undefined; - - /** - *

    The queues to associate with this routing profile.

    - */ - QueueConfigs: RoutingProfileQueueConfig[] | undefined; + Origin: string | undefined; } -export namespace AssociateRoutingProfileQueuesRequest { - export const filterSensitiveLog = (obj: AssociateRoutingProfileQueuesRequest): any => ({ +export namespace AssociateApprovedOriginRequest { + export const filterSensitiveLog = (obj: AssociateApprovedOriginRequest): any => ({ ...obj, }); } @@ -134,6 +73,21 @@ export namespace InvalidRequestException { }); } +/** + *

    A resource already has that name.

    + */ +export interface ResourceConflictException extends __SmithyException, $MetadataBearer { + name: "ResourceConflictException"; + $fault: "client"; + Message?: string; +} + +export namespace ResourceConflictException { + export const filterSensitiveLog = (obj: ResourceConflictException): any => ({ + ...obj, + }); +} + /** *

    The specified resource was not found.

    */ @@ -152,6 +106,21 @@ export namespace ResourceNotFoundException { }); } +/** + *

    The service quota has been exceeded.

    + */ +export interface ServiceQuotaExceededException extends __SmithyException, $MetadataBearer { + name: "ServiceQuotaExceededException"; + $fault: "client"; + Message?: string; +} + +export namespace ServiceQuotaExceededException { + export const filterSensitiveLog = (obj: ServiceQuotaExceededException): any => ({ + ...obj, + }); +} + /** *

    The throttling limit has been exceeded.

    */ @@ -167,6 +136,379 @@ export namespace ThrottlingException { }); } +export enum InstanceStorageResourceType { + AGENT_EVENTS = "AGENT_EVENTS", + CALL_RECORDINGS = "CALL_RECORDINGS", + CHAT_TRANSCRIPTS = "CHAT_TRANSCRIPTS", + CONTACT_TRACE_RECORDS = "CONTACT_TRACE_RECORDS", + MEDIA_STREAMS = "MEDIA_STREAMS", + SCHEDULED_REPORTS = "SCHEDULED_REPORTS", +} + +/** + *

    Configuration information of a Kinesis Firehose delivery stream.

    + */ +export interface KinesisFirehoseConfig { + /** + *

    The Amazon Resource Name (ARN) of the delivery stream.

    + */ + FirehoseArn: string | undefined; +} + +export namespace KinesisFirehoseConfig { + export const filterSensitiveLog = (obj: KinesisFirehoseConfig): any => ({ + ...obj, + }); +} + +/** + *

    Configuration information of a Kinesis data stream.

    + */ +export interface KinesisStreamConfig { + /** + *

    The Amazon Resource Name (ARN) of the data stream.

    + */ + StreamArn: string | undefined; +} + +export namespace KinesisStreamConfig { + export const filterSensitiveLog = (obj: KinesisStreamConfig): any => ({ + ...obj, + }); +} + +export enum EncryptionType { + KMS = "KMS", +} + +/** + *

    The encryption configuration.

    + */ +export interface EncryptionConfig { + /** + *

    The type of encryption.

    + */ + EncryptionType: EncryptionType | string | undefined; + + /** + *

    The identifier of the encryption key.

    + */ + KeyId: string | undefined; +} + +export namespace EncryptionConfig { + export const filterSensitiveLog = (obj: EncryptionConfig): any => ({ + ...obj, + }); +} + +/** + *

    Configuration information of a Kinesis video stream.

    + */ +export interface KinesisVideoStreamConfig { + /** + *

    The prefix of the video stream.

    + */ + Prefix: string | undefined; + + /** + *

    The number of hours data is retained in the stream. Kinesis Video Streams retains the data + * in a data store that is associated with the stream.

    + * + *

    The default value is 0, indicating that the stream does not persist data.

    + */ + RetentionPeriodHours: number | undefined; + + /** + *

    The encryption configuration.

    + */ + EncryptionConfig: EncryptionConfig | undefined; +} + +export namespace KinesisVideoStreamConfig { + export const filterSensitiveLog = (obj: KinesisVideoStreamConfig): any => ({ + ...obj, + }); +} + +/** + *

    Information about the S3 storage type.

    + */ +export interface S3Config { + /** + *

    The S3 bucket name.

    + */ + BucketName: string | undefined; + + /** + *

    The S3 bucket prefix.

    + */ + BucketPrefix: string | undefined; + + /** + *

    The S3 encryption configuration.

    + */ + EncryptionConfig?: EncryptionConfig; +} + +export namespace S3Config { + export const filterSensitiveLog = (obj: S3Config): any => ({ + ...obj, + }); +} + +export enum StorageType { + KINESIS_FIREHOSE = "KINESIS_FIREHOSE", + KINESIS_STREAM = "KINESIS_STREAM", + KINESIS_VIDEO_STREAM = "KINESIS_VIDEO_STREAM", + S3 = "S3", +} + +/** + *

    The storage configuration for the instance.

    + */ +export interface InstanceStorageConfig { + /** + *

    The existing association identifier that uniquely identifies the resource type and storage config for the given instance ID.

    + */ + AssociationId?: string; + + /** + *

    A valid storage type.

    + */ + StorageType: StorageType | string | undefined; + + /** + *

    The S3 configuration.

    + */ + S3Config?: S3Config; + + /** + *

    The configuration of the Kinesis video stream.

    + */ + KinesisVideoStreamConfig?: KinesisVideoStreamConfig; + + /** + *

    The configuration of the Kinesis data stream.

    + */ + KinesisStreamConfig?: KinesisStreamConfig; + + /** + *

    The configuration of the Kinesis Firehose delivery stream.

    + */ + KinesisFirehoseConfig?: KinesisFirehoseConfig; +} + +export namespace InstanceStorageConfig { + export const filterSensitiveLog = (obj: InstanceStorageConfig): any => ({ + ...obj, + }); +} + +export interface AssociateInstanceStorageConfigRequest { + /** + *

    The identifier of the Amazon Connect instance.

    + */ + InstanceId: string | undefined; + + /** + *

    A valid resource type.

    + */ + ResourceType: InstanceStorageResourceType | string | undefined; + + /** + *

    A valid storage type.

    + */ + StorageConfig: InstanceStorageConfig | undefined; +} + +export namespace AssociateInstanceStorageConfigRequest { + export const filterSensitiveLog = (obj: AssociateInstanceStorageConfigRequest): any => ({ + ...obj, + }); +} + +export interface AssociateInstanceStorageConfigResponse { + /** + *

    The existing association identifier that uniquely identifies the resource type and storage config for the given instance ID.

    + */ + AssociationId?: string; +} + +export namespace AssociateInstanceStorageConfigResponse { + export const filterSensitiveLog = (obj: AssociateInstanceStorageConfigResponse): any => ({ + ...obj, + }); +} + +export interface AssociateLambdaFunctionRequest { + /** + *

    The identifier of the Amazon Connect instance.

    + */ + InstanceId: string | undefined; + + /** + *

    The Amazon Resource Name (ARN) for the Lambda function being associated. Maximum number of characters allowed is + * 140.

    + */ + FunctionArn: string | undefined; +} + +export namespace AssociateLambdaFunctionRequest { + export const filterSensitiveLog = (obj: AssociateLambdaFunctionRequest): any => ({ + ...obj, + }); +} + +/** + *

    Configuration information of an Amazon Lex bot.

    + */ +export interface LexBot { + /** + *

    The name of the Amazon Lex bot.

    + */ + Name?: string; + + /** + *

    The Region the Amazon Lex bot was created in.

    + */ + LexRegion?: string; +} + +export namespace LexBot { + export const filterSensitiveLog = (obj: LexBot): any => ({ + ...obj, + }); +} + +export interface AssociateLexBotRequest { + /** + *

    The identifier of the Amazon Connect instance.

    + */ + InstanceId: string | undefined; + + /** + *

    The Amazon Lex box to associate with the instance.

    + */ + LexBot: LexBot | undefined; +} + +export namespace AssociateLexBotRequest { + export const filterSensitiveLog = (obj: AssociateLexBotRequest): any => ({ + ...obj, + }); +} + +export enum Channel { + CHAT = "CHAT", + VOICE = "VOICE", +} + +/** + *

    Contains the channel and queue identifier for a routing profile.

    + */ +export interface RoutingProfileQueueReference { + /** + *

    The identifier of the queue.

    + */ + QueueId: string | undefined; + + /** + *

    The channels agents can handle in the Contact Control Panel (CCP) for this routing + * profile.

    + */ + Channel: Channel | string | undefined; +} + +export namespace RoutingProfileQueueReference { + export const filterSensitiveLog = (obj: RoutingProfileQueueReference): any => ({ + ...obj, + }); +} + +/** + *

    Contains information about the queue and channel for which priority and delay can be set.

    + */ +export interface RoutingProfileQueueConfig { + /** + *

    Contains information about a queue resource.

    + */ + QueueReference: RoutingProfileQueueReference | undefined; + + /** + *

    The order in which contacts are to be handled for the queue. For more information, see Queues: priority and + * delay.

    + */ + Priority: number | undefined; + + /** + *

    The delay, in seconds, a contact should be in the queue before they are routed to an + * available agent. For more information, see Queues: priority and + * delay in the Amazon Connect Administrator Guide.

    + */ + Delay: number | undefined; +} + +export namespace RoutingProfileQueueConfig { + export const filterSensitiveLog = (obj: RoutingProfileQueueConfig): any => ({ + ...obj, + }); +} + +export interface AssociateRoutingProfileQueuesRequest { + /** + *

    The identifier of the Amazon Connect instance.

    + */ + InstanceId: string | undefined; + + /** + *

    The identifier of the routing profile.

    + */ + RoutingProfileId: string | undefined; + + /** + *

    The queues to associate with this routing profile.

    + */ + QueueConfigs: RoutingProfileQueueConfig[] | undefined; +} + +export namespace AssociateRoutingProfileQueuesRequest { + export const filterSensitiveLog = (obj: AssociateRoutingProfileQueuesRequest): any => ({ + ...obj, + }); +} + +export interface AssociateSecurityKeyRequest { + /** + *

    The identifier of the Amazon Connect instance.

    + */ + InstanceId: string | undefined; + + /** + *

    A valid security key in PEM format.

    + */ + Key: string | undefined; +} + +export namespace AssociateSecurityKeyRequest { + export const filterSensitiveLog = (obj: AssociateSecurityKeyRequest): any => ({ + ...obj, + }); +} + +export interface AssociateSecurityKeyResponse { + /** + *

    The existing association identifier that uniquely identifies the resource type and storage config for the given instance ID.

    + */ + AssociationId?: string; +} + +export namespace AssociateSecurityKeyResponse { + export const filterSensitiveLog = (obj: AssociateSecurityKeyResponse): any => ({ + ...obj, + }); +} + export enum ContactFlowType { AGENT_HOLD = "AGENT_HOLD", AGENT_TRANSFER = "AGENT_TRANSFER", @@ -258,49 +600,112 @@ export namespace DuplicateResourceException { */ export interface ProblemDetail { /** - *

    The problem detail's message.

    + *

    The problem detail's message.

    + */ + message?: string; +} + +export namespace ProblemDetail { + export const filterSensitiveLog = (obj: ProblemDetail): any => ({ + ...obj, + }); +} + +/** + *

    The contact flow is not valid.

    + */ +export interface InvalidContactFlowException extends __SmithyException, $MetadataBearer { + name: "InvalidContactFlowException"; + $fault: "client"; + /** + *

    The problems with the contact flow. Please fix before trying again.

    + */ + problems?: ProblemDetail[]; +} + +export namespace InvalidContactFlowException { + export const filterSensitiveLog = (obj: InvalidContactFlowException): any => ({ + ...obj, + }); +} + +/** + *

    The allowed limit for the resource has been exceeded.

    + */ +export interface LimitExceededException extends __SmithyException, $MetadataBearer { + name: "LimitExceededException"; + $fault: "client"; + /** + *

    The message.

    + */ + Message?: string; +} + +export namespace LimitExceededException { + export const filterSensitiveLog = (obj: LimitExceededException): any => ({ + ...obj, + }); +} + +export enum DirectoryType { + CONNECT_MANAGED = "CONNECT_MANAGED", + EXISTING_DIRECTORY = "EXISTING_DIRECTORY", + SAML = "SAML", +} + +export interface CreateInstanceRequest { + /** + *

    The idempotency token.

    + */ + ClientToken?: string; + + /** + *

    The type of identity management for your Amazon Connect users.

    + */ + IdentityManagementType: DirectoryType | string | undefined; + + /** + *

    The name for your instance.

    + */ + InstanceAlias?: string; + + /** + *

    The identifier for the directory.

    */ - message?: string; -} + DirectoryId?: string; -export namespace ProblemDetail { - export const filterSensitiveLog = (obj: ProblemDetail): any => ({ - ...obj, - }); -} + /** + *

    Whether your contact center handles incoming contacts.

    + */ + InboundCallsEnabled: boolean | undefined; -/** - *

    The contact flow is not valid.

    - */ -export interface InvalidContactFlowException extends __SmithyException, $MetadataBearer { - name: "InvalidContactFlowException"; - $fault: "client"; /** - *

    The problems with the contact flow. Please fix before trying again.

    + *

    Whether your contact center allows outbound calls.

    */ - problems?: ProblemDetail[]; + OutboundCallsEnabled: boolean | undefined; } -export namespace InvalidContactFlowException { - export const filterSensitiveLog = (obj: InvalidContactFlowException): any => ({ +export namespace CreateInstanceRequest { + export const filterSensitiveLog = (obj: CreateInstanceRequest): any => ({ ...obj, + ...(obj.InstanceAlias && { InstanceAlias: SENSITIVE_STRING }), }); } -/** - *

    The allowed limit for the resource has been exceeded.

    - */ -export interface LimitExceededException extends __SmithyException, $MetadataBearer { - name: "LimitExceededException"; - $fault: "client"; +export interface CreateInstanceResponse { /** - *

    The message.

    + *

    The identifier for the instance.

    */ - Message?: string; + Id?: string; + + /** + *

    The Amazon Resource Name (ARN) of the instance.

    + */ + Arn?: string; } -export namespace LimitExceededException { - export const filterSensitiveLog = (obj: LimitExceededException): any => ({ +export namespace CreateInstanceResponse { + export const filterSensitiveLog = (obj: CreateInstanceResponse): any => ({ ...obj, }); } @@ -581,6 +986,19 @@ export namespace CreateUserHierarchyGroupResponse { }); } +export interface DeleteInstanceRequest { + /** + *

    The identifier of the Amazon Connect instance.

    + */ + InstanceId: string | undefined; +} + +export namespace DeleteInstanceRequest { + export const filterSensitiveLog = (obj: DeleteInstanceRequest): any => ({ + ...obj, + }); +} + export interface DeleteUserRequest { /** *

    The identifier of the Amazon Connect instance.

    @@ -744,6 +1162,215 @@ export namespace DescribeContactFlowResponse { }); } +export interface DescribeInstanceRequest { + /** + *

    The identifier of the Amazon Connect instance.

    + */ + InstanceId: string | undefined; +} + +export namespace DescribeInstanceRequest { + export const filterSensitiveLog = (obj: DescribeInstanceRequest): any => ({ + ...obj, + }); +} + +export enum InstanceStatus { + ACTIVE = "ACTIVE", + CREATION_FAILED = "CREATION_FAILED", + CREATION_IN_PROGRESS = "CREATION_IN_PROGRESS", +} + +/** + *

    Relevant details why the instance was not successfully created.

    + */ +export interface InstanceStatusReason { + /** + *

    The message.

    + */ + Message?: string; +} + +export namespace InstanceStatusReason { + export const filterSensitiveLog = (obj: InstanceStatusReason): any => ({ + ...obj, + }); +} + +/** + *

    The Amazon Connect instance.

    + */ +export interface Instance { + /** + *

    The identifier of the Amazon Connect instance.

    + */ + Id?: string; + + /** + *

    The Amazon Resource Name (ARN) of the instance.

    + */ + Arn?: string; + + /** + *

    The identity management type.

    + */ + IdentityManagementType?: DirectoryType | string; + + /** + *

    The alias of instance.

    + */ + InstanceAlias?: string; + + /** + *

    When the instance was created.

    + */ + CreatedTime?: Date; + + /** + *

    The service role of the instance.

    + */ + ServiceRole?: string; + + /** + *

    The state of the instance.

    + */ + InstanceStatus?: InstanceStatus | string; + + /** + *

    Relevant details why the instance was not successfully created.

    + */ + StatusReason?: InstanceStatusReason; + + /** + *

    Whether inbound calls are enabled.

    + */ + InboundCallsEnabled?: boolean; + + /** + *

    Whether outbound calls are enabled.

    + */ + OutboundCallsEnabled?: boolean; +} + +export namespace Instance { + export const filterSensitiveLog = (obj: Instance): any => ({ + ...obj, + ...(obj.InstanceAlias && { InstanceAlias: SENSITIVE_STRING }), + }); +} + +export interface DescribeInstanceResponse { + /** + *

    The name of the instance.

    + */ + Instance?: Instance; +} + +export namespace DescribeInstanceResponse { + export const filterSensitiveLog = (obj: DescribeInstanceResponse): any => ({ + ...obj, + ...(obj.Instance && { Instance: Instance.filterSensitiveLog(obj.Instance) }), + }); +} + +export enum InstanceAttributeType { + AUTO_RESOLVE_BEST_VOICES = "AUTO_RESOLVE_BEST_VOICES", + CONTACTFLOW_LOGS = "CONTACTFLOW_LOGS", + CONTACT_LENS = "CONTACT_LENS", + EARLY_MEDIA = "EARLY_MEDIA", + INBOUND_CALLS = "INBOUND_CALLS", + OUTBOUND_CALLS = "OUTBOUND_CALLS", + USE_CUSTOM_TTS_VOICES = "USE_CUSTOM_TTS_VOICES", +} + +export interface DescribeInstanceAttributeRequest { + /** + *

    The identifier of the Amazon Connect instance.

    + */ + InstanceId: string | undefined; + + /** + *

    The type of attribute.

    + */ + AttributeType: InstanceAttributeType | string | undefined; +} + +export namespace DescribeInstanceAttributeRequest { + export const filterSensitiveLog = (obj: DescribeInstanceAttributeRequest): any => ({ + ...obj, + }); +} + +/** + *

    A toggle for an individual feature at the instance level.

    + */ +export interface Attribute { + /** + *

    The type of attribute.

    + */ + AttributeType?: InstanceAttributeType | string; + + /** + *

    The value of the attribute.

    + */ + Value?: string; +} + +export namespace Attribute { + export const filterSensitiveLog = (obj: Attribute): any => ({ + ...obj, + }); +} + +export interface DescribeInstanceAttributeResponse { + /** + *

    The type of attribute.

    + */ + Attribute?: Attribute; +} + +export namespace DescribeInstanceAttributeResponse { + export const filterSensitiveLog = (obj: DescribeInstanceAttributeResponse): any => ({ + ...obj, + }); +} + +export interface DescribeInstanceStorageConfigRequest { + /** + *

    The identifier of the Amazon Connect instance.

    + */ + InstanceId: string | undefined; + + /** + *

    The existing association identifier that uniquely identifies the resource type and storage config for the given instance ID.

    + */ + AssociationId: string | undefined; + + /** + *

    A valid resource type.

    + */ + ResourceType: InstanceStorageResourceType | string | undefined; +} + +export namespace DescribeInstanceStorageConfigRequest { + export const filterSensitiveLog = (obj: DescribeInstanceStorageConfigRequest): any => ({ + ...obj, + }); +} + +export interface DescribeInstanceStorageConfigResponse { + /** + *

    A valid storage type.

    + */ + StorageConfig?: InstanceStorageConfig; +} + +export namespace DescribeInstanceStorageConfigResponse { + export const filterSensitiveLog = (obj: DescribeInstanceStorageConfigResponse): any => ({ + ...obj, + }); +} + export interface DescribeRoutingProfileRequest { /** *

    The identifier of the Amazon Connect instance.

    @@ -1135,6 +1762,88 @@ export namespace DescribeUserHierarchyStructureResponse { }); } +export interface DisassociateApprovedOriginRequest { + /** + *

    The identifier of the Amazon Connect instance.

    + */ + InstanceId: string | undefined; + + /** + *

    The domain URL of the integrated application.

    + */ + Origin: string | undefined; +} + +export namespace DisassociateApprovedOriginRequest { + export const filterSensitiveLog = (obj: DisassociateApprovedOriginRequest): any => ({ + ...obj, + }); +} + +export interface DisassociateInstanceStorageConfigRequest { + /** + *

    The identifier of the Amazon Connect instance.

    + */ + InstanceId: string | undefined; + + /** + *

    The existing association identifier that uniquely identifies the resource type and storage config for the given instance ID.

    + */ + AssociationId: string | undefined; + + /** + *

    A valid resource type.

    + */ + ResourceType: InstanceStorageResourceType | string | undefined; +} + +export namespace DisassociateInstanceStorageConfigRequest { + export const filterSensitiveLog = (obj: DisassociateInstanceStorageConfigRequest): any => ({ + ...obj, + }); +} + +export interface DisassociateLambdaFunctionRequest { + /** + *

    The identifier of the Amazon Connect instance..

    + */ + InstanceId: string | undefined; + + /** + *

    The Amazon Resource Name (ARN) of the Lambda function being disassociated.

    + */ + FunctionArn: string | undefined; +} + +export namespace DisassociateLambdaFunctionRequest { + export const filterSensitiveLog = (obj: DisassociateLambdaFunctionRequest): any => ({ + ...obj, + }); +} + +export interface DisassociateLexBotRequest { + /** + *

    The identifier of the Amazon Connect instance.

    + */ + InstanceId: string | undefined; + + /** + *

    The name of the Amazon Lex bot. Maximum character limit of 50.

    + */ + BotName: string | undefined; + + /** + *

    The Region in which the Amazon Lex bot has been created.

    + */ + LexRegion: string | undefined; +} + +export namespace DisassociateLexBotRequest { + export const filterSensitiveLog = (obj: DisassociateLexBotRequest): any => ({ + ...obj, + }); +} + export interface DisassociateRoutingProfileQueuesRequest { /** *

    The identifier of the Amazon Connect instance.

    @@ -1142,18 +1851,36 @@ export interface DisassociateRoutingProfileQueuesRequest { InstanceId: string | undefined; /** - *

    The identifier of the routing profile.

    - */ - RoutingProfileId: string | undefined; - - /** - *

    The queues to disassociate from this routing profile.

    + *

    The identifier of the routing profile.

    + */ + RoutingProfileId: string | undefined; + + /** + *

    The queues to disassociate from this routing profile.

    + */ + QueueReferences: RoutingProfileQueueReference[] | undefined; +} + +export namespace DisassociateRoutingProfileQueuesRequest { + export const filterSensitiveLog = (obj: DisassociateRoutingProfileQueuesRequest): any => ({ + ...obj, + }); +} + +export interface DisassociateSecurityKeyRequest { + /** + *

    The identifier of the Amazon Connect instance.

    + */ + InstanceId: string | undefined; + + /** + *

    The existing association identifier that uniquely identifies the resource type and storage config for the given instance ID.

    */ - QueueReferences: RoutingProfileQueueReference[] | undefined; + AssociationId: string | undefined; } -export namespace DisassociateRoutingProfileQueuesRequest { - export const filterSensitiveLog = (obj: DisassociateRoutingProfileQueuesRequest): any => ({ +export namespace DisassociateSecurityKeyRequest { + export const filterSensitiveLog = (obj: DisassociateSecurityKeyRequest): any => ({ ...obj, }); } @@ -1849,7 +2576,284 @@ export interface GetMetricDataRequest { *
    * */ - HistoricalMetrics: HistoricalMetric[] | undefined; + HistoricalMetrics: HistoricalMetric[] | undefined; + + /** + *

    The token for the next set of results. Use the value returned in the previous + * response in the next request to retrieve the next set of results.

    + */ + NextToken?: string; + + /** + *

    The maximimum number of results to return per page.

    + */ + MaxResults?: number; +} + +export namespace GetMetricDataRequest { + export const filterSensitiveLog = (obj: GetMetricDataRequest): any => ({ + ...obj, + }); +} + +/** + *

    Contains the data for a historical metric.

    + */ +export interface HistoricalMetricData { + /** + *

    Information about the metric.

    + */ + Metric?: HistoricalMetric; + + /** + *

    The value of the metric.

    + */ + Value?: number; +} + +export namespace HistoricalMetricData { + export const filterSensitiveLog = (obj: HistoricalMetricData): any => ({ + ...obj, + }); +} + +/** + *

    Contains information about the historical metrics retrieved.

    + */ +export interface HistoricalMetricResult { + /** + *

    The dimension for the metrics.

    + */ + Dimensions?: Dimensions; + + /** + *

    The set of metrics.

    + */ + Collections?: HistoricalMetricData[]; +} + +export namespace HistoricalMetricResult { + export const filterSensitiveLog = (obj: HistoricalMetricResult): any => ({ + ...obj, + }); +} + +export interface GetMetricDataResponse { + /** + *

    If there are additional results, this is the token for the next set of results.

    + *

    The token expires after 5 minutes from the time it is created. Subsequent requests that use + * the token must use the same request parameters as the request that generated the token.

    + */ + NextToken?: string; + + /** + *

    Information about the historical metrics.

    + *

    If no grouping is specified, a summary of metric data is returned.

    + */ + MetricResults?: HistoricalMetricResult[]; +} + +export namespace GetMetricDataResponse { + export const filterSensitiveLog = (obj: GetMetricDataResponse): any => ({ + ...obj, + }); +} + +export interface ListApprovedOriginsRequest { + /** + *

    The identifier of the Amazon Connect instance.

    + */ + InstanceId: string | undefined; + + /** + *

    The token for the next set of results. Use the value returned in the previous + * response in the next request to retrieve the next set of results.

    + */ + NextToken?: string; + + /** + *

    The maximimum number of results to return per page.

    + */ + MaxResults?: number; +} + +export namespace ListApprovedOriginsRequest { + export const filterSensitiveLog = (obj: ListApprovedOriginsRequest): any => ({ + ...obj, + }); +} + +export interface ListApprovedOriginsResponse { + /** + *

    The approved origins.

    + */ + Origins?: string[]; + + /** + *

    If there are additional results, this is the token for the next set of results.

    + */ + NextToken?: string; +} + +export namespace ListApprovedOriginsResponse { + export const filterSensitiveLog = (obj: ListApprovedOriginsResponse): any => ({ + ...obj, + }); +} + +export interface ListContactFlowsRequest { + /** + *

    The identifier of the Amazon Connect instance.

    + */ + InstanceId: string | undefined; + + /** + *

    The type of contact flow.

    + */ + ContactFlowTypes?: (ContactFlowType | string)[]; + + /** + *

    The token for the next set of results. Use the value returned in the previous + * response in the next request to retrieve the next set of results.

    + */ + NextToken?: string; + + /** + *

    The maximimum number of results to return per page.

    + */ + MaxResults?: number; +} + +export namespace ListContactFlowsRequest { + export const filterSensitiveLog = (obj: ListContactFlowsRequest): any => ({ + ...obj, + }); +} + +/** + *

    Contains summary information about a contact flow.

    + *

    You can also create and update contact flows using the Amazon Connect + * Flow language.

    + */ +export interface ContactFlowSummary { + /** + *

    The identifier of the contact flow.

    + */ + Id?: string; + + /** + *

    The Amazon Resource Name (ARN) of the contact flow.

    + */ + Arn?: string; + + /** + *

    The name of the contact flow.

    + */ + Name?: string; + + /** + *

    The type of contact flow.

    + */ + ContactFlowType?: ContactFlowType | string; +} + +export namespace ContactFlowSummary { + export const filterSensitiveLog = (obj: ContactFlowSummary): any => ({ + ...obj, + }); +} + +export interface ListContactFlowsResponse { + /** + *

    Information about the contact flows.

    + */ + ContactFlowSummaryList?: ContactFlowSummary[]; + + /** + *

    If there are additional results, this is the token for the next set of results.

    + */ + NextToken?: string; +} + +export namespace ListContactFlowsResponse { + export const filterSensitiveLog = (obj: ListContactFlowsResponse): any => ({ + ...obj, + }); +} + +export interface ListHoursOfOperationsRequest { + /** + *

    The identifier of the Amazon Connect instance.

    + */ + InstanceId: string | undefined; + + /** + *

    The token for the next set of results. Use the value returned in the previous + * response in the next request to retrieve the next set of results.

    + */ + NextToken?: string; + + /** + *

    The maximimum number of results to return per page.

    + */ + MaxResults?: number; +} + +export namespace ListHoursOfOperationsRequest { + export const filterSensitiveLog = (obj: ListHoursOfOperationsRequest): any => ({ + ...obj, + }); +} + +/** + *

    Contains summary information about hours of operation for a contact center.

    + */ +export interface HoursOfOperationSummary { + /** + *

    The identifier of the hours of operation.

    + */ + Id?: string; + + /** + *

    The Amazon Resource Name (ARN) of the hours of operation.

    + */ + Arn?: string; + + /** + *

    The name of the hours of operation.

    + */ + Name?: string; +} + +export namespace HoursOfOperationSummary { + export const filterSensitiveLog = (obj: HoursOfOperationSummary): any => ({ + ...obj, + }); +} + +export interface ListHoursOfOperationsResponse { + /** + *

    Information about the hours of operation.

    + */ + HoursOfOperationSummaryList?: HoursOfOperationSummary[]; + + /** + *

    If there are additional results, this is the token for the next set of results.

    + */ + NextToken?: string; +} + +export namespace ListHoursOfOperationsResponse { + export const filterSensitiveLog = (obj: ListHoursOfOperationsResponse): any => ({ + ...obj, + }); +} + +export interface ListInstanceAttributesRequest { + /** + *

    The identifier of the Amazon Connect instance.

    + */ + InstanceId: string | undefined; /** *

    The token for the next set of results. Use the value returned in the previous @@ -1863,142 +2867,161 @@ export interface GetMetricDataRequest { MaxResults?: number; } -export namespace GetMetricDataRequest { - export const filterSensitiveLog = (obj: GetMetricDataRequest): any => ({ +export namespace ListInstanceAttributesRequest { + export const filterSensitiveLog = (obj: ListInstanceAttributesRequest): any => ({ ...obj, }); } -/** - *

    Contains the data for a historical metric.

    - */ -export interface HistoricalMetricData { +export interface ListInstanceAttributesResponse { /** - *

    Information about the metric.

    + *

    The attribute types.

    */ - Metric?: HistoricalMetric; + Attributes?: Attribute[]; /** - *

    The value of the metric.

    + *

    If there are additional results, this is the token for the next set of results.

    */ - Value?: number; + NextToken?: string; } -export namespace HistoricalMetricData { - export const filterSensitiveLog = (obj: HistoricalMetricData): any => ({ +export namespace ListInstanceAttributesResponse { + export const filterSensitiveLog = (obj: ListInstanceAttributesResponse): any => ({ ...obj, }); } -/** - *

    Contains information about the historical metrics retrieved.

    - */ -export interface HistoricalMetricResult { +export interface ListInstancesRequest { /** - *

    The dimension for the metrics.

    + *

    The token for the next set of results. Use the value returned in the previous + * response in the next request to retrieve the next set of results.

    */ - Dimensions?: Dimensions; + NextToken?: string; /** - *

    The set of metrics.

    + *

    The maximimum number of results to return per page.

    */ - Collections?: HistoricalMetricData[]; + MaxResults?: number; } -export namespace HistoricalMetricResult { - export const filterSensitiveLog = (obj: HistoricalMetricResult): any => ({ +export namespace ListInstancesRequest { + export const filterSensitiveLog = (obj: ListInstancesRequest): any => ({ ...obj, }); } -export interface GetMetricDataResponse { +/** + *

    Information about the instance.

    + */ +export interface InstanceSummary { /** - *

    If there are additional results, this is the token for the next set of results.

    - *

    The token expires after 5 minutes from the time it is created. Subsequent requests that use - * the token must use the same request parameters as the request that generated the token.

    + *

    The identifier of the instance.

    */ - NextToken?: string; + Id?: string; /** - *

    Information about the historical metrics.

    - *

    If no grouping is specified, a summary of metric data is returned.

    + *

    The Amazon Resource Name (ARN) of the instance.

    */ - MetricResults?: HistoricalMetricResult[]; -} + Arn?: string; -export namespace GetMetricDataResponse { - export const filterSensitiveLog = (obj: GetMetricDataResponse): any => ({ - ...obj, - }); -} + /** + *

    The identity management type of the instance.

    + */ + IdentityManagementType?: DirectoryType | string; -export interface ListContactFlowsRequest { /** - *

    The identifier of the Amazon Connect instance.

    + *

    The alias of the instance.

    */ - InstanceId: string | undefined; + InstanceAlias?: string; /** - *

    The type of contact flow.

    + *

    When the instance was created.

    */ - ContactFlowTypes?: (ContactFlowType | string)[]; + CreatedTime?: Date; /** - *

    The token for the next set of results. Use the value returned in the previous - * response in the next request to retrieve the next set of results.

    + *

    The service role of the instance.

    */ - NextToken?: string; + ServiceRole?: string; /** - *

    The maximimum number of results to return per page.

    + *

    The state of the instance.

    */ - MaxResults?: number; + InstanceStatus?: InstanceStatus | string; + + /** + *

    Whether inbound calls are enabled.

    + */ + InboundCallsEnabled?: boolean; + + /** + *

    Whether outbound calls are enabled.

    + */ + OutboundCallsEnabled?: boolean; } -export namespace ListContactFlowsRequest { - export const filterSensitiveLog = (obj: ListContactFlowsRequest): any => ({ +export namespace InstanceSummary { + export const filterSensitiveLog = (obj: InstanceSummary): any => ({ ...obj, + ...(obj.InstanceAlias && { InstanceAlias: SENSITIVE_STRING }), }); } -/** - *

    Contains summary information about a contact flow.

    - *

    You can also create and update contact flows using the Amazon Connect - * Flow language.

    - */ -export interface ContactFlowSummary { +export interface ListInstancesResponse { /** - *

    The identifier of the contact flow.

    + *

    Information about the instances.

    */ - Id?: string; + InstanceSummaryList?: InstanceSummary[]; /** - *

    The Amazon Resource Name (ARN) of the contact flow.

    + *

    If there are additional results, this is the token for the next set of results.

    */ - Arn?: string; + NextToken?: string; +} + +export namespace ListInstancesResponse { + export const filterSensitiveLog = (obj: ListInstancesResponse): any => ({ + ...obj, + ...(obj.InstanceSummaryList && { + InstanceSummaryList: obj.InstanceSummaryList.map((item) => InstanceSummary.filterSensitiveLog(item)), + }), + }); +} +export interface ListInstanceStorageConfigsRequest { /** - *

    The name of the contact flow.

    + *

    The identifier of the Amazon Connect instance.

    */ - Name?: string; + InstanceId: string | undefined; /** - *

    The type of contact flow.

    + *

    A valid resource type.

    */ - ContactFlowType?: ContactFlowType | string; + ResourceType: InstanceStorageResourceType | string | undefined; + + /** + *

    The token for the next set of results. Use the value returned in the previous + * response in the next request to retrieve the next set of results.

    + */ + NextToken?: string; + + /** + *

    The maximimum number of results to return per page.

    + */ + MaxResults?: number; } -export namespace ContactFlowSummary { - export const filterSensitiveLog = (obj: ContactFlowSummary): any => ({ +export namespace ListInstanceStorageConfigsRequest { + export const filterSensitiveLog = (obj: ListInstanceStorageConfigsRequest): any => ({ ...obj, }); } -export interface ListContactFlowsResponse { +export interface ListInstanceStorageConfigsResponse { /** - *

    Information about the contact flows.

    + *

    A valid storage type.

    */ - ContactFlowSummaryList?: ContactFlowSummary[]; + StorageConfigs?: InstanceStorageConfig[]; /** *

    If there are additional results, this is the token for the next set of results.

    @@ -2006,13 +3029,13 @@ export interface ListContactFlowsResponse { NextToken?: string; } -export namespace ListContactFlowsResponse { - export const filterSensitiveLog = (obj: ListContactFlowsResponse): any => ({ +export namespace ListInstanceStorageConfigsResponse { + export const filterSensitiveLog = (obj: ListInstanceStorageConfigsResponse): any => ({ ...obj, }); } -export interface ListHoursOfOperationsRequest { +export interface ListLambdaFunctionsRequest { /** *

    The identifier of the Amazon Connect instance.

    */ @@ -2030,43 +3053,59 @@ export interface ListHoursOfOperationsRequest { MaxResults?: number; } -export namespace ListHoursOfOperationsRequest { - export const filterSensitiveLog = (obj: ListHoursOfOperationsRequest): any => ({ +export namespace ListLambdaFunctionsRequest { + export const filterSensitiveLog = (obj: ListLambdaFunctionsRequest): any => ({ ...obj, }); } -/** - *

    Contains summary information about hours of operation for a contact center.

    - */ -export interface HoursOfOperationSummary { +export interface ListLambdaFunctionsResponse { /** - *

    The identifier of the hours of operation.

    + *

    The Lambdafunction ARNs associated with the specified instance.

    */ - Id?: string; + LambdaFunctions?: string[]; /** - *

    The Amazon Resource Name (ARN) of the hours of operation.

    + *

    If there are additional results, this is the token for the next set of results.

    */ - Arn?: string; + NextToken?: string; +} + +export namespace ListLambdaFunctionsResponse { + export const filterSensitiveLog = (obj: ListLambdaFunctionsResponse): any => ({ + ...obj, + }); +} +export interface ListLexBotsRequest { /** - *

    The name of the hours of operation.

    + *

    The identifier of the Amazon Connect instance.

    */ - Name?: string; + InstanceId: string | undefined; + + /** + *

    The token for the next set of results. Use the value returned in the previous + * response in the next request to retrieve the next set of results.

    + */ + NextToken?: string; + + /** + *

    The maximimum number of results to return per page.

    + */ + MaxResults?: number; } -export namespace HoursOfOperationSummary { - export const filterSensitiveLog = (obj: HoursOfOperationSummary): any => ({ +export namespace ListLexBotsRequest { + export const filterSensitiveLog = (obj: ListLexBotsRequest): any => ({ ...obj, }); } -export interface ListHoursOfOperationsResponse { +export interface ListLexBotsResponse { /** - *

    Information about the hours of operation.

    + *

    The the names and regions of the Amazon Lex bots associated with the specified instance.

    */ - HoursOfOperationSummaryList?: HoursOfOperationSummary[]; + LexBots?: LexBot[]; /** *

    If there are additional results, this is the token for the next set of results.

    @@ -2074,8 +3113,8 @@ export interface ListHoursOfOperationsResponse { NextToken?: string; } -export namespace ListHoursOfOperationsResponse { - export const filterSensitiveLog = (obj: ListHoursOfOperationsResponse): any => ({ +export namespace ListLexBotsResponse { + export const filterSensitiveLog = (obj: ListLexBotsResponse): any => ({ ...obj, }); } @@ -2723,6 +3762,74 @@ export namespace ListRoutingProfilesResponse { }); } +export interface ListSecurityKeysRequest { + /** + *

    The identifier of the Amazon Connect instance.

    + */ + InstanceId: string | undefined; + + /** + *

    The token for the next set of results. Use the value returned in the previous + * response in the next request to retrieve the next set of results.

    + */ + NextToken?: string; + + /** + *

    The maximimum number of results to return per page.

    + */ + MaxResults?: number; +} + +export namespace ListSecurityKeysRequest { + export const filterSensitiveLog = (obj: ListSecurityKeysRequest): any => ({ + ...obj, + }); +} + +/** + *

    Configuration information of the security key.

    + */ +export interface SecurityKey { + /** + *

    The existing association identifier that uniquely identifies the resource type and storage config for the given instance ID.

    + */ + AssociationId?: string; + + /** + *

    The key of the security key.

    + */ + Key?: string; + + /** + *

    When the security key was created.

    + */ + CreationTime?: Date; +} + +export namespace SecurityKey { + export const filterSensitiveLog = (obj: SecurityKey): any => ({ + ...obj, + }); +} + +export interface ListSecurityKeysResponse { + /** + *

    The security keys.

    + */ + SecurityKeys?: SecurityKey[]; + + /** + *

    If there are additional results, this is the token for the next set of results.

    + */ + NextToken?: string; +} + +export namespace ListSecurityKeysResponse { + export const filterSensitiveLog = (obj: ListSecurityKeysResponse): any => ({ + ...obj, + }); +} + export interface ListSecurityProfilesRequest { /** *

    The identifier of the Amazon Connect instance.

    @@ -3465,6 +4572,57 @@ export namespace UpdateContactFlowNameRequest { }); } +export interface UpdateInstanceAttributeRequest { + /** + *

    The identifier of the Amazon Connect instance.

    + */ + InstanceId: string | undefined; + + /** + *

    The type of attribute.

    + */ + AttributeType: InstanceAttributeType | string | undefined; + + /** + *

    The value for the attribute. Maximum character limit is 100.

    + */ + Value: string | undefined; +} + +export namespace UpdateInstanceAttributeRequest { + export const filterSensitiveLog = (obj: UpdateInstanceAttributeRequest): any => ({ + ...obj, + }); +} + +export interface UpdateInstanceStorageConfigRequest { + /** + *

    The identifier of the Amazon Connect instance.

    + */ + InstanceId: string | undefined; + + /** + *

    The existing association identifier that uniquely identifies the resource type and storage config for the given instance ID.

    + */ + AssociationId: string | undefined; + + /** + *

    A valid resource type.

    + */ + ResourceType: InstanceStorageResourceType | string | undefined; + + /** + *

    The storage configuration for the instance.

    + */ + StorageConfig: InstanceStorageConfig | undefined; +} + +export namespace UpdateInstanceStorageConfigRequest { + export const filterSensitiveLog = (obj: UpdateInstanceStorageConfigRequest): any => ({ + ...obj, + }); +} + export interface UpdateRoutingProfileConcurrencyRequest { /** *

    The identifier of the Amazon Connect instance.

    diff --git a/clients/client-connect/pagination/ListApprovedOriginsPaginator.ts b/clients/client-connect/pagination/ListApprovedOriginsPaginator.ts new file mode 100644 index 000000000000..d9f006b770fc --- /dev/null +++ b/clients/client-connect/pagination/ListApprovedOriginsPaginator.ts @@ -0,0 +1,51 @@ +import { Connect } from "../Connect"; +import { ConnectClient } from "../ConnectClient"; +import { + ListApprovedOriginsCommand, + ListApprovedOriginsCommandInput, + ListApprovedOriginsCommandOutput, +} from "../commands/ListApprovedOriginsCommand"; +import { ConnectPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ConnectClient, + input: ListApprovedOriginsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListApprovedOriginsCommand(input), ...args); +}; +const makePagedRequest = async ( + client: Connect, + input: ListApprovedOriginsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listApprovedOrigins(input, ...args); +}; +export async function* paginateListApprovedOrigins( + config: ConnectPaginationConfiguration, + input: ListApprovedOriginsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListApprovedOriginsCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Connect) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ConnectClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Connect | ConnectClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-connect/pagination/ListInstanceAttributesPaginator.ts b/clients/client-connect/pagination/ListInstanceAttributesPaginator.ts new file mode 100644 index 000000000000..11570af3d18a --- /dev/null +++ b/clients/client-connect/pagination/ListInstanceAttributesPaginator.ts @@ -0,0 +1,51 @@ +import { Connect } from "../Connect"; +import { ConnectClient } from "../ConnectClient"; +import { + ListInstanceAttributesCommand, + ListInstanceAttributesCommandInput, + ListInstanceAttributesCommandOutput, +} from "../commands/ListInstanceAttributesCommand"; +import { ConnectPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ConnectClient, + input: ListInstanceAttributesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListInstanceAttributesCommand(input), ...args); +}; +const makePagedRequest = async ( + client: Connect, + input: ListInstanceAttributesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listInstanceAttributes(input, ...args); +}; +export async function* paginateListInstanceAttributes( + config: ConnectPaginationConfiguration, + input: ListInstanceAttributesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListInstanceAttributesCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Connect) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ConnectClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Connect | ConnectClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-connect/pagination/ListInstanceStorageConfigsPaginator.ts b/clients/client-connect/pagination/ListInstanceStorageConfigsPaginator.ts new file mode 100644 index 000000000000..e8f34247063e --- /dev/null +++ b/clients/client-connect/pagination/ListInstanceStorageConfigsPaginator.ts @@ -0,0 +1,51 @@ +import { Connect } from "../Connect"; +import { ConnectClient } from "../ConnectClient"; +import { + ListInstanceStorageConfigsCommand, + ListInstanceStorageConfigsCommandInput, + ListInstanceStorageConfigsCommandOutput, +} from "../commands/ListInstanceStorageConfigsCommand"; +import { ConnectPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ConnectClient, + input: ListInstanceStorageConfigsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListInstanceStorageConfigsCommand(input), ...args); +}; +const makePagedRequest = async ( + client: Connect, + input: ListInstanceStorageConfigsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listInstanceStorageConfigs(input, ...args); +}; +export async function* paginateListInstanceStorageConfigs( + config: ConnectPaginationConfiguration, + input: ListInstanceStorageConfigsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListInstanceStorageConfigsCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Connect) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ConnectClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Connect | ConnectClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-connect/pagination/ListInstancesPaginator.ts b/clients/client-connect/pagination/ListInstancesPaginator.ts new file mode 100644 index 000000000000..db5b3a2a7547 --- /dev/null +++ b/clients/client-connect/pagination/ListInstancesPaginator.ts @@ -0,0 +1,51 @@ +import { Connect } from "../Connect"; +import { ConnectClient } from "../ConnectClient"; +import { + ListInstancesCommand, + ListInstancesCommandInput, + ListInstancesCommandOutput, +} from "../commands/ListInstancesCommand"; +import { ConnectPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ConnectClient, + input: ListInstancesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListInstancesCommand(input), ...args); +}; +const makePagedRequest = async ( + client: Connect, + input: ListInstancesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listInstances(input, ...args); +}; +export async function* paginateListInstances( + config: ConnectPaginationConfiguration, + input: ListInstancesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListInstancesCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Connect) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ConnectClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Connect | ConnectClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-connect/pagination/ListLambdaFunctionsPaginator.ts b/clients/client-connect/pagination/ListLambdaFunctionsPaginator.ts new file mode 100644 index 000000000000..dd07f098eaad --- /dev/null +++ b/clients/client-connect/pagination/ListLambdaFunctionsPaginator.ts @@ -0,0 +1,51 @@ +import { Connect } from "../Connect"; +import { ConnectClient } from "../ConnectClient"; +import { + ListLambdaFunctionsCommand, + ListLambdaFunctionsCommandInput, + ListLambdaFunctionsCommandOutput, +} from "../commands/ListLambdaFunctionsCommand"; +import { ConnectPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ConnectClient, + input: ListLambdaFunctionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListLambdaFunctionsCommand(input), ...args); +}; +const makePagedRequest = async ( + client: Connect, + input: ListLambdaFunctionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listLambdaFunctions(input, ...args); +}; +export async function* paginateListLambdaFunctions( + config: ConnectPaginationConfiguration, + input: ListLambdaFunctionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListLambdaFunctionsCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Connect) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ConnectClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Connect | ConnectClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-connect/pagination/ListLexBotsPaginator.ts b/clients/client-connect/pagination/ListLexBotsPaginator.ts new file mode 100644 index 000000000000..0a4d74cfbb1a --- /dev/null +++ b/clients/client-connect/pagination/ListLexBotsPaginator.ts @@ -0,0 +1,47 @@ +import { Connect } from "../Connect"; +import { ConnectClient } from "../ConnectClient"; +import { ListLexBotsCommand, ListLexBotsCommandInput, ListLexBotsCommandOutput } from "../commands/ListLexBotsCommand"; +import { ConnectPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ConnectClient, + input: ListLexBotsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListLexBotsCommand(input), ...args); +}; +const makePagedRequest = async ( + client: Connect, + input: ListLexBotsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listLexBots(input, ...args); +}; +export async function* paginateListLexBots( + config: ConnectPaginationConfiguration, + input: ListLexBotsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListLexBotsCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Connect) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ConnectClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Connect | ConnectClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-connect/pagination/ListSecurityKeysPaginator.ts b/clients/client-connect/pagination/ListSecurityKeysPaginator.ts new file mode 100644 index 000000000000..629e75e41580 --- /dev/null +++ b/clients/client-connect/pagination/ListSecurityKeysPaginator.ts @@ -0,0 +1,51 @@ +import { Connect } from "../Connect"; +import { ConnectClient } from "../ConnectClient"; +import { + ListSecurityKeysCommand, + ListSecurityKeysCommandInput, + ListSecurityKeysCommandOutput, +} from "../commands/ListSecurityKeysCommand"; +import { ConnectPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ConnectClient, + input: ListSecurityKeysCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListSecurityKeysCommand(input), ...args); +}; +const makePagedRequest = async ( + client: Connect, + input: ListSecurityKeysCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listSecurityKeys(input, ...args); +}; +export async function* paginateListSecurityKeys( + config: ConnectPaginationConfiguration, + input: ListSecurityKeysCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListSecurityKeysCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Connect) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ConnectClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Connect | ConnectClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-connect/protocols/Aws_restJson1.ts b/clients/client-connect/protocols/Aws_restJson1.ts index 76d9a2fbb131..a8d5047aa205 100644 --- a/clients/client-connect/protocols/Aws_restJson1.ts +++ b/clients/client-connect/protocols/Aws_restJson1.ts @@ -1,8 +1,26 @@ +import { + AssociateApprovedOriginCommandInput, + AssociateApprovedOriginCommandOutput, +} from "../commands/AssociateApprovedOriginCommand"; +import { + AssociateInstanceStorageConfigCommandInput, + AssociateInstanceStorageConfigCommandOutput, +} from "../commands/AssociateInstanceStorageConfigCommand"; +import { + AssociateLambdaFunctionCommandInput, + AssociateLambdaFunctionCommandOutput, +} from "../commands/AssociateLambdaFunctionCommand"; +import { AssociateLexBotCommandInput, AssociateLexBotCommandOutput } from "../commands/AssociateLexBotCommand"; import { AssociateRoutingProfileQueuesCommandInput, AssociateRoutingProfileQueuesCommandOutput, } from "../commands/AssociateRoutingProfileQueuesCommand"; +import { + AssociateSecurityKeyCommandInput, + AssociateSecurityKeyCommandOutput, +} from "../commands/AssociateSecurityKeyCommand"; import { CreateContactFlowCommandInput, CreateContactFlowCommandOutput } from "../commands/CreateContactFlowCommand"; +import { CreateInstanceCommandInput, CreateInstanceCommandOutput } from "../commands/CreateInstanceCommand"; import { CreateRoutingProfileCommandInput, CreateRoutingProfileCommandOutput, @@ -12,6 +30,7 @@ import { CreateUserHierarchyGroupCommandInput, CreateUserHierarchyGroupCommandOutput, } from "../commands/CreateUserHierarchyGroupCommand"; +import { DeleteInstanceCommandInput, DeleteInstanceCommandOutput } from "../commands/DeleteInstanceCommand"; import { DeleteUserCommandInput, DeleteUserCommandOutput } from "../commands/DeleteUserCommand"; import { DeleteUserHierarchyGroupCommandInput, @@ -21,6 +40,15 @@ import { DescribeContactFlowCommandInput, DescribeContactFlowCommandOutput, } from "../commands/DescribeContactFlowCommand"; +import { + DescribeInstanceAttributeCommandInput, + DescribeInstanceAttributeCommandOutput, +} from "../commands/DescribeInstanceAttributeCommand"; +import { DescribeInstanceCommandInput, DescribeInstanceCommandOutput } from "../commands/DescribeInstanceCommand"; +import { + DescribeInstanceStorageConfigCommandInput, + DescribeInstanceStorageConfigCommandOutput, +} from "../commands/DescribeInstanceStorageConfigCommand"; import { DescribeRoutingProfileCommandInput, DescribeRoutingProfileCommandOutput, @@ -34,10 +62,27 @@ import { DescribeUserHierarchyStructureCommandInput, DescribeUserHierarchyStructureCommandOutput, } from "../commands/DescribeUserHierarchyStructureCommand"; +import { + DisassociateApprovedOriginCommandInput, + DisassociateApprovedOriginCommandOutput, +} from "../commands/DisassociateApprovedOriginCommand"; +import { + DisassociateInstanceStorageConfigCommandInput, + DisassociateInstanceStorageConfigCommandOutput, +} from "../commands/DisassociateInstanceStorageConfigCommand"; +import { + DisassociateLambdaFunctionCommandInput, + DisassociateLambdaFunctionCommandOutput, +} from "../commands/DisassociateLambdaFunctionCommand"; +import { DisassociateLexBotCommandInput, DisassociateLexBotCommandOutput } from "../commands/DisassociateLexBotCommand"; import { DisassociateRoutingProfileQueuesCommandInput, DisassociateRoutingProfileQueuesCommandOutput, } from "../commands/DisassociateRoutingProfileQueuesCommand"; +import { + DisassociateSecurityKeyCommandInput, + DisassociateSecurityKeyCommandOutput, +} from "../commands/DisassociateSecurityKeyCommand"; import { GetContactAttributesCommandInput, GetContactAttributesCommandOutput, @@ -48,11 +93,29 @@ import { } from "../commands/GetCurrentMetricDataCommand"; import { GetFederationTokenCommandInput, GetFederationTokenCommandOutput } from "../commands/GetFederationTokenCommand"; import { GetMetricDataCommandInput, GetMetricDataCommandOutput } from "../commands/GetMetricDataCommand"; +import { + ListApprovedOriginsCommandInput, + ListApprovedOriginsCommandOutput, +} from "../commands/ListApprovedOriginsCommand"; import { ListContactFlowsCommandInput, ListContactFlowsCommandOutput } from "../commands/ListContactFlowsCommand"; import { ListHoursOfOperationsCommandInput, ListHoursOfOperationsCommandOutput, } from "../commands/ListHoursOfOperationsCommand"; +import { + ListInstanceAttributesCommandInput, + ListInstanceAttributesCommandOutput, +} from "../commands/ListInstanceAttributesCommand"; +import { + ListInstanceStorageConfigsCommandInput, + ListInstanceStorageConfigsCommandOutput, +} from "../commands/ListInstanceStorageConfigsCommand"; +import { ListInstancesCommandInput, ListInstancesCommandOutput } from "../commands/ListInstancesCommand"; +import { + ListLambdaFunctionsCommandInput, + ListLambdaFunctionsCommandOutput, +} from "../commands/ListLambdaFunctionsCommand"; +import { ListLexBotsCommandInput, ListLexBotsCommandOutput } from "../commands/ListLexBotsCommand"; import { ListPhoneNumbersCommandInput, ListPhoneNumbersCommandOutput } from "../commands/ListPhoneNumbersCommand"; import { ListPromptsCommandInput, ListPromptsCommandOutput } from "../commands/ListPromptsCommand"; import { ListQueuesCommandInput, ListQueuesCommandOutput } from "../commands/ListQueuesCommand"; @@ -64,6 +127,7 @@ import { ListRoutingProfilesCommandInput, ListRoutingProfilesCommandOutput, } from "../commands/ListRoutingProfilesCommand"; +import { ListSecurityKeysCommandInput, ListSecurityKeysCommandOutput } from "../commands/ListSecurityKeysCommand"; import { ListSecurityProfilesCommandInput, ListSecurityProfilesCommandOutput, @@ -113,6 +177,14 @@ import { UpdateContactFlowNameCommandInput, UpdateContactFlowNameCommandOutput, } from "../commands/UpdateContactFlowNameCommand"; +import { + UpdateInstanceAttributeCommandInput, + UpdateInstanceAttributeCommandOutput, +} from "../commands/UpdateInstanceAttributeCommand"; +import { + UpdateInstanceStorageConfigCommandInput, + UpdateInstanceStorageConfigCommandOutput, +} from "../commands/UpdateInstanceStorageConfigCommand"; import { UpdateRoutingProfileConcurrencyCommandInput, UpdateRoutingProfileConcurrencyCommandOutput, @@ -158,6 +230,7 @@ import { UpdateUserSecurityProfilesCommandOutput, } from "../commands/UpdateUserSecurityProfilesCommand"; import { + Attribute, Channel, ChatMessage, ContactFlow, @@ -171,6 +244,7 @@ import { DestinationNotAllowedException, Dimensions, DuplicateResourceException, + EncryptionConfig, Filters, Grouping, HierarchyGroup, @@ -184,10 +258,18 @@ import { HistoricalMetricData, HistoricalMetricResult, HoursOfOperationSummary, + Instance, + InstanceStatusReason, + InstanceStorageConfig, + InstanceSummary, InternalServiceException, InvalidContactFlowException, InvalidParameterException, InvalidRequestException, + KinesisFirehoseConfig, + KinesisStreamConfig, + KinesisVideoStreamConfig, + LexBot, LimitExceededException, MediaConcurrency, OutboundContactNotPermittedException, @@ -197,6 +279,7 @@ import { PromptSummary, QueueReference, QueueSummary, + ResourceConflictException, ResourceInUseException, ResourceNotFoundException, RoutingProfile, @@ -204,7 +287,10 @@ import { RoutingProfileQueueConfigSummary, RoutingProfileQueueReference, RoutingProfileSummary, + S3Config, + SecurityKey, SecurityProfileSummary, + ServiceQuotaExceededException, Threshold, ThrottlingException, User, @@ -227,6 +313,141 @@ import { } from "@aws-sdk/types"; import { v4 as generateIdempotencyToken } from "uuid"; +export const serializeAws_restJson1AssociateApprovedOriginCommand = async ( + input: AssociateApprovedOriginCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/instance/{InstanceId}/approved-origin"; + if (input.InstanceId !== undefined) { + const labelValue: string = input.InstanceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: InstanceId."); + } + resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: InstanceId."); + } + let body: any; + body = JSON.stringify({ + ...(input.Origin !== undefined && { Origin: input.Origin }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1AssociateInstanceStorageConfigCommand = async ( + input: AssociateInstanceStorageConfigCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/instance/{InstanceId}/storage-config"; + if (input.InstanceId !== undefined) { + const labelValue: string = input.InstanceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: InstanceId."); + } + resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: InstanceId."); + } + let body: any; + body = JSON.stringify({ + ...(input.ResourceType !== undefined && { ResourceType: input.ResourceType }), + ...(input.StorageConfig !== undefined && { + StorageConfig: serializeAws_restJson1InstanceStorageConfig(input.StorageConfig, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1AssociateLambdaFunctionCommand = async ( + input: AssociateLambdaFunctionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/instance/{InstanceId}/lambda-function"; + if (input.InstanceId !== undefined) { + const labelValue: string = input.InstanceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: InstanceId."); + } + resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: InstanceId."); + } + let body: any; + body = JSON.stringify({ + ...(input.FunctionArn !== undefined && { FunctionArn: input.FunctionArn }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1AssociateLexBotCommand = async ( + input: AssociateLexBotCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/instance/{InstanceId}/lex-bot"; + if (input.InstanceId !== undefined) { + const labelValue: string = input.InstanceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: InstanceId."); + } + resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: InstanceId."); + } + let body: any; + body = JSON.stringify({ + ...(input.LexBot !== undefined && { LexBot: serializeAws_restJson1LexBot(input.LexBot, context) }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1AssociateRoutingProfileQueuesCommand = async ( input: AssociateRoutingProfileQueuesCommandInput, context: __SerdeContext @@ -271,6 +492,39 @@ export const serializeAws_restJson1AssociateRoutingProfileQueuesCommand = async }); }; +export const serializeAws_restJson1AssociateSecurityKeyCommand = async ( + input: AssociateSecurityKeyCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/instance/{InstanceId}/security-key"; + if (input.InstanceId !== undefined) { + const labelValue: string = input.InstanceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: InstanceId."); + } + resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: InstanceId."); + } + let body: any; + body = JSON.stringify({ + ...(input.Key !== undefined && { Key: input.Key }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1CreateContactFlowCommand = async ( input: CreateContactFlowCommandInput, context: __SerdeContext @@ -308,6 +562,35 @@ export const serializeAws_restJson1CreateContactFlowCommand = async ( }); }; +export const serializeAws_restJson1CreateInstanceCommand = async ( + input: CreateInstanceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/instance"; + let body: any; + body = JSON.stringify({ + ...(input.ClientToken !== undefined && { ClientToken: input.ClientToken }), + ...(input.DirectoryId !== undefined && { DirectoryId: input.DirectoryId }), + ...(input.IdentityManagementType !== undefined && { IdentityManagementType: input.IdentityManagementType }), + ...(input.InboundCallsEnabled !== undefined && { InboundCallsEnabled: input.InboundCallsEnabled }), + ...(input.InstanceAlias !== undefined && { InstanceAlias: input.InstanceAlias }), + ...(input.OutboundCallsEnabled !== undefined && { OutboundCallsEnabled: input.OutboundCallsEnabled }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1CreateRoutingProfileCommand = async ( input: CreateRoutingProfileCommandInput, context: __SerdeContext @@ -431,6 +714,36 @@ export const serializeAws_restJson1CreateUserHierarchyGroupCommand = async ( }); }; +export const serializeAws_restJson1DeleteInstanceCommand = async ( + input: DeleteInstanceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/instance/{InstanceId}"; + if (input.InstanceId !== undefined) { + const labelValue: string = input.InstanceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: InstanceId."); + } + resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: InstanceId."); + } + let body: any; + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "DELETE", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1DeleteUserCommand = async ( input: DeleteUserCommandInput, context: __SerdeContext @@ -548,14 +861,14 @@ export const serializeAws_restJson1DescribeContactFlowCommand = async ( }); }; -export const serializeAws_restJson1DescribeRoutingProfileCommand = async ( - input: DescribeRoutingProfileCommandInput, +export const serializeAws_restJson1DescribeInstanceCommand = async ( + input: DescribeInstanceCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/routing-profiles/{InstanceId}/{RoutingProfileId}"; + let resolvedPath = "/instance/{InstanceId}"; if (input.InstanceId !== undefined) { const labelValue: string = input.InstanceId; if (labelValue.length <= 0) { @@ -565,15 +878,6 @@ export const serializeAws_restJson1DescribeRoutingProfileCommand = async ( } else { throw new Error("No value provided for input HTTP label: InstanceId."); } - if (input.RoutingProfileId !== undefined) { - const labelValue: string = input.RoutingProfileId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: RoutingProfileId."); - } - resolvedPath = resolvedPath.replace("{RoutingProfileId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: RoutingProfileId."); - } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -587,23 +891,14 @@ export const serializeAws_restJson1DescribeRoutingProfileCommand = async ( }); }; -export const serializeAws_restJson1DescribeUserCommand = async ( - input: DescribeUserCommandInput, +export const serializeAws_restJson1DescribeInstanceAttributeCommand = async ( + input: DescribeInstanceAttributeCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/users/{InstanceId}/{UserId}"; - if (input.UserId !== undefined) { - const labelValue: string = input.UserId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: UserId."); - } - resolvedPath = resolvedPath.replace("{UserId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: UserId."); - } + let resolvedPath = "/instance/{InstanceId}/attribute/{AttributeType}"; if (input.InstanceId !== undefined) { const labelValue: string = input.InstanceId; if (labelValue.length <= 0) { @@ -613,6 +908,15 @@ export const serializeAws_restJson1DescribeUserCommand = async ( } else { throw new Error("No value provided for input HTTP label: InstanceId."); } + if (input.AttributeType !== undefined) { + const labelValue: string = input.AttributeType; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AttributeType."); + } + resolvedPath = resolvedPath.replace("{AttributeType}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AttributeType."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -626,23 +930,14 @@ export const serializeAws_restJson1DescribeUserCommand = async ( }); }; -export const serializeAws_restJson1DescribeUserHierarchyGroupCommand = async ( - input: DescribeUserHierarchyGroupCommandInput, +export const serializeAws_restJson1DescribeInstanceStorageConfigCommand = async ( + input: DescribeInstanceStorageConfigCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/user-hierarchy-groups/{InstanceId}/{HierarchyGroupId}"; - if (input.HierarchyGroupId !== undefined) { - const labelValue: string = input.HierarchyGroupId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: HierarchyGroupId."); - } - resolvedPath = resolvedPath.replace("{HierarchyGroupId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: HierarchyGroupId."); - } + let resolvedPath = "/instance/{InstanceId}/storage-config/{AssociationId}"; if (input.InstanceId !== undefined) { const labelValue: string = input.InstanceId; if (labelValue.length <= 0) { @@ -652,6 +947,18 @@ export const serializeAws_restJson1DescribeUserHierarchyGroupCommand = async ( } else { throw new Error("No value provided for input HTTP label: InstanceId."); } + if (input.AssociationId !== undefined) { + const labelValue: string = input.AssociationId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AssociationId."); + } + resolvedPath = resolvedPath.replace("{AssociationId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AssociationId."); + } + const query: any = { + ...(input.ResourceType !== undefined && { resourceType: input.ResourceType }), + }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -661,48 +968,19 @@ export const serializeAws_restJson1DescribeUserHierarchyGroupCommand = async ( method: "GET", headers, path: resolvedPath, + query, body, }); }; -export const serializeAws_restJson1DescribeUserHierarchyStructureCommand = async ( - input: DescribeUserHierarchyStructureCommandInput, +export const serializeAws_restJson1DescribeRoutingProfileCommand = async ( + input: DescribeRoutingProfileCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/user-hierarchy-structure/{InstanceId}"; - if (input.InstanceId !== undefined) { - const labelValue: string = input.InstanceId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: InstanceId."); - } - resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: InstanceId."); - } - let body: any; - const { hostname, protocol = "https", port } = await context.endpoint(); - return new __HttpRequest({ - protocol, - hostname, - port, - method: "GET", - headers, - path: resolvedPath, - body, - }); -}; - -export const serializeAws_restJson1DisassociateRoutingProfileQueuesCommand = async ( - input: DisassociateRoutingProfileQueuesCommandInput, - context: __SerdeContext -): Promise<__HttpRequest> => { - const headers: any = { - "Content-Type": "application/json", - }; - let resolvedPath = "/routing-profiles/{InstanceId}/{RoutingProfileId}/disassociate-queues"; + let resolvedPath = "/routing-profiles/{InstanceId}/{RoutingProfileId}"; if (input.InstanceId !== undefined) { const labelValue: string = input.InstanceId; if (labelValue.length <= 0) { @@ -722,31 +1000,35 @@ export const serializeAws_restJson1DisassociateRoutingProfileQueuesCommand = asy throw new Error("No value provided for input HTTP label: RoutingProfileId."); } let body: any; - body = JSON.stringify({ - ...(input.QueueReferences !== undefined && { - QueueReferences: serializeAws_restJson1RoutingProfileQueueReferenceList(input.QueueReferences, context), - }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "GET", headers, path: resolvedPath, body, }); }; -export const serializeAws_restJson1GetContactAttributesCommand = async ( - input: GetContactAttributesCommandInput, +export const serializeAws_restJson1DescribeUserCommand = async ( + input: DescribeUserCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/contact/attributes/{InstanceId}/{InitialContactId}"; + let resolvedPath = "/users/{InstanceId}/{UserId}"; + if (input.UserId !== undefined) { + const labelValue: string = input.UserId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: UserId."); + } + resolvedPath = resolvedPath.replace("{UserId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: UserId."); + } if (input.InstanceId !== undefined) { const labelValue: string = input.InstanceId; if (labelValue.length <= 0) { @@ -756,15 +1038,6 @@ export const serializeAws_restJson1GetContactAttributesCommand = async ( } else { throw new Error("No value provided for input HTTP label: InstanceId."); } - if (input.InitialContactId !== undefined) { - const labelValue: string = input.InitialContactId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: InitialContactId."); - } - resolvedPath = resolvedPath.replace("{InitialContactId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: InitialContactId."); - } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -778,14 +1051,23 @@ export const serializeAws_restJson1GetContactAttributesCommand = async ( }); }; -export const serializeAws_restJson1GetCurrentMetricDataCommand = async ( - input: GetCurrentMetricDataCommandInput, +export const serializeAws_restJson1DescribeUserHierarchyGroupCommand = async ( + input: DescribeUserHierarchyGroupCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", }; - let resolvedPath = "/metrics/current/{InstanceId}"; + let resolvedPath = "/user-hierarchy-groups/{InstanceId}/{HierarchyGroupId}"; + if (input.HierarchyGroupId !== undefined) { + const labelValue: string = input.HierarchyGroupId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: HierarchyGroupId."); + } + resolvedPath = resolvedPath.replace("{HierarchyGroupId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: HierarchyGroupId."); + } if (input.InstanceId !== undefined) { const labelValue: string = input.InstanceId; if (labelValue.length <= 0) { @@ -796,35 +1078,26 @@ export const serializeAws_restJson1GetCurrentMetricDataCommand = async ( throw new Error("No value provided for input HTTP label: InstanceId."); } let body: any; - body = JSON.stringify({ - ...(input.CurrentMetrics !== undefined && { - CurrentMetrics: serializeAws_restJson1CurrentMetrics(input.CurrentMetrics, context), - }), - ...(input.Filters !== undefined && { Filters: serializeAws_restJson1Filters(input.Filters, context) }), - ...(input.Groupings !== undefined && { Groupings: serializeAws_restJson1Groupings(input.Groupings, context) }), - ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), - ...(input.NextToken !== undefined && { NextToken: input.NextToken }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "GET", headers, path: resolvedPath, body, }); }; -export const serializeAws_restJson1GetFederationTokenCommand = async ( - input: GetFederationTokenCommandInput, +export const serializeAws_restJson1DescribeUserHierarchyStructureCommand = async ( + input: DescribeUserHierarchyStructureCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/user/federate/{InstanceId}"; + let resolvedPath = "/user-hierarchy-structure/{InstanceId}"; if (input.InstanceId !== undefined) { const labelValue: string = input.InstanceId; if (labelValue.length <= 0) { @@ -847,14 +1120,14 @@ export const serializeAws_restJson1GetFederationTokenCommand = async ( }); }; -export const serializeAws_restJson1GetMetricDataCommand = async ( - input: GetMetricDataCommandInput, +export const serializeAws_restJson1DisassociateApprovedOriginCommand = async ( + input: DisassociateApprovedOriginCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", }; - let resolvedPath = "/metrics/historical/{InstanceId}"; + let resolvedPath = "/instance/{InstanceId}/approved-origin"; if (input.InstanceId !== undefined) { const labelValue: string = input.InstanceId; if (labelValue.length <= 0) { @@ -864,38 +1137,31 @@ export const serializeAws_restJson1GetMetricDataCommand = async ( } else { throw new Error("No value provided for input HTTP label: InstanceId."); } + const query: any = { + ...(input.Origin !== undefined && { origin: input.Origin }), + }; let body: any; - body = JSON.stringify({ - ...(input.EndTime !== undefined && { EndTime: Math.round(input.EndTime.getTime() / 1000) }), - ...(input.Filters !== undefined && { Filters: serializeAws_restJson1Filters(input.Filters, context) }), - ...(input.Groupings !== undefined && { Groupings: serializeAws_restJson1Groupings(input.Groupings, context) }), - ...(input.HistoricalMetrics !== undefined && { - HistoricalMetrics: serializeAws_restJson1HistoricalMetrics(input.HistoricalMetrics, context), - }), - ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), - ...(input.NextToken !== undefined && { NextToken: input.NextToken }), - ...(input.StartTime !== undefined && { StartTime: Math.round(input.StartTime.getTime() / 1000) }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "DELETE", headers, path: resolvedPath, + query, body, }); }; -export const serializeAws_restJson1ListContactFlowsCommand = async ( - input: ListContactFlowsCommandInput, +export const serializeAws_restJson1DisassociateInstanceStorageConfigCommand = async ( + input: DisassociateInstanceStorageConfigCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/contact-flows-summary/{InstanceId}"; + let resolvedPath = "/instance/{InstanceId}/storage-config/{AssociationId}"; if (input.InstanceId !== undefined) { const labelValue: string = input.InstanceId; if (labelValue.length <= 0) { @@ -905,12 +1171,17 @@ export const serializeAws_restJson1ListContactFlowsCommand = async ( } else { throw new Error("No value provided for input HTTP label: InstanceId."); } + if (input.AssociationId !== undefined) { + const labelValue: string = input.AssociationId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AssociationId."); + } + resolvedPath = resolvedPath.replace("{AssociationId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AssociationId."); + } const query: any = { - ...(input.ContactFlowTypes !== undefined && { - contactFlowTypes: (input.ContactFlowTypes || []).map((_entry) => _entry), - }), - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.ResourceType !== undefined && { resourceType: input.ResourceType }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -918,7 +1189,7 @@ export const serializeAws_restJson1ListContactFlowsCommand = async ( protocol, hostname, port, - method: "GET", + method: "DELETE", headers, path: resolvedPath, query, @@ -926,14 +1197,14 @@ export const serializeAws_restJson1ListContactFlowsCommand = async ( }); }; -export const serializeAws_restJson1ListHoursOfOperationsCommand = async ( - input: ListHoursOfOperationsCommandInput, +export const serializeAws_restJson1DisassociateLambdaFunctionCommand = async ( + input: DisassociateLambdaFunctionCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/hours-of-operations-summary/{InstanceId}"; + let resolvedPath = "/instance/{InstanceId}/lambda-function"; if (input.InstanceId !== undefined) { const labelValue: string = input.InstanceId; if (labelValue.length <= 0) { @@ -944,8 +1215,7 @@ export const serializeAws_restJson1ListHoursOfOperationsCommand = async ( throw new Error("No value provided for input HTTP label: InstanceId."); } const query: any = { - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.FunctionArn !== undefined && { functionArn: input.FunctionArn }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -953,7 +1223,7 @@ export const serializeAws_restJson1ListHoursOfOperationsCommand = async ( protocol, hostname, port, - method: "GET", + method: "DELETE", headers, path: resolvedPath, query, @@ -961,14 +1231,14 @@ export const serializeAws_restJson1ListHoursOfOperationsCommand = async ( }); }; -export const serializeAws_restJson1ListPhoneNumbersCommand = async ( - input: ListPhoneNumbersCommandInput, +export const serializeAws_restJson1DisassociateLexBotCommand = async ( + input: DisassociateLexBotCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/phone-numbers-summary/{InstanceId}"; + let resolvedPath = "/instance/{InstanceId}/lex-bot"; if (input.InstanceId !== undefined) { const labelValue: string = input.InstanceId; if (labelValue.length <= 0) { @@ -979,14 +1249,8 @@ export const serializeAws_restJson1ListPhoneNumbersCommand = async ( throw new Error("No value provided for input HTTP label: InstanceId."); } const query: any = { - ...(input.PhoneNumberTypes !== undefined && { - phoneNumberTypes: (input.PhoneNumberTypes || []).map((_entry) => _entry), - }), - ...(input.PhoneNumberCountryCodes !== undefined && { - phoneNumberCountryCodes: (input.PhoneNumberCountryCodes || []).map((_entry) => _entry), - }), - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.BotName !== undefined && { botName: input.BotName }), + ...(input.LexRegion !== undefined && { lexRegion: input.LexRegion }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -994,7 +1258,7 @@ export const serializeAws_restJson1ListPhoneNumbersCommand = async ( protocol, hostname, port, - method: "GET", + method: "DELETE", headers, path: resolvedPath, query, @@ -1002,14 +1266,14 @@ export const serializeAws_restJson1ListPhoneNumbersCommand = async ( }); }; -export const serializeAws_restJson1ListPromptsCommand = async ( - input: ListPromptsCommandInput, +export const serializeAws_restJson1DisassociateRoutingProfileQueuesCommand = async ( + input: DisassociateRoutingProfileQueuesCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "", + "Content-Type": "application/json", }; - let resolvedPath = "/prompts-summary/{InstanceId}"; + let resolvedPath = "/routing-profiles/{InstanceId}/{RoutingProfileId}/disassociate-queues"; if (input.InstanceId !== undefined) { const labelValue: string = input.InstanceId; if (labelValue.length <= 0) { @@ -1019,32 +1283,41 @@ export const serializeAws_restJson1ListPromptsCommand = async ( } else { throw new Error("No value provided for input HTTP label: InstanceId."); } - const query: any = { - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), - }; + if (input.RoutingProfileId !== undefined) { + const labelValue: string = input.RoutingProfileId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: RoutingProfileId."); + } + resolvedPath = resolvedPath.replace("{RoutingProfileId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: RoutingProfileId."); + } let body: any; + body = JSON.stringify({ + ...(input.QueueReferences !== undefined && { + QueueReferences: serializeAws_restJson1RoutingProfileQueueReferenceList(input.QueueReferences, context), + }), + }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "GET", + method: "POST", headers, path: resolvedPath, - query, body, }); }; -export const serializeAws_restJson1ListQueuesCommand = async ( - input: ListQueuesCommandInput, +export const serializeAws_restJson1DisassociateSecurityKeyCommand = async ( + input: DisassociateSecurityKeyCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/queues-summary/{InstanceId}"; + let resolvedPath = "/instance/{InstanceId}/security-key/{AssociationId}"; if (input.InstanceId !== undefined) { const labelValue: string = input.InstanceId; if (labelValue.length <= 0) { @@ -1054,33 +1327,36 @@ export const serializeAws_restJson1ListQueuesCommand = async ( } else { throw new Error("No value provided for input HTTP label: InstanceId."); } - const query: any = { - ...(input.QueueTypes !== undefined && { queueTypes: (input.QueueTypes || []).map((_entry) => _entry) }), - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), - }; + if (input.AssociationId !== undefined) { + const labelValue: string = input.AssociationId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AssociationId."); + } + resolvedPath = resolvedPath.replace("{AssociationId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AssociationId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "GET", + method: "DELETE", headers, path: resolvedPath, - query, body, }); }; -export const serializeAws_restJson1ListRoutingProfileQueuesCommand = async ( - input: ListRoutingProfileQueuesCommandInput, +export const serializeAws_restJson1GetContactAttributesCommand = async ( + input: GetContactAttributesCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/routing-profiles/{InstanceId}/{RoutingProfileId}/queues"; + let resolvedPath = "/contact/attributes/{InstanceId}/{InitialContactId}"; if (input.InstanceId !== undefined) { const labelValue: string = input.InstanceId; if (labelValue.length <= 0) { @@ -1090,19 +1366,15 @@ export const serializeAws_restJson1ListRoutingProfileQueuesCommand = async ( } else { throw new Error("No value provided for input HTTP label: InstanceId."); } - if (input.RoutingProfileId !== undefined) { - const labelValue: string = input.RoutingProfileId; + if (input.InitialContactId !== undefined) { + const labelValue: string = input.InitialContactId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: RoutingProfileId."); + throw new Error("Empty value provided for input HTTP label: InitialContactId."); } - resolvedPath = resolvedPath.replace("{RoutingProfileId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{InitialContactId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: RoutingProfileId."); + throw new Error("No value provided for input HTTP label: InitialContactId."); } - const query: any = { - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), - }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1112,19 +1384,18 @@ export const serializeAws_restJson1ListRoutingProfileQueuesCommand = async ( method: "GET", headers, path: resolvedPath, - query, body, }); }; -export const serializeAws_restJson1ListRoutingProfilesCommand = async ( - input: ListRoutingProfilesCommandInput, +export const serializeAws_restJson1GetCurrentMetricDataCommand = async ( + input: GetCurrentMetricDataCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "", + "Content-Type": "application/json", }; - let resolvedPath = "/routing-profiles-summary/{InstanceId}"; + let resolvedPath = "/metrics/current/{InstanceId}"; if (input.InstanceId !== undefined) { const labelValue: string = input.InstanceId; if (labelValue.length <= 0) { @@ -1134,32 +1405,36 @@ export const serializeAws_restJson1ListRoutingProfilesCommand = async ( } else { throw new Error("No value provided for input HTTP label: InstanceId."); } - const query: any = { - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), - }; let body: any; + body = JSON.stringify({ + ...(input.CurrentMetrics !== undefined && { + CurrentMetrics: serializeAws_restJson1CurrentMetrics(input.CurrentMetrics, context), + }), + ...(input.Filters !== undefined && { Filters: serializeAws_restJson1Filters(input.Filters, context) }), + ...(input.Groupings !== undefined && { Groupings: serializeAws_restJson1Groupings(input.Groupings, context) }), + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "GET", + method: "POST", headers, path: resolvedPath, - query, body, }); }; -export const serializeAws_restJson1ListSecurityProfilesCommand = async ( - input: ListSecurityProfilesCommandInput, +export const serializeAws_restJson1GetFederationTokenCommand = async ( + input: GetFederationTokenCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/security-profiles-summary/{InstanceId}"; + let resolvedPath = "/user/federate/{InstanceId}"; if (input.InstanceId !== undefined) { const labelValue: string = input.InstanceId; if (labelValue.length <= 0) { @@ -1169,10 +1444,6 @@ export const serializeAws_restJson1ListSecurityProfilesCommand = async ( } else { throw new Error("No value provided for input HTTP label: InstanceId."); } - const query: any = { - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), - }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1182,49 +1453,59 @@ export const serializeAws_restJson1ListSecurityProfilesCommand = async ( method: "GET", headers, path: resolvedPath, - query, body, }); }; -export const serializeAws_restJson1ListTagsForResourceCommand = async ( - input: ListTagsForResourceCommandInput, +export const serializeAws_restJson1GetMetricDataCommand = async ( + input: GetMetricDataCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "", + "Content-Type": "application/json", }; - let resolvedPath = "/tags/{resourceArn}"; - if (input.resourceArn !== undefined) { - const labelValue: string = input.resourceArn; + let resolvedPath = "/metrics/historical/{InstanceId}"; + if (input.InstanceId !== undefined) { + const labelValue: string = input.InstanceId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: resourceArn."); + throw new Error("Empty value provided for input HTTP label: InstanceId."); } - resolvedPath = resolvedPath.replace("{resourceArn}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: resourceArn."); + throw new Error("No value provided for input HTTP label: InstanceId."); } let body: any; + body = JSON.stringify({ + ...(input.EndTime !== undefined && { EndTime: Math.round(input.EndTime.getTime() / 1000) }), + ...(input.Filters !== undefined && { Filters: serializeAws_restJson1Filters(input.Filters, context) }), + ...(input.Groupings !== undefined && { Groupings: serializeAws_restJson1Groupings(input.Groupings, context) }), + ...(input.HistoricalMetrics !== undefined && { + HistoricalMetrics: serializeAws_restJson1HistoricalMetrics(input.HistoricalMetrics, context), + }), + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.StartTime !== undefined && { StartTime: Math.round(input.StartTime.getTime() / 1000) }), + }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "GET", + method: "POST", headers, path: resolvedPath, body, }); }; -export const serializeAws_restJson1ListUserHierarchyGroupsCommand = async ( - input: ListUserHierarchyGroupsCommandInput, +export const serializeAws_restJson1ListApprovedOriginsCommand = async ( + input: ListApprovedOriginsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/user-hierarchy-groups-summary/{InstanceId}"; + let resolvedPath = "/instance/{InstanceId}/approved-origins"; if (input.InstanceId !== undefined) { const labelValue: string = input.InstanceId; if (labelValue.length <= 0) { @@ -1252,14 +1533,14 @@ export const serializeAws_restJson1ListUserHierarchyGroupsCommand = async ( }); }; -export const serializeAws_restJson1ListUsersCommand = async ( - input: ListUsersCommandInput, +export const serializeAws_restJson1ListContactFlowsCommand = async ( + input: ListContactFlowsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/users-summary/{InstanceId}"; + let resolvedPath = "/contact-flows-summary/{InstanceId}"; if (input.InstanceId !== undefined) { const labelValue: string = input.InstanceId; if (labelValue.length <= 0) { @@ -1270,6 +1551,9 @@ export const serializeAws_restJson1ListUsersCommand = async ( throw new Error("No value provided for input HTTP label: InstanceId."); } const query: any = { + ...(input.ContactFlowTypes !== undefined && { + contactFlowTypes: (input.ContactFlowTypes || []).map((_entry) => _entry), + }), ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), }; @@ -1287,256 +1571,305 @@ export const serializeAws_restJson1ListUsersCommand = async ( }); }; -export const serializeAws_restJson1ResumeContactRecordingCommand = async ( - input: ResumeContactRecordingCommandInput, +export const serializeAws_restJson1ListHoursOfOperationsCommand = async ( + input: ListHoursOfOperationsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", + }; + let resolvedPath = "/hours-of-operations-summary/{InstanceId}"; + if (input.InstanceId !== undefined) { + const labelValue: string = input.InstanceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: InstanceId."); + } + resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: InstanceId."); + } + const query: any = { + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), }; - let resolvedPath = "/contact/resume-recording"; let body: any; - body = JSON.stringify({ - ...(input.ContactId !== undefined && { ContactId: input.ContactId }), - ...(input.InitialContactId !== undefined && { InitialContactId: input.InitialContactId }), - ...(input.InstanceId !== undefined && { InstanceId: input.InstanceId }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "GET", headers, path: resolvedPath, + query, body, }); }; -export const serializeAws_restJson1StartChatContactCommand = async ( - input: StartChatContactCommandInput, +export const serializeAws_restJson1ListInstanceAttributesCommand = async ( + input: ListInstanceAttributesCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", + }; + let resolvedPath = "/instance/{InstanceId}/attributes"; + if (input.InstanceId !== undefined) { + const labelValue: string = input.InstanceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: InstanceId."); + } + resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: InstanceId."); + } + const query: any = { + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), }; - let resolvedPath = "/contact/chat"; let body: any; - body = JSON.stringify({ - ...(input.Attributes !== undefined && { Attributes: serializeAws_restJson1Attributes(input.Attributes, context) }), - ClientToken: input.ClientToken ?? generateIdempotencyToken(), - ...(input.ContactFlowId !== undefined && { ContactFlowId: input.ContactFlowId }), - ...(input.InitialMessage !== undefined && { - InitialMessage: serializeAws_restJson1ChatMessage(input.InitialMessage, context), - }), - ...(input.InstanceId !== undefined && { InstanceId: input.InstanceId }), - ...(input.ParticipantDetails !== undefined && { - ParticipantDetails: serializeAws_restJson1ParticipantDetails(input.ParticipantDetails, context), - }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "PUT", + method: "GET", headers, path: resolvedPath, + query, body, }); }; -export const serializeAws_restJson1StartContactRecordingCommand = async ( - input: StartContactRecordingCommandInput, +export const serializeAws_restJson1ListInstancesCommand = async ( + input: ListInstancesCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", + }; + let resolvedPath = "/instance"; + const query: any = { + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), }; - let resolvedPath = "/contact/start-recording"; let body: any; - body = JSON.stringify({ - ...(input.ContactId !== undefined && { ContactId: input.ContactId }), - ...(input.InitialContactId !== undefined && { InitialContactId: input.InitialContactId }), - ...(input.InstanceId !== undefined && { InstanceId: input.InstanceId }), - ...(input.VoiceRecordingConfiguration !== undefined && { - VoiceRecordingConfiguration: serializeAws_restJson1VoiceRecordingConfiguration( - input.VoiceRecordingConfiguration, - context - ), - }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "GET", headers, path: resolvedPath, + query, body, }); }; -export const serializeAws_restJson1StartOutboundVoiceContactCommand = async ( - input: StartOutboundVoiceContactCommandInput, +export const serializeAws_restJson1ListInstanceStorageConfigsCommand = async ( + input: ListInstanceStorageConfigsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", + }; + let resolvedPath = "/instance/{InstanceId}/storage-configs"; + if (input.InstanceId !== undefined) { + const labelValue: string = input.InstanceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: InstanceId."); + } + resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: InstanceId."); + } + const query: any = { + ...(input.ResourceType !== undefined && { resourceType: input.ResourceType }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), }; - let resolvedPath = "/contact/outbound-voice"; let body: any; - body = JSON.stringify({ - ...(input.Attributes !== undefined && { Attributes: serializeAws_restJson1Attributes(input.Attributes, context) }), - ClientToken: input.ClientToken ?? generateIdempotencyToken(), - ...(input.ContactFlowId !== undefined && { ContactFlowId: input.ContactFlowId }), - ...(input.DestinationPhoneNumber !== undefined && { DestinationPhoneNumber: input.DestinationPhoneNumber }), - ...(input.InstanceId !== undefined && { InstanceId: input.InstanceId }), - ...(input.QueueId !== undefined && { QueueId: input.QueueId }), - ...(input.SourcePhoneNumber !== undefined && { SourcePhoneNumber: input.SourcePhoneNumber }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "PUT", + method: "GET", headers, path: resolvedPath, + query, body, }); }; -export const serializeAws_restJson1StopContactCommand = async ( - input: StopContactCommandInput, +export const serializeAws_restJson1ListLambdaFunctionsCommand = async ( + input: ListLambdaFunctionsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", + }; + let resolvedPath = "/instance/{InstanceId}/lambda-functions"; + if (input.InstanceId !== undefined) { + const labelValue: string = input.InstanceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: InstanceId."); + } + resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: InstanceId."); + } + const query: any = { + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), }; - let resolvedPath = "/contact/stop"; let body: any; - body = JSON.stringify({ - ...(input.ContactId !== undefined && { ContactId: input.ContactId }), - ...(input.InstanceId !== undefined && { InstanceId: input.InstanceId }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "GET", headers, path: resolvedPath, + query, body, }); }; -export const serializeAws_restJson1StopContactRecordingCommand = async ( - input: StopContactRecordingCommandInput, +export const serializeAws_restJson1ListLexBotsCommand = async ( + input: ListLexBotsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", + }; + let resolvedPath = "/instance/{InstanceId}/lex-bots"; + if (input.InstanceId !== undefined) { + const labelValue: string = input.InstanceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: InstanceId."); + } + resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: InstanceId."); + } + const query: any = { + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), }; - let resolvedPath = "/contact/stop-recording"; let body: any; - body = JSON.stringify({ - ...(input.ContactId !== undefined && { ContactId: input.ContactId }), - ...(input.InitialContactId !== undefined && { InitialContactId: input.InitialContactId }), - ...(input.InstanceId !== undefined && { InstanceId: input.InstanceId }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "GET", headers, path: resolvedPath, + query, body, }); }; -export const serializeAws_restJson1SuspendContactRecordingCommand = async ( - input: SuspendContactRecordingCommandInput, +export const serializeAws_restJson1ListPhoneNumbersCommand = async ( + input: ListPhoneNumbersCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", + }; + let resolvedPath = "/phone-numbers-summary/{InstanceId}"; + if (input.InstanceId !== undefined) { + const labelValue: string = input.InstanceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: InstanceId."); + } + resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: InstanceId."); + } + const query: any = { + ...(input.PhoneNumberTypes !== undefined && { + phoneNumberTypes: (input.PhoneNumberTypes || []).map((_entry) => _entry), + }), + ...(input.PhoneNumberCountryCodes !== undefined && { + phoneNumberCountryCodes: (input.PhoneNumberCountryCodes || []).map((_entry) => _entry), + }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), }; - let resolvedPath = "/contact/suspend-recording"; let body: any; - body = JSON.stringify({ - ...(input.ContactId !== undefined && { ContactId: input.ContactId }), - ...(input.InitialContactId !== undefined && { InitialContactId: input.InitialContactId }), - ...(input.InstanceId !== undefined && { InstanceId: input.InstanceId }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "GET", headers, path: resolvedPath, + query, body, }); }; -export const serializeAws_restJson1TagResourceCommand = async ( - input: TagResourceCommandInput, +export const serializeAws_restJson1ListPromptsCommand = async ( + input: ListPromptsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", }; - let resolvedPath = "/tags/{resourceArn}"; - if (input.resourceArn !== undefined) { - const labelValue: string = input.resourceArn; + let resolvedPath = "/prompts-summary/{InstanceId}"; + if (input.InstanceId !== undefined) { + const labelValue: string = input.InstanceId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: resourceArn."); + throw new Error("Empty value provided for input HTTP label: InstanceId."); } - resolvedPath = resolvedPath.replace("{resourceArn}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: resourceArn."); + throw new Error("No value provided for input HTTP label: InstanceId."); } + const query: any = { + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + }; let body: any; - body = JSON.stringify({ - ...(input.tags !== undefined && { tags: serializeAws_restJson1TagMap(input.tags, context) }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "GET", headers, path: resolvedPath, + query, body, }); }; -export const serializeAws_restJson1UntagResourceCommand = async ( - input: UntagResourceCommandInput, +export const serializeAws_restJson1ListQueuesCommand = async ( + input: ListQueuesCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/tags/{resourceArn}"; - if (input.resourceArn !== undefined) { - const labelValue: string = input.resourceArn; + let resolvedPath = "/queues-summary/{InstanceId}"; + if (input.InstanceId !== undefined) { + const labelValue: string = input.InstanceId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: resourceArn."); + throw new Error("Empty value provided for input HTTP label: InstanceId."); } - resolvedPath = resolvedPath.replace("{resourceArn}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: resourceArn."); + throw new Error("No value provided for input HTTP label: InstanceId."); } const query: any = { - ...(input.tagKeys !== undefined && { tagKeys: (input.tagKeys || []).map((_entry) => _entry) }), + ...(input.QueueTypes !== undefined && { queueTypes: (input.QueueTypes || []).map((_entry) => _entry) }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1544,7 +1877,7 @@ export const serializeAws_restJson1UntagResourceCommand = async ( protocol, hostname, port, - method: "DELETE", + method: "GET", headers, path: resolvedPath, query, @@ -1552,40 +1885,58 @@ export const serializeAws_restJson1UntagResourceCommand = async ( }); }; -export const serializeAws_restJson1UpdateContactAttributesCommand = async ( - input: UpdateContactAttributesCommandInput, +export const serializeAws_restJson1ListRoutingProfileQueuesCommand = async ( + input: ListRoutingProfileQueuesCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", + }; + let resolvedPath = "/routing-profiles/{InstanceId}/{RoutingProfileId}/queues"; + if (input.InstanceId !== undefined) { + const labelValue: string = input.InstanceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: InstanceId."); + } + resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: InstanceId."); + } + if (input.RoutingProfileId !== undefined) { + const labelValue: string = input.RoutingProfileId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: RoutingProfileId."); + } + resolvedPath = resolvedPath.replace("{RoutingProfileId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: RoutingProfileId."); + } + const query: any = { + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), }; - let resolvedPath = "/contact/attributes"; let body: any; - body = JSON.stringify({ - ...(input.Attributes !== undefined && { Attributes: serializeAws_restJson1Attributes(input.Attributes, context) }), - ...(input.InitialContactId !== undefined && { InitialContactId: input.InitialContactId }), - ...(input.InstanceId !== undefined && { InstanceId: input.InstanceId }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "GET", headers, path: resolvedPath, + query, body, }); }; -export const serializeAws_restJson1UpdateContactFlowContentCommand = async ( - input: UpdateContactFlowContentCommandInput, +export const serializeAws_restJson1ListRoutingProfilesCommand = async ( + input: ListRoutingProfilesCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", }; - let resolvedPath = "/contact-flows/{InstanceId}/{ContactFlowId}/content"; + let resolvedPath = "/routing-profiles-summary/{InstanceId}"; if (input.InstanceId !== undefined) { const labelValue: string = input.InstanceId; if (labelValue.length <= 0) { @@ -1595,39 +1946,32 @@ export const serializeAws_restJson1UpdateContactFlowContentCommand = async ( } else { throw new Error("No value provided for input HTTP label: InstanceId."); } - if (input.ContactFlowId !== undefined) { - const labelValue: string = input.ContactFlowId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ContactFlowId."); - } - resolvedPath = resolvedPath.replace("{ContactFlowId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ContactFlowId."); - } + const query: any = { + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + }; let body: any; - body = JSON.stringify({ - ...(input.Content !== undefined && { Content: input.Content }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "GET", headers, path: resolvedPath, + query, body, }); }; -export const serializeAws_restJson1UpdateContactFlowNameCommand = async ( - input: UpdateContactFlowNameCommandInput, +export const serializeAws_restJson1ListSecurityKeysCommand = async ( + input: ListSecurityKeysCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", }; - let resolvedPath = "/contact-flows/{InstanceId}/{ContactFlowId}/name"; + let resolvedPath = "/instance/{InstanceId}/security-keys"; if (input.InstanceId !== undefined) { const labelValue: string = input.InstanceId; if (labelValue.length <= 0) { @@ -1637,40 +1981,32 @@ export const serializeAws_restJson1UpdateContactFlowNameCommand = async ( } else { throw new Error("No value provided for input HTTP label: InstanceId."); } - if (input.ContactFlowId !== undefined) { - const labelValue: string = input.ContactFlowId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ContactFlowId."); - } - resolvedPath = resolvedPath.replace("{ContactFlowId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ContactFlowId."); - } + const query: any = { + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + }; let body: any; - body = JSON.stringify({ - ...(input.Description !== undefined && { Description: input.Description }), - ...(input.Name !== undefined && { Name: input.Name }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "GET", headers, path: resolvedPath, + query, body, }); }; -export const serializeAws_restJson1UpdateRoutingProfileConcurrencyCommand = async ( - input: UpdateRoutingProfileConcurrencyCommandInput, +export const serializeAws_restJson1ListSecurityProfilesCommand = async ( + input: ListSecurityProfilesCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", }; - let resolvedPath = "/routing-profiles/{InstanceId}/{RoutingProfileId}/concurrency"; + let resolvedPath = "/security-profiles-summary/{InstanceId}"; if (input.InstanceId !== undefined) { const labelValue: string = input.InstanceId; if (labelValue.length <= 0) { @@ -1680,83 +2016,62 @@ export const serializeAws_restJson1UpdateRoutingProfileConcurrencyCommand = asyn } else { throw new Error("No value provided for input HTTP label: InstanceId."); } - if (input.RoutingProfileId !== undefined) { - const labelValue: string = input.RoutingProfileId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: RoutingProfileId."); - } - resolvedPath = resolvedPath.replace("{RoutingProfileId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: RoutingProfileId."); - } + const query: any = { + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + }; let body: any; - body = JSON.stringify({ - ...(input.MediaConcurrencies !== undefined && { - MediaConcurrencies: serializeAws_restJson1MediaConcurrencies(input.MediaConcurrencies, context), - }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "GET", headers, path: resolvedPath, + query, body, }); }; -export const serializeAws_restJson1UpdateRoutingProfileDefaultOutboundQueueCommand = async ( - input: UpdateRoutingProfileDefaultOutboundQueueCommandInput, +export const serializeAws_restJson1ListTagsForResourceCommand = async ( + input: ListTagsForResourceCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", }; - let resolvedPath = "/routing-profiles/{InstanceId}/{RoutingProfileId}/default-outbound-queue"; - if (input.InstanceId !== undefined) { - const labelValue: string = input.InstanceId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: InstanceId."); - } - resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: InstanceId."); - } - if (input.RoutingProfileId !== undefined) { - const labelValue: string = input.RoutingProfileId; + let resolvedPath = "/tags/{resourceArn}"; + if (input.resourceArn !== undefined) { + const labelValue: string = input.resourceArn; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: RoutingProfileId."); + throw new Error("Empty value provided for input HTTP label: resourceArn."); } - resolvedPath = resolvedPath.replace("{RoutingProfileId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{resourceArn}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: RoutingProfileId."); + throw new Error("No value provided for input HTTP label: resourceArn."); } let body: any; - body = JSON.stringify({ - ...(input.DefaultOutboundQueueId !== undefined && { DefaultOutboundQueueId: input.DefaultOutboundQueueId }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "GET", headers, path: resolvedPath, body, }); }; -export const serializeAws_restJson1UpdateRoutingProfileNameCommand = async ( - input: UpdateRoutingProfileNameCommandInput, +export const serializeAws_restJson1ListUserHierarchyGroupsCommand = async ( + input: ListUserHierarchyGroupsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", }; - let resolvedPath = "/routing-profiles/{InstanceId}/{RoutingProfileId}/name"; + let resolvedPath = "/user-hierarchy-groups-summary/{InstanceId}"; if (input.InstanceId !== undefined) { const labelValue: string = input.InstanceId; if (labelValue.length <= 0) { @@ -1766,40 +2081,32 @@ export const serializeAws_restJson1UpdateRoutingProfileNameCommand = async ( } else { throw new Error("No value provided for input HTTP label: InstanceId."); } - if (input.RoutingProfileId !== undefined) { - const labelValue: string = input.RoutingProfileId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: RoutingProfileId."); - } - resolvedPath = resolvedPath.replace("{RoutingProfileId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: RoutingProfileId."); - } + const query: any = { + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + }; let body: any; - body = JSON.stringify({ - ...(input.Description !== undefined && { Description: input.Description }), - ...(input.Name !== undefined && { Name: input.Name }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "GET", headers, path: resolvedPath, + query, body, }); }; -export const serializeAws_restJson1UpdateRoutingProfileQueuesCommand = async ( - input: UpdateRoutingProfileQueuesCommandInput, +export const serializeAws_restJson1ListUsersCommand = async ( + input: ListUsersCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "application/json", + "Content-Type": "", }; - let resolvedPath = "/routing-profiles/{InstanceId}/{RoutingProfileId}/queues"; + let resolvedPath = "/users-summary/{InstanceId}"; if (input.InstanceId !== undefined) { const labelValue: string = input.InstanceId; if (labelValue.length <= 0) { @@ -1809,62 +2116,37 @@ export const serializeAws_restJson1UpdateRoutingProfileQueuesCommand = async ( } else { throw new Error("No value provided for input HTTP label: InstanceId."); } - if (input.RoutingProfileId !== undefined) { - const labelValue: string = input.RoutingProfileId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: RoutingProfileId."); - } - resolvedPath = resolvedPath.replace("{RoutingProfileId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: RoutingProfileId."); - } + const query: any = { + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + }; let body: any; - body = JSON.stringify({ - ...(input.QueueConfigs !== undefined && { - QueueConfigs: serializeAws_restJson1RoutingProfileQueueConfigList(input.QueueConfigs, context), - }), - }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "GET", headers, path: resolvedPath, + query, body, }); }; -export const serializeAws_restJson1UpdateUserHierarchyCommand = async ( - input: UpdateUserHierarchyCommandInput, +export const serializeAws_restJson1ResumeContactRecordingCommand = async ( + input: ResumeContactRecordingCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", }; - let resolvedPath = "/users/{InstanceId}/{UserId}/hierarchy"; - if (input.UserId !== undefined) { - const labelValue: string = input.UserId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: UserId."); - } - resolvedPath = resolvedPath.replace("{UserId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: UserId."); - } - if (input.InstanceId !== undefined) { - const labelValue: string = input.InstanceId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: InstanceId."); - } - resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: InstanceId."); - } + let resolvedPath = "/contact/resume-recording"; let body: any; body = JSON.stringify({ - ...(input.HierarchyGroupId !== undefined && { HierarchyGroupId: input.HierarchyGroupId }), + ...(input.ContactId !== undefined && { ContactId: input.ContactId }), + ...(input.InitialContactId !== undefined && { InitialContactId: input.InitialContactId }), + ...(input.InstanceId !== undefined && { InstanceId: input.InstanceId }), }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1878,69 +2160,57 @@ export const serializeAws_restJson1UpdateUserHierarchyCommand = async ( }); }; -export const serializeAws_restJson1UpdateUserHierarchyGroupNameCommand = async ( - input: UpdateUserHierarchyGroupNameCommandInput, +export const serializeAws_restJson1StartChatContactCommand = async ( + input: StartChatContactCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", }; - let resolvedPath = "/user-hierarchy-groups/{InstanceId}/{HierarchyGroupId}/name"; - if (input.HierarchyGroupId !== undefined) { - const labelValue: string = input.HierarchyGroupId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: HierarchyGroupId."); - } - resolvedPath = resolvedPath.replace("{HierarchyGroupId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: HierarchyGroupId."); - } - if (input.InstanceId !== undefined) { - const labelValue: string = input.InstanceId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: InstanceId."); - } - resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: InstanceId."); - } + let resolvedPath = "/contact/chat"; let body: any; body = JSON.stringify({ - ...(input.Name !== undefined && { Name: input.Name }), + ...(input.Attributes !== undefined && { Attributes: serializeAws_restJson1Attributes(input.Attributes, context) }), + ClientToken: input.ClientToken ?? generateIdempotencyToken(), + ...(input.ContactFlowId !== undefined && { ContactFlowId: input.ContactFlowId }), + ...(input.InitialMessage !== undefined && { + InitialMessage: serializeAws_restJson1ChatMessage(input.InitialMessage, context), + }), + ...(input.InstanceId !== undefined && { InstanceId: input.InstanceId }), + ...(input.ParticipantDetails !== undefined && { + ParticipantDetails: serializeAws_restJson1ParticipantDetails(input.ParticipantDetails, context), + }), }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, port, - method: "POST", + method: "PUT", headers, path: resolvedPath, body, }); }; -export const serializeAws_restJson1UpdateUserHierarchyStructureCommand = async ( - input: UpdateUserHierarchyStructureCommandInput, +export const serializeAws_restJson1StartContactRecordingCommand = async ( + input: StartContactRecordingCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", }; - let resolvedPath = "/user-hierarchy-structure/{InstanceId}"; - if (input.InstanceId !== undefined) { - const labelValue: string = input.InstanceId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: InstanceId."); - } - resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: InstanceId."); - } + let resolvedPath = "/contact/start-recording"; let body: any; body = JSON.stringify({ - ...(input.HierarchyStructure !== undefined && { - HierarchyStructure: serializeAws_restJson1HierarchyStructureUpdate(input.HierarchyStructure, context), + ...(input.ContactId !== undefined && { ContactId: input.ContactId }), + ...(input.InitialContactId !== undefined && { InitialContactId: input.InitialContactId }), + ...(input.InstanceId !== undefined && { InstanceId: input.InstanceId }), + ...(input.VoiceRecordingConfiguration !== undefined && { + VoiceRecordingConfiguration: serializeAws_restJson1VoiceRecordingConfiguration( + input.VoiceRecordingConfiguration, + context + ), }), }); const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1955,37 +2225,48 @@ export const serializeAws_restJson1UpdateUserHierarchyStructureCommand = async ( }); }; -export const serializeAws_restJson1UpdateUserIdentityInfoCommand = async ( - input: UpdateUserIdentityInfoCommandInput, +export const serializeAws_restJson1StartOutboundVoiceContactCommand = async ( + input: StartOutboundVoiceContactCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", }; - let resolvedPath = "/users/{InstanceId}/{UserId}/identity-info"; - if (input.UserId !== undefined) { - const labelValue: string = input.UserId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: UserId."); - } - resolvedPath = resolvedPath.replace("{UserId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: UserId."); - } - if (input.InstanceId !== undefined) { - const labelValue: string = input.InstanceId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: InstanceId."); - } - resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: InstanceId."); - } + let resolvedPath = "/contact/outbound-voice"; let body: any; body = JSON.stringify({ - ...(input.IdentityInfo !== undefined && { - IdentityInfo: serializeAws_restJson1UserIdentityInfo(input.IdentityInfo, context), - }), + ...(input.Attributes !== undefined && { Attributes: serializeAws_restJson1Attributes(input.Attributes, context) }), + ClientToken: input.ClientToken ?? generateIdempotencyToken(), + ...(input.ContactFlowId !== undefined && { ContactFlowId: input.ContactFlowId }), + ...(input.DestinationPhoneNumber !== undefined && { DestinationPhoneNumber: input.DestinationPhoneNumber }), + ...(input.InstanceId !== undefined && { InstanceId: input.InstanceId }), + ...(input.QueueId !== undefined && { QueueId: input.QueueId }), + ...(input.SourcePhoneNumber !== undefined && { SourcePhoneNumber: input.SourcePhoneNumber }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1StopContactCommand = async ( + input: StopContactCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/contact/stop"; + let body: any; + body = JSON.stringify({ + ...(input.ContactId !== undefined && { ContactId: input.ContactId }), + ...(input.InstanceId !== undefined && { InstanceId: input.InstanceId }), }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1999,37 +2280,19 @@ export const serializeAws_restJson1UpdateUserIdentityInfoCommand = async ( }); }; -export const serializeAws_restJson1UpdateUserPhoneConfigCommand = async ( - input: UpdateUserPhoneConfigCommandInput, +export const serializeAws_restJson1StopContactRecordingCommand = async ( + input: StopContactRecordingCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", }; - let resolvedPath = "/users/{InstanceId}/{UserId}/phone-config"; - if (input.UserId !== undefined) { - const labelValue: string = input.UserId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: UserId."); - } - resolvedPath = resolvedPath.replace("{UserId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: UserId."); - } - if (input.InstanceId !== undefined) { - const labelValue: string = input.InstanceId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: InstanceId."); - } - resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: InstanceId."); - } + let resolvedPath = "/contact/stop-recording"; let body: any; body = JSON.stringify({ - ...(input.PhoneConfig !== undefined && { - PhoneConfig: serializeAws_restJson1UserPhoneConfig(input.PhoneConfig, context), - }), + ...(input.ContactId !== undefined && { ContactId: input.ContactId }), + ...(input.InitialContactId !== undefined && { InitialContactId: input.InitialContactId }), + ...(input.InstanceId !== undefined && { InstanceId: input.InstanceId }), }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -2043,35 +2306,19 @@ export const serializeAws_restJson1UpdateUserPhoneConfigCommand = async ( }); }; -export const serializeAws_restJson1UpdateUserRoutingProfileCommand = async ( - input: UpdateUserRoutingProfileCommandInput, +export const serializeAws_restJson1SuspendContactRecordingCommand = async ( + input: SuspendContactRecordingCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", }; - let resolvedPath = "/users/{InstanceId}/{UserId}/routing-profile"; - if (input.UserId !== undefined) { - const labelValue: string = input.UserId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: UserId."); - } - resolvedPath = resolvedPath.replace("{UserId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: UserId."); - } - if (input.InstanceId !== undefined) { - const labelValue: string = input.InstanceId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: InstanceId."); - } - resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: InstanceId."); - } + let resolvedPath = "/contact/suspend-recording"; let body: any; body = JSON.stringify({ - ...(input.RoutingProfileId !== undefined && { RoutingProfileId: input.RoutingProfileId }), + ...(input.ContactId !== undefined && { ContactId: input.ContactId }), + ...(input.InitialContactId !== undefined && { InitialContactId: input.InitialContactId }), + ...(input.InstanceId !== undefined && { InstanceId: input.InstanceId }), }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -2085,68 +2332,2709 @@ export const serializeAws_restJson1UpdateUserRoutingProfileCommand = async ( }); }; -export const serializeAws_restJson1UpdateUserSecurityProfilesCommand = async ( - input: UpdateUserSecurityProfilesCommandInput, +export const serializeAws_restJson1TagResourceCommand = async ( + input: TagResourceCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", }; - let resolvedPath = "/users/{InstanceId}/{UserId}/security-profiles"; - if (input.UserId !== undefined) { - const labelValue: string = input.UserId; + let resolvedPath = "/tags/{resourceArn}"; + if (input.resourceArn !== undefined) { + const labelValue: string = input.resourceArn; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: UserId."); + throw new Error("Empty value provided for input HTTP label: resourceArn."); } - resolvedPath = resolvedPath.replace("{UserId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{resourceArn}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: UserId."); + throw new Error("No value provided for input HTTP label: resourceArn."); } - if (input.InstanceId !== undefined) { - const labelValue: string = input.InstanceId; + let body: any; + body = JSON.stringify({ + ...(input.tags !== undefined && { tags: serializeAws_restJson1TagMap(input.tags, context) }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UntagResourceCommand = async ( + input: UntagResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/tags/{resourceArn}"; + if (input.resourceArn !== undefined) { + const labelValue: string = input.resourceArn; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: InstanceId."); + throw new Error("Empty value provided for input HTTP label: resourceArn."); } - resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{resourceArn}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: InstanceId."); + throw new Error("No value provided for input HTTP label: resourceArn."); + } + const query: any = { + ...(input.tagKeys !== undefined && { tagKeys: (input.tagKeys || []).map((_entry) => _entry) }), + }; + let body: any; + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "DELETE", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1UpdateContactAttributesCommand = async ( + input: UpdateContactAttributesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/contact/attributes"; + let body: any; + body = JSON.stringify({ + ...(input.Attributes !== undefined && { Attributes: serializeAws_restJson1Attributes(input.Attributes, context) }), + ...(input.InitialContactId !== undefined && { InitialContactId: input.InitialContactId }), + ...(input.InstanceId !== undefined && { InstanceId: input.InstanceId }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateContactFlowContentCommand = async ( + input: UpdateContactFlowContentCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/contact-flows/{InstanceId}/{ContactFlowId}/content"; + if (input.InstanceId !== undefined) { + const labelValue: string = input.InstanceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: InstanceId."); + } + resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: InstanceId."); + } + if (input.ContactFlowId !== undefined) { + const labelValue: string = input.ContactFlowId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ContactFlowId."); + } + resolvedPath = resolvedPath.replace("{ContactFlowId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ContactFlowId."); + } + let body: any; + body = JSON.stringify({ + ...(input.Content !== undefined && { Content: input.Content }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateContactFlowNameCommand = async ( + input: UpdateContactFlowNameCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/contact-flows/{InstanceId}/{ContactFlowId}/name"; + if (input.InstanceId !== undefined) { + const labelValue: string = input.InstanceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: InstanceId."); + } + resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: InstanceId."); + } + if (input.ContactFlowId !== undefined) { + const labelValue: string = input.ContactFlowId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ContactFlowId."); + } + resolvedPath = resolvedPath.replace("{ContactFlowId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ContactFlowId."); + } + let body: any; + body = JSON.stringify({ + ...(input.Description !== undefined && { Description: input.Description }), + ...(input.Name !== undefined && { Name: input.Name }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateInstanceAttributeCommand = async ( + input: UpdateInstanceAttributeCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/instance/{InstanceId}/attribute/{AttributeType}"; + if (input.InstanceId !== undefined) { + const labelValue: string = input.InstanceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: InstanceId."); + } + resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: InstanceId."); + } + if (input.AttributeType !== undefined) { + const labelValue: string = input.AttributeType; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AttributeType."); + } + resolvedPath = resolvedPath.replace("{AttributeType}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AttributeType."); + } + let body: any; + body = JSON.stringify({ + ...(input.Value !== undefined && { Value: input.Value }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateInstanceStorageConfigCommand = async ( + input: UpdateInstanceStorageConfigCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/instance/{InstanceId}/storage-config/{AssociationId}"; + if (input.InstanceId !== undefined) { + const labelValue: string = input.InstanceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: InstanceId."); + } + resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: InstanceId."); + } + if (input.AssociationId !== undefined) { + const labelValue: string = input.AssociationId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AssociationId."); + } + resolvedPath = resolvedPath.replace("{AssociationId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AssociationId."); + } + const query: any = { + ...(input.ResourceType !== undefined && { resourceType: input.ResourceType }), + }; + let body: any; + body = JSON.stringify({ + ...(input.StorageConfig !== undefined && { + StorageConfig: serializeAws_restJson1InstanceStorageConfig(input.StorageConfig, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1UpdateRoutingProfileConcurrencyCommand = async ( + input: UpdateRoutingProfileConcurrencyCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/routing-profiles/{InstanceId}/{RoutingProfileId}/concurrency"; + if (input.InstanceId !== undefined) { + const labelValue: string = input.InstanceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: InstanceId."); + } + resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: InstanceId."); + } + if (input.RoutingProfileId !== undefined) { + const labelValue: string = input.RoutingProfileId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: RoutingProfileId."); + } + resolvedPath = resolvedPath.replace("{RoutingProfileId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: RoutingProfileId."); + } + let body: any; + body = JSON.stringify({ + ...(input.MediaConcurrencies !== undefined && { + MediaConcurrencies: serializeAws_restJson1MediaConcurrencies(input.MediaConcurrencies, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateRoutingProfileDefaultOutboundQueueCommand = async ( + input: UpdateRoutingProfileDefaultOutboundQueueCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/routing-profiles/{InstanceId}/{RoutingProfileId}/default-outbound-queue"; + if (input.InstanceId !== undefined) { + const labelValue: string = input.InstanceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: InstanceId."); + } + resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: InstanceId."); + } + if (input.RoutingProfileId !== undefined) { + const labelValue: string = input.RoutingProfileId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: RoutingProfileId."); + } + resolvedPath = resolvedPath.replace("{RoutingProfileId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: RoutingProfileId."); + } + let body: any; + body = JSON.stringify({ + ...(input.DefaultOutboundQueueId !== undefined && { DefaultOutboundQueueId: input.DefaultOutboundQueueId }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateRoutingProfileNameCommand = async ( + input: UpdateRoutingProfileNameCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/routing-profiles/{InstanceId}/{RoutingProfileId}/name"; + if (input.InstanceId !== undefined) { + const labelValue: string = input.InstanceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: InstanceId."); + } + resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: InstanceId."); + } + if (input.RoutingProfileId !== undefined) { + const labelValue: string = input.RoutingProfileId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: RoutingProfileId."); + } + resolvedPath = resolvedPath.replace("{RoutingProfileId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: RoutingProfileId."); + } + let body: any; + body = JSON.stringify({ + ...(input.Description !== undefined && { Description: input.Description }), + ...(input.Name !== undefined && { Name: input.Name }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateRoutingProfileQueuesCommand = async ( + input: UpdateRoutingProfileQueuesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/routing-profiles/{InstanceId}/{RoutingProfileId}/queues"; + if (input.InstanceId !== undefined) { + const labelValue: string = input.InstanceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: InstanceId."); + } + resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: InstanceId."); + } + if (input.RoutingProfileId !== undefined) { + const labelValue: string = input.RoutingProfileId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: RoutingProfileId."); + } + resolvedPath = resolvedPath.replace("{RoutingProfileId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: RoutingProfileId."); + } + let body: any; + body = JSON.stringify({ + ...(input.QueueConfigs !== undefined && { + QueueConfigs: serializeAws_restJson1RoutingProfileQueueConfigList(input.QueueConfigs, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateUserHierarchyCommand = async ( + input: UpdateUserHierarchyCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/users/{InstanceId}/{UserId}/hierarchy"; + if (input.UserId !== undefined) { + const labelValue: string = input.UserId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: UserId."); + } + resolvedPath = resolvedPath.replace("{UserId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: UserId."); + } + if (input.InstanceId !== undefined) { + const labelValue: string = input.InstanceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: InstanceId."); + } + resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: InstanceId."); + } + let body: any; + body = JSON.stringify({ + ...(input.HierarchyGroupId !== undefined && { HierarchyGroupId: input.HierarchyGroupId }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateUserHierarchyGroupNameCommand = async ( + input: UpdateUserHierarchyGroupNameCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/user-hierarchy-groups/{InstanceId}/{HierarchyGroupId}/name"; + if (input.HierarchyGroupId !== undefined) { + const labelValue: string = input.HierarchyGroupId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: HierarchyGroupId."); + } + resolvedPath = resolvedPath.replace("{HierarchyGroupId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: HierarchyGroupId."); + } + if (input.InstanceId !== undefined) { + const labelValue: string = input.InstanceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: InstanceId."); + } + resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: InstanceId."); + } + let body: any; + body = JSON.stringify({ + ...(input.Name !== undefined && { Name: input.Name }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateUserHierarchyStructureCommand = async ( + input: UpdateUserHierarchyStructureCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/user-hierarchy-structure/{InstanceId}"; + if (input.InstanceId !== undefined) { + const labelValue: string = input.InstanceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: InstanceId."); + } + resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: InstanceId."); + } + let body: any; + body = JSON.stringify({ + ...(input.HierarchyStructure !== undefined && { + HierarchyStructure: serializeAws_restJson1HierarchyStructureUpdate(input.HierarchyStructure, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateUserIdentityInfoCommand = async ( + input: UpdateUserIdentityInfoCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/users/{InstanceId}/{UserId}/identity-info"; + if (input.UserId !== undefined) { + const labelValue: string = input.UserId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: UserId."); + } + resolvedPath = resolvedPath.replace("{UserId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: UserId."); + } + if (input.InstanceId !== undefined) { + const labelValue: string = input.InstanceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: InstanceId."); + } + resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: InstanceId."); + } + let body: any; + body = JSON.stringify({ + ...(input.IdentityInfo !== undefined && { + IdentityInfo: serializeAws_restJson1UserIdentityInfo(input.IdentityInfo, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateUserPhoneConfigCommand = async ( + input: UpdateUserPhoneConfigCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/users/{InstanceId}/{UserId}/phone-config"; + if (input.UserId !== undefined) { + const labelValue: string = input.UserId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: UserId."); + } + resolvedPath = resolvedPath.replace("{UserId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: UserId."); + } + if (input.InstanceId !== undefined) { + const labelValue: string = input.InstanceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: InstanceId."); + } + resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: InstanceId."); + } + let body: any; + body = JSON.stringify({ + ...(input.PhoneConfig !== undefined && { + PhoneConfig: serializeAws_restJson1UserPhoneConfig(input.PhoneConfig, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateUserRoutingProfileCommand = async ( + input: UpdateUserRoutingProfileCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/users/{InstanceId}/{UserId}/routing-profile"; + if (input.UserId !== undefined) { + const labelValue: string = input.UserId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: UserId."); + } + resolvedPath = resolvedPath.replace("{UserId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: UserId."); + } + if (input.InstanceId !== undefined) { + const labelValue: string = input.InstanceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: InstanceId."); + } + resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: InstanceId."); + } + let body: any; + body = JSON.stringify({ + ...(input.RoutingProfileId !== undefined && { RoutingProfileId: input.RoutingProfileId }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateUserSecurityProfilesCommand = async ( + input: UpdateUserSecurityProfilesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/users/{InstanceId}/{UserId}/security-profiles"; + if (input.UserId !== undefined) { + const labelValue: string = input.UserId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: UserId."); + } + resolvedPath = resolvedPath.replace("{UserId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: UserId."); + } + if (input.InstanceId !== undefined) { + const labelValue: string = input.InstanceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: InstanceId."); + } + resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: InstanceId."); + } + let body: any; + body = JSON.stringify({ + ...(input.SecurityProfileIds !== undefined && { + SecurityProfileIds: serializeAws_restJson1SecurityProfileIds(input.SecurityProfileIds, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const deserializeAws_restJson1AssociateApprovedOriginCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1AssociateApprovedOriginCommandError(output, context); + } + const contents: AssociateApprovedOriginCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1AssociateApprovedOriginCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + response = { + ...(await deserializeAws_restJson1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceConflictException": + case "com.amazonaws.connect#ResourceConflictException": + response = { + ...(await deserializeAws_restJson1ResourceConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceQuotaExceededException": + case "com.amazonaws.connect#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_restJson1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1AssociateInstanceStorageConfigCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1AssociateInstanceStorageConfigCommandError(output, context); + } + const contents: AssociateInstanceStorageConfigCommandOutput = { + $metadata: deserializeMetadata(output), + AssociationId: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.AssociationId !== undefined && data.AssociationId !== null) { + contents.AssociationId = data.AssociationId; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1AssociateInstanceStorageConfigCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + response = { + ...(await deserializeAws_restJson1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceConflictException": + case "com.amazonaws.connect#ResourceConflictException": + response = { + ...(await deserializeAws_restJson1ResourceConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1AssociateLambdaFunctionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1AssociateLambdaFunctionCommandError(output, context); + } + const contents: AssociateLambdaFunctionCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1AssociateLambdaFunctionCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + response = { + ...(await deserializeAws_restJson1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceConflictException": + case "com.amazonaws.connect#ResourceConflictException": + response = { + ...(await deserializeAws_restJson1ResourceConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceQuotaExceededException": + case "com.amazonaws.connect#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_restJson1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1AssociateLexBotCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1AssociateLexBotCommandError(output, context); + } + const contents: AssociateLexBotCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1AssociateLexBotCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + response = { + ...(await deserializeAws_restJson1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceConflictException": + case "com.amazonaws.connect#ResourceConflictException": + response = { + ...(await deserializeAws_restJson1ResourceConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceQuotaExceededException": + case "com.amazonaws.connect#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_restJson1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1AssociateRoutingProfileQueuesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1AssociateRoutingProfileQueuesCommandError(output, context); + } + const contents: AssociateRoutingProfileQueuesCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1AssociateRoutingProfileQueuesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + response = { + ...(await deserializeAws_restJson1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1AssociateSecurityKeyCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1AssociateSecurityKeyCommandError(output, context); + } + const contents: AssociateSecurityKeyCommandOutput = { + $metadata: deserializeMetadata(output), + AssociationId: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.AssociationId !== undefined && data.AssociationId !== null) { + contents.AssociationId = data.AssociationId; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1AssociateSecurityKeyCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + response = { + ...(await deserializeAws_restJson1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceConflictException": + case "com.amazonaws.connect#ResourceConflictException": + response = { + ...(await deserializeAws_restJson1ResourceConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceQuotaExceededException": + case "com.amazonaws.connect#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_restJson1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1CreateContactFlowCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateContactFlowCommandError(output, context); + } + const contents: CreateContactFlowCommandOutput = { + $metadata: deserializeMetadata(output), + ContactFlowArn: undefined, + ContactFlowId: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.ContactFlowArn !== undefined && data.ContactFlowArn !== null) { + contents.ContactFlowArn = data.ContactFlowArn; + } + if (data.ContactFlowId !== undefined && data.ContactFlowId !== null) { + contents.ContactFlowId = data.ContactFlowId; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateContactFlowCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "DuplicateResourceException": + case "com.amazonaws.connect#DuplicateResourceException": + response = { + ...(await deserializeAws_restJson1DuplicateResourceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + response = { + ...(await deserializeAws_restJson1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidContactFlowException": + case "com.amazonaws.connect#InvalidContactFlowException": + response = { + ...(await deserializeAws_restJson1InvalidContactFlowExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.connect#LimitExceededException": + response = { + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1CreateInstanceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateInstanceCommandError(output, context); + } + const contents: CreateInstanceCommandOutput = { + $metadata: deserializeMetadata(output), + Arn: undefined, + Id: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.Arn !== undefined && data.Arn !== null) { + contents.Arn = data.Arn; + } + if (data.Id !== undefined && data.Id !== null) { + contents.Id = data.Id; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateInstanceCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + response = { + ...(await deserializeAws_restJson1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceQuotaExceededException": + case "com.amazonaws.connect#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_restJson1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1CreateRoutingProfileCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateRoutingProfileCommandError(output, context); + } + const contents: CreateRoutingProfileCommandOutput = { + $metadata: deserializeMetadata(output), + RoutingProfileArn: undefined, + RoutingProfileId: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.RoutingProfileArn !== undefined && data.RoutingProfileArn !== null) { + contents.RoutingProfileArn = data.RoutingProfileArn; + } + if (data.RoutingProfileId !== undefined && data.RoutingProfileId !== null) { + contents.RoutingProfileId = data.RoutingProfileId; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateRoutingProfileCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "DuplicateResourceException": + case "com.amazonaws.connect#DuplicateResourceException": + response = { + ...(await deserializeAws_restJson1DuplicateResourceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + response = { + ...(await deserializeAws_restJson1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.connect#LimitExceededException": + response = { + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1CreateUserCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateUserCommandError(output, context); + } + const contents: CreateUserCommandOutput = { + $metadata: deserializeMetadata(output), + UserArn: undefined, + UserId: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.UserArn !== undefined && data.UserArn !== null) { + contents.UserArn = data.UserArn; + } + if (data.UserId !== undefined && data.UserId !== null) { + contents.UserId = data.UserId; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateUserCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "DuplicateResourceException": + case "com.amazonaws.connect#DuplicateResourceException": + response = { + ...(await deserializeAws_restJson1DuplicateResourceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + response = { + ...(await deserializeAws_restJson1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.connect#LimitExceededException": + response = { + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1CreateUserHierarchyGroupCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateUserHierarchyGroupCommandError(output, context); + } + const contents: CreateUserHierarchyGroupCommandOutput = { + $metadata: deserializeMetadata(output), + HierarchyGroupArn: undefined, + HierarchyGroupId: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.HierarchyGroupArn !== undefined && data.HierarchyGroupArn !== null) { + contents.HierarchyGroupArn = data.HierarchyGroupArn; + } + if (data.HierarchyGroupId !== undefined && data.HierarchyGroupId !== null) { + contents.HierarchyGroupId = data.HierarchyGroupId; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateUserHierarchyGroupCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "DuplicateResourceException": + case "com.amazonaws.connect#DuplicateResourceException": + response = { + ...(await deserializeAws_restJson1DuplicateResourceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + response = { + ...(await deserializeAws_restJson1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.connect#LimitExceededException": + response = { + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DeleteInstanceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteInstanceCommandError(output, context); + } + const contents: DeleteInstanceCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeleteInstanceCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + response = { + ...(await deserializeAws_restJson1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DeleteUserCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteUserCommandError(output, context); + } + const contents: DeleteUserCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeleteUserCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + response = { + ...(await deserializeAws_restJson1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DeleteUserHierarchyGroupCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteUserHierarchyGroupCommandError(output, context); + } + const contents: DeleteUserHierarchyGroupCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeleteUserHierarchyGroupCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + response = { + ...(await deserializeAws_restJson1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceInUseException": + case "com.amazonaws.connect#ResourceInUseException": + response = { + ...(await deserializeAws_restJson1ResourceInUseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DescribeContactFlowCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeContactFlowCommandError(output, context); + } + const contents: DescribeContactFlowCommandOutput = { + $metadata: deserializeMetadata(output), + ContactFlow: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.ContactFlow !== undefined && data.ContactFlow !== null) { + contents.ContactFlow = deserializeAws_restJson1ContactFlow(data.ContactFlow, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DescribeContactFlowCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ContactFlowNotPublishedException": + case "com.amazonaws.connect#ContactFlowNotPublishedException": + response = { + ...(await deserializeAws_restJson1ContactFlowNotPublishedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + response = { + ...(await deserializeAws_restJson1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DescribeInstanceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeInstanceCommandError(output, context); + } + const contents: DescribeInstanceCommandOutput = { + $metadata: deserializeMetadata(output), + Instance: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.Instance !== undefined && data.Instance !== null) { + contents.Instance = deserializeAws_restJson1Instance(data.Instance, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DescribeInstanceCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + response = { + ...(await deserializeAws_restJson1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DescribeInstanceAttributeCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeInstanceAttributeCommandError(output, context); + } + const contents: DescribeInstanceAttributeCommandOutput = { + $metadata: deserializeMetadata(output), + Attribute: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.Attribute !== undefined && data.Attribute !== null) { + contents.Attribute = deserializeAws_restJson1Attribute(data.Attribute, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DescribeInstanceAttributeCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + response = { + ...(await deserializeAws_restJson1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DescribeInstanceStorageConfigCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeInstanceStorageConfigCommandError(output, context); + } + const contents: DescribeInstanceStorageConfigCommandOutput = { + $metadata: deserializeMetadata(output), + StorageConfig: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.StorageConfig !== undefined && data.StorageConfig !== null) { + contents.StorageConfig = deserializeAws_restJson1InstanceStorageConfig(data.StorageConfig, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DescribeInstanceStorageConfigCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + response = { + ...(await deserializeAws_restJson1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DescribeRoutingProfileCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeRoutingProfileCommandError(output, context); + } + const contents: DescribeRoutingProfileCommandOutput = { + $metadata: deserializeMetadata(output), + RoutingProfile: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.RoutingProfile !== undefined && data.RoutingProfile !== null) { + contents.RoutingProfile = deserializeAws_restJson1RoutingProfile(data.RoutingProfile, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DescribeRoutingProfileCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + response = { + ...(await deserializeAws_restJson1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DescribeUserCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeUserCommandError(output, context); + } + const contents: DescribeUserCommandOutput = { + $metadata: deserializeMetadata(output), + User: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.User !== undefined && data.User !== null) { + contents.User = deserializeAws_restJson1User(data.User, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DescribeUserCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + response = { + ...(await deserializeAws_restJson1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DescribeUserHierarchyGroupCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeUserHierarchyGroupCommandError(output, context); + } + const contents: DescribeUserHierarchyGroupCommandOutput = { + $metadata: deserializeMetadata(output), + HierarchyGroup: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.HierarchyGroup !== undefined && data.HierarchyGroup !== null) { + contents.HierarchyGroup = deserializeAws_restJson1HierarchyGroup(data.HierarchyGroup, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DescribeUserHierarchyGroupCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + response = { + ...(await deserializeAws_restJson1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; } - let body: any; - body = JSON.stringify({ - ...(input.SecurityProfileIds !== undefined && { - SecurityProfileIds: serializeAws_restJson1SecurityProfileIds(input.SecurityProfileIds, context), - }), - }); - const { hostname, protocol = "https", port } = await context.endpoint(); - return new __HttpRequest({ - protocol, - hostname, - port, - method: "POST", - headers, - path: resolvedPath, - body, - }); + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1AssociateRoutingProfileQueuesCommand = async ( +export const deserializeAws_restJson1DescribeUserHierarchyStructureCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1AssociateRoutingProfileQueuesCommandError(output, context); + return deserializeAws_restJson1DescribeUserHierarchyStructureCommandError(output, context); } - const contents: AssociateRoutingProfileQueuesCommandOutput = { + const contents: DescribeUserHierarchyStructureCommandOutput = { $metadata: deserializeMetadata(output), + HierarchyStructure: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.HierarchyStructure !== undefined && data.HierarchyStructure !== null) { + contents.HierarchyStructure = deserializeAws_restJson1HierarchyStructure(data.HierarchyStructure, context); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1AssociateRoutingProfileQueuesCommandError = async ( +const deserializeAws_restJson1DescribeUserHierarchyStructureCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2212,32 +5100,24 @@ const deserializeAws_restJson1AssociateRoutingProfileQueuesCommandError = async return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateContactFlowCommand = async ( +export const deserializeAws_restJson1DisassociateApprovedOriginCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1CreateContactFlowCommandError(output, context); + return deserializeAws_restJson1DisassociateApprovedOriginCommandError(output, context); } - const contents: CreateContactFlowCommandOutput = { + const contents: DisassociateApprovedOriginCommandOutput = { $metadata: deserializeMetadata(output), - ContactFlowArn: undefined, - ContactFlowId: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.ContactFlowArn !== undefined && data.ContactFlowArn !== null) { - contents.ContactFlowArn = data.ContactFlowArn; - } - if (data.ContactFlowId !== undefined && data.ContactFlowId !== null) { - contents.ContactFlowId = data.ContactFlowId; - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1CreateContactFlowCommandError = async ( +const deserializeAws_restJson1DisassociateApprovedOriginCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2246,14 +5126,6 @@ const deserializeAws_restJson1CreateContactFlowCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "DuplicateResourceException": - case "com.amazonaws.connect#DuplicateResourceException": - response = { - ...(await deserializeAws_restJson1DuplicateResourceExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InternalServiceException": case "com.amazonaws.connect#InternalServiceException": response = { @@ -2262,14 +5134,6 @@ const deserializeAws_restJson1CreateContactFlowCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "InvalidContactFlowException": - case "com.amazonaws.connect#InvalidContactFlowException": - response = { - ...(await deserializeAws_restJson1InvalidContactFlowExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InvalidParameterException": case "com.amazonaws.connect#InvalidParameterException": response = { @@ -2286,14 +5150,6 @@ const deserializeAws_restJson1CreateContactFlowCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "LimitExceededException": - case "com.amazonaws.connect#LimitExceededException": - response = { - ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ResourceNotFoundException": case "com.amazonaws.connect#ResourceNotFoundException": response = { @@ -2327,32 +5183,24 @@ const deserializeAws_restJson1CreateContactFlowCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateRoutingProfileCommand = async ( +export const deserializeAws_restJson1DisassociateInstanceStorageConfigCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1CreateRoutingProfileCommandError(output, context); + return deserializeAws_restJson1DisassociateInstanceStorageConfigCommandError(output, context); } - const contents: CreateRoutingProfileCommandOutput = { + const contents: DisassociateInstanceStorageConfigCommandOutput = { $metadata: deserializeMetadata(output), - RoutingProfileArn: undefined, - RoutingProfileId: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.RoutingProfileArn !== undefined && data.RoutingProfileArn !== null) { - contents.RoutingProfileArn = data.RoutingProfileArn; - } - if (data.RoutingProfileId !== undefined && data.RoutingProfileId !== null) { - contents.RoutingProfileId = data.RoutingProfileId; - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1CreateRoutingProfileCommandError = async ( +const deserializeAws_restJson1DisassociateInstanceStorageConfigCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2361,14 +5209,6 @@ const deserializeAws_restJson1CreateRoutingProfileCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "DuplicateResourceException": - case "com.amazonaws.connect#DuplicateResourceException": - response = { - ...(await deserializeAws_restJson1DuplicateResourceExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InternalServiceException": case "com.amazonaws.connect#InternalServiceException": response = { @@ -2393,14 +5233,6 @@ const deserializeAws_restJson1CreateRoutingProfileCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "LimitExceededException": - case "com.amazonaws.connect#LimitExceededException": - response = { - ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ResourceNotFoundException": case "com.amazonaws.connect#ResourceNotFoundException": response = { @@ -2434,32 +5266,24 @@ const deserializeAws_restJson1CreateRoutingProfileCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateUserCommand = async ( +export const deserializeAws_restJson1DisassociateLambdaFunctionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1CreateUserCommandError(output, context); + return deserializeAws_restJson1DisassociateLambdaFunctionCommandError(output, context); } - const contents: CreateUserCommandOutput = { + const contents: DisassociateLambdaFunctionCommandOutput = { $metadata: deserializeMetadata(output), - UserArn: undefined, - UserId: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.UserArn !== undefined && data.UserArn !== null) { - contents.UserArn = data.UserArn; - } - if (data.UserId !== undefined && data.UserId !== null) { - contents.UserId = data.UserId; - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1CreateUserCommandError = async ( +const deserializeAws_restJson1DisassociateLambdaFunctionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2468,14 +5292,6 @@ const deserializeAws_restJson1CreateUserCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "DuplicateResourceException": - case "com.amazonaws.connect#DuplicateResourceException": - response = { - ...(await deserializeAws_restJson1DuplicateResourceExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InternalServiceException": case "com.amazonaws.connect#InternalServiceException": response = { @@ -2500,14 +5316,6 @@ const deserializeAws_restJson1CreateUserCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "LimitExceededException": - case "com.amazonaws.connect#LimitExceededException": - response = { - ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ResourceNotFoundException": case "com.amazonaws.connect#ResourceNotFoundException": response = { @@ -2541,32 +5349,24 @@ const deserializeAws_restJson1CreateUserCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateUserHierarchyGroupCommand = async ( +export const deserializeAws_restJson1DisassociateLexBotCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1CreateUserHierarchyGroupCommandError(output, context); + return deserializeAws_restJson1DisassociateLexBotCommandError(output, context); } - const contents: CreateUserHierarchyGroupCommandOutput = { + const contents: DisassociateLexBotCommandOutput = { $metadata: deserializeMetadata(output), - HierarchyGroupArn: undefined, - HierarchyGroupId: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.HierarchyGroupArn !== undefined && data.HierarchyGroupArn !== null) { - contents.HierarchyGroupArn = data.HierarchyGroupArn; - } - if (data.HierarchyGroupId !== undefined && data.HierarchyGroupId !== null) { - contents.HierarchyGroupId = data.HierarchyGroupId; - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1CreateUserHierarchyGroupCommandError = async ( +const deserializeAws_restJson1DisassociateLexBotCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2575,14 +5375,6 @@ const deserializeAws_restJson1CreateUserHierarchyGroupCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "DuplicateResourceException": - case "com.amazonaws.connect#DuplicateResourceException": - response = { - ...(await deserializeAws_restJson1DuplicateResourceExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InternalServiceException": case "com.amazonaws.connect#InternalServiceException": response = { @@ -2607,14 +5399,6 @@ const deserializeAws_restJson1CreateUserHierarchyGroupCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "LimitExceededException": - case "com.amazonaws.connect#LimitExceededException": - response = { - ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ResourceNotFoundException": case "com.amazonaws.connect#ResourceNotFoundException": response = { @@ -2648,24 +5432,24 @@ const deserializeAws_restJson1CreateUserHierarchyGroupCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DeleteUserCommand = async ( +export const deserializeAws_restJson1DisassociateRoutingProfileQueuesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DeleteUserCommandError(output, context); + return deserializeAws_restJson1DisassociateRoutingProfileQueuesCommandError(output, context); } - const contents: DeleteUserCommandOutput = { + const contents: DisassociateRoutingProfileQueuesCommandOutput = { $metadata: deserializeMetadata(output), }; await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1DeleteUserCommandError = async ( +const deserializeAws_restJson1DisassociateRoutingProfileQueuesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2731,24 +5515,24 @@ const deserializeAws_restJson1DeleteUserCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DeleteUserHierarchyGroupCommand = async ( +export const deserializeAws_restJson1DisassociateSecurityKeyCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DeleteUserHierarchyGroupCommandError(output, context); + return deserializeAws_restJson1DisassociateSecurityKeyCommandError(output, context); } - const contents: DeleteUserHierarchyGroupCommandOutput = { + const contents: DisassociateSecurityKeyCommandOutput = { $metadata: deserializeMetadata(output), }; await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1DeleteUserHierarchyGroupCommandError = async ( +const deserializeAws_restJson1DisassociateSecurityKeyCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2781,14 +5565,6 @@ const deserializeAws_restJson1DeleteUserHierarchyGroupCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceInUseException": - case "com.amazonaws.connect#ResourceInUseException": - response = { - ...(await deserializeAws_restJson1ResourceInUseExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ResourceNotFoundException": case "com.amazonaws.connect#ResourceNotFoundException": response = { @@ -2822,28 +5598,28 @@ const deserializeAws_restJson1DeleteUserHierarchyGroupCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DescribeContactFlowCommand = async ( +export const deserializeAws_restJson1GetContactAttributesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DescribeContactFlowCommandError(output, context); + return deserializeAws_restJson1GetContactAttributesCommandError(output, context); } - const contents: DescribeContactFlowCommandOutput = { + const contents: GetContactAttributesCommandOutput = { $metadata: deserializeMetadata(output), - ContactFlow: undefined, + Attributes: undefined, }; const data: any = await parseBody(output.body, context); - if (data.ContactFlow !== undefined && data.ContactFlow !== null) { - contents.ContactFlow = deserializeAws_restJson1ContactFlow(data.ContactFlow, context); + if (data.Attributes !== undefined && data.Attributes !== null) { + contents.Attributes = deserializeAws_restJson1Attributes(data.Attributes, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1DescribeContactFlowCommandError = async ( +const deserializeAws_restJson1GetContactAttributesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2852,26 +5628,10 @@ const deserializeAws_restJson1DescribeContactFlowCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "ContactFlowNotPublishedException": - case "com.amazonaws.connect#ContactFlowNotPublishedException": - response = { - ...(await deserializeAws_restJson1ContactFlowNotPublishedExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InternalServiceException": - case "com.amazonaws.connect#InternalServiceException": - response = { - ...(await deserializeAws_restJson1InternalServiceExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "InvalidParameterException": - case "com.amazonaws.connect#InvalidParameterException": + case "com.amazonaws.connect#InternalServiceException": response = { - ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1InternalServiceExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -2892,14 +5652,6 @@ const deserializeAws_restJson1DescribeContactFlowCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ThrottlingException": - case "com.amazonaws.connect#ThrottlingException": - response = { - ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -2917,28 +5669,36 @@ const deserializeAws_restJson1DescribeContactFlowCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DescribeRoutingProfileCommand = async ( +export const deserializeAws_restJson1GetCurrentMetricDataCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DescribeRoutingProfileCommandError(output, context); + return deserializeAws_restJson1GetCurrentMetricDataCommandError(output, context); } - const contents: DescribeRoutingProfileCommandOutput = { + const contents: GetCurrentMetricDataCommandOutput = { $metadata: deserializeMetadata(output), - RoutingProfile: undefined, + DataSnapshotTime: undefined, + MetricResults: undefined, + NextToken: undefined, }; const data: any = await parseBody(output.body, context); - if (data.RoutingProfile !== undefined && data.RoutingProfile !== null) { - contents.RoutingProfile = deserializeAws_restJson1RoutingProfile(data.RoutingProfile, context); + if (data.DataSnapshotTime !== undefined && data.DataSnapshotTime !== null) { + contents.DataSnapshotTime = new Date(Math.round(data.DataSnapshotTime * 1000)); + } + if (data.MetricResults !== undefined && data.MetricResults !== null) { + contents.MetricResults = deserializeAws_restJson1CurrentMetricResults(data.MetricResults, context); + } + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; } return Promise.resolve(contents); }; -const deserializeAws_restJson1DescribeRoutingProfileCommandError = async ( +const deserializeAws_restJson1GetCurrentMetricDataCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3004,28 +5764,28 @@ const deserializeAws_restJson1DescribeRoutingProfileCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DescribeUserCommand = async ( +export const deserializeAws_restJson1GetFederationTokenCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DescribeUserCommandError(output, context); + return deserializeAws_restJson1GetFederationTokenCommandError(output, context); } - const contents: DescribeUserCommandOutput = { + const contents: GetFederationTokenCommandOutput = { $metadata: deserializeMetadata(output), - User: undefined, + Credentials: undefined, }; const data: any = await parseBody(output.body, context); - if (data.User !== undefined && data.User !== null) { - contents.User = deserializeAws_restJson1User(data.User, context); + if (data.Credentials !== undefined && data.Credentials !== null) { + contents.Credentials = deserializeAws_restJson1Credentials(data.Credentials, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1DescribeUserCommandError = async ( +const deserializeAws_restJson1GetFederationTokenCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3034,6 +5794,14 @@ const deserializeAws_restJson1DescribeUserCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { + case "DuplicateResourceException": + case "com.amazonaws.connect#DuplicateResourceException": + response = { + ...(await deserializeAws_restJson1DuplicateResourceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InternalServiceException": case "com.amazonaws.connect#InternalServiceException": response = { @@ -3066,10 +5834,10 @@ const deserializeAws_restJson1DescribeUserCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ThrottlingException": - case "com.amazonaws.connect#ThrottlingException": + case "UserNotFoundException": + case "com.amazonaws.connect#UserNotFoundException": response = { - ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1UserNotFoundExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -3091,28 +5859,32 @@ const deserializeAws_restJson1DescribeUserCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DescribeUserHierarchyGroupCommand = async ( +export const deserializeAws_restJson1GetMetricDataCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DescribeUserHierarchyGroupCommandError(output, context); + return deserializeAws_restJson1GetMetricDataCommandError(output, context); } - const contents: DescribeUserHierarchyGroupCommandOutput = { + const contents: GetMetricDataCommandOutput = { $metadata: deserializeMetadata(output), - HierarchyGroup: undefined, + MetricResults: undefined, + NextToken: undefined, }; const data: any = await parseBody(output.body, context); - if (data.HierarchyGroup !== undefined && data.HierarchyGroup !== null) { - contents.HierarchyGroup = deserializeAws_restJson1HierarchyGroup(data.HierarchyGroup, context); + if (data.MetricResults !== undefined && data.MetricResults !== null) { + contents.MetricResults = deserializeAws_restJson1HistoricalMetricResults(data.MetricResults, context); + } + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; } return Promise.resolve(contents); }; -const deserializeAws_restJson1DescribeUserHierarchyGroupCommandError = async ( +const deserializeAws_restJson1GetMetricDataCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3178,28 +5950,32 @@ const deserializeAws_restJson1DescribeUserHierarchyGroupCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DescribeUserHierarchyStructureCommand = async ( +export const deserializeAws_restJson1ListApprovedOriginsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DescribeUserHierarchyStructureCommandError(output, context); + return deserializeAws_restJson1ListApprovedOriginsCommandError(output, context); } - const contents: DescribeUserHierarchyStructureCommandOutput = { + const contents: ListApprovedOriginsCommandOutput = { $metadata: deserializeMetadata(output), - HierarchyStructure: undefined, + NextToken: undefined, + Origins: undefined, }; const data: any = await parseBody(output.body, context); - if (data.HierarchyStructure !== undefined && data.HierarchyStructure !== null) { - contents.HierarchyStructure = deserializeAws_restJson1HierarchyStructure(data.HierarchyStructure, context); + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; + } + if (data.Origins !== undefined && data.Origins !== null) { + contents.Origins = deserializeAws_restJson1OriginsList(data.Origins, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1DescribeUserHierarchyStructureCommandError = async ( +const deserializeAws_restJson1ListApprovedOriginsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3265,24 +6041,35 @@ const deserializeAws_restJson1DescribeUserHierarchyStructureCommandError = async return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DisassociateRoutingProfileQueuesCommand = async ( +export const deserializeAws_restJson1ListContactFlowsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DisassociateRoutingProfileQueuesCommandError(output, context); + return deserializeAws_restJson1ListContactFlowsCommandError(output, context); } - const contents: DisassociateRoutingProfileQueuesCommandOutput = { + const contents: ListContactFlowsCommandOutput = { $metadata: deserializeMetadata(output), + ContactFlowSummaryList: undefined, + NextToken: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.ContactFlowSummaryList !== undefined && data.ContactFlowSummaryList !== null) { + contents.ContactFlowSummaryList = deserializeAws_restJson1ContactFlowSummaryList( + data.ContactFlowSummaryList, + context + ); + } + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; + } return Promise.resolve(contents); }; -const deserializeAws_restJson1DisassociateRoutingProfileQueuesCommandError = async ( +const deserializeAws_restJson1ListContactFlowsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3348,28 +6135,35 @@ const deserializeAws_restJson1DisassociateRoutingProfileQueuesCommandError = asy return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetContactAttributesCommand = async ( +export const deserializeAws_restJson1ListHoursOfOperationsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetContactAttributesCommandError(output, context); + return deserializeAws_restJson1ListHoursOfOperationsCommandError(output, context); } - const contents: GetContactAttributesCommandOutput = { + const contents: ListHoursOfOperationsCommandOutput = { $metadata: deserializeMetadata(output), - Attributes: undefined, + HoursOfOperationSummaryList: undefined, + NextToken: undefined, }; const data: any = await parseBody(output.body, context); - if (data.Attributes !== undefined && data.Attributes !== null) { - contents.Attributes = deserializeAws_restJson1Attributes(data.Attributes, context); + if (data.HoursOfOperationSummaryList !== undefined && data.HoursOfOperationSummaryList !== null) { + contents.HoursOfOperationSummaryList = deserializeAws_restJson1HoursOfOperationSummaryList( + data.HoursOfOperationSummaryList, + context + ); + } + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetContactAttributesCommandError = async ( +const deserializeAws_restJson1ListHoursOfOperationsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3386,6 +6180,14 @@ const deserializeAws_restJson1GetContactAttributesCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InvalidRequestException": case "com.amazonaws.connect#InvalidRequestException": response = { @@ -3402,6 +6204,14 @@ const deserializeAws_restJson1GetContactAttributesCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -3419,25 +6229,21 @@ const deserializeAws_restJson1GetContactAttributesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetCurrentMetricDataCommand = async ( +export const deserializeAws_restJson1ListInstanceAttributesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetCurrentMetricDataCommandError(output, context); + return deserializeAws_restJson1ListInstanceAttributesCommandError(output, context); } - const contents: GetCurrentMetricDataCommandOutput = { + const contents: ListInstanceAttributesCommandOutput = { $metadata: deserializeMetadata(output), - DataSnapshotTime: undefined, - MetricResults: undefined, + Attributes: undefined, NextToken: undefined, }; const data: any = await parseBody(output.body, context); - if (data.DataSnapshotTime !== undefined && data.DataSnapshotTime !== null) { - contents.DataSnapshotTime = new Date(Math.round(data.DataSnapshotTime * 1000)); - } - if (data.MetricResults !== undefined && data.MetricResults !== null) { - contents.MetricResults = deserializeAws_restJson1CurrentMetricResults(data.MetricResults, context); + if (data.Attributes !== undefined && data.Attributes !== null) { + contents.Attributes = deserializeAws_restJson1AttributesList(data.Attributes, context); } if (data.NextToken !== undefined && data.NextToken !== null) { contents.NextToken = data.NextToken; @@ -3445,10 +6251,10 @@ export const deserializeAws_restJson1GetCurrentMetricDataCommand = async ( return Promise.resolve(contents); }; -const deserializeAws_restJson1GetCurrentMetricDataCommandError = async ( +const deserializeAws_restJson1ListInstanceAttributesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3514,28 +6320,32 @@ const deserializeAws_restJson1GetCurrentMetricDataCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetFederationTokenCommand = async ( +export const deserializeAws_restJson1ListInstancesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetFederationTokenCommandError(output, context); + return deserializeAws_restJson1ListInstancesCommandError(output, context); } - const contents: GetFederationTokenCommandOutput = { + const contents: ListInstancesCommandOutput = { $metadata: deserializeMetadata(output), - Credentials: undefined, + InstanceSummaryList: undefined, + NextToken: undefined, }; const data: any = await parseBody(output.body, context); - if (data.Credentials !== undefined && data.Credentials !== null) { - contents.Credentials = deserializeAws_restJson1Credentials(data.Credentials, context); + if (data.InstanceSummaryList !== undefined && data.InstanceSummaryList !== null) { + contents.InstanceSummaryList = deserializeAws_restJson1InstanceSummaryList(data.InstanceSummaryList, context); + } + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetFederationTokenCommandError = async ( +const deserializeAws_restJson1ListInstancesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3544,14 +6354,6 @@ const deserializeAws_restJson1GetFederationTokenCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "DuplicateResourceException": - case "com.amazonaws.connect#DuplicateResourceException": - response = { - ...(await deserializeAws_restJson1DuplicateResourceExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InternalServiceException": case "com.amazonaws.connect#InternalServiceException": response = { @@ -3560,14 +6362,6 @@ const deserializeAws_restJson1GetFederationTokenCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "InvalidParameterException": - case "com.amazonaws.connect#InvalidParameterException": - response = { - ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InvalidRequestException": case "com.amazonaws.connect#InvalidRequestException": response = { @@ -3576,22 +6370,6 @@ const deserializeAws_restJson1GetFederationTokenCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceNotFoundException": - case "com.amazonaws.connect#ResourceNotFoundException": - response = { - ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "UserNotFoundException": - case "com.amazonaws.connect#UserNotFoundException": - response = { - ...(await deserializeAws_restJson1UserNotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -3609,32 +6387,32 @@ const deserializeAws_restJson1GetFederationTokenCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetMetricDataCommand = async ( +export const deserializeAws_restJson1ListInstanceStorageConfigsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetMetricDataCommandError(output, context); + return deserializeAws_restJson1ListInstanceStorageConfigsCommandError(output, context); } - const contents: GetMetricDataCommandOutput = { + const contents: ListInstanceStorageConfigsCommandOutput = { $metadata: deserializeMetadata(output), - MetricResults: undefined, NextToken: undefined, + StorageConfigs: undefined, }; const data: any = await parseBody(output.body, context); - if (data.MetricResults !== undefined && data.MetricResults !== null) { - contents.MetricResults = deserializeAws_restJson1HistoricalMetricResults(data.MetricResults, context); - } if (data.NextToken !== undefined && data.NextToken !== null) { contents.NextToken = data.NextToken; } + if (data.StorageConfigs !== undefined && data.StorageConfigs !== null) { + contents.StorageConfigs = deserializeAws_restJson1InstanceStorageConfigs(data.StorageConfigs, context); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetMetricDataCommandError = async ( +const deserializeAws_restJson1ListInstanceStorageConfigsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3700,24 +6478,21 @@ const deserializeAws_restJson1GetMetricDataCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListContactFlowsCommand = async ( +export const deserializeAws_restJson1ListLambdaFunctionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListContactFlowsCommandError(output, context); + return deserializeAws_restJson1ListLambdaFunctionsCommandError(output, context); } - const contents: ListContactFlowsCommandOutput = { + const contents: ListLambdaFunctionsCommandOutput = { $metadata: deserializeMetadata(output), - ContactFlowSummaryList: undefined, + LambdaFunctions: undefined, NextToken: undefined, }; const data: any = await parseBody(output.body, context); - if (data.ContactFlowSummaryList !== undefined && data.ContactFlowSummaryList !== null) { - contents.ContactFlowSummaryList = deserializeAws_restJson1ContactFlowSummaryList( - data.ContactFlowSummaryList, - context - ); + if (data.LambdaFunctions !== undefined && data.LambdaFunctions !== null) { + contents.LambdaFunctions = deserializeAws_restJson1FunctionArnsList(data.LambdaFunctions, context); } if (data.NextToken !== undefined && data.NextToken !== null) { contents.NextToken = data.NextToken; @@ -3725,10 +6500,10 @@ export const deserializeAws_restJson1ListContactFlowsCommand = async ( return Promise.resolve(contents); }; -const deserializeAws_restJson1ListContactFlowsCommandError = async ( +const deserializeAws_restJson1ListLambdaFunctionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3794,24 +6569,21 @@ const deserializeAws_restJson1ListContactFlowsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListHoursOfOperationsCommand = async ( +export const deserializeAws_restJson1ListLexBotsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListHoursOfOperationsCommandError(output, context); + return deserializeAws_restJson1ListLexBotsCommandError(output, context); } - const contents: ListHoursOfOperationsCommandOutput = { + const contents: ListLexBotsCommandOutput = { $metadata: deserializeMetadata(output), - HoursOfOperationSummaryList: undefined, + LexBots: undefined, NextToken: undefined, }; const data: any = await parseBody(output.body, context); - if (data.HoursOfOperationSummaryList !== undefined && data.HoursOfOperationSummaryList !== null) { - contents.HoursOfOperationSummaryList = deserializeAws_restJson1HoursOfOperationSummaryList( - data.HoursOfOperationSummaryList, - context - ); + if (data.LexBots !== undefined && data.LexBots !== null) { + contents.LexBots = deserializeAws_restJson1LexBotsList(data.LexBots, context); } if (data.NextToken !== undefined && data.NextToken !== null) { contents.NextToken = data.NextToken; @@ -3819,10 +6591,10 @@ export const deserializeAws_restJson1ListHoursOfOperationsCommand = async ( return Promise.resolve(contents); }; -const deserializeAws_restJson1ListHoursOfOperationsCommandError = async ( +const deserializeAws_restJson1ListLexBotsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -4352,6 +7124,97 @@ const deserializeAws_restJson1ListRoutingProfilesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1ListSecurityKeysCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListSecurityKeysCommandError(output, context); + } + const contents: ListSecurityKeysCommandOutput = { + $metadata: deserializeMetadata(output), + NextToken: undefined, + SecurityKeys: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; + } + if (data.SecurityKeys !== undefined && data.SecurityKeys !== null) { + contents.SecurityKeys = deserializeAws_restJson1SecurityKeysList(data.SecurityKeys, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ListSecurityKeysCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + response = { + ...(await deserializeAws_restJson1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_restJson1ListSecurityProfilesCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -5250,10 +8113,176 @@ const deserializeAws_restJson1SuspendContactRecordingCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceNotFoundException": - case "com.amazonaws.connect#ResourceNotFoundException": + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1TagResourceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1TagResourceCommandError(output, context); + } + const contents: TagResourceCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1TagResourceCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + response = { + ...(await deserializeAws_restJson1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1UntagResourceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1UntagResourceCommandError(output, context); + } + const contents: UntagResourceCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1UntagResourceCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + response = { + ...(await deserializeAws_restJson1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": response = { - ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -5275,24 +8304,24 @@ const deserializeAws_restJson1SuspendContactRecordingCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1TagResourceCommand = async ( +export const deserializeAws_restJson1UpdateContactAttributesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1TagResourceCommandError(output, context); + return deserializeAws_restJson1UpdateContactAttributesCommandError(output, context); } - const contents: TagResourceCommandOutput = { + const contents: UpdateContactAttributesCommandOutput = { $metadata: deserializeMetadata(output), }; await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1TagResourceCommandError = async ( +const deserializeAws_restJson1UpdateContactAttributesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -5333,14 +8362,6 @@ const deserializeAws_restJson1TagResourceCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ThrottlingException": - case "com.amazonaws.connect#ThrottlingException": - response = { - ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -5358,24 +8379,24 @@ const deserializeAws_restJson1TagResourceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1UntagResourceCommand = async ( +export const deserializeAws_restJson1UpdateContactFlowContentCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1UntagResourceCommandError(output, context); + return deserializeAws_restJson1UpdateContactFlowContentCommandError(output, context); } - const contents: UntagResourceCommandOutput = { + const contents: UpdateContactFlowContentCommandOutput = { $metadata: deserializeMetadata(output), }; await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1UntagResourceCommandError = async ( +const deserializeAws_restJson1UpdateContactFlowContentCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -5392,6 +8413,14 @@ const deserializeAws_restJson1UntagResourceCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "InvalidContactFlowException": + case "com.amazonaws.connect#InvalidContactFlowException": + response = { + ...(await deserializeAws_restJson1InvalidContactFlowExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InvalidParameterException": case "com.amazonaws.connect#InvalidParameterException": response = { @@ -5441,24 +8470,24 @@ const deserializeAws_restJson1UntagResourceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1UpdateContactAttributesCommand = async ( +export const deserializeAws_restJson1UpdateContactFlowNameCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1UpdateContactAttributesCommandError(output, context); + return deserializeAws_restJson1UpdateContactFlowNameCommandError(output, context); } - const contents: UpdateContactAttributesCommandOutput = { + const contents: UpdateContactFlowNameCommandOutput = { $metadata: deserializeMetadata(output), }; await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1UpdateContactAttributesCommandError = async ( +const deserializeAws_restJson1UpdateContactFlowNameCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -5467,6 +8496,14 @@ const deserializeAws_restJson1UpdateContactAttributesCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { + case "DuplicateResourceException": + case "com.amazonaws.connect#DuplicateResourceException": + response = { + ...(await deserializeAws_restJson1DuplicateResourceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InternalServiceException": case "com.amazonaws.connect#InternalServiceException": response = { @@ -5499,6 +8536,14 @@ const deserializeAws_restJson1UpdateContactAttributesCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -5516,24 +8561,24 @@ const deserializeAws_restJson1UpdateContactAttributesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1UpdateContactFlowContentCommand = async ( +export const deserializeAws_restJson1UpdateInstanceAttributeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1UpdateContactFlowContentCommandError(output, context); + return deserializeAws_restJson1UpdateInstanceAttributeCommandError(output, context); } - const contents: UpdateContactFlowContentCommandOutput = { + const contents: UpdateInstanceAttributeCommandOutput = { $metadata: deserializeMetadata(output), }; await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1UpdateContactFlowContentCommandError = async ( +const deserializeAws_restJson1UpdateInstanceAttributeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -5550,14 +8595,6 @@ const deserializeAws_restJson1UpdateContactFlowContentCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "InvalidContactFlowException": - case "com.amazonaws.connect#InvalidContactFlowException": - response = { - ...(await deserializeAws_restJson1InvalidContactFlowExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InvalidParameterException": case "com.amazonaws.connect#InvalidParameterException": response = { @@ -5607,24 +8644,24 @@ const deserializeAws_restJson1UpdateContactFlowContentCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1UpdateContactFlowNameCommand = async ( +export const deserializeAws_restJson1UpdateInstanceStorageConfigCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1UpdateContactFlowNameCommandError(output, context); + return deserializeAws_restJson1UpdateInstanceStorageConfigCommandError(output, context); } - const contents: UpdateContactFlowNameCommandOutput = { + const contents: UpdateInstanceStorageConfigCommandOutput = { $metadata: deserializeMetadata(output), }; await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1UpdateContactFlowNameCommandError = async ( +const deserializeAws_restJson1UpdateInstanceStorageConfigCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -5633,14 +8670,6 @@ const deserializeAws_restJson1UpdateContactFlowNameCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "DuplicateResourceException": - case "com.amazonaws.connect#DuplicateResourceException": - response = { - ...(await deserializeAws_restJson1DuplicateResourceExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InternalServiceException": case "com.amazonaws.connect#InternalServiceException": response = { @@ -6805,6 +9834,23 @@ const deserializeAws_restJson1OutboundContactNotPermittedExceptionResponse = asy return contents; }; +const deserializeAws_restJson1ResourceConflictExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: ResourceConflictException = { + name: "ResourceConflictException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + Message: undefined, + }; + const data: any = parsedOutput.body; + if (data.Message !== undefined && data.Message !== null) { + contents.Message = data.Message; + } + return contents; +}; + const deserializeAws_restJson1ResourceInUseExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -6847,6 +9893,23 @@ const deserializeAws_restJson1ResourceNotFoundExceptionResponse = async ( return contents; }; +const deserializeAws_restJson1ServiceQuotaExceededExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: ServiceQuotaExceededException = { + name: "ServiceQuotaExceededException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + Message: undefined, + }; + const data: any = parsedOutput.body; + if (data.Message !== undefined && data.Message !== null) { + contents.Message = data.Message; + } + return contents; +}; + const deserializeAws_restJson1ThrottlingExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -6913,6 +9976,13 @@ const serializeAws_restJson1CurrentMetrics = (input: CurrentMetric[], context: _ return input.map((entry) => serializeAws_restJson1CurrentMetric(entry, context)); }; +const serializeAws_restJson1EncryptionConfig = (input: EncryptionConfig, context: __SerdeContext): any => { + return { + ...(input.EncryptionType !== undefined && { EncryptionType: input.EncryptionType }), + ...(input.KeyId !== undefined && { KeyId: input.KeyId }), + }; +}; + const serializeAws_restJson1Filters = (input: Filters, context: __SerdeContext): any => { return { ...(input.Channels !== undefined && { Channels: serializeAws_restJson1Channels(input.Channels, context) }), @@ -6966,6 +10036,55 @@ const serializeAws_restJson1HistoricalMetrics = (input: HistoricalMetric[], cont return input.map((entry) => serializeAws_restJson1HistoricalMetric(entry, context)); }; +const serializeAws_restJson1InstanceStorageConfig = (input: InstanceStorageConfig, context: __SerdeContext): any => { + return { + ...(input.AssociationId !== undefined && { AssociationId: input.AssociationId }), + ...(input.KinesisFirehoseConfig !== undefined && { + KinesisFirehoseConfig: serializeAws_restJson1KinesisFirehoseConfig(input.KinesisFirehoseConfig, context), + }), + ...(input.KinesisStreamConfig !== undefined && { + KinesisStreamConfig: serializeAws_restJson1KinesisStreamConfig(input.KinesisStreamConfig, context), + }), + ...(input.KinesisVideoStreamConfig !== undefined && { + KinesisVideoStreamConfig: serializeAws_restJson1KinesisVideoStreamConfig(input.KinesisVideoStreamConfig, context), + }), + ...(input.S3Config !== undefined && { S3Config: serializeAws_restJson1S3Config(input.S3Config, context) }), + ...(input.StorageType !== undefined && { StorageType: input.StorageType }), + }; +}; + +const serializeAws_restJson1KinesisFirehoseConfig = (input: KinesisFirehoseConfig, context: __SerdeContext): any => { + return { + ...(input.FirehoseArn !== undefined && { FirehoseArn: input.FirehoseArn }), + }; +}; + +const serializeAws_restJson1KinesisStreamConfig = (input: KinesisStreamConfig, context: __SerdeContext): any => { + return { + ...(input.StreamArn !== undefined && { StreamArn: input.StreamArn }), + }; +}; + +const serializeAws_restJson1KinesisVideoStreamConfig = ( + input: KinesisVideoStreamConfig, + context: __SerdeContext +): any => { + return { + ...(input.EncryptionConfig !== undefined && { + EncryptionConfig: serializeAws_restJson1EncryptionConfig(input.EncryptionConfig, context), + }), + ...(input.Prefix !== undefined && { Prefix: input.Prefix }), + ...(input.RetentionPeriodHours !== undefined && { RetentionPeriodHours: input.RetentionPeriodHours }), + }; +}; + +const serializeAws_restJson1LexBot = (input: LexBot, context: __SerdeContext): any => { + return { + ...(input.LexRegion !== undefined && { LexRegion: input.LexRegion }), + ...(input.Name !== undefined && { Name: input.Name }), + }; +}; + const serializeAws_restJson1MediaConcurrencies = (input: MediaConcurrency[], context: __SerdeContext): any => { return input.map((entry) => serializeAws_restJson1MediaConcurrency(entry, context)); }; @@ -7024,6 +10143,16 @@ const serializeAws_restJson1RoutingProfileQueueReferenceList = ( return input.map((entry) => serializeAws_restJson1RoutingProfileQueueReference(entry, context)); }; +const serializeAws_restJson1S3Config = (input: S3Config, context: __SerdeContext): any => { + return { + ...(input.BucketName !== undefined && { BucketName: input.BucketName }), + ...(input.BucketPrefix !== undefined && { BucketPrefix: input.BucketPrefix }), + ...(input.EncryptionConfig !== undefined && { + EncryptionConfig: serializeAws_restJson1EncryptionConfig(input.EncryptionConfig, context), + }), + }; +}; + const serializeAws_restJson1SecurityProfileIds = (input: string[], context: __SerdeContext): any => { return input.map((entry) => entry); }; @@ -7073,6 +10202,14 @@ const serializeAws_restJson1VoiceRecordingConfiguration = ( }; }; +const deserializeAws_restJson1Attribute = (output: any, context: __SerdeContext): Attribute => { + return { + AttributeType: + output.AttributeType !== undefined && output.AttributeType !== null ? output.AttributeType : undefined, + Value: output.Value !== undefined && output.Value !== null ? output.Value : undefined, + } as any; +}; + const deserializeAws_restJson1Attributes = (output: any, context: __SerdeContext): { [key: string]: string } => { return Object.entries(output).reduce( (acc: { [key: string]: string }, [key, value]: [string, any]) => ({ @@ -7083,6 +10220,10 @@ const deserializeAws_restJson1Attributes = (output: any, context: __SerdeContext ); }; +const deserializeAws_restJson1AttributesList = (output: any, context: __SerdeContext): Attribute[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1Attribute(entry, context)); +}; + const deserializeAws_restJson1ContactFlow = (output: any, context: __SerdeContext): ContactFlow => { return { Arn: output.Arn !== undefined && output.Arn !== null ? output.Arn : undefined, @@ -7178,6 +10319,18 @@ const deserializeAws_restJson1Dimensions = (output: any, context: __SerdeContext } as any; }; +const deserializeAws_restJson1EncryptionConfig = (output: any, context: __SerdeContext): EncryptionConfig => { + return { + EncryptionType: + output.EncryptionType !== undefined && output.EncryptionType !== null ? output.EncryptionType : undefined, + KeyId: output.KeyId !== undefined && output.KeyId !== null ? output.KeyId : undefined, + } as any; +}; + +const deserializeAws_restJson1FunctionArnsList = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + const deserializeAws_restJson1HierarchyGroup = (output: any, context: __SerdeContext): HierarchyGroup => { return { Arn: output.Arn !== undefined && output.Arn !== null ? output.Arn : undefined, @@ -7334,6 +10487,147 @@ const deserializeAws_restJson1HoursOfOperationSummaryList = ( return (output || []).map((entry: any) => deserializeAws_restJson1HoursOfOperationSummary(entry, context)); }; +const deserializeAws_restJson1Instance = (output: any, context: __SerdeContext): Instance => { + return { + Arn: output.Arn !== undefined && output.Arn !== null ? output.Arn : undefined, + CreatedTime: + output.CreatedTime !== undefined && output.CreatedTime !== null + ? new Date(Math.round(output.CreatedTime * 1000)) + : undefined, + Id: output.Id !== undefined && output.Id !== null ? output.Id : undefined, + IdentityManagementType: + output.IdentityManagementType !== undefined && output.IdentityManagementType !== null + ? output.IdentityManagementType + : undefined, + InboundCallsEnabled: + output.InboundCallsEnabled !== undefined && output.InboundCallsEnabled !== null + ? output.InboundCallsEnabled + : undefined, + InstanceAlias: + output.InstanceAlias !== undefined && output.InstanceAlias !== null ? output.InstanceAlias : undefined, + InstanceStatus: + output.InstanceStatus !== undefined && output.InstanceStatus !== null ? output.InstanceStatus : undefined, + OutboundCallsEnabled: + output.OutboundCallsEnabled !== undefined && output.OutboundCallsEnabled !== null + ? output.OutboundCallsEnabled + : undefined, + ServiceRole: output.ServiceRole !== undefined && output.ServiceRole !== null ? output.ServiceRole : undefined, + StatusReason: + output.StatusReason !== undefined && output.StatusReason !== null + ? deserializeAws_restJson1InstanceStatusReason(output.StatusReason, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1InstanceStatusReason = (output: any, context: __SerdeContext): InstanceStatusReason => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + +const deserializeAws_restJson1InstanceStorageConfig = (output: any, context: __SerdeContext): InstanceStorageConfig => { + return { + AssociationId: + output.AssociationId !== undefined && output.AssociationId !== null ? output.AssociationId : undefined, + KinesisFirehoseConfig: + output.KinesisFirehoseConfig !== undefined && output.KinesisFirehoseConfig !== null + ? deserializeAws_restJson1KinesisFirehoseConfig(output.KinesisFirehoseConfig, context) + : undefined, + KinesisStreamConfig: + output.KinesisStreamConfig !== undefined && output.KinesisStreamConfig !== null + ? deserializeAws_restJson1KinesisStreamConfig(output.KinesisStreamConfig, context) + : undefined, + KinesisVideoStreamConfig: + output.KinesisVideoStreamConfig !== undefined && output.KinesisVideoStreamConfig !== null + ? deserializeAws_restJson1KinesisVideoStreamConfig(output.KinesisVideoStreamConfig, context) + : undefined, + S3Config: + output.S3Config !== undefined && output.S3Config !== null + ? deserializeAws_restJson1S3Config(output.S3Config, context) + : undefined, + StorageType: output.StorageType !== undefined && output.StorageType !== null ? output.StorageType : undefined, + } as any; +}; + +const deserializeAws_restJson1InstanceStorageConfigs = ( + output: any, + context: __SerdeContext +): InstanceStorageConfig[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1InstanceStorageConfig(entry, context)); +}; + +const deserializeAws_restJson1InstanceSummary = (output: any, context: __SerdeContext): InstanceSummary => { + return { + Arn: output.Arn !== undefined && output.Arn !== null ? output.Arn : undefined, + CreatedTime: + output.CreatedTime !== undefined && output.CreatedTime !== null + ? new Date(Math.round(output.CreatedTime * 1000)) + : undefined, + Id: output.Id !== undefined && output.Id !== null ? output.Id : undefined, + IdentityManagementType: + output.IdentityManagementType !== undefined && output.IdentityManagementType !== null + ? output.IdentityManagementType + : undefined, + InboundCallsEnabled: + output.InboundCallsEnabled !== undefined && output.InboundCallsEnabled !== null + ? output.InboundCallsEnabled + : undefined, + InstanceAlias: + output.InstanceAlias !== undefined && output.InstanceAlias !== null ? output.InstanceAlias : undefined, + InstanceStatus: + output.InstanceStatus !== undefined && output.InstanceStatus !== null ? output.InstanceStatus : undefined, + OutboundCallsEnabled: + output.OutboundCallsEnabled !== undefined && output.OutboundCallsEnabled !== null + ? output.OutboundCallsEnabled + : undefined, + ServiceRole: output.ServiceRole !== undefined && output.ServiceRole !== null ? output.ServiceRole : undefined, + } as any; +}; + +const deserializeAws_restJson1InstanceSummaryList = (output: any, context: __SerdeContext): InstanceSummary[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1InstanceSummary(entry, context)); +}; + +const deserializeAws_restJson1KinesisFirehoseConfig = (output: any, context: __SerdeContext): KinesisFirehoseConfig => { + return { + FirehoseArn: output.FirehoseArn !== undefined && output.FirehoseArn !== null ? output.FirehoseArn : undefined, + } as any; +}; + +const deserializeAws_restJson1KinesisStreamConfig = (output: any, context: __SerdeContext): KinesisStreamConfig => { + return { + StreamArn: output.StreamArn !== undefined && output.StreamArn !== null ? output.StreamArn : undefined, + } as any; +}; + +const deserializeAws_restJson1KinesisVideoStreamConfig = ( + output: any, + context: __SerdeContext +): KinesisVideoStreamConfig => { + return { + EncryptionConfig: + output.EncryptionConfig !== undefined && output.EncryptionConfig !== null + ? deserializeAws_restJson1EncryptionConfig(output.EncryptionConfig, context) + : undefined, + Prefix: output.Prefix !== undefined && output.Prefix !== null ? output.Prefix : undefined, + RetentionPeriodHours: + output.RetentionPeriodHours !== undefined && output.RetentionPeriodHours !== null + ? output.RetentionPeriodHours + : undefined, + } as any; +}; + +const deserializeAws_restJson1LexBot = (output: any, context: __SerdeContext): LexBot => { + return { + LexRegion: output.LexRegion !== undefined && output.LexRegion !== null ? output.LexRegion : undefined, + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + } as any; +}; + +const deserializeAws_restJson1LexBotsList = (output: any, context: __SerdeContext): LexBot[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1LexBot(entry, context)); +}; + const deserializeAws_restJson1MediaConcurrencies = (output: any, context: __SerdeContext): MediaConcurrency[] => { return (output || []).map((entry: any) => deserializeAws_restJson1MediaConcurrency(entry, context)); }; @@ -7345,6 +10639,10 @@ const deserializeAws_restJson1MediaConcurrency = (output: any, context: __SerdeC } as any; }; +const deserializeAws_restJson1OriginsList = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + const deserializeAws_restJson1PhoneNumberSummary = (output: any, context: __SerdeContext): PhoneNumberSummary => { return { Arn: output.Arn !== undefined && output.Arn !== null ? output.Arn : undefined, @@ -7467,6 +10765,33 @@ const deserializeAws_restJson1RoutingProfileSummaryList = ( return (output || []).map((entry: any) => deserializeAws_restJson1RoutingProfileSummary(entry, context)); }; +const deserializeAws_restJson1S3Config = (output: any, context: __SerdeContext): S3Config => { + return { + BucketName: output.BucketName !== undefined && output.BucketName !== null ? output.BucketName : undefined, + BucketPrefix: output.BucketPrefix !== undefined && output.BucketPrefix !== null ? output.BucketPrefix : undefined, + EncryptionConfig: + output.EncryptionConfig !== undefined && output.EncryptionConfig !== null + ? deserializeAws_restJson1EncryptionConfig(output.EncryptionConfig, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1SecurityKey = (output: any, context: __SerdeContext): SecurityKey => { + return { + AssociationId: + output.AssociationId !== undefined && output.AssociationId !== null ? output.AssociationId : undefined, + CreationTime: + output.CreationTime !== undefined && output.CreationTime !== null + ? new Date(Math.round(output.CreationTime * 1000)) + : undefined, + Key: output.Key !== undefined && output.Key !== null ? output.Key : undefined, + } as any; +}; + +const deserializeAws_restJson1SecurityKeysList = (output: any, context: __SerdeContext): SecurityKey[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1SecurityKey(entry, context)); +}; + const deserializeAws_restJson1SecurityProfileIds = (output: any, context: __SerdeContext): string[] => { return (output || []).map((entry: any) => entry); }; diff --git a/clients/client-cost-explorer/CostExplorer.ts b/clients/client-cost-explorer/CostExplorer.ts index e6957ec2d057..4249155ac648 100644 --- a/clients/client-cost-explorer/CostExplorer.ts +++ b/clients/client-cost-explorer/CostExplorer.ts @@ -489,7 +489,8 @@ export class CostExplorer extends CostExplorerClient { * your data by various dimensions, such as SERVICE or AZ, in a specific time range. For a complete list * of valid dimensions, see the * GetDimensionValues - * operation. Master account in an organization in AWS Organizations have access to all member accounts.

    + * operation. Management account in an organization in AWS Organizations have access to all member accounts.

    + *

    For information about filter limitations, see Quotas and restrictions in the Billing and Cost Management User Guide.

    */ public getCostAndUsage( args: GetCostAndUsageCommandInput, @@ -525,7 +526,7 @@ export class CostExplorer extends CostExplorerClient { * usage-related metric, such as BlendedCosts or UsageQuantity, that * you want the request to return. You can also filter and group your data by various dimensions, * such as SERVICE or AZ, in a specific time range. For a complete list - * of valid dimensions, see the GetDimensionValues operation. Master account in an organization in AWS + * of valid dimensions, see the GetDimensionValues operation. Management account in an organization in AWS * Organizations have access to all member accounts. This API is currently available for the Amazon Elastic Compute Cloud – Compute service only.

    * *

    This is an opt-in only feature. You can enable this feature from the Cost Explorer Settings page. For information on how to access the Settings page, see Controlling Access for Cost Explorer in the AWS Billing and Cost Management User Guide.

    @@ -626,7 +627,7 @@ export class CostExplorer extends CostExplorerClient { /** *

    Retrieves the reservation coverage for your account. This enables you to see how much of your Amazon Elastic Compute Cloud, Amazon ElastiCache, Amazon Relational Database Service, or - * Amazon Redshift usage is covered by a reservation. An organization's master account can see the coverage of the associated member accounts. This supports dimensions, Cost Categories, and nested expressions. + * Amazon Redshift usage is covered by a reservation. An organization's management account can see the coverage of the associated member accounts. This supports dimensions, Cost Categories, and nested expressions. * For any time period, you can filter data about reservation usage by the following dimensions:

    *
      *
    • @@ -739,7 +740,7 @@ export class CostExplorer extends CostExplorerClient { } /** - *

      Retrieves the reservation utilization for your account. Master account in an organization have access to member accounts. + *

      Retrieves the reservation utilization for your account. Management account in an organization have access to member accounts. * You can filter data by dimensions in a time period. You can use GetDimensionValues to determine the possible * dimension values. Currently, you can group only by SUBSCRIPTION_ID.

      */ @@ -814,7 +815,7 @@ export class CostExplorer extends CostExplorerClient { } /** - *

      Retrieves the Savings Plans covered for your account. This enables you to see how much of your cost is covered by a Savings Plan. An organization’s master account can see the coverage of the associated member accounts. This supports dimensions, Cost Categories, and nested expressions. For any time period, you can filter data for Savings Plans usage with the following dimensions:

      + *

      Retrieves the Savings Plans covered for your account. This enables you to see how much of your cost is covered by a Savings Plan. An organization’s management account can see the coverage of the associated member accounts. This supports dimensions, Cost Categories, and nested expressions. For any time period, you can filter data for Savings Plans usage with the following dimensions:

      *
        *
      • *

        @@ -903,7 +904,7 @@ export class CostExplorer extends CostExplorerClient { } /** - *

        Retrieves the Savings Plans utilization for your account across date ranges with daily or monthly granularity. Master account in an organization have access to member accounts. You can use GetDimensionValues in SAVINGS_PLANS to determine the possible dimension values.

        + *

        Retrieves the Savings Plans utilization for your account across date ranges with daily or monthly granularity. Management account in an organization have access to member accounts. You can use GetDimensionValues in SAVINGS_PLANS to determine the possible dimension values.

        * *

        You cannot group by any dimension values for GetSavingsPlansUtilization.

        *
        diff --git a/clients/client-cost-explorer/models/models_0.ts b/clients/client-cost-explorer/models/models_0.ts index 8ef035d93b10..ced3b26bf6de 100644 --- a/clients/client-cost-explorer/models/models_0.ts +++ b/clients/client-cost-explorer/models/models_0.ts @@ -12,17 +12,17 @@ export enum AccountScope { export interface AnomalyScore { /** *

        - * The last observed score. + * The maximum score observed during the AnomalyDateInterval. *

        */ - CurrentScore: number | undefined; + MaxScore: number | undefined; /** *

        - * The maximum score observed during the AnomalyDateInterval. + * The last observed score. *

        */ - MaxScore: number | undefined; + CurrentScore: number | undefined; } export namespace AnomalyScore { @@ -79,24 +79,24 @@ export interface RootCause { /** *

        - * The linked account value associated with the cost anomaly. + * The AWS Region associated with the cost anomaly. *

        */ - LinkedAccount?: string; + Region?: string; /** *

        - * The UsageType value associated with the cost anomaly. + * The linked account value associated with the cost anomaly. *

        */ - UsageType?: string; + LinkedAccount?: string; /** *

        - * The AWS Region associated with the cost anomaly. + * The UsageType value associated with the cost anomaly. *

        */ - Region?: string; + UsageType?: string; } export namespace RootCause { @@ -113,43 +113,38 @@ export namespace RootCause { export interface Anomaly { /** *

        - * The dimension for the anomaly. For example, an AWS service in a service monitor. + * The unique identifier for the anomaly. *

        */ - DimensionValue?: string; + AnomalyId: string | undefined; /** *

        - * The last day the anomaly is detected. + * The first day the anomaly is detected. *

        */ - AnomalyEndDate?: string; - - /** - *

        The Amazon Resource Name (ARN) for the cost monitor that generated this anomaly.

        - */ - MonitorArn: string | undefined; + AnomalyStartDate?: string; /** *

        - * The list of identified root causes for the anomaly. + * The last day the anomaly is detected. *

        */ - RootCauses?: RootCause[]; + AnomalyEndDate?: string; /** *

        - * The first day the anomaly is detected. + * The dimension for the anomaly. For example, an AWS service in a service monitor. *

        */ - AnomalyStartDate?: string; + DimensionValue?: string; /** *

        - * The feedback value. + * The list of identified root causes for the anomaly. *

        */ - Feedback?: AnomalyFeedbackType | string; + RootCauses?: RootCause[]; /** *

        @@ -165,12 +160,17 @@ export interface Anomaly { */ Impact: Impact | undefined; + /** + *

        The Amazon Resource Name (ARN) for the cost monitor that generated this anomaly.

        + */ + MonitorArn: string | undefined; + /** *

        - * The unique identifier for the anomaly. + * The feedback value. *

        */ - AnomalyId: string | undefined; + Feedback?: AnomalyFeedbackType | string; } export namespace Anomaly { @@ -223,6 +223,11 @@ export enum MatchOption { *

        The Cost Categories values used for filtering the costs.

        */ export interface CostCategoryValues { + /** + *

        The unique name of the Cost Category.

        + */ + Key?: string; + /** *

        The specific value of the Cost Category.

        */ @@ -234,11 +239,6 @@ export interface CostCategoryValues { *

        */ MatchOptions?: (MatchOption | string)[]; - - /** - *

        The unique name of the Cost Category.

        - */ - Key?: string; } export namespace CostCategoryValues { @@ -285,12 +285,10 @@ export enum Dimension { */ export interface DimensionValues { /** - *

        The match options that you can use to filter your results. - * MatchOptions is only applicable for actions related to Cost Category. - * The default values for MatchOptions are EQUALS and - * CASE_SENSITIVE.

        + *

        The names of the metadata types that you can use to filter and group your results. + * For example, AZ returns a list of Availability Zones.

        */ - MatchOptions?: (MatchOption | string)[]; + Key?: Dimension | string; /** *

        The metadata values that you can use to filter and group your results. You can use @@ -299,10 +297,12 @@ export interface DimensionValues { Values?: string[]; /** - *

        The names of the metadata types that you can use to filter and group your results. - * For example, AZ returns a list of Availability Zones.

        + *

        The match options that you can use to filter your results. + * MatchOptions is only applicable for actions related to Cost Category. + * The default values for MatchOptions are EQUALS and + * CASE_SENSITIVE.

        */ - Key?: Dimension | string; + MatchOptions?: (MatchOption | string)[]; } export namespace DimensionValues { @@ -316,14 +316,14 @@ export namespace DimensionValues { */ export interface TagValues { /** - *

        The specific value of the tag.

        + *

        The key for the tag.

        */ - Values?: string[]; + Key?: string; /** - *

        The key for the tag.

        + *

        The specific value of the tag.

        */ - Key?: string; + Values?: string[]; /** *

        The match options that you can use to filter your results. @@ -368,9 +368,9 @@ export enum SubscriberType { */ export interface Subscriber { /** - *

        Indicates if the subscriber accepts the notifications.

        + *

        The email address or SNS Amazon Resource Name (ARN), depending on the Type.

        */ - Status?: SubscriberStatus | string; + Address?: string; /** *

        @@ -380,9 +380,9 @@ export interface Subscriber { Type?: SubscriberType | string; /** - *

        The email address or SNS Amazon Resource Name (ARN), depending on the Type.

        + *

        Indicates if the subscriber accepts the notifications.

        */ - Address?: string; + Status?: SubscriberStatus | string; } export namespace Subscriber { @@ -398,23 +398,23 @@ export namespace Subscriber { */ export interface AnomalySubscription { /** - *

        - * The name for the subscription. - *

        + *

        The AnomalySubscription Amazon Resource Name (ARN).

        */ - SubscriptionName: string | undefined; + SubscriptionArn?: string; /** *

        - * The dollar value that triggers a notification if the threshold is exceeded. + * Your unique account identifier. *

        */ - Threshold: number | undefined; + AccountId?: string; /** - *

        The AnomalySubscription Amazon Resource Name (ARN).

        + *

        + * A list of cost anomaly monitors. + *

        */ - SubscriptionArn?: string; + MonitorArnList: string[] | undefined; /** *

        @@ -425,24 +425,24 @@ export interface AnomalySubscription { /** *

        - * The frequency at which anomaly reports are sent over email. + * The dollar value that triggers a notification if the threshold is exceeded. *

        */ - Frequency: AnomalySubscriptionFrequency | string | undefined; + Threshold: number | undefined; /** *

        - * A list of cost anomaly monitors. + * The frequency at which anomaly reports are sent over email. *

        */ - MonitorArnList: string[] | undefined; + Frequency: AnomalySubscriptionFrequency | string | undefined; /** *

        - * Your unique account identifier. + * The name for the subscription. *

        */ - AccountId?: string; + SubscriptionName: string | undefined; } export namespace AnomalySubscription { @@ -532,17 +532,17 @@ export enum CostCategoryRuleVersion { export interface CreateCostCategoryDefinitionResponse { /** *

        - * The Cost Category's effective start date. + * The unique identifier for your newly created Cost Category. *

        */ - EffectiveStart?: string; + CostCategoryArn?: string; /** *

        - * The unique identifier for your newly created Cost Category. + * The Cost Category's effective start date. *

        */ - CostCategoryArn?: string; + EffectiveStart?: string; } export namespace CreateCostCategoryDefinitionResponse { @@ -643,17 +643,17 @@ export namespace DeleteCostCategoryDefinitionRequest { export interface DeleteCostCategoryDefinitionResponse { /** *

        - * The effective end date of the Cost Category as a result of deleting it. No costs after this date will be categorized by the deleted Cost Category. + * The unique identifier for your Cost Category. *

        */ - EffectiveEnd?: string; + CostCategoryArn?: string; /** *

        - * The unique identifier for your Cost Category. + * The effective end date of the Cost Category as a result of deleting it. No costs after this date will be categorized by the deleted Cost Category. *

        */ - CostCategoryArn?: string; + EffectiveEnd?: string; } export namespace DeleteCostCategoryDefinitionResponse { @@ -682,17 +682,17 @@ export namespace ResourceNotFoundException { export interface DescribeCostCategoryDefinitionRequest { /** *

        - * The date when the Cost Category was effective. + * The unique identifier for your Cost Category. *

        */ - EffectiveOn?: string; + CostCategoryArn: string | undefined; /** *

        - * The unique identifier for your Cost Category. + * The date when the Cost Category was effective. *

        */ - CostCategoryArn: string | undefined; + EffectiveOn?: string; } export namespace DescribeCostCategoryDefinitionRequest { @@ -757,17 +757,17 @@ export interface TotalImpactFilter { */ NumericOperator: NumericOperator | string | undefined; - /** - *

        The upper bound dollar value used in the filter.

        - */ - EndValue?: number; - /** *

        * The lower bound dollar value used in the filter. *

        */ StartValue: number | undefined; + + /** + *

        The upper bound dollar value used in the filter.

        + */ + EndValue?: number; } export namespace TotalImpactFilter { @@ -778,11 +778,10 @@ export namespace TotalImpactFilter { export interface GetAnomaliesRequest { /** - *

        - * The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size. - *

        + *

        Retrieves all of the cost anomalies detected for a specific cost anomaly monitor Amazon + * Resource Name (ARN).

        */ - NextPageToken?: string; + MonitorArn?: string; /** *

        Assigns the start and end dates for retrieving cost anomalies. The returned anomaly object @@ -791,10 +790,9 @@ export interface GetAnomaliesRequest { DateInterval: AnomalyDateInterval | undefined; /** - *

        Retrieves all of the cost anomalies detected for a specific cost anomaly monitor Amazon - * Resource Name (ARN).

        + *

        Filters anomaly results by the feedback field on the anomaly object.

        */ - MonitorArn?: string; + Feedback?: AnomalyFeedbackType | string; /** *

        Filters anomaly results by the total impact field on the anomaly object. For example, you @@ -805,15 +803,17 @@ export interface GetAnomaliesRequest { /** *

        - * The number of entries a paginated response contains. + * The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size. *

        */ - MaxResults?: number; + NextPageToken?: string; /** - *

        Filters anomaly results by the feedback field on the anomaly object.

        + *

        + * The number of entries a paginated response contains. + *

        */ - Feedback?: AnomalyFeedbackType | string; + MaxResults?: number; } export namespace GetAnomaliesRequest { @@ -869,17 +869,17 @@ export interface GetAnomalyMonitorsRequest { /** *

        - * The number of entries a paginated response contains. + * The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size. *

        */ - MaxResults?: number; + NextPageToken?: string; /** *

        - * The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size. + * The number of entries a paginated response contains. *

        */ - NextPageToken?: string; + MaxResults?: number; } export namespace GetAnomalyMonitorsRequest { @@ -891,31 +891,31 @@ export namespace GetAnomalyMonitorsRequest { export interface GetAnomalySubscriptionsRequest { /** *

        - * Cost anomaly monitor ARNs. + * A list of cost anomaly subscription ARNs. *

        */ - MonitorArn?: string; + SubscriptionArnList?: string[]; /** *

        - * The number of entries a paginated response contains. + * Cost anomaly monitor ARNs. *

        */ - MaxResults?: number; + MonitorArn?: string; /** *

        - * A list of cost anomaly subscription ARNs. + * The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size. *

        */ - SubscriptionArnList?: string[]; + NextPageToken?: string; /** *

        - * The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size. + * The number of entries a paginated response contains. *

        */ - NextPageToken?: string; + MaxResults?: number; } export namespace GetAnomalySubscriptionsRequest { @@ -927,17 +927,17 @@ export namespace GetAnomalySubscriptionsRequest { export interface GetAnomalySubscriptionsResponse { /** *

        - * The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size. + * A list of cost anomaly subscriptions that includes the detailed metadata for each one. *

        */ - NextPageToken?: string; + AnomalySubscriptions: AnomalySubscription[] | undefined; /** *

        - * A list of cost anomaly subscriptions that includes the detailed metadata for each one. + * The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size. *

        */ - AnomalySubscriptions: AnomalySubscription[] | undefined; + NextPageToken?: string; } export namespace GetAnomalySubscriptionsResponse { @@ -1015,14 +1015,6 @@ export namespace GroupDefinition { *

        */ export interface DateInterval { - /** - *

        The end of the time period that you want the usage and costs for. The end date is - * exclusive. For example, if end is 2017-05-01, AWS retrieves - * cost and usage data from the start date up to, but not including, - * 2017-05-01.

        - */ - End: string | undefined; - /** *

        The beginning of the time period that you want the usage and costs for. The start * date is inclusive. For example, if start is 2017-01-01, AWS @@ -1030,6 +1022,14 @@ export interface DateInterval { * date.

        */ Start: string | undefined; + + /** + *

        The end of the time period that you want the usage and costs for. The end date is + * exclusive. For example, if end is 2017-05-01, AWS retrieves + * cost and usage data from the start date up to, but not including, + * 2017-05-01.

        + */ + End: string | undefined; } export namespace DateInterval { @@ -1084,6 +1084,11 @@ export namespace Group { *

        The result that is associated with a time period.

        */ export interface ResultByTime { + /** + *

        The time period that the result covers.

        + */ + TimePeriod?: DateInterval; + /** *

        The total amount of cost or usage accrued during the time period.

        */ @@ -1094,11 +1099,6 @@ export interface ResultByTime { */ Groups?: Group[]; - /** - *

        The time period that the result covers.

        - */ - TimePeriod?: DateInterval; - /** *

        Whether * the result is estimated.

        @@ -1153,15 +1153,15 @@ export namespace RequestChangedException { export interface GetCostAndUsageWithResourcesResponse { /** - *

        The groups that are specified by the Filter or GroupBy - * parameters in the request.

        + *

        The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

        */ - GroupDefinitions?: GroupDefinition[]; + NextPageToken?: string; /** - *

        The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

        + *

        The groups that are specified by the Filter or GroupBy + * parameters in the request.

        */ - NextPageToken?: string; + GroupDefinitions?: GroupDefinition[]; /** *

        The time period that is covered by the results in the response.

        @@ -1243,17 +1243,9 @@ export enum Context { export interface GetDimensionValuesRequest { /** - *

        The name of the dimension. Each Dimension is available for a different Context. - * For more information, see Context. - * - *

        + *

        The value that you want to search the filter values for.

        */ - Dimension: Dimension | string | undefined; - - /** - *

        The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

        - */ - NextPageToken?: string; + SearchString?: string; /** *

        The start and end dates for retrieving the dimension values. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is @@ -1261,6 +1253,14 @@ export interface GetDimensionValuesRequest { */ TimePeriod: DateInterval | undefined; + /** + *

        The name of the dimension. Each Dimension is available for a different Context. + * For more information, see Context. + * + *

        + */ + Dimension: Dimension | string | undefined; + /** *

        The context for the call to GetDimensionValues. This can be RESERVATIONS or COST_AND_USAGE. * The default value is COST_AND_USAGE. If the context is set to RESERVATIONS, the resulting dimension values @@ -1380,9 +1380,9 @@ export interface GetDimensionValuesRequest { Context?: Context | string; /** - *

        The value that you want to search the filter values for.

        + *

        The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

        */ - SearchString?: string; + NextPageToken?: string; } export namespace GetDimensionValuesRequest { @@ -1397,14 +1397,14 @@ export namespace GetDimensionValuesRequest { */ export interface DimensionValuesWithAttributes { /** - *

        The attribute that applies to a specific Dimension.

        + *

        The value of a dimension with a specific attribute.

        */ - Attributes?: { [key: string]: string }; + Value?: string; /** - *

        The value of a dimension with a specific attribute.

        + *

        The attribute that applies to a specific Dimension.

        */ - Value?: string; + Attributes?: { [key: string]: string }; } export namespace DimensionValuesWithAttributes { @@ -1414,16 +1414,6 @@ export namespace DimensionValuesWithAttributes { } export interface GetDimensionValuesResponse { - /** - *

        The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

        - */ - NextPageToken?: string; - - /** - *

        The number of results that AWS returned at one time.

        - */ - ReturnSize: number | undefined; - /** *

        The filters that you used to filter your request. Some dimensions are available only for a specific context.

        *

        If you set the context to COST_AND_USAGE, you can use the following @@ -1536,10 +1526,20 @@ export interface GetDimensionValuesResponse { */ DimensionValues: DimensionValuesWithAttributes[] | undefined; + /** + *

        The number of results that AWS returned at one time.

        + */ + ReturnSize: number | undefined; + /** *

        The total number of search results.

        */ TotalSize: number | undefined; + + /** + *

        The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

        + */ + NextPageToken?: string; } export namespace GetDimensionValuesResponse { @@ -1569,24 +1569,24 @@ export namespace CoverageCost { */ export interface CoverageHours { /** - *

        The total instance usage, in hours.

        + *

        The number of instance running hours that On-Demand Instances covered.

        */ - TotalRunningHours?: string; + OnDemandHours?: string; /** - *

        The percentage of instance hours that a reservation covered.

        + *

        The number of instance running hours that reservations covered.

        */ - CoverageHoursPercentage?: string; + ReservedHours?: string; /** - *

        The number of instance running hours that reservations covered.

        + *

        The total instance usage, in hours.

        */ - ReservedHours?: string; + TotalRunningHours?: string; /** - *

        The number of instance running hours that On-Demand Instances covered.

        + *

        The percentage of instance hours that a reservation covered.

        */ - OnDemandHours?: string; + CoverageHoursPercentage?: string; } export namespace CoverageHours { @@ -1608,9 +1608,10 @@ export namespace CoverageHours { */ export interface CoverageNormalizedUnits { /** - *

        The total number of normalized units that you used.

        + *

        The number of normalized units that are covered by On-Demand Instances instead of a + * reservation.

        */ - TotalRunningNormalizedUnits?: string; + OnDemandNormalizedUnits?: string; /** *

        The number of normalized units that a reservation covers.

        @@ -1618,10 +1619,9 @@ export interface CoverageNormalizedUnits { ReservedNormalizedUnits?: string; /** - *

        The number of normalized units that are covered by On-Demand Instances instead of a - * reservation.

        + *

        The total number of normalized units that you used.

        */ - OnDemandNormalizedUnits?: string; + TotalRunningNormalizedUnits?: string; /** *

        The percentage of your used instance normalized units that a reservation @@ -1641,15 +1641,15 @@ export namespace CoverageNormalizedUnits { */ export interface Coverage { /** - *

        The amount of instance usage that the reservation covered, in normalized - * units.

        + *

        The amount of instance usage that the reservation covered, in hours.

        */ - CoverageNormalizedUnits?: CoverageNormalizedUnits; + CoverageHours?: CoverageHours; /** - *

        The amount of instance usage that the reservation covered, in hours.

        + *

        The amount of instance usage that the reservation covered, in normalized + * units.

        */ - CoverageHours?: CoverageHours; + CoverageNormalizedUnits?: CoverageNormalizedUnits; /** *

        The amount of cost that the reservation covered.

        @@ -1669,14 +1669,14 @@ export namespace Coverage { */ export interface ReservationCoverageGroup { /** - *

        How much instance usage this group of reservations covered.

        + *

        The attributes for this group of reservations.

        */ - Coverage?: Coverage; + Attributes?: { [key: string]: string }; /** - *

        The attributes for this group of reservations.

        + *

        How much instance usage this group of reservations covered.

        */ - Attributes?: { [key: string]: string }; + Coverage?: Coverage; } export namespace ReservationCoverageGroup { @@ -1715,14 +1715,14 @@ export namespace CoverageByTime { export interface GetReservationCoverageResponse { /** - *

        The total amount of instance usage that a reservation covered.

        + *

        The amount of time that your reservations covered.

        */ - Total?: Coverage; + CoveragesByTime: CoverageByTime[] | undefined; /** - *

        The amount of time that your reservations covered.

        + *

        The total amount of instance usage that a reservation covered.

        */ - CoveragesByTime: CoverageByTime[] | undefined; + Total?: Coverage; /** *

        The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

        @@ -1799,9 +1799,9 @@ export enum TermInYears { export interface GetReservationPurchaseRecommendationRequest { /** - *

        The reservation purchase option that you want recommendations for.

        + *

        The account ID that is associated with the recommendation.

        */ - PaymentOption?: PaymentOption | string; + AccountId?: string; /** *

        The specific service that you want recommendations for.

        @@ -1809,24 +1809,24 @@ export interface GetReservationPurchaseRecommendationRequest { Service: string | undefined; /** - *

        The number of recommendations that you want returned in a single response object.

        + *

        The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the management account and member accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual member accounts only.

        */ - PageSize?: number; + AccountScope?: AccountScope | string; /** - *

        The reservation term that you want recommendations for.

        + *

        The number of previous days that you want AWS to consider when it calculates your recommendations.

        */ - TermInYears?: TermInYears | string; + LookbackPeriodInDays?: LookbackPeriodInDays | string; /** - *

        The account ID that is associated with the recommendation.

        + *

        The reservation term that you want recommendations for.

        */ - AccountId?: string; + TermInYears?: TermInYears | string; /** - *

        The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the master account and member accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual member accounts only.

        + *

        The reservation purchase option that you want recommendations for.

        */ - AccountScope?: AccountScope | string; + PaymentOption?: PaymentOption | string; /** *

        The hardware specifications for the service instances that you want recommendations for, such as standard or convertible Amazon EC2 instances.

        @@ -1834,14 +1834,14 @@ export interface GetReservationPurchaseRecommendationRequest { ServiceSpecification?: ServiceSpecification; /** - *

        The pagination token that indicates the next set of results that you want to retrieve.

        + *

        The number of recommendations that you want returned in a single response object.

        */ - NextPageToken?: string; + PageSize?: number; /** - *

        The number of previous days that you want AWS to consider when it calculates your recommendations.

        + *

        The pagination token that indicates the next set of results that you want to retrieve.

        */ - LookbackPeriodInDays?: LookbackPeriodInDays | string; + NextPageToken?: string; } export namespace GetReservationPurchaseRecommendationRequest { @@ -1856,14 +1856,14 @@ export namespace GetReservationPurchaseRecommendationRequest { */ export interface ReservationPurchaseRecommendationMetadata { /** - *

        The timestamp for when AWS made this recommendation.

        + *

        The ID for this specific recommendation.

        */ - GenerationTimestamp?: string; + RecommendationId?: string; /** - *

        The ID for this specific recommendation.

        + *

        The timestamp for when AWS made this recommendation.

        */ - RecommendationId?: string; + GenerationTimestamp?: string; } export namespace ReservationPurchaseRecommendationMetadata { @@ -1876,30 +1876,25 @@ export namespace ReservationPurchaseRecommendationMetadata { *

        Details about the Amazon EC2 instances that AWS recommends that you purchase.

        */ export interface EC2InstanceDetails { - /** - *

        Whether the recommendation is for a current-generation instance.

        - */ - CurrentGeneration?: boolean; - /** *

        The instance family of the recommended reservation.

        */ Family?: string; /** - *

        The AWS Region of the recommended reservation.

        + *

        The type of instance that AWS recommends.

        */ - Region?: string; + InstanceType?: string; /** - *

        Whether the recommended reservation is dedicated or shared.

        + *

        The AWS Region of the recommended reservation.

        */ - Tenancy?: string; + Region?: string; /** - *

        The type of instance that AWS recommends.

        + *

        The Availability Zone of the recommended reservation.

        */ - InstanceType?: string; + AvailabilityZone?: string; /** *

        The platform of the recommended reservation. The platform is the specific @@ -1908,14 +1903,19 @@ export interface EC2InstanceDetails { Platform?: string; /** - *

        Whether the recommended reservation is size flexible.

        + *

        Whether the recommended reservation is dedicated or shared.

        */ - SizeFlexEligible?: boolean; + Tenancy?: string; /** - *

        The Availability Zone of the recommended reservation.

        + *

        Whether the recommendation is for a current-generation instance.

        */ - AvailabilityZone?: string; + CurrentGeneration?: boolean; + + /** + *

        Whether the recommended reservation is size flexible.

        + */ + SizeFlexEligible?: boolean; } export namespace EC2InstanceDetails { @@ -1930,9 +1930,9 @@ export namespace EC2InstanceDetails { */ export interface ElastiCacheInstanceDetails { /** - *

        Whether the recommended reservation is size flexible.

        + *

        The instance family of the recommended reservation.

        */ - SizeFlexEligible?: boolean; + Family?: string; /** *

        The type of node that AWS recommends.

        @@ -1940,9 +1940,9 @@ export interface ElastiCacheInstanceDetails { NodeType?: string; /** - *

        Whether the recommendation is for a current generation instance.

        + *

        The AWS Region of the recommended reservation.

        */ - CurrentGeneration?: boolean; + Region?: string; /** *

        The description of the recommended reservation.

        @@ -1950,14 +1950,14 @@ export interface ElastiCacheInstanceDetails { ProductDescription?: string; /** - *

        The instance family of the recommended reservation.

        + *

        Whether the recommendation is for a current generation instance.

        */ - Family?: string; + CurrentGeneration?: boolean; /** - *

        The AWS Region of the recommended reservation.

        + *

        Whether the recommended reservation is size flexible.

        */ - Region?: string; + SizeFlexEligible?: boolean; } export namespace ElastiCacheInstanceDetails { @@ -1971,6 +1971,11 @@ export namespace ElastiCacheInstanceDetails { * purchase.

        */ export interface ESInstanceDetails { + /** + *

        The class of instance that AWS recommends.

        + */ + InstanceClass?: string; + /** *

        The size of instance that AWS recommends.

        */ @@ -1981,20 +1986,15 @@ export interface ESInstanceDetails { */ Region?: string; - /** - *

        Whether the recommended reservation is size flexible.

        - */ - SizeFlexEligible?: boolean; - /** *

        Whether the recommendation is for a current-generation instance.

        */ CurrentGeneration?: boolean; /** - *

        The class of instance that AWS recommends.

        + *

        Whether the recommended reservation is size flexible.

        */ - InstanceClass?: string; + SizeFlexEligible?: boolean; } export namespace ESInstanceDetails { @@ -2009,45 +2009,45 @@ export namespace ESInstanceDetails { */ export interface RDSInstanceDetails { /** - *

        The license model that the recommended reservation supports.

        + *

        The instance family of the recommended reservation.

        */ - LicenseModel?: string; + Family?: string; /** - *

        Whether the recommendation is for a current-generation instance.

        + *

        The type of instance that AWS recommends.

        */ - CurrentGeneration?: boolean; + InstanceType?: string; /** - *

        Whether the recommendation is for a reservation in a single Availability Zone or a - * reservation with a backup in a second Availability Zone.

        + *

        The AWS Region of the recommended reservation.

        */ - DeploymentOption?: string; + Region?: string; /** - *

        The instance family of the recommended reservation.

        + *

        The database engine that the recommended reservation supports.

        */ - Family?: string; + DatabaseEngine?: string; /** - *

        The AWS Region of the recommended reservation.

        + *

        The database edition that the recommended reservation supports.

        */ - Region?: string; + DatabaseEdition?: string; /** - *

        The type of instance that AWS recommends.

        + *

        Whether the recommendation is for a reservation in a single Availability Zone or a + * reservation with a backup in a second Availability Zone.

        */ - InstanceType?: string; + DeploymentOption?: string; /** - *

        The database edition that the recommended reservation supports.

        + *

        The license model that the recommended reservation supports.

        */ - DatabaseEdition?: string; + LicenseModel?: string; /** - *

        The database engine that the recommended reservation supports.

        + *

        Whether the recommendation is for a current-generation instance.

        */ - DatabaseEngine?: string; + CurrentGeneration?: boolean; /** *

        Whether the recommended reservation is size flexible.

        @@ -2066,30 +2066,30 @@ export namespace RDSInstanceDetails { * purchase.

        */ export interface RedshiftInstanceDetails { - /** - *

        The AWS Region of the recommended reservation.

        - */ - Region?: string; - /** *

        The instance family of the recommended reservation.

        */ Family?: string; /** - *

        Whether the recommended reservation is size flexible.

        + *

        The type of node that AWS recommends.

        */ - SizeFlexEligible?: boolean; + NodeType?: string; /** - *

        The type of node that AWS recommends.

        + *

        The AWS Region of the recommended reservation.

        */ - NodeType?: string; + Region?: string; /** *

        Whether the recommendation is for a current-generation instance.

        */ CurrentGeneration?: boolean; + + /** + *

        Whether the recommended reservation is size flexible.

        + */ + SizeFlexEligible?: boolean; } export namespace RedshiftInstanceDetails { @@ -2108,14 +2108,14 @@ export interface InstanceDetails { EC2InstanceDetails?: EC2InstanceDetails; /** - *

        The Amazon Redshift instances that AWS recommends that you purchase.

        + *

        The Amazon RDS instances that AWS recommends that you purchase.

        */ - RedshiftInstanceDetails?: RedshiftInstanceDetails; + RDSInstanceDetails?: RDSInstanceDetails; /** - *

        The Amazon ES instances that AWS recommends that you purchase.

        + *

        The Amazon Redshift instances that AWS recommends that you purchase.

        */ - ESInstanceDetails?: ESInstanceDetails; + RedshiftInstanceDetails?: RedshiftInstanceDetails; /** *

        The ElastiCache instances that AWS recommends that you purchase.

        @@ -2123,9 +2123,9 @@ export interface InstanceDetails { ElastiCacheInstanceDetails?: ElastiCacheInstanceDetails; /** - *

        The Amazon RDS instances that AWS recommends that you purchase.

        + *

        The Amazon ES instances that AWS recommends that you purchase.

        */ - RDSInstanceDetails?: RDSInstanceDetails; + ESInstanceDetails?: ESInstanceDetails; } export namespace InstanceDetails { @@ -2138,52 +2138,25 @@ export namespace InstanceDetails { *

        Details about your recommended reservation purchase.

        */ export interface ReservationPurchaseRecommendationDetail { - /** - *

        The average number of normalized units that you used in an hour during the - * historical period. AWS uses this to calculate your recommended reservation - * purchases.

        - */ - AverageNormalizedUnitsUsedPerHour?: string; - - /** - *

        The average number of instances that you used in an hour during the historical - * period. AWS uses this to calculate your recommended reservation purchases.

        - */ - AverageNumberOfInstancesUsedPerHour?: string; - - /** - *

        How much AWS estimates that you spend on On-Demand Instances in a month.

        - */ - EstimatedMonthlyOnDemandCost?: string; - - /** - *

        How much purchasing this instance costs you upfront.

        - */ - UpfrontCost?: string; - /** *

        The account that this RI recommendation is for.

        */ AccountId?: string; /** - *

        The currency code that AWS used to calculate the costs for this instance.

        + *

        Details about the instances that AWS recommends that you purchase.

        */ - CurrencyCode?: string; + InstanceDetails?: InstanceDetails; /** - *

        How much AWS estimates that this specific recommendation could save you in a - * month.

        + *

        The number of instances that AWS recommends that you purchase.

        */ - EstimatedMonthlySavingsAmount?: string; + RecommendedNumberOfInstancesToPurchase?: string; /** - *

        How much AWS estimates that you would have spent for all usage during the specified - * historical period if you had - * a - * reservation.

        + *

        The number of normalized units that AWS recommends that you purchase.

        */ - EstimatedReservationCostForLookbackPeriod?: string; + RecommendedNormalizedUnitsToPurchase?: string; /** *

        The minimum number of instances that you used in an hour during the historical @@ -2191,6 +2164,13 @@ export interface ReservationPurchaseRecommendationDetail { */ MinimumNumberOfInstancesUsedPerHour?: string; + /** + *

        The minimum number of normalized units that you used in an hour during the + * historical period. AWS uses this to calculate your recommended reservation + * purchases.

        + */ + MinimumNormalizedUnitsUsedPerHour?: string; + /** *

        The maximum number of instances that you used in an hour during the historical * period. AWS uses this to calculate your recommended reservation purchases.

        @@ -2198,21 +2178,24 @@ export interface ReservationPurchaseRecommendationDetail { MaximumNumberOfInstancesUsedPerHour?: string; /** - *

        The number of normalized units that AWS recommends that you purchase.

        + *

        The maximum number of normalized units that you used in an hour during the + * historical period. AWS uses this to calculate your recommended reservation + * purchases.

        */ - RecommendedNormalizedUnitsToPurchase?: string; + MaximumNormalizedUnitsUsedPerHour?: string; /** - *

        The number of instances that AWS recommends that you purchase.

        + *

        The average number of instances that you used in an hour during the historical + * period. AWS uses this to calculate your recommended reservation purchases.

        */ - RecommendedNumberOfInstancesToPurchase?: string; + AverageNumberOfInstancesUsedPerHour?: string; /** - *

        The minimum number of normalized units that you used in an hour during the + *

        The average number of normalized units that you used in an hour during the * historical period. AWS uses this to calculate your recommended reservation * purchases.

        */ - MinimumNormalizedUnitsUsedPerHour?: string; + AverageNormalizedUnitsUsedPerHour?: string; /** *

        The average utilization of your instances. AWS uses this to calculate your @@ -2221,21 +2204,21 @@ export interface ReservationPurchaseRecommendationDetail { AverageUtilization?: string; /** - *

        How much purchasing this instance costs you on a monthly basis.

        + *

        How long AWS estimates that it takes for this instance to start saving you money, + * in months.

        */ - RecurringStandardMonthlyCost?: string; + EstimatedBreakEvenInMonths?: string; /** - *

        The maximum number of normalized units that you used in an hour during the - * historical period. AWS uses this to calculate your recommended reservation - * purchases.

        + *

        The currency code that AWS used to calculate the costs for this instance.

        */ - MaximumNormalizedUnitsUsedPerHour?: string; + CurrencyCode?: string; /** - *

        Details about the instances that AWS recommends that you purchase.

        + *

        How much AWS estimates that this specific recommendation could save you in a + * month.

        */ - InstanceDetails?: InstanceDetails; + EstimatedMonthlySavingsAmount?: string; /** *

        How much AWS estimates that this specific recommendation could save you in a month, @@ -2244,10 +2227,27 @@ export interface ReservationPurchaseRecommendationDetail { EstimatedMonthlySavingsPercentage?: string; /** - *

        How long AWS estimates that it takes for this instance to start saving you money, - * in months.

        + *

        How much AWS estimates that you spend on On-Demand Instances in a month.

        */ - EstimatedBreakEvenInMonths?: string; + EstimatedMonthlyOnDemandCost?: string; + + /** + *

        How much AWS estimates that you would have spent for all usage during the specified + * historical period if you had + * a + * reservation.

        + */ + EstimatedReservationCostForLookbackPeriod?: string; + + /** + *

        How much purchasing this instance costs you upfront.

        + */ + UpfrontCost?: string; + + /** + *

        How much purchasing this instance costs you on a monthly basis.

        + */ + RecurringStandardMonthlyCost?: string; } export namespace ReservationPurchaseRecommendationDetail { @@ -2264,15 +2264,15 @@ export namespace ReservationPurchaseRecommendationDetail { export interface ReservationPurchaseRecommendationSummary { /** *

        The total amount that AWS estimates that this recommendation could save you in a - * month, as a percentage of your costs.

        + * month.

        */ - TotalEstimatedMonthlySavingsPercentage?: string; + TotalEstimatedMonthlySavingsAmount?: string; /** *

        The total amount that AWS estimates that this recommendation could save you in a - * month.

        + * month, as a percentage of your costs.

        */ - TotalEstimatedMonthlySavingsAmount?: string; + TotalEstimatedMonthlySavingsPercentage?: string; /** *

        The currency code used for this recommendation.

        @@ -2291,15 +2291,11 @@ export namespace ReservationPurchaseRecommendationSummary { */ export interface ReservationPurchaseRecommendation { /** - *

        Hardware specifications for the service that you want recommendations - * for.

        - */ - ServiceSpecification?: ServiceSpecification; - - /** - *

        Details about the recommended purchases.

        + *

        The account scope that AWS recommends that you purchase this instance for. For + * example, you can purchase this reservation for an entire organization in AWS + * Organizations.

        */ - RecommendationDetails?: ReservationPurchaseRecommendationDetail[]; + AccountScope?: AccountScope | string; /** *

        How many days of previous usage that AWS considers when making this @@ -2307,6 +2303,11 @@ export interface ReservationPurchaseRecommendation { */ LookbackPeriodInDays?: LookbackPeriodInDays | string; + /** + *

        The term of the reservation that you want recommendations for, in years.

        + */ + TermInYears?: TermInYears | string; + /** *

        The payment option for the reservation. For example, AllUpfront or * NoUpfront.

        @@ -2314,16 +2315,15 @@ export interface ReservationPurchaseRecommendation { PaymentOption?: PaymentOption | string; /** - *

        The term of the reservation that you want recommendations for, in years.

        + *

        Hardware specifications for the service that you want recommendations + * for.

        */ - TermInYears?: TermInYears | string; + ServiceSpecification?: ServiceSpecification; /** - *

        The account scope that AWS recommends that you purchase this instance for. For - * example, you can purchase this reservation for an entire organization in AWS - * Organizations.

        + *

        Details about the recommended purchases.

        */ - AccountScope?: AccountScope | string; + RecommendationDetails?: ReservationPurchaseRecommendationDetail[]; /** *

        A summary about the recommended purchase.

        @@ -2344,14 +2344,14 @@ export interface GetReservationPurchaseRecommendationResponse { Metadata?: ReservationPurchaseRecommendationMetadata; /** - *

        The pagination token for the next set of retrievable results.

        + *

        Recommendations for reservations to purchase.

        */ - NextPageToken?: string; + Recommendations?: ReservationPurchaseRecommendation[]; /** - *

        Recommendations for reservations to purchase.

        + *

        The pagination token for the next set of retrievable results.

        */ - Recommendations?: ReservationPurchaseRecommendation[]; + NextPageToken?: string; } export namespace GetReservationPurchaseRecommendationResponse { @@ -2365,16 +2365,9 @@ export namespace GetReservationPurchaseRecommendationResponse { */ export interface ReservationAggregates { /** - *

        The total number of Amazon EC2 reservation hours that you used, converted to normalized - * units. Normalized units are available only for Amazon EC2 usage after November 11, - * 2017.

        - */ - TotalActualUnits?: string; - - /** - *

        How many reservation hours that you purchased.

        + *

        The percentage of reservation time that you used.

        */ - PurchasedHours?: string; + UtilizationPercentage?: string; /** *

        The percentage of Amazon EC2 reservation time that you used, converted to normalized @@ -2383,6 +2376,11 @@ export interface ReservationAggregates { */ UtilizationPercentageInUnits?: string; + /** + *

        How many reservation hours that you purchased.

        + */ + PurchasedHours?: string; + /** *

        How many Amazon EC2 reservation hours that you purchased, converted to normalized units. * Normalized units are available only for Amazon EC2 usage after November 11, 2017.

        @@ -2390,15 +2388,16 @@ export interface ReservationAggregates { PurchasedUnits?: string; /** - *

        The total cost of your reservation, amortized over the reservation - * period.

        + *

        The total number of reservation hours that you used.

        */ - TotalAmortizedFee?: string; + TotalActualHours?: string; /** - *

        The total number of reservation hours that you used.

        + *

        The total number of Amazon EC2 reservation hours that you used, converted to normalized + * units. Normalized units are available only for Amazon EC2 usage after November 11, + * 2017.

        */ - TotalActualHours?: string; + TotalActualUnits?: string; /** *

        The number of reservation hours that you didn't use.

        @@ -2406,27 +2405,34 @@ export interface ReservationAggregates { UnusedHours?: string; /** - *

        The upfront cost of your reservation, amortized over the reservation - * period.

        + *

        The number of Amazon EC2 reservation hours that you didn't use, converted to normalized + * units. Normalized units are available only for Amazon EC2 usage after November 11, + * 2017.

        */ - AmortizedUpfrontFee?: string; + UnusedUnits?: string; /** *

        How much your reservation would cost if charged On-Demand rates.

        */ OnDemandCostOfRIHoursUsed?: string; + /** + *

        How much you saved due to purchasing and utilizing reservation. AWS calculates this + * by subtracting TotalAmortizedFee from + * OnDemandCostOfRIHoursUsed.

        + */ + NetRISavings?: string; + /** *

        How much you could save if you use your entire reservation.

        */ TotalPotentialRISavings?: string; /** - *

        The number of Amazon EC2 reservation hours that you didn't use, converted to normalized - * units. Normalized units are available only for Amazon EC2 usage after November 11, - * 2017.

        + *

        The upfront cost of your reservation, amortized over the reservation + * period.

        */ - UnusedUnits?: string; + AmortizedUpfrontFee?: string; /** *

        The monthly cost of your reservation, amortized over the reservation @@ -2435,16 +2441,10 @@ export interface ReservationAggregates { AmortizedRecurringFee?: string; /** - *

        How much you saved due to purchasing and utilizing reservation. AWS calculates this - * by subtracting TotalAmortizedFee from - * OnDemandCostOfRIHoursUsed.

        - */ - NetRISavings?: string; - - /** - *

        The percentage of reservation time that you used.

        + *

        The total cost of your reservation, amortized over the reservation + * period.

        */ - UtilizationPercentage?: string; + TotalAmortizedFee?: string; } export namespace ReservationAggregates { @@ -2457,6 +2457,11 @@ export namespace ReservationAggregates { *

        A group of reservations that share a set of attributes.

        */ export interface ReservationUtilizationGroup { + /** + *

        The key for a specific reservation attribute.

        + */ + Key?: string; + /** *

        The value of a specific reservation attribute.

        */ @@ -2471,11 +2476,6 @@ export interface ReservationUtilizationGroup { *

        How much you used this group of reservations.

        */ Utilization?: ReservationAggregates; - - /** - *

        The key for a specific reservation attribute.

        - */ - Key?: string; } export namespace ReservationUtilizationGroup { @@ -2488,6 +2488,11 @@ export namespace ReservationUtilizationGroup { *

        The amount of utilization, in hours.

        */ export interface UtilizationByTime { + /** + *

        The period of time that this utilization was used for.

        + */ + TimePeriod?: DateInterval; + /** *

        The groups that this utilization result uses.

        */ @@ -2497,11 +2502,6 @@ export interface UtilizationByTime { *

        The total number of reservation hours that were used.

        */ Total?: ReservationAggregates; - - /** - *

        The period of time that this utilization was used for.

        - */ - TimePeriod?: DateInterval; } export namespace UtilizationByTime { @@ -2571,12 +2571,6 @@ export namespace RightsizingRecommendationConfiguration { *

        Metadata for this recommendation set.

        */ export interface RightsizingRecommendationMetadata { - /** - *

        How many days of previous usage that AWS considers when making this - * recommendation.

        - */ - LookbackPeriodInDays?: LookbackPeriodInDays | string; - /** *

        The ID for this specific recommendation.

        */ @@ -2586,6 +2580,12 @@ export interface RightsizingRecommendationMetadata { *

        The timestamp for when AWS made this recommendation.

        */ GenerationTimestamp?: string; + + /** + *

        How many days of previous usage that AWS considers when making this + * recommendation.

        + */ + LookbackPeriodInDays?: LookbackPeriodInDays | string; } export namespace RightsizingRecommendationMetadata { @@ -2599,9 +2599,9 @@ export namespace RightsizingRecommendationMetadata { */ export interface EC2ResourceDetails { /** - *

        The disk storage of the AWS instance (not EBS storage).

        + *

        Hourly public On-Demand rate for the instance type.

        */ - Storage?: string; + HourlyOnDemandRate?: string; /** *

        The type of AWS instance.

        @@ -2609,14 +2609,15 @@ export interface EC2ResourceDetails { InstanceType?: string; /** - *

        The AWS Region of the instance.

        + *

        The platform of the AWS instance. The platform is the specific combination of + * operating system, license model, and software on an instance.

        */ - Region?: string; + Platform?: string; /** - *

        Network performance capacity of the AWS instance.

        + *

        The AWS Region of the instance.

        */ - NetworkPerformance?: string; + Region?: string; /** *

        The SKU of the product.

        @@ -2624,25 +2625,24 @@ export interface EC2ResourceDetails { Sku?: string; /** - *

        Number of VCPU cores in the AWS instance type.

        + *

        Memory capacity of the AWS instance.

        */ - Vcpu?: string; + Memory?: string; /** - *

        The platform of the AWS instance. The platform is the specific combination of - * operating system, license model, and software on an instance.

        + *

        Network performance capacity of the AWS instance.

        */ - Platform?: string; + NetworkPerformance?: string; /** - *

        Hourly public On-Demand rate for the instance type.

        + *

        The disk storage of the AWS instance (not EBS storage).

        */ - HourlyOnDemandRate?: string; + Storage?: string; /** - *

        Memory capacity of the AWS instance.

        + *

        Number of VCPU cores in the AWS instance type.

        */ - Memory?: string; + Vcpu?: string; } export namespace EC2ResourceDetails { @@ -2675,10 +2675,10 @@ export namespace ResourceDetails { export interface EBSResourceUtilization { /** *

        - * The maximum size of write operations per second. + * The maximum number of read operations per second. *

        */ - EbsWriteBytesPerSecond?: string; + EbsReadOpsPerSecond?: string; /** *

        @@ -2689,17 +2689,17 @@ export interface EBSResourceUtilization { /** *

        - * The maximum number of read operations per second. + * The maximum size of read operations per second *

        */ - EbsReadOpsPerSecond?: string; + EbsReadBytesPerSecond?: string; /** *

        - * The maximum size of read operations per second + * The maximum size of write operations per second. *

        */ - EbsReadBytesPerSecond?: string; + EbsWriteBytesPerSecond?: string; } export namespace EBSResourceUtilization { @@ -2713,26 +2713,26 @@ export namespace EBSResourceUtilization { */ export interface EC2ResourceUtilization { /** - *

        Maximum observed or expected storage utilization of the instance (does not measure EBS storage).

        + *

        Maximum observed or expected CPU utilization of the instance.

        */ - MaxStorageUtilizationPercentage?: string; + MaxCpuUtilizationPercentage?: string; /** - *

        - * The EBS field that contains a list of EBS metrics associated with the current instance. - *

        + *

        Maximum observed or expected memory utilization of the instance.

        */ - EBSResourceUtilization?: EBSResourceUtilization; + MaxMemoryUtilizationPercentage?: string; /** - *

        Maximum observed or expected CPU utilization of the instance.

        + *

        Maximum observed or expected storage utilization of the instance (does not measure EBS storage).

        */ - MaxCpuUtilizationPercentage?: string; + MaxStorageUtilizationPercentage?: string; /** - *

        Maximum observed or expected memory utilization of the instance.

        + *

        + * The EBS field that contains a list of EBS metrics associated with the current instance. + *

        */ - MaxMemoryUtilizationPercentage?: string; + EBSResourceUtilization?: EBSResourceUtilization; } export namespace EC2ResourceUtilization { @@ -2761,35 +2761,30 @@ export namespace ResourceUtilization { *

        Context about the current instance.

        */ export interface CurrentInstance { - /** - *

        Current On-Demand cost of operating this instance on a monthly basis.

        - */ - MonthlyCost?: string; - /** *

        Resource ID of the current instance.

        */ ResourceId?: string; /** - *

        The total number of hours the instance ran during the lookback period.

        + *

        The name you've given an instance. This field will show as blank if you haven't given the instance a name.

        */ - TotalRunningHoursInLookbackPeriod?: string; + InstanceName?: string; /** - *

        The currency code that AWS used to calculate the costs for this instance.

        + *

        Cost allocation resource tags applied to the instance.

        */ - CurrencyCode?: string; + Tags?: TagValues[]; /** - *

        The name you've given an instance. This field will show as blank if you haven't given the instance a name.

        + *

        Details about the resource and utilization.

        */ - InstanceName?: string; + ResourceDetails?: ResourceDetails; /** - *

        Number of hours during the lookback period billed at On-Demand rates.

        + *

        Utilization information of the current instance during the lookback period.

        */ - OnDemandHoursInLookbackPeriod?: string; + ResourceUtilization?: ResourceUtilization; /** *

        Number of hours during the lookback period covered by reservations.

        @@ -2797,24 +2792,29 @@ export interface CurrentInstance { ReservationCoveredHoursInLookbackPeriod?: string; /** - *

        Cost allocation resource tags applied to the instance.

        + *

        Number of hours during the lookback period covered by Savings Plans.

        */ - Tags?: TagValues[]; + SavingsPlansCoveredHoursInLookbackPeriod?: string; /** - *

        Number of hours during the lookback period covered by Savings Plans.

        + *

        Number of hours during the lookback period billed at On-Demand rates.

        */ - SavingsPlansCoveredHoursInLookbackPeriod?: string; + OnDemandHoursInLookbackPeriod?: string; /** - *

        Utilization information of the current instance during the lookback period.

        + *

        The total number of hours the instance ran during the lookback period.

        */ - ResourceUtilization?: ResourceUtilization; + TotalRunningHoursInLookbackPeriod?: string; /** - *

        Details about the resource and utilization.

        + *

        Current On-Demand cost of operating this instance on a monthly basis.

        */ - ResourceDetails?: ResourceDetails; + MonthlyCost?: string; + + /** + *

        The currency code that AWS used to calculate the costs for this instance.

        + */ + CurrencyCode?: string; } export namespace CurrentInstance { @@ -2828,34 +2828,34 @@ export namespace CurrentInstance { */ export interface TargetInstance { /** - *

        Indicates whether this recommendation is the defaulted AWS recommendation.

        + *

        Expected cost to operate this instance type on a monthly basis.

        */ - DefaultTargetInstance?: boolean; + EstimatedMonthlyCost?: string; /** - *

        Details on the target instance type.

        + *

        Estimated savings resulting from modification, on a monthly basis.

        */ - ResourceDetails?: ResourceDetails; + EstimatedMonthlySavings?: string; /** - *

        Expected utilization metrics for target instance type.

        + *

        The currency code that AWS used to calculate the costs for this instance.

        */ - ExpectedResourceUtilization?: ResourceUtilization; + CurrencyCode?: string; /** - *

        Estimated savings resulting from modification, on a monthly basis.

        + *

        Indicates whether this recommendation is the defaulted AWS recommendation.

        */ - EstimatedMonthlySavings?: string; + DefaultTargetInstance?: boolean; /** - *

        The currency code that AWS used to calculate the costs for this instance.

        + *

        Details on the target instance type.

        */ - CurrencyCode?: string; + ResourceDetails?: ResourceDetails; /** - *

        Expected cost to operate this instance type on a monthly basis.

        + *

        Expected utilization metrics for target instance type.

        */ - EstimatedMonthlyCost?: string; + ExpectedResourceUtilization?: ResourceUtilization; } export namespace TargetInstance { @@ -2890,14 +2890,14 @@ export enum RightsizingType { */ export interface TerminateRecommendationDetail { /** - *

        The currency code that AWS used to calculate the costs for this instance.

        + *

        Estimated savings resulting from modification, on a monthly basis.

        */ - CurrencyCode?: string; + EstimatedMonthlySavings?: string; /** - *

        Estimated savings resulting from modification, on a monthly basis.

        + *

        The currency code that AWS used to calculate the costs for this instance.

        */ - EstimatedMonthlySavings?: string; + CurrencyCode?: string; } export namespace TerminateRecommendationDetail { @@ -2910,16 +2910,6 @@ export namespace TerminateRecommendationDetail { *

        Recommendations to rightsize resources.

        */ export interface RightsizingRecommendation { - /** - *

        Recommendation to either terminate or modify the resource.

        - */ - RightsizingType?: RightsizingType | string; - - /** - *

        Details for termination recommendations.

        - */ - TerminateRecommendationDetail?: TerminateRecommendationDetail; - /** *

        The account that this recommendation is for.

        */ @@ -2930,10 +2920,20 @@ export interface RightsizingRecommendation { */ CurrentInstance?: CurrentInstance; + /** + *

        Recommendation to either terminate or modify the resource.

        + */ + RightsizingType?: RightsizingType | string; + /** *

        Details for modification recommendations.

        */ ModifyRecommendationDetail?: ModifyRecommendationDetail; + + /** + *

        Details for termination recommendations.

        + */ + TerminateRecommendationDetail?: TerminateRecommendationDetail; } export namespace RightsizingRecommendation { @@ -2952,14 +2952,14 @@ export interface RightsizingRecommendationSummary { TotalRecommendationCount?: string; /** - *

        The currency code that AWS used to calculate the savings.

        + *

        Estimated total savings resulting from modifications, on a monthly basis.

        */ - SavingsCurrencyCode?: string; + EstimatedTotalMonthlySavingsAmount?: string; /** - *

        Estimated total savings resulting from modifications, on a monthly basis.

        + *

        The currency code that AWS used to calculate the savings.

        */ - EstimatedTotalMonthlySavingsAmount?: string; + SavingsCurrencyCode?: string; /** *

        Savings percentage based on the recommended modifications, relative to the total @@ -2987,14 +2987,14 @@ export interface GetRightsizingRecommendationResponse { Summary?: RightsizingRecommendationSummary; /** - *

        The token to retrieve the next set of results.

        + *

        Recommendations to rightsize resources.

        */ - NextPageToken?: string; + RightsizingRecommendations?: RightsizingRecommendation[]; /** - *

        Recommendations to rightsize resources.

        + *

        The token to retrieve the next set of results.

        */ - RightsizingRecommendations?: RightsizingRecommendation[]; + NextPageToken?: string; /** *

        Enables you to customize recommendations across two attributes. You can choose to view @@ -3016,26 +3016,26 @@ export namespace GetRightsizingRecommendationResponse { *

        Specific coverage percentage, On-Demand costs, and spend covered by Savings Plans, and total Savings Plans costs for an account.

        */ export interface SavingsPlansCoverageData { + /** + *

        The amount of your AWS usage that is covered by a Savings Plans.

        + */ + SpendCoveredBySavingsPlans?: string; + /** *

        The cost of your AWS usage at the public On-Demand rate.

        */ OnDemandCost?: string; /** - *

        The amount of your AWS usage that is covered by a Savings Plans.

        + *

        The total cost of your AWS usage, regardless of your purchase option.

        */ - SpendCoveredBySavingsPlans?: string; + TotalCost?: string; /** *

        The percentage of your existing Savings Plans covered usage, divided by all of your * eligible Savings Plans usage in an account(or set of accounts).

        */ CoveragePercentage?: string; - - /** - *

        The total cost of your AWS usage, regardless of your purchase option.

        - */ - TotalCost?: string; } export namespace SavingsPlansCoverageData { @@ -3048,12 +3048,6 @@ export namespace SavingsPlansCoverageData { *

        The amount of Savings Plans eligible usage that is covered by Savings Plans. All calculations consider the On-Demand equivalent of your Savings Plans usage.

        */ export interface SavingsPlansCoverage { - /** - *

        The time period that you want the usage and costs for. - *

        - */ - TimePeriod?: DateInterval; - /** *

        The attribute that applies to a specific Dimension.

        */ @@ -3063,6 +3057,12 @@ export interface SavingsPlansCoverage { *

        The amount of Savings Plans eligible usage that the Savings Plans covered.

        */ Coverage?: SavingsPlansCoverageData; + + /** + *

        The time period that you want the usage and costs for. + *

        + */ + TimePeriod?: DateInterval; } export namespace SavingsPlansCoverage { @@ -3073,14 +3073,14 @@ export namespace SavingsPlansCoverage { export interface GetSavingsPlansCoverageResponse { /** - *

        The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

        + *

        The amount of spend that your Savings Plans covered.

        */ - NextToken?: string; + SavingsPlansCoverages: SavingsPlansCoverage[] | undefined; /** - *

        The amount of spend that your Savings Plans covered.

        + *

        The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

        */ - SavingsPlansCoverages: SavingsPlansCoverage[] | undefined; + NextToken?: string; } export namespace GetSavingsPlansCoverageResponse { @@ -3098,15 +3098,20 @@ export enum SupportedSavingsPlansType { *

        Metadata about your Savings Plans Purchase Recommendations.

        */ export interface SavingsPlansPurchaseRecommendationMetadata { + /** + *

        The unique identifier for the recommendation set.

        + */ + RecommendationId?: string; + /** *

        The timestamp showing when the recommendations were generated.

        */ GenerationTimestamp?: string; /** - *

        The unique identifier for the recommendation set.

        + *

        Additional metadata that may be applicable to the recommendation.

        */ - RecommendationId?: string; + AdditionalMetadata?: string; } export namespace SavingsPlansPurchaseRecommendationMetadata { @@ -3119,11 +3124,6 @@ export namespace SavingsPlansPurchaseRecommendationMetadata { *

        Attribute details on a specific Savings Plan.

        */ export interface SavingsPlansDetails { - /** - *

        The unique ID used to distinguish Savings Plans from one another.

        - */ - OfferingId?: string; - /** *

        A collection of AWS resources in a geographic area. Each AWS Region is isolated and independent of the other Regions.

        */ @@ -3133,6 +3133,11 @@ export interface SavingsPlansDetails { *

        A group of instance types that Savings Plans applies to.

        */ InstanceFamily?: string; + + /** + *

        The unique ID used to distinguish Savings Plans from one another.

        + */ + OfferingId?: string; } export namespace SavingsPlansDetails { @@ -3146,26 +3151,24 @@ export namespace SavingsPlansDetails { */ export interface SavingsPlansPurchaseRecommendationDetail { /** - *

        The highest value of hourly On-Demand spend over the lookback period of the applicable usage type.

        + *

        Details for your recommended Savings Plans.

        */ - CurrentMaximumHourlyOnDemandSpend?: string; + SavingsPlansDetails?: SavingsPlansDetails; /** - *

        The lowest value of hourly On-Demand spend over the lookback period of the applicable usage type.

        + *

        The AccountID the recommendation is generated for.

        */ - CurrentMinimumHourlyOnDemandSpend?: string; + AccountId?: string; /** - *

        - * The estimated On-Demand costs you would expect with no additional commitment, based on your usage of the selected time period and the Savings Plans you own. - *

        + *

        The upfront cost of the recommended Savings Plans, based on the selected payment option.

        */ - EstimatedOnDemandCostWithCurrentCommitment?: string; + UpfrontCost?: string; /** - *

        The cost of the recommended Savings Plans over the length of the lookback period.

        + *

        The estimated return on investment based on the recommended Savings Plans purchased. This is calculated as estimatedSavingsAmount/ estimatedSPCost*100.

        */ - EstimatedSPCost?: string; + EstimatedROI?: string; /** *

        The currency code AWS used to generate the recommendations and present potential @@ -3174,59 +3177,61 @@ export interface SavingsPlansPurchaseRecommendationDetail { CurrencyCode?: string; /** - *

        The estimated savings percentage relative to the total cost of applicable On-Demand usage over the lookback period.

        + *

        The cost of the recommended Savings Plans over the length of the lookback period.

        */ - EstimatedSavingsPercentage?: string; + EstimatedSPCost?: string; /** - *

        The estimated return on investment based on the recommended Savings Plans purchased. This is calculated as estimatedSavingsAmount/ estimatedSPCost*100.

        + *

        The remaining On-Demand cost estimated to not be covered by the recommended Savings Plans, over the length of the lookback period.

        */ - EstimatedROI?: string; + EstimatedOnDemandCost?: string; /** - *

        The AccountID the recommendation is generated for.

        + *

        + * The estimated On-Demand costs you would expect with no additional commitment, based on your usage of the selected time period and the Savings Plans you own. + *

        */ - AccountId?: string; + EstimatedOnDemandCostWithCurrentCommitment?: string; /** - *

        The estimated monthly savings amount, based on the recommended Savings Plans.

        + *

        The estimated savings amount based on the recommended Savings Plans over the length of the lookback period.

        */ - EstimatedMonthlySavingsAmount?: string; + EstimatedSavingsAmount?: string; /** - *

        The average value of hourly On-Demand spend over the lookback period of the applicable usage type.

        + *

        The estimated savings percentage relative to the total cost of applicable On-Demand usage over the lookback period.

        */ - CurrentAverageHourlyOnDemandSpend?: string; + EstimatedSavingsPercentage?: string; /** - *

        The remaining On-Demand cost estimated to not be covered by the recommended Savings Plans, over the length of the lookback period.

        + *

        The recommended hourly commitment level for the Savings Plans type, and configuration based on the usage during the lookback period.

        */ - EstimatedOnDemandCost?: string; + HourlyCommitmentToPurchase?: string; /** - *

        The estimated savings amount based on the recommended Savings Plans over the length of the lookback period.

        + *

        The estimated utilization of the recommended Savings Plans.

        */ - EstimatedSavingsAmount?: string; + EstimatedAverageUtilization?: string; /** - *

        Details for your recommended Savings Plans.

        + *

        The estimated monthly savings amount, based on the recommended Savings Plans.

        */ - SavingsPlansDetails?: SavingsPlansDetails; + EstimatedMonthlySavingsAmount?: string; /** - *

        The estimated utilization of the recommended Savings Plans.

        + *

        The lowest value of hourly On-Demand spend over the lookback period of the applicable usage type.

        */ - EstimatedAverageUtilization?: string; + CurrentMinimumHourlyOnDemandSpend?: string; /** - *

        The upfront cost of the recommended Savings Plans, based on the selected payment option.

        + *

        The highest value of hourly On-Demand spend over the lookback period of the applicable usage type.

        */ - UpfrontCost?: string; + CurrentMaximumHourlyOnDemandSpend?: string; /** - *

        The recommended hourly commitment level for the Savings Plans type, and configuration based on the usage during the lookback period.

        + *

        The average value of hourly On-Demand spend over the lookback period of the applicable usage type.

        */ - HourlyCommitmentToPurchase?: string; + CurrentAverageHourlyOnDemandSpend?: string; } export namespace SavingsPlansPurchaseRecommendationDetail { @@ -3240,62 +3245,62 @@ export namespace SavingsPlansPurchaseRecommendationDetail { */ export interface SavingsPlansPurchaseRecommendationSummary { /** - *

        The current total on demand spend of the applicable usage types over the lookback period.

        + *

        The estimated return on investment based on the recommended Savings Plans and estimated savings.

        */ - CurrentOnDemandSpend?: string; + EstimatedROI?: string; /** - *

        The estimated total savings over the lookback period, based on the purchase of the recommended Savings Plans.

        + *

        The currency code AWS used to generate the recommendations and present potential + * savings.

        */ - EstimatedSavingsAmount?: string; + CurrencyCode?: string; /** - *

        - * The estimated On-Demand costs you would expect with no additional commitment, based on your usage of the selected time period and the Savings Plans you own. - *

        + *

        The estimated total cost of the usage after purchasing the recommended Savings Plans. This is a sum of the cost of Savings Plans during this term, and the remaining On-Demand usage.

        */ - EstimatedOnDemandCostWithCurrentCommitment?: string; + EstimatedTotalCost?: string; /** - *

        The currency code AWS used to generate the recommendations and present potential - * savings.

        + *

        The current total on demand spend of the applicable usage types over the lookback period.

        */ - CurrencyCode?: string; + CurrentOnDemandSpend?: string; /** - *

        The estimated savings relative to the total cost of On-Demand usage, over the lookback period. This is calculated as estimatedSavingsAmount/ CurrentOnDemandSpend*100.

        + *

        The estimated total savings over the lookback period, based on the purchase of the recommended Savings Plans.

        */ - EstimatedSavingsPercentage?: string; + EstimatedSavingsAmount?: string; /** - *

        The estimated monthly savings amount, based on the recommended Savings Plans purchase.

        + *

        The aggregate number of Savings Plans recommendations that exist for your account.

        */ - EstimatedMonthlySavingsAmount?: string; + TotalRecommendationCount?: string; /** - *

        The estimated total cost of the usage after purchasing the recommended Savings Plans. This is a sum of the cost of Savings Plans during this term, and the remaining On-Demand usage.

        + *

        The recommended Savings Plans cost on a daily (24 hourly) basis.

        */ - EstimatedTotalCost?: string; + DailyCommitmentToPurchase?: string; /** - *

        The recommended Savings Plans cost on a daily (24 hourly) basis.

        + *

        The recommended hourly commitment based on the recommendation parameters.

        */ - DailyCommitmentToPurchase?: string; + HourlyCommitmentToPurchase?: string; /** - *

        The estimated return on investment based on the recommended Savings Plans and estimated savings.

        + *

        The estimated savings relative to the total cost of On-Demand usage, over the lookback period. This is calculated as estimatedSavingsAmount/ CurrentOnDemandSpend*100.

        */ - EstimatedROI?: string; + EstimatedSavingsPercentage?: string; /** - *

        The aggregate number of Savings Plans recommendations that exist for your account.

        + *

        The estimated monthly savings amount, based on the recommended Savings Plans purchase.

        */ - TotalRecommendationCount?: string; + EstimatedMonthlySavingsAmount?: string; /** - *

        The recommended hourly commitment based on the recommendation parameters.

        + *

        + * The estimated On-Demand costs you would expect with no additional commitment, based on your usage of the selected time period and the Savings Plans you own. + *

        */ - HourlyCommitmentToPurchase?: string; + EstimatedOnDemandCostWithCurrentCommitment?: string; } export namespace SavingsPlansPurchaseRecommendationSummary { @@ -3309,25 +3314,24 @@ export namespace SavingsPlansPurchaseRecommendationSummary { */ export interface SavingsPlansPurchaseRecommendation { /** - *

        The payment option used to generate the recommendation.

        + *

        The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the management account and member accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual member accounts only.

        */ - PaymentOption?: PaymentOption | string; + AccountScope?: AccountScope | string; /** - *

        The Savings Plans recommendation term in years, used to generate the recommendation.

        + *

        The requested Savings Plans recommendation type.

        */ - TermInYears?: TermInYears | string; + SavingsPlansType?: SupportedSavingsPlansType | string; /** - *

        Summary metrics for your Savings Plans Recommendations.

        + *

        The Savings Plans recommendation term in years, used to generate the recommendation.

        */ - SavingsPlansPurchaseRecommendationSummary?: SavingsPlansPurchaseRecommendationSummary; + TermInYears?: TermInYears | string; /** - *

        Details for the Savings Plans we recommend that you purchase to cover existing Savings - * Plans eligible workloads.

        + *

        The payment option used to generate the recommendation.

        */ - SavingsPlansPurchaseRecommendationDetails?: SavingsPlansPurchaseRecommendationDetail[]; + PaymentOption?: PaymentOption | string; /** *

        The lookback period in days, used to generate the recommendation.

        @@ -3335,14 +3339,15 @@ export interface SavingsPlansPurchaseRecommendation { LookbackPeriodInDays?: LookbackPeriodInDays | string; /** - *

        The requested Savings Plans recommendation type.

        + *

        Details for the Savings Plans we recommend that you purchase to cover existing Savings + * Plans eligible workloads.

        */ - SavingsPlansType?: SupportedSavingsPlansType | string; + SavingsPlansPurchaseRecommendationDetails?: SavingsPlansPurchaseRecommendationDetail[]; /** - *

        The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the master account and member accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual member accounts only.

        + *

        Summary metrics for your Savings Plans Recommendations.

        */ - AccountScope?: AccountScope | string; + SavingsPlansPurchaseRecommendationSummary?: SavingsPlansPurchaseRecommendationSummary; } export namespace SavingsPlansPurchaseRecommendation { @@ -3428,9 +3433,9 @@ export namespace SavingsPlansSavings { */ export interface SavingsPlansUtilization { /** - *

        The amount of your Savings Plans commitment that was not consumed from Savings Plans eligible usage in a specific period.

        + *

        The total amount of Savings Plans commitment that's been purchased in an account (or set of accounts).

        */ - UnusedCommitment?: string; + TotalCommitment?: string; /** *

        The amount of your Savings Plans commitment that was consumed from Savings Plans eligible usage in a specific period.

        @@ -3438,14 +3443,14 @@ export interface SavingsPlansUtilization { UsedCommitment?: string; /** - *

        The amount of UsedCommitment divided by the TotalCommitment for your Savings Plans.

        + *

        The amount of your Savings Plans commitment that was not consumed from Savings Plans eligible usage in a specific period.

        */ - UtilizationPercentage?: string; + UnusedCommitment?: string; /** - *

        The total amount of Savings Plans commitment that's been purchased in an account (or set of accounts).

        + *

        The amount of UsedCommitment divided by the TotalCommitment for your Savings Plans.

        */ - TotalCommitment?: string; + UtilizationPercentage?: string; } export namespace SavingsPlansUtilization { @@ -3458,6 +3463,12 @@ export namespace SavingsPlansUtilization { *

        The amount of Savings Plans utilization, in hours.

        */ export interface SavingsPlansUtilizationByTime { + /** + *

        The time period that you want the usage and costs for. + *

        + */ + TimePeriod: DateInterval | undefined; + /** *

        A ratio of your effectiveness of using existing Savings Plans to apply to workloads that are Savings Plans eligible.

        */ @@ -3468,12 +3479,6 @@ export interface SavingsPlansUtilizationByTime { */ Savings?: SavingsPlansSavings; - /** - *

        The time period that you want the usage and costs for. - *

        - */ - TimePeriod: DateInterval | undefined; - /** *

        The total amortized commitment for a Savings Plans. This includes the sum of the upfront and recurring Savings Plans fees.

        */ @@ -3490,6 +3495,11 @@ export namespace SavingsPlansUtilizationByTime { *

        The aggregated utilization metrics for your Savings Plans usage.

        */ export interface SavingsPlansUtilizationAggregates { + /** + *

        A ratio of your effectiveness of using existing Savings Plans to apply to workloads that are Savings Plans eligible.

        + */ + Utilization: SavingsPlansUtilization | undefined; + /** *

        The amount saved by using existing Savings Plans. Savings returns both net savings from Savings Plans, as well as the onDemandCostEquivalent of the Savings Plans when considering the utilization rate.

        */ @@ -3499,11 +3509,6 @@ export interface SavingsPlansUtilizationAggregates { *

        The total amortized commitment for a Savings Plans. This includes the sum of the upfront and recurring Savings Plans fees.

        */ AmortizedCommitment?: SavingsPlansAmortizedCommitment; - - /** - *

        A ratio of your effectiveness of using existing Savings Plans to apply to workloads that are Savings Plans eligible.

        - */ - Utilization: SavingsPlansUtilization | undefined; } export namespace SavingsPlansUtilizationAggregates { @@ -3531,7 +3536,7 @@ export namespace GetSavingsPlansUtilizationResponse { } /** - *

        A single daily or monthly Savings Plans utilization rate, and details for your account. A master account in an organization have access to member accounts. You can use GetDimensionValues to determine the possible dimension values.

        + *

        A single daily or monthly Savings Plans utilization rate, and details for your account. A management account in an organization have access to member accounts. You can use GetDimensionValues to determine the possible dimension values.

        */ export interface SavingsPlansUtilizationDetail { /** @@ -3540,9 +3545,9 @@ export interface SavingsPlansUtilizationDetail { SavingsPlanArn?: string; /** - *

        The amount saved by using existing Savings Plans. Savings returns both net savings from savings plans as well as the onDemandCostEquivalent of the Savings Plans when considering the utilization rate.

        + *

        The attribute that applies to a specific Dimension.

        */ - Savings?: SavingsPlansSavings; + Attributes?: { [key: string]: string }; /** *

        A ratio of your effectiveness of using existing Savings Plans to apply to workloads that are Savings Plans eligible.

        @@ -3550,14 +3555,14 @@ export interface SavingsPlansUtilizationDetail { Utilization?: SavingsPlansUtilization; /** - *

        The total amortized commitment for a Savings Plans. Includes the sum of the upfront and recurring Savings Plans fees.

        + *

        The amount saved by using existing Savings Plans. Savings returns both net savings from savings plans as well as the onDemandCostEquivalent of the Savings Plans when considering the utilization rate.

        */ - AmortizedCommitment?: SavingsPlansAmortizedCommitment; + Savings?: SavingsPlansSavings; /** - *

        The attribute that applies to a specific Dimension.

        + *

        The total amortized commitment for a Savings Plans. Includes the sum of the upfront and recurring Savings Plans fees.

        */ - Attributes?: { [key: string]: string }; + AmortizedCommitment?: SavingsPlansAmortizedCommitment; } export namespace SavingsPlansUtilizationDetail { @@ -3568,10 +3573,9 @@ export namespace SavingsPlansUtilizationDetail { export interface GetSavingsPlansUtilizationDetailsResponse { /** - *

        The time period that you want the usage and costs for. - *

        + *

        Retrieves a single daily or monthly Savings Plans utilization rate and details for your account.

        */ - TimePeriod: DateInterval | undefined; + SavingsPlansUtilizationDetails: SavingsPlansUtilizationDetail[] | undefined; /** *

        The total Savings Plans utilization, regardless of time period.

        @@ -3579,14 +3583,15 @@ export interface GetSavingsPlansUtilizationDetailsResponse { Total?: SavingsPlansUtilizationAggregates; /** - *

        The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

        + *

        The time period that you want the usage and costs for. + *

        */ - NextToken?: string; + TimePeriod: DateInterval | undefined; /** - *

        Retrieves a single daily or monthly Savings Plans utilization rate and details for your account.

        + *

        The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

        */ - SavingsPlansUtilizationDetails: SavingsPlansUtilizationDetail[] | undefined; + NextToken?: string; } export namespace GetSavingsPlansUtilizationDetailsResponse { @@ -3597,9 +3602,9 @@ export namespace GetSavingsPlansUtilizationDetailsResponse { export interface GetTagsRequest { /** - *

        The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

        + *

        The value that you want to search for.

        */ - NextPageToken?: string; + SearchString?: string; /** *

        The start and end dates for retrieving the dimension values. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is @@ -3613,9 +3618,9 @@ export interface GetTagsRequest { TagKey?: string; /** - *

        The value that you want to search for.

        + *

        The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

        */ - SearchString?: string; + NextPageToken?: string; } export namespace GetTagsRequest { @@ -3688,9 +3693,11 @@ export namespace UnresolvableUsageUnitException { export interface ListCostCategoryDefinitionsRequest { /** - *

        The number of entries a paginated response contains.

        + *

        + * The date when the Cost Category was effective. + *

        */ - MaxResults?: number; + EffectiveOn?: string; /** *

        @@ -3700,11 +3707,9 @@ export interface ListCostCategoryDefinitionsRequest { NextToken?: string; /** - *

        - * The date when the Cost Category was effective. - *

        + *

        The number of entries a paginated response contains.

        */ - EffectiveOn?: string; + MaxResults?: number; } export namespace ListCostCategoryDefinitionsRequest { @@ -3720,24 +3725,27 @@ export namespace ListCostCategoryDefinitionsRequest { export interface CostCategoryReference { /** *

        - * The list of processing statuses for Cost Management products for a specific cost category. + * The unique identifier for your Cost Category. *

        */ - ProcessingStatus?: CostCategoryProcessingStatus[]; + CostCategoryArn?: string; + + /** + *

        The unique name of the Cost Category.

        + */ + Name?: string; /** *

        - * The unique identifier for your Cost Category. - *

        + * The Cost Category's effective start date.

        */ - CostCategoryArn?: string; + EffectiveStart?: string; /** *

        - * A list of unique cost category values in a specific cost category. - *

        + * The Cost Category's effective end date.

        */ - Values?: string[]; + EffectiveEnd?: string; /** *

        @@ -3748,20 +3756,17 @@ export interface CostCategoryReference { /** *

        - * The Cost Category's effective end date.

        - */ - EffectiveEnd?: string; - - /** - *

        The unique name of the Cost Category.

        + * The list of processing statuses for Cost Management products for a specific cost category. + *

        */ - Name?: string; + ProcessingStatus?: CostCategoryProcessingStatus[]; /** *

        - * The Cost Category's effective start date.

        + * A list of unique cost category values in a specific cost category. + *

        */ - EffectiveStart?: string; + Values?: string[]; } export namespace CostCategoryReference { @@ -3828,17 +3833,17 @@ export namespace ProvideAnomalyFeedbackResponse { } export interface UpdateAnomalyMonitorRequest { + /** + *

        Cost anomaly monitor Amazon Resource Names (ARNs).

        + */ + MonitorArn: string | undefined; + /** *

        * The new name for the cost anomaly monitor. *

        */ MonitorName?: string; - - /** - *

        Cost anomaly monitor Amazon Resource Names (ARNs).

        - */ - MonitorArn: string | undefined; } export namespace UpdateAnomalyMonitorRequest { @@ -3864,37 +3869,37 @@ export namespace UpdateAnomalyMonitorResponse { export interface UpdateAnomalySubscriptionRequest { /** - *

        - * The update to the subscriber list. - *

        + *

        A cost anomaly subscription Amazon Resource Name (ARN).

        */ - Subscribers?: Subscriber[]; + SubscriptionArn: string | undefined; /** *

        - * A list of cost anomaly subscription ARNs. + * The update to the threshold value for receiving notifications. *

        */ - MonitorArnList?: string[]; + Threshold?: number; /** - *

        A cost anomaly subscription Amazon Resource Name (ARN).

        + *

        + * The update to the frequency value at which subscribers will receive notifications. + *

        */ - SubscriptionArn: string | undefined; + Frequency?: AnomalySubscriptionFrequency | string; /** *

        - * The update to the frequency value at which subscribers will receive notifications. + * A list of cost anomaly subscription ARNs. *

        */ - Frequency?: AnomalySubscriptionFrequency | string; + MonitorArnList?: string[]; /** *

        - * The update to the threshold value for receiving notifications. + * The update to the subscriber list. *

        */ - Threshold?: number; + Subscribers?: Subscriber[]; /** *

        @@ -4002,15 +4007,20 @@ export namespace UpdateCostCategoryDefinitionResponse { */ export interface Expression { /** - *

        The filter based on CostCategory values.

        + *

        Return results that match either Dimension object.

        */ - CostCategories?: CostCategoryValues; + Or?: Expression[]; /** *

        Return results that match both Dimension objects.

        */ And?: Expression[]; + /** + *

        Return results that don't match a Dimension object.

        + */ + Not?: Expression; + /** *

        The specific Dimension to use for Expression.

        */ @@ -4022,14 +4032,9 @@ export interface Expression { Tags?: TagValues; /** - *

        Return results that don't match a Dimension object.

        - */ - Not?: Expression; - - /** - *

        Return results that match either Dimension object.

        + *

        The filter based on CostCategory values.

        */ - Or?: Expression[]; + CostCategories?: CostCategoryValues; } export namespace Expression { @@ -4044,6 +4049,11 @@ export namespace Expression { * of detailed metadata and the current status of the monitor object.

        */ export interface AnomalyMonitor { + /** + *

        The Amazon Resource Name (ARN) value.

        + */ + MonitorArn?: string; + /** *

        * The name of the monitor. @@ -4051,6 +4061,41 @@ export interface AnomalyMonitor { */ MonitorName: string | undefined; + /** + *

        + * The date when the monitor was created. + *

        + */ + CreationDate?: string; + + /** + *

        + * The date when the monitor was last updated. + *

        + */ + LastUpdatedDate?: string; + + /** + *

        + * The date when the monitor last evaluated for anomalies. + *

        + */ + LastEvaluatedDate?: string; + + /** + *

        + * The possible type values. + *

        + */ + MonitorType: MonitorType | string | undefined; + + /** + *

        + * The dimensions to evaluate. + *

        + */ + MonitorDimension?: MonitorDimension | string; + /** *

        Use Expression to filter by cost or by usage. There are two patterns:

        *
          @@ -4106,52 +4151,12 @@ export interface AnomalyMonitor { */ MonitorSpecification?: Expression; - /** - *

          - * The possible type values. - *

          - */ - MonitorType: MonitorType | string | undefined; - - /** - *

          - * The dimensions to evaluate. - *

          - */ - MonitorDimension?: MonitorDimension | string; - - /** - *

          - * The date when the monitor last evaluated for anomalies. - *

          - */ - LastEvaluatedDate?: string; - - /** - *

          - * The date when the monitor was last updated. - *

          - */ - LastUpdatedDate?: string; - /** *

          * The value for evaluated dimensions. *

          */ DimensionalValueCount?: number; - - /** - *

          The Amazon Resource Name (ARN) value.

          - */ - MonitorArn?: string; - - /** - *

          - * The date when the monitor was created. - *

          - */ - CreationDate?: string; } export namespace AnomalyMonitor { @@ -4195,6 +4200,26 @@ export namespace CostCategoryRule { } export interface GetCostAndUsageRequest { + /** + *

          Sets the start and end dates for retrieving AWS costs. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is + * retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

          + */ + TimePeriod: DateInterval | undefined; + + /** + *

          Sets the AWS cost granularity to MONTHLY or DAILY, or HOURLY. If Granularity isn't set, + * the response object doesn't include the Granularity, either MONTHLY or DAILY, or HOURLY.

          + */ + Granularity?: Granularity | string; + + /** + *

          Filters AWS costs by different dimensions. For example, you can specify SERVICE and LINKED_ACCOUNT + * and get the costs that are associated with that account's usage of that service. You can nest Expression objects + * to define any combination of dimension filters. For more information, see + * Expression.

          + */ + Filter?: Expression; + /** *

          Which metrics are returned in the query. For more information about blended and unblended rates, see * Why does the "blended" annotation @@ -4223,26 +4248,6 @@ export interface GetCostAndUsageRequest { */ GroupBy?: GroupDefinition[]; - /** - *

          Sets the AWS cost granularity to MONTHLY or DAILY, or HOURLY. If Granularity isn't set, - * the response object doesn't include the Granularity, either MONTHLY or DAILY, or HOURLY.

          - */ - Granularity?: Granularity | string; - - /** - *

          Filters AWS costs by different dimensions. For example, you can specify SERVICE and LINKED_ACCOUNT - * and get the costs that are associated with that account's usage of that service. You can nest Expression objects - * to define any combination of dimension filters. For more information, see - * Expression.

          - */ - Filter?: Expression; - - /** - *

          Sets the start and end dates for retrieving AWS costs. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is - * retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

          - */ - TimePeriod: DateInterval | undefined; - /** *

          The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

          */ @@ -4256,6 +4261,19 @@ export namespace GetCostAndUsageRequest { } export interface GetCostAndUsageWithResourcesRequest { + /** + *

          Sets the start and end dates for retrieving Amazon Web Services costs. The range must be within the last 14 days (the start date cannot be earlier than 14 days ago). The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is + * retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

          + */ + TimePeriod: DateInterval | undefined; + + /** + *

          Sets the AWS cost granularity to MONTHLY, DAILY, or HOURLY. If + * Granularity isn't set, the response object doesn't include the + * Granularity, MONTHLY, DAILY, or HOURLY.

          + */ + Granularity?: Granularity | string; + /** *

          Filters Amazon Web Services costs by different dimensions. For example, you can specify * SERVICE and LINKED_ACCOUNT and get the costs that are associated @@ -4265,14 +4283,7 @@ export interface GetCostAndUsageWithResourcesRequest { * ResourceId. It requires the Expression * "SERVICE = Amazon Elastic Compute Cloud - Compute" in the filter.

          */ - Filter: Expression | undefined; - - /** - *

          Sets the AWS cost granularity to MONTHLY, DAILY, or HOURLY. If - * Granularity isn't set, the response object doesn't include the - * Granularity, MONTHLY, DAILY, or HOURLY.

          - */ - Granularity?: Granularity | string; + Filter: Expression | undefined; /** *

          Which metrics are returned in the query. For more information about blended and @@ -4296,20 +4307,14 @@ export interface GetCostAndUsageWithResourcesRequest { Metrics?: string[]; /** - *

          Sets the start and end dates for retrieving Amazon Web Services costs. The range must be within the last 14 days (the start date cannot be earlier than 14 days ago). The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is - * retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

          + *

          You can group Amazon Web Services costs using up to two different groups: DIMENSION, TAG, COST_CATEGORY.

          */ - TimePeriod: DateInterval | undefined; + GroupBy?: GroupDefinition[]; /** *

          The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

          */ NextPageToken?: string; - - /** - *

          You can group Amazon Web Services costs using up to two different groups: DIMENSION, TAG, COST_CATEGORY.

          - */ - GroupBy?: GroupDefinition[]; } export namespace GetCostAndUsageWithResourcesRequest { @@ -4319,11 +4324,6 @@ export namespace GetCostAndUsageWithResourcesRequest { } export interface GetCostForecastRequest { - /** - *

          The filters that you want to use to filter your forecast. Cost Explorer API supports all of the Cost Explorer filters.

          - */ - Filter?: Expression; - /** *

          The period of time that you want the forecast to cover. The start date must be equal to or no later than the current date to avoid a validation error.

          */ @@ -4354,18 +4354,23 @@ export interface GetCostForecastRequest { */ Metric: Metric | string | undefined; + /** + *

          How granular you want the forecast to be. You can get 3 months of DAILY forecasts or 12 months of MONTHLY forecasts.

          + *

          The GetCostForecast operation supports only DAILY and MONTHLY granularities.

          + */ + Granularity: Granularity | string | undefined; + + /** + *

          The filters that you want to use to filter your forecast. Cost Explorer API supports all of the Cost Explorer filters.

          + */ + Filter?: Expression; + /** *

          Cost Explorer always returns the mean forecast as a single point. You can request a prediction interval around the mean * by specifying a confidence level. The higher the confidence level, the more confident Cost Explorer is about the actual value * falling in the prediction interval. Higher confidence levels result in wider prediction intervals.

          */ PredictionIntervalLevel?: number; - - /** - *

          How granular you want the forecast to be. You can get 3 months of DAILY forecasts or 12 months of MONTHLY forecasts.

          - *

          The GetCostForecast operation supports only DAILY and MONTHLY granularities.

          - */ - Granularity: Granularity | string | undefined; } export namespace GetCostForecastRequest { @@ -4379,17 +4384,11 @@ export namespace GetCostForecastRequest { */ export interface GetReservationCoverageRequest { /** - *

          The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

          - */ - NextPageToken?: string; - - /** - *

          The granularity of the AWS cost data for the reservation. Valid values are MONTHLY and DAILY.

          - *

          If GroupBy is set, Granularity can't be set. If Granularity isn't set, - * the response object doesn't include Granularity, either MONTHLY or DAILY.

          - *

          The GetReservationCoverage operation supports only DAILY and MONTHLY granularities.

          + *

          The start and end dates of the period that you want to retrieve data about reservation coverage for. You can retrieve data + * for a maximum of 13 months: the last 12 months and the current month. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is + * retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

          */ - Granularity?: Granularity | string; + TimePeriod: DateInterval | undefined; /** *

          You can group the data by the following attributes:

          @@ -4428,6 +4427,14 @@ export interface GetReservationCoverageRequest { */ GroupBy?: GroupDefinition[]; + /** + *

          The granularity of the AWS cost data for the reservation. Valid values are MONTHLY and DAILY.

          + *

          If GroupBy is set, Granularity can't be set. If Granularity isn't set, + * the response object doesn't include Granularity, either MONTHLY or DAILY.

          + *

          The GetReservationCoverage operation supports only DAILY and MONTHLY granularities.

          + */ + Granularity?: Granularity | string; + /** *

          Filters utilization data by dimensions. You can filter by the following dimensions:

          *
            @@ -4485,11 +4492,9 @@ export interface GetReservationCoverageRequest { Metrics?: string[]; /** - *

            The start and end dates of the period that you want to retrieve data about reservation coverage for. You can retrieve data - * for a maximum of 13 months: the last 12 months and the current month. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is - * retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

            + *

            The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

            */ - TimePeriod: DateInterval | undefined; + NextPageToken?: string; } export namespace GetReservationCoverageRequest { @@ -4499,6 +4504,17 @@ export namespace GetReservationCoverageRequest { } export interface GetReservationUtilizationRequest { + /** + *

            Sets the start and end dates for retrieving RI utilization. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is + * retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

            + */ + TimePeriod: DateInterval | undefined; + + /** + *

            Groups only by SUBSCRIPTION_ID. Metadata is included.

            + */ + GroupBy?: GroupDefinition[]; + /** *

            If GroupBy is set, Granularity can't be set. If Granularity isn't set, * the response object doesn't include Granularity, either MONTHLY or DAILY. @@ -4552,21 +4568,10 @@ export interface GetReservationUtilizationRequest { */ Filter?: Expression; - /** - *

            Sets the start and end dates for retrieving RI utilization. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is - * retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

            - */ - TimePeriod: DateInterval | undefined; - /** *

            The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

            */ NextPageToken?: string; - - /** - *

            Groups only by SUBSCRIPTION_ID. Metadata is included.

            - */ - GroupBy?: GroupDefinition[]; } export namespace GetReservationUtilizationRequest { @@ -4576,12 +4581,6 @@ export namespace GetReservationUtilizationRequest { } export interface GetRightsizingRecommendationRequest { - /** - *

            The specific service that you want recommendations for. The only valid value for GetRightsizingRecommendation is - * "AmazonEC2".

            - */ - Service: string | undefined; - /** *

            Use Expression to filter by cost or by usage. There are two patterns:

            *
              @@ -4637,11 +4636,6 @@ export interface GetRightsizingRecommendationRequest { */ Filter?: Expression; - /** - *

              The number of recommendations that you want returned in a single response object.

              - */ - PageSize?: number; - /** *

              Enables you to customize recommendations across two attributes. You can choose to view * recommendations for instances within the same instance families or across different instance @@ -4651,6 +4645,17 @@ export interface GetRightsizingRecommendationRequest { */ Configuration?: RightsizingRecommendationConfiguration; + /** + *

              The specific service that you want recommendations for. The only valid value for GetRightsizingRecommendation is + * "AmazonEC2".

              + */ + Service: string | undefined; + + /** + *

              The number of recommendations that you want returned in a single response object.

              + */ + PageSize?: number; + /** *

              The pagination token that indicates the next set of results that you want to retrieve.

              */ @@ -4665,19 +4670,20 @@ export namespace GetRightsizingRecommendationRequest { export interface GetSavingsPlansCoverageRequest { /** - *

              The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

              + *

              The time period that you want the usage and costs for. The Start date must be within 13 months. The End date must be after the Start date, and before the current date. Future dates can't be used as an End date.

              */ - NextToken?: string; + TimePeriod: DateInterval | undefined; /** - *

              The time period that you want the usage and costs for. The Start date must be within 13 months. The End date must be after the Start date, and before the current date. Future dates can't be used as an End date.

              + *

              You can group the data using the attributes INSTANCE_FAMILY, REGION, or SERVICE.

              */ - TimePeriod: DateInterval | undefined; + GroupBy?: GroupDefinition[]; /** - *

              The measurement that you want your Savings Plans coverage reported in. The only valid value is SpendCoveredBySavingsPlans.

              + *

              The granularity of the Amazon Web Services cost data for your Savings Plans. Granularity can't be set if GroupBy is set.

              + *

              The GetSavingsPlansCoverage operation supports only DAILY and MONTHLY granularities.

              */ - Metrics?: string[]; + Granularity?: Granularity | string; /** *

              Filters Savings Plans coverage data by dimensions. You can filter data for Savings Plans usage with the following dimensions:

              @@ -4712,20 +4718,19 @@ export interface GetSavingsPlansCoverageRequest { Filter?: Expression; /** - *

              The number of items to be returned in a response. The default is 20, with a minimum value of 1.

              + *

              The measurement that you want your Savings Plans coverage reported in. The only valid value is SpendCoveredBySavingsPlans.

              */ - MaxResults?: number; + Metrics?: string[]; /** - *

              The granularity of the Amazon Web Services cost data for your Savings Plans. Granularity can't be set if GroupBy is set.

              - *

              The GetSavingsPlansCoverage operation supports only DAILY and MONTHLY granularities.

              + *

              The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

              */ - Granularity?: Granularity | string; + NextToken?: string; /** - *

              You can group the data using the attributes INSTANCE_FAMILY, REGION, or SERVICE.

              + *

              The number of items to be returned in a response. The default is 20, with a minimum value of 1.

              */ - GroupBy?: GroupDefinition[]; + MaxResults?: number; } export namespace GetSavingsPlansCoverageRequest { @@ -4735,26 +4740,28 @@ export namespace GetSavingsPlansCoverageRequest { } export interface GetSavingsPlansPurchaseRecommendationRequest { - /** - *

              The lookback period used to generate the recommendation.

              - */ - LookbackPeriodInDays: LookbackPeriodInDays | string | undefined; - /** *

              The Savings Plans recommendation type requested.

              */ SavingsPlansType: SupportedSavingsPlansType | string | undefined; /** - *

              The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the master account and member accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual member accounts only.

              + *

              The savings plan recommendation term used to + * generate these + * recommendations.

              */ - AccountScope?: AccountScope | string; + TermInYears: TermInYears | string | undefined; /** *

              The payment option used to generate these recommendations.

              */ PaymentOption: PaymentOption | string | undefined; + /** + *

              The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the management account and member accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual member accounts only.

              + */ + AccountScope?: AccountScope | string; + /** *

              The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

              */ @@ -4765,6 +4772,11 @@ export interface GetSavingsPlansPurchaseRecommendationRequest { */ PageSize?: number; + /** + *

              The lookback period used to generate the recommendation.

              + */ + LookbackPeriodInDays: LookbackPeriodInDays | string | undefined; + /** *

              You can filter your recommendations by Account ID with the LINKED_ACCOUNT * dimension. To filter your recommendations by Account ID, specify Key as @@ -4778,13 +4790,6 @@ export interface GetSavingsPlansPurchaseRecommendationRequest { * OR operators are not supported.

              */ Filter?: Expression; - - /** - *

              The savings plan recommendation term used to - * generate these - * recommendations.

              - */ - TermInYears: TermInYears | string | undefined; } export namespace GetSavingsPlansPurchaseRecommendationRequest { @@ -4794,6 +4799,11 @@ export namespace GetSavingsPlansPurchaseRecommendationRequest { } export interface GetSavingsPlansUtilizationDetailsRequest { + /** + *

              The time period that you want the usage and costs for. The Start date must be within 13 months. The End date must be after the Start date, and before the current date. Future dates can't be used as an End date.

              + */ + TimePeriod: DateInterval | undefined; + /** *

              Filters Savings Plans utilization coverage data for active Savings Plans dimensions. You can filter data with the following dimensions:

              *
                @@ -4831,19 +4841,14 @@ export interface GetSavingsPlansUtilizationDetailsRequest { Filter?: Expression; /** - *

                The number of items to be returned in a response. The default is 20, with a minimum value of 1.

                - */ - MaxResults?: number; - - /** - *

                The time period that you want the usage and costs for. The Start date must be within 13 months. The End date must be after the Start date, and before the current date. Future dates can't be used as an End date.

                + *

                The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                */ - TimePeriod: DateInterval | undefined; + NextToken?: string; /** - *

                The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                + *

                The number of items to be returned in a response. The default is 20, with a minimum value of 1.

                */ - NextToken?: string; + MaxResults?: number; } export namespace GetSavingsPlansUtilizationDetailsRequest { @@ -4858,6 +4863,12 @@ export interface GetSavingsPlansUtilizationRequest { */ TimePeriod: DateInterval | undefined; + /** + *

                The granularity of the Amazon Web Services utillization data for your Savings Plans.

                + *

                The GetSavingsPlansUtilization operation supports only DAILY and MONTHLY granularities.

                + */ + Granularity?: Granularity | string; + /** *

                Filters Savings Plans utilization coverage data for active Savings Plans dimensions. You can filter data with the following dimensions:

                *
                  @@ -4898,12 +4909,6 @@ export interface GetSavingsPlansUtilizationRequest { * as the other operations, but only AND is supported among each dimension.

                  */ Filter?: Expression; - - /** - *

                  The granularity of the Amazon Web Services utillization data for your Savings Plans.

                  - *

                  The GetSavingsPlansUtilization operation supports only DAILY and MONTHLY granularities.

                  - */ - Granularity?: Granularity | string; } export namespace GetSavingsPlansUtilizationRequest { @@ -4914,9 +4919,10 @@ export namespace GetSavingsPlansUtilizationRequest { export interface GetUsageForecastRequest { /** - *

                  The filters that you want to use to filter your forecast. Cost Explorer API supports all of the Cost Explorer filters.

                  + *

                  The start and end dates of the period that you want to retrieve usage forecast for. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is + * retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01. The start date must be equal to or later than the current date to avoid a validation error.

                  */ - Filter?: Expression; + TimePeriod: DateInterval | undefined; /** *

                  Which metric Cost Explorer uses to create your forecast.

                  @@ -4933,10 +4939,15 @@ export interface GetUsageForecastRequest { Metric: Metric | string | undefined; /** - *

                  The start and end dates of the period that you want to retrieve usage forecast for. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is - * retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01. The start date must be equal to or later than the current date to avoid a validation error.

                  + *

                  How granular you want the forecast to be. You can get 3 months of DAILY forecasts or 12 months of MONTHLY forecasts.

                  + *

                  The GetUsageForecast operation supports only DAILY and MONTHLY granularities.

                  */ - TimePeriod: DateInterval | undefined; + Granularity: Granularity | string | undefined; + + /** + *

                  The filters that you want to use to filter your forecast. Cost Explorer API supports all of the Cost Explorer filters.

                  + */ + Filter?: Expression; /** *

                  Cost Explorer always returns the mean forecast as a single point. You can request a prediction interval around the mean @@ -4944,12 +4955,6 @@ export interface GetUsageForecastRequest { * falling in the prediction interval. Higher confidence levels result in wider prediction intervals.

                  */ PredictionIntervalLevel?: number; - - /** - *

                  How granular you want the forecast to be. You can get 3 months of DAILY forecasts or 12 months of MONTHLY forecasts.

                  - *

                  The GetUsageForecast operation supports only DAILY and MONTHLY granularities.

                  - */ - Granularity: Granularity | string | undefined; } export namespace GetUsageForecastRequest { @@ -4977,10 +4982,16 @@ export namespace CreateAnomalyMonitorRequest { export interface CostCategory { /** *

                  - * Rules are processed in order. If there are multiple rules that match the line item, then the first rule to match is used to determine that Cost Category value. + * The unique identifier for your Cost Category. *

                  */ - Rules: CostCategoryRule[] | undefined; + CostCategoryArn: string | undefined; + + /** + *

                  + * The Cost Category's effective start date.

                  + */ + EffectiveStart: string | undefined; /** *

                  @@ -4989,11 +5000,9 @@ export interface CostCategory { EffectiveEnd?: string; /** - *

                  - * The unique identifier for your Cost Category. - *

                  + *

                  The unique name of the Cost Category.

                  */ - CostCategoryArn: string | undefined; + Name: string | undefined; /** *

                  The rule schema version in this particular Cost Category.

                  @@ -5001,9 +5010,11 @@ export interface CostCategory { RuleVersion: CostCategoryRuleVersion | string | undefined; /** - *

                  The unique name of the Cost Category.

                  + *

                  + * Rules are processed in order. If there are multiple rules that match the line item, then the first rule to match is used to determine that Cost Category value. + *

                  */ - Name: string | undefined; + Rules: CostCategoryRule[] | undefined; /** *

                  @@ -5011,12 +5022,6 @@ export interface CostCategory { *

                  */ ProcessingStatus?: CostCategoryProcessingStatus[]; - - /** - *

                  - * The Cost Category's effective start date.

                  - */ - EffectiveStart: string | undefined; } export namespace CostCategory { @@ -5052,17 +5057,17 @@ export namespace CreateCostCategoryDefinitionRequest { export interface GetAnomalyMonitorsResponse { /** *

                  - * The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size. + * A list of cost anomaly monitors that includes the detailed metadata for each monitor. *

                  */ - NextPageToken?: string; + AnomalyMonitors: AnomalyMonitor[] | undefined; /** *

                  - * A list of cost anomaly monitors that includes the detailed metadata for each monitor. + * The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size. *

                  */ - AnomalyMonitors: AnomalyMonitor[] | undefined; + NextPageToken?: string; } export namespace GetAnomalyMonitorsResponse { @@ -5072,6 +5077,11 @@ export namespace GetAnomalyMonitorsResponse { } export interface UpdateCostCategoryDefinitionRequest { + /** + *

                  The unique identifier for your Cost Category.

                  + */ + CostCategoryArn: string | undefined; + /** *

                  The rule schema version in this particular Cost Category.

                  */ @@ -5082,11 +5092,6 @@ export interface UpdateCostCategoryDefinitionRequest { * CostCategoryRule .

                  */ Rules: CostCategoryRule[] | undefined; - - /** - *

                  The unique identifier for your Cost Category.

                  - */ - CostCategoryArn: string | undefined; } export namespace UpdateCostCategoryDefinitionRequest { diff --git a/clients/client-cost-explorer/protocols/Aws_json1_1.ts b/clients/client-cost-explorer/protocols/Aws_json1_1.ts index d2b0b9508f97..03f8b6a0465c 100644 --- a/clients/client-cost-explorer/protocols/Aws_json1_1.ts +++ b/clients/client-cost-explorer/protocols/Aws_json1_1.ts @@ -4936,6 +4936,10 @@ const deserializeAws_json1_1SavingsPlansPurchaseRecommendationMetadata = ( context: __SerdeContext ): SavingsPlansPurchaseRecommendationMetadata => { return { + AdditionalMetadata: + output.AdditionalMetadata !== undefined && output.AdditionalMetadata !== null + ? output.AdditionalMetadata + : undefined, GenerationTimestamp: output.GenerationTimestamp !== undefined && output.GenerationTimestamp !== null ? output.GenerationTimestamp diff --git a/clients/client-directory-service/DirectoryService.ts b/clients/client-directory-service/DirectoryService.ts index 9a2129fe5778..71f658b76f70 100644 --- a/clients/client-directory-service/DirectoryService.ts +++ b/clients/client-directory-service/DirectoryService.ts @@ -5,6 +5,7 @@ import { AcceptSharedDirectoryCommandOutput, } from "./commands/AcceptSharedDirectoryCommand"; import { AddIpRoutesCommand, AddIpRoutesCommandInput, AddIpRoutesCommandOutput } from "./commands/AddIpRoutesCommand"; +import { AddRegionCommand, AddRegionCommandInput, AddRegionCommandOutput } from "./commands/AddRegionCommand"; import { AddTagsToResourceCommand, AddTagsToResourceCommandInput, @@ -113,6 +114,11 @@ import { DescribeLDAPSSettingsCommandInput, DescribeLDAPSSettingsCommandOutput, } from "./commands/DescribeLDAPSSettingsCommand"; +import { + DescribeRegionsCommand, + DescribeRegionsCommandInput, + DescribeRegionsCommandOutput, +} from "./commands/DescribeRegionsCommand"; import { DescribeSharedDirectoriesCommand, DescribeSharedDirectoriesCommandInput, @@ -201,6 +207,11 @@ import { RemoveIpRoutesCommandInput, RemoveIpRoutesCommandOutput, } from "./commands/RemoveIpRoutesCommand"; +import { + RemoveRegionCommand, + RemoveRegionCommandInput, + RemoveRegionCommandOutput, +} from "./commands/RemoveRegionCommand"; import { RemoveTagsFromResourceCommand, RemoveTagsFromResourceCommandInput, @@ -318,6 +329,32 @@ export class DirectoryService extends DirectoryServiceClient { } } + /** + *

                  Adds two domain controllers in the specified Region for the specified directory.

                  + */ + public addRegion(args: AddRegionCommandInput, options?: __HttpHandlerOptions): Promise; + public addRegion(args: AddRegionCommandInput, cb: (err: any, data?: AddRegionCommandOutput) => void): void; + public addRegion( + args: AddRegionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: AddRegionCommandOutput) => void + ): void; + public addRegion( + args: AddRegionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: AddRegionCommandOutput) => void), + cb?: (err: any, data?: AddRegionCommandOutput) => void + ): Promise | void { + const command = new AddRegionCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

                  Adds or overwrites one or more tags for the specified directory. Each directory can have a maximum of 50 tags. Each tag consists of a key and optional value. Tag keys must be unique to each resource.

                  */ @@ -384,7 +421,10 @@ export class DirectoryService extends DirectoryServiceClient { /** *

                  Creates an AD Connector to connect to an on-premises directory.

                  - *

                  Before you call ConnectDirectory, ensure that all of the required permissions have been explicitly granted through a policy. For details about what permissions are required to run the ConnectDirectory operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions Reference.

                  + *

                  Before you call ConnectDirectory, ensure that all of the required permissions + * have been explicitly granted through a policy. For details about what permissions are required + * to run the ConnectDirectory operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions + * Reference.

                  */ public connectDirectory( args: ConnectDirectoryCommandInput, @@ -447,7 +487,7 @@ export class DirectoryService extends DirectoryServiceClient { } /** - *

                  Creates a computer account in the specified directory, and joins the computer to the directory.

                  + *

                  Creates an Active Directory computer object in the specified directory.

                  */ public createComputer( args: CreateComputerCommandInput, @@ -511,8 +551,12 @@ export class DirectoryService extends DirectoryServiceClient { } /** - *

                  Creates a Simple AD directory. For more information, see Simple Active Directory in the AWS Directory Service Admin Guide.

                  - *

                  Before you call CreateDirectory, ensure that all of the required permissions have been explicitly granted through a policy. For details about what permissions are required to run the CreateDirectory operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions Reference.

                  + *

                  Creates a Simple AD directory. For more information, see Simple Active Directory in the AWS Directory Service Admin + * Guide.

                  + *

                  Before you call CreateDirectory, ensure that all of the required permissions + * have been explicitly granted through a policy. For details about what permissions are required + * to run the CreateDirectory operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions + * Reference.

                  */ public createDirectory( args: CreateDirectoryCommandInput, @@ -544,8 +588,8 @@ export class DirectoryService extends DirectoryServiceClient { } /** - *

                  Creates a subscription to forward real-time Directory Service domain controller - * security logs to the specified Amazon CloudWatch log group in your AWS account.

                  + *

                  Creates a subscription to forward real-time Directory Service domain controller security + * logs to the specified Amazon CloudWatch log group in your AWS account.

                  */ public createLogSubscription( args: CreateLogSubscriptionCommandInput, @@ -705,7 +749,10 @@ export class DirectoryService extends DirectoryServiceClient { /** *

                  Deletes an AWS Directory Service directory.

                  - *

                  Before you call DeleteDirectory, ensure that all of the required permissions have been explicitly granted through a policy. For details about what permissions are required to run the DeleteDirectory operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions Reference.

                  + *

                  Before you call DeleteDirectory, ensure that all of the required permissions + * have been explicitly granted through a policy. For details about what permissions are required + * to run the DeleteDirectory operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions + * Reference.

                  */ public deleteDirectory( args: DeleteDirectoryCommandInput, @@ -892,7 +939,8 @@ export class DirectoryService extends DirectoryServiceClient { } /** - *

                  Displays information about the certificate registered for a secured LDAP connection.

                  + *

                  Displays information about the certificate registered for a secured LDAP + * connection.

                  */ public describeCertificate( args: DescribeCertificateCommandInput, @@ -959,14 +1007,15 @@ export class DirectoryService extends DirectoryServiceClient { /** *

                  Obtains information about the directories that belong to this account.

                  *

                  You can retrieve information about specific directories by passing the directory - * identifiers in the DirectoryIds parameter. Otherwise, all directories that belong to - * the current account are returned.

                  + * identifiers in the DirectoryIds parameter. Otherwise, all directories that belong + * to the current account are returned.

                  *

                  This operation supports pagination with the use of the NextToken request and - * response parameters. If more results are available, the - * DescribeDirectoriesResult.NextToken member contains a token that you pass in the - * next call to DescribeDirectories to retrieve the next set of items.

                  + * response parameters. If more results are available, the + * DescribeDirectoriesResult.NextToken member contains a token that you pass in + * the next call to DescribeDirectories to retrieve the next set of + * items.

                  *

                  You can also specify a maximum number of return results with the Limit - * parameter.

                  + * parameter.

                  */ public describeDirectories( args: DescribeDirectoriesCommandInput, @@ -1094,6 +1143,38 @@ export class DirectoryService extends DirectoryServiceClient { } } + /** + *

                  Provides information about the Regions that are configured for multi-Region replication.

                  + */ + public describeRegions( + args: DescribeRegionsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeRegions( + args: DescribeRegionsCommandInput, + cb: (err: any, data?: DescribeRegionsCommandOutput) => void + ): void; + public describeRegions( + args: DescribeRegionsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeRegionsCommandOutput) => void + ): void; + public describeRegions( + args: DescribeRegionsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeRegionsCommandOutput) => void), + cb?: (err: any, data?: DescribeRegionsCommandOutput) => void + ): Promise | void { + const command = new DescribeRegionsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

                  Returns the shared directories in your account.

                  */ @@ -1430,7 +1511,8 @@ export class DirectoryService extends DirectoryServiceClient { } /** - *

                  For the specified directory, lists all the certificates registered for a secured LDAP connection.

                  + *

                  For the specified directory, lists all the certificates registered for a secured LDAP + * connection.

                  */ public listCertificates( args: ListCertificatesCommandInput, @@ -1714,6 +1796,35 @@ export class DirectoryService extends DirectoryServiceClient { } } + /** + *

                  Stops all replication and removes the domain controllers from the specified Region. You cannot remove the primary Region with this operation. Instead, use the DeleteDirectory API.

                  + */ + public removeRegion( + args: RemoveRegionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public removeRegion(args: RemoveRegionCommandInput, cb: (err: any, data?: RemoveRegionCommandOutput) => void): void; + public removeRegion( + args: RemoveRegionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: RemoveRegionCommandOutput) => void + ): void; + public removeRegion( + args: RemoveRegionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: RemoveRegionCommandOutput) => void), + cb?: (err: any, data?: RemoveRegionCommandOutput) => void + ): Promise | void { + const command = new RemoveRegionCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

                  Removes tags from a directory.

                  */ @@ -1747,18 +1858,20 @@ export class DirectoryService extends DirectoryServiceClient { } /** - *

                  Resets the password for any user in your AWS Managed Microsoft AD or Simple AD directory.

                  - *

                  You can reset the password for any user in your directory with the following exceptions:

                  + *

                  Resets the password for any user in your AWS Managed Microsoft AD or Simple AD + * directory.

                  + *

                  You can reset the password for any user in your directory with the following + * exceptions:

                  *
                    *
                  • - *

                    For Simple AD, you cannot reset the password for any user that is a member of either the - * Domain Admins or Enterprise + *

                    For Simple AD, you cannot reset the password for any user that is a member of either + * the Domain Admins or Enterprise * Admins group except for the administrator user.

                    *
                  • *
                  • - *

                    For AWS Managed Microsoft AD, you can only reset the password for a user that is in an OU - * based off of the NetBIOS name that you typed when you created your directory. For example, - * you cannot reset the password for a user in the AWS + *

                    For AWS Managed Microsoft AD, you can only reset the password for a user that is in an + * OU based off of the NetBIOS name that you typed when you created your directory. For + * example, you cannot reset the password for a user in the AWS * Reserved OU. For more information about the OU structure for an AWS Managed * Microsoft AD directory, see What Gets Created in the AWS Directory Service Administration * Guide.

                    diff --git a/clients/client-directory-service/DirectoryServiceClient.ts b/clients/client-directory-service/DirectoryServiceClient.ts index 3303e0880c00..772f909e2b24 100644 --- a/clients/client-directory-service/DirectoryServiceClient.ts +++ b/clients/client-directory-service/DirectoryServiceClient.ts @@ -3,6 +3,7 @@ import { AcceptSharedDirectoryCommandOutput, } from "./commands/AcceptSharedDirectoryCommand"; import { AddIpRoutesCommandInput, AddIpRoutesCommandOutput } from "./commands/AddIpRoutesCommand"; +import { AddRegionCommandInput, AddRegionCommandOutput } from "./commands/AddRegionCommand"; import { AddTagsToResourceCommandInput, AddTagsToResourceCommandOutput } from "./commands/AddTagsToResourceCommand"; import { CancelSchemaExtensionCommandInput, @@ -66,6 +67,7 @@ import { DescribeLDAPSSettingsCommandInput, DescribeLDAPSSettingsCommandOutput, } from "./commands/DescribeLDAPSSettingsCommand"; +import { DescribeRegionsCommandInput, DescribeRegionsCommandOutput } from "./commands/DescribeRegionsCommand"; import { DescribeSharedDirectoriesCommandInput, DescribeSharedDirectoriesCommandOutput, @@ -104,6 +106,7 @@ import { RejectSharedDirectoryCommandOutput, } from "./commands/RejectSharedDirectoryCommand"; import { RemoveIpRoutesCommandInput, RemoveIpRoutesCommandOutput } from "./commands/RemoveIpRoutesCommand"; +import { RemoveRegionCommandInput, RemoveRegionCommandOutput } from "./commands/RemoveRegionCommand"; import { RemoveTagsFromResourceCommandInput, RemoveTagsFromResourceCommandOutput, @@ -182,6 +185,7 @@ import { export type ServiceInputTypes = | AcceptSharedDirectoryCommandInput | AddIpRoutesCommandInput + | AddRegionCommandInput | AddTagsToResourceCommandInput | CancelSchemaExtensionCommandInput | ConnectDirectoryCommandInput @@ -206,6 +210,7 @@ export type ServiceInputTypes = | DescribeDomainControllersCommandInput | DescribeEventTopicsCommandInput | DescribeLDAPSSettingsCommandInput + | DescribeRegionsCommandInput | DescribeSharedDirectoriesCommandInput | DescribeSnapshotsCommandInput | DescribeTrustsCommandInput @@ -226,6 +231,7 @@ export type ServiceInputTypes = | RegisterEventTopicCommandInput | RejectSharedDirectoryCommandInput | RemoveIpRoutesCommandInput + | RemoveRegionCommandInput | RemoveTagsFromResourceCommandInput | ResetUserPasswordCommandInput | RestoreFromSnapshotCommandInput @@ -241,6 +247,7 @@ export type ServiceInputTypes = export type ServiceOutputTypes = | AcceptSharedDirectoryCommandOutput | AddIpRoutesCommandOutput + | AddRegionCommandOutput | AddTagsToResourceCommandOutput | CancelSchemaExtensionCommandOutput | ConnectDirectoryCommandOutput @@ -265,6 +272,7 @@ export type ServiceOutputTypes = | DescribeDomainControllersCommandOutput | DescribeEventTopicsCommandOutput | DescribeLDAPSSettingsCommandOutput + | DescribeRegionsCommandOutput | DescribeSharedDirectoriesCommandOutput | DescribeSnapshotsCommandOutput | DescribeTrustsCommandOutput @@ -285,6 +293,7 @@ export type ServiceOutputTypes = | RegisterEventTopicCommandOutput | RejectSharedDirectoryCommandOutput | RemoveIpRoutesCommandOutput + | RemoveRegionCommandOutput | RemoveTagsFromResourceCommandOutput | ResetUserPasswordCommandOutput | RestoreFromSnapshotCommandOutput diff --git a/clients/client-directory-service/commands/AddRegionCommand.ts b/clients/client-directory-service/commands/AddRegionCommand.ts new file mode 100644 index 000000000000..d028b1e47faf --- /dev/null +++ b/clients/client-directory-service/commands/AddRegionCommand.ts @@ -0,0 +1,79 @@ +import { DirectoryServiceClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DirectoryServiceClient"; +import { AddRegionRequest, AddRegionResult } from "../models/models_0"; +import { deserializeAws_json1_1AddRegionCommand, serializeAws_json1_1AddRegionCommand } from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type AddRegionCommandInput = AddRegionRequest; +export type AddRegionCommandOutput = AddRegionResult & __MetadataBearer; + +export class AddRegionCommand extends $Command< + AddRegionCommandInput, + AddRegionCommandOutput, + DirectoryServiceClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: AddRegionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: DirectoryServiceClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "DirectoryServiceClient"; + const commandName = "AddRegionCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: AddRegionRequest.filterSensitiveLog, + outputFilterSensitiveLog: AddRegionResult.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: AddRegionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1AddRegionCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1AddRegionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-directory-service/commands/DescribeRegionsCommand.ts b/clients/client-directory-service/commands/DescribeRegionsCommand.ts new file mode 100644 index 000000000000..057241ee087a --- /dev/null +++ b/clients/client-directory-service/commands/DescribeRegionsCommand.ts @@ -0,0 +1,82 @@ +import { DirectoryServiceClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DirectoryServiceClient"; +import { DescribeRegionsRequest, DescribeRegionsResult } from "../models/models_0"; +import { + deserializeAws_json1_1DescribeRegionsCommand, + serializeAws_json1_1DescribeRegionsCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DescribeRegionsCommandInput = DescribeRegionsRequest; +export type DescribeRegionsCommandOutput = DescribeRegionsResult & __MetadataBearer; + +export class DescribeRegionsCommand extends $Command< + DescribeRegionsCommandInput, + DescribeRegionsCommandOutput, + DirectoryServiceClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeRegionsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: DirectoryServiceClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "DirectoryServiceClient"; + const commandName = "DescribeRegionsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeRegionsRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeRegionsResult.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeRegionsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeRegionsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DescribeRegionsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-directory-service/commands/RemoveRegionCommand.ts b/clients/client-directory-service/commands/RemoveRegionCommand.ts new file mode 100644 index 000000000000..d31015822004 --- /dev/null +++ b/clients/client-directory-service/commands/RemoveRegionCommand.ts @@ -0,0 +1,82 @@ +import { DirectoryServiceClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DirectoryServiceClient"; +import { RemoveRegionRequest, RemoveRegionResult } from "../models/models_0"; +import { + deserializeAws_json1_1RemoveRegionCommand, + serializeAws_json1_1RemoveRegionCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type RemoveRegionCommandInput = RemoveRegionRequest; +export type RemoveRegionCommandOutput = RemoveRegionResult & __MetadataBearer; + +export class RemoveRegionCommand extends $Command< + RemoveRegionCommandInput, + RemoveRegionCommandOutput, + DirectoryServiceClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: RemoveRegionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: DirectoryServiceClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "DirectoryServiceClient"; + const commandName = "RemoveRegionCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: RemoveRegionRequest.filterSensitiveLog, + outputFilterSensitiveLog: RemoveRegionResult.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: RemoveRegionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1RemoveRegionCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1RemoveRegionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-directory-service/index.ts b/clients/client-directory-service/index.ts index 014f2ed4f829..ed976685ea0e 100644 --- a/clients/client-directory-service/index.ts +++ b/clients/client-directory-service/index.ts @@ -2,6 +2,7 @@ export * from "./DirectoryServiceClient"; export * from "./DirectoryService"; export * from "./commands/AcceptSharedDirectoryCommand"; export * from "./commands/AddIpRoutesCommand"; +export * from "./commands/AddRegionCommand"; export * from "./commands/AddTagsToResourceCommand"; export * from "./commands/CancelSchemaExtensionCommand"; export * from "./commands/ConnectDirectoryCommand"; @@ -27,6 +28,7 @@ export * from "./commands/DescribeDomainControllersCommand"; export * from "./pagination/DescribeDomainControllersPaginator"; export * from "./commands/DescribeEventTopicsCommand"; export * from "./commands/DescribeLDAPSSettingsCommand"; +export * from "./commands/DescribeRegionsCommand"; export * from "./commands/DescribeSharedDirectoriesCommand"; export * from "./commands/DescribeSnapshotsCommand"; export * from "./commands/DescribeTrustsCommand"; @@ -47,6 +49,7 @@ export * from "./commands/RegisterCertificateCommand"; export * from "./commands/RegisterEventTopicCommand"; export * from "./commands/RejectSharedDirectoryCommand"; export * from "./commands/RemoveIpRoutesCommand"; +export * from "./commands/RemoveRegionCommand"; export * from "./commands/RemoveTagsFromResourceCommand"; export * from "./commands/ResetUserPasswordCommand"; export * from "./commands/RestoreFromSnapshotCommand"; diff --git a/clients/client-directory-service/models/models_0.ts b/clients/client-directory-service/models/models_0.ts index e131565e938c..05c880e04468 100644 --- a/clients/client-directory-service/models/models_0.ts +++ b/clients/client-directory-service/models/models_0.ts @@ -3,7 +3,8 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; export interface AcceptSharedDirectoryRequest { /** - *

                    Identifier of the shared directory in the directory consumer account. This identifier is different for each directory owner account.

                    + *

                    Identifier of the shared directory in the directory consumer account. This identifier is + * different for each directory owner account.

                    */ SharedDirectoryId: string | undefined; } @@ -32,35 +33,31 @@ export enum ShareStatus { } /** - *

                    Details about the shared directory in the directory owner account for which the share request in the directory consumer account has been accepted.

                    + *

                    Details about the shared directory in the directory owner account for which the share + * request in the directory consumer account has been accepted.

                    */ export interface SharedDirectory { /** - *

                    The method used when sharing a directory to determine whether the directory should be - * shared within your AWS organization (ORGANIZATIONS) or with any AWS account by - * sending a shared directory request (HANDSHAKE).

                    - */ - ShareMethod?: ShareMethod | string; - - /** - *

                    Identifier of the directory consumer account that has access to the shared directory (OwnerDirectoryId) in the directory owner account.

                    + *

                    Current directory status of the shared AWS Managed Microsoft AD directory.

                    */ - SharedAccountId?: string; + ShareStatus?: ShareStatus | string; /** - *

                    The date and time that the shared directory was created.

                    + *

                    Identifier of the directory in the directory owner account.

                    */ - CreatedDateTime?: Date; + OwnerDirectoryId?: string; /** - *

                    Identifier of the shared directory in the directory consumer account. This identifier is different for each directory owner account.

                    + *

                    Identifier of the shared directory in the directory consumer account. This identifier is + * different for each directory owner account.

                    */ SharedDirectoryId?: string; /** - *

                    Current directory status of the shared AWS Managed Microsoft AD directory.

                    + *

                    Identifier of the directory owner account, which contains the directory that has been + * shared to the consumer account.

                    */ - ShareStatus?: ShareStatus | string; + OwnerAccountId?: string; /** *

                    A directory share request that is sent by the directory owner to the directory consumer. @@ -70,9 +67,16 @@ export interface SharedDirectory { ShareNotes?: string; /** - *

                    Identifier of the directory in the directory owner account.

                    + *

                    The method used when sharing a directory to determine whether the directory should be + * shared within your AWS organization (ORGANIZATIONS) or with any AWS account by + * sending a shared directory request (HANDSHAKE).

                    */ - OwnerDirectoryId?: string; + ShareMethod?: ShareMethod | string; + + /** + *

                    The date and time that the shared directory was created.

                    + */ + CreatedDateTime?: Date; /** *

                    The date and time that the shared directory was last updated.

                    @@ -80,10 +84,10 @@ export interface SharedDirectory { LastUpdatedDateTime?: Date; /** - *

                    Identifier of the directory owner account, which contains the directory that has been - * shared to the consumer account.

                    + *

                    Identifier of the directory consumer account that has access to the shared directory + * (OwnerDirectoryId) in the directory owner account.

                    */ - OwnerAccountId?: string; + SharedAccountId?: string; } export namespace SharedDirectory { @@ -206,14 +210,14 @@ export interface ServiceException extends __SmithyException, $MetadataBearer { name: "ServiceException"; $fault: "server"; /** - *

                    The AWS request identifier.

                    + *

                    The descriptive message for the exception.

                    */ - RequestId?: string; + Message?: string; /** - *

                    The descriptive message for the exception.

                    + *

                    The AWS request identifier.

                    */ - Message?: string; + RequestId?: string; } export namespace ServiceException { @@ -250,14 +254,14 @@ export namespace AccessDeniedException { */ export interface IpRoute { /** - *

                    Description of the address block.

                    + *

                    IP address block using CIDR format, for example 10.0.0.0/24. This is often the address block of the DNS server used for your on-premises domain. For a single IP address use a CIDR address block with /32. For example 10.0.0.0/32.

                    */ - Description?: string; + CidrIp?: string; /** - *

                    IP address block using CIDR format, for example 10.0.0.0/24. This is often the address block of the DNS server used for your on-premises domain. For a single IP address use a CIDR address block with /32. For example 10.0.0.0/32.

                    + *

                    Description of the address block.

                    */ - CidrIp?: string; + Description?: string; } export namespace IpRoute { @@ -267,6 +271,16 @@ export namespace IpRoute { } export interface AddIpRoutesRequest { + /** + *

                    Identifier (ID) of the directory to which to add the address block.

                    + */ + DirectoryId: string | undefined; + + /** + *

                    IP address blocks, using CIDR format, of the traffic to route. This is often the IP address block of the DNS server used for your on-premises domain.

                    + */ + IpRoutes: IpRoute[] | undefined; + /** *

                    If set to true, updates the inbound and outbound rules of the security group that has the description: "AWS created security group for directory ID directory controllers." * Following are the new rules: @@ -336,16 +350,6 @@ export interface AddIpRoutesRequest { *

                    These security rules impact an internal network interface that is not exposed publicly.

                    */ UpdateSecurityGroupForDirectoryControllers?: boolean; - - /** - *

                    Identifier (ID) of the directory to which to add the address block.

                    - */ - DirectoryId: string | undefined; - - /** - *

                    IP address blocks, using CIDR format, of the traffic to route. This is often the IP address block of the DNS server used for your on-premises domain.

                    - */ - IpRoutes: IpRoute[] | undefined; } export namespace AddIpRoutesRequest { @@ -414,6 +418,83 @@ export namespace EntityAlreadyExistsException { export interface IpRouteLimitExceededException extends __SmithyException, $MetadataBearer { name: "IpRouteLimitExceededException"; $fault: "client"; + /** + *

                    The descriptive message for the exception.

                    + */ + Message?: string; + + /** + *

                    The AWS request identifier.

                    + */ + RequestId?: string; +} + +export namespace IpRouteLimitExceededException { + export const filterSensitiveLog = (obj: IpRouteLimitExceededException): any => ({ + ...obj, + }); +} + +/** + *

                    Contains VPC information for the CreateDirectory or CreateMicrosoftAD operation.

                    + */ +export interface DirectoryVpcSettings { + /** + *

                    The identifiers of the subnets for the directory servers. The two subnets must be in + * different Availability Zones. AWS Directory Service creates a directory server and a DNS + * server in each of these subnets.

                    + */ + SubnetIds: string[] | undefined; + + /** + *

                    The identifier of the VPC in which to create the directory.

                    + */ + VpcId: string | undefined; +} + +export namespace DirectoryVpcSettings { + export const filterSensitiveLog = (obj: DirectoryVpcSettings): any => ({ + ...obj, + }); +} + +export interface AddRegionRequest { + /** + *

                    Contains VPC information for the CreateDirectory or CreateMicrosoftAD operation.

                    + */ + VPCSettings: DirectoryVpcSettings | undefined; + + /** + *

                    The identifier of the directory to which you want to add Region replication.

                    + */ + DirectoryId: string | undefined; + + /** + *

                    The name of the Region where you want to add domain controllers for replication. For example, us-east-1.

                    + */ + RegionName: string | undefined; +} + +export namespace AddRegionRequest { + export const filterSensitiveLog = (obj: AddRegionRequest): any => ({ + ...obj, + }); +} + +export interface AddRegionResult {} + +export namespace AddRegionResult { + export const filterSensitiveLog = (obj: AddRegionResult): any => ({ + ...obj, + }); +} + +/** + *

                    The Region you specified is the same Region where the AWS Managed Microsoft AD directory was created. Specify a different Region and try again.

                    + */ +export interface DirectoryAlreadyInRegionException extends __SmithyException, $MetadataBearer { + name: "DirectoryAlreadyInRegionException"; + $fault: "client"; /** *

                    The AWS request identifier.

                    */ @@ -425,25 +506,94 @@ export interface IpRouteLimitExceededException extends __SmithyException, $Metad Message?: string; } -export namespace IpRouteLimitExceededException { - export const filterSensitiveLog = (obj: IpRouteLimitExceededException): any => ({ +export namespace DirectoryAlreadyInRegionException { + export const filterSensitiveLog = (obj: DirectoryAlreadyInRegionException): any => ({ ...obj, }); } /** - *

                    Metadata assigned to a directory consisting of a key-value pair.

                    + *

                    The specified directory does not exist in the system.

                    */ -export interface Tag { +export interface DirectoryDoesNotExistException extends __SmithyException, $MetadataBearer { + name: "DirectoryDoesNotExistException"; + $fault: "client"; /** - *

                    Required name of the tag. The string value can be Unicode characters and cannot be prefixed with "aws:". The string can contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").

                    + *

                    The descriptive message for the exception.

                    */ - Key: string | undefined; + Message?: string; + + /** + *

                    The AWS request identifier.

                    + */ + RequestId?: string; +} + +export namespace DirectoryDoesNotExistException { + export const filterSensitiveLog = (obj: DirectoryDoesNotExistException): any => ({ + ...obj, + }); +} + +/** + *

                    You have reached the limit for maximum number of simultaneous region replications per directory.

                    + */ +export interface RegionLimitExceededException extends __SmithyException, $MetadataBearer { + name: "RegionLimitExceededException"; + $fault: "client"; + /** + *

                    The descriptive message for the exception.

                    + */ + Message?: string; + + /** + *

                    The AWS request identifier.

                    + */ + RequestId?: string; +} + +export namespace RegionLimitExceededException { + export const filterSensitiveLog = (obj: RegionLimitExceededException): any => ({ + ...obj, + }); +} + +/** + *

                    The operation is not supported.

                    + */ +export interface UnsupportedOperationException extends __SmithyException, $MetadataBearer { + name: "UnsupportedOperationException"; + $fault: "client"; + /** + *

                    The AWS request identifier.

                    + */ + RequestId?: string; + + /** + *

                    The descriptive message for the exception.

                    + */ + Message?: string; +} + +export namespace UnsupportedOperationException { + export const filterSensitiveLog = (obj: UnsupportedOperationException): any => ({ + ...obj, + }); +} +/** + *

                    Metadata assigned to a directory consisting of a key-value pair.

                    + */ +export interface Tag { /** *

                    The optional value of the tag. The string value can be Unicode characters. The string can contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").

                    */ Value: string | undefined; + + /** + *

                    Required name of the tag. The string value can be Unicode characters and cannot be prefixed with "aws:". The string can contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").

                    + */ + Key: string | undefined; } export namespace Tag { @@ -454,14 +604,14 @@ export namespace Tag { export interface AddTagsToResourceRequest { /** - *

                    The tags to be assigned to the directory.

                    + *

                    Identifier (ID) for the directory to which to add the tag.

                    */ - Tags: Tag[] | undefined; + ResourceId: string | undefined; /** - *

                    Identifier (ID) for the directory to which to add the tag.

                    + *

                    The tags to be assigned to the directory.

                    */ - ResourceId: string | undefined; + Tags: Tag[] | undefined; } export namespace AddTagsToResourceRequest { @@ -485,14 +635,14 @@ export interface TagLimitExceededException extends __SmithyException, $MetadataB name: "TagLimitExceededException"; $fault: "client"; /** - *

                    The descriptive message for the exception.

                    + *

                    The AWS request identifier.

                    */ - Message?: string; + RequestId?: string; /** - *

                    The AWS request identifier.

                    + *

                    The descriptive message for the exception.

                    */ - RequestId?: string; + Message?: string; } export namespace TagLimitExceededException { @@ -529,14 +679,14 @@ export interface AuthenticationFailedException extends __SmithyException, $Metad name: "AuthenticationFailedException"; $fault: "client"; /** - *

                    The textual message for the exception.

                    + *

                    The identifier of the request that caused the exception.

                    */ - Message?: string; + RequestId?: string; /** - *

                    The identifier of the request that caused the exception.

                    + *

                    The textual message for the exception.

                    */ - RequestId?: string; + Message?: string; } export namespace AuthenticationFailedException { @@ -547,14 +697,14 @@ export namespace AuthenticationFailedException { export interface CancelSchemaExtensionRequest { /** - *

                    The identifier of the schema extension that will be canceled.

                    + *

                    The identifier of the directory whose schema extension will be canceled.

                    */ - SchemaExtensionId: string | undefined; + DirectoryId: string | undefined; /** - *

                    The identifier of the directory whose schema extension will be canceled.

                    + *

                    The identifier of the schema extension that will be canceled.

                    */ - DirectoryId: string | undefined; + SchemaExtensionId: string | undefined; } export namespace CancelSchemaExtensionRequest { @@ -585,14 +735,14 @@ export enum CertificateState { */ export interface Certificate { /** - *

                    The date and time that the certificate was registered.

                    + *

                    The identifier of the certificate.

                    */ - RegisteredDateTime?: Date; + CertificateId?: string; /** - *

                    The identifier of the certificate.

                    + *

                    Describes a state change for the certificate.

                    */ - CertificateId?: string; + StateReason?: string; /** *

                    The common name for the certificate.

                    @@ -600,19 +750,19 @@ export interface Certificate { CommonName?: string; /** - *

                    The state of the certificate.

                    + *

                    The date and time when the certificate will expire.

                    */ - State?: CertificateState | string; + ExpiryDateTime?: Date; /** - *

                    Describes a state change for the certificate.

                    + *

                    The state of the certificate.

                    */ - StateReason?: string; + State?: CertificateState | string; /** - *

                    The date and time when the certificate will expire.

                    + *

                    The date and time that the certificate was registered.

                    */ - ExpiryDateTime?: Date; + RegisteredDateTime?: Date; } export namespace Certificate { @@ -628,14 +778,14 @@ export interface CertificateAlreadyExistsException extends __SmithyException, $M name: "CertificateAlreadyExistsException"; $fault: "client"; /** - *

                    The AWS request identifier.

                    + *

                    The descriptive message for the exception.

                    */ - RequestId?: string; + Message?: string; /** - *

                    The descriptive message for the exception.

                    + *

                    The AWS request identifier.

                    */ - Message?: string; + RequestId?: string; } export namespace CertificateAlreadyExistsException { @@ -651,14 +801,14 @@ export interface CertificateDoesNotExistException extends __SmithyException, $Me name: "CertificateDoesNotExistException"; $fault: "client"; /** - *

                    The descriptive message for the exception.

                    + *

                    The AWS request identifier.

                    */ - Message?: string; + RequestId?: string; /** - *

                    The AWS request identifier.

                    + *

                    The descriptive message for the exception.

                    */ - RequestId?: string; + Message?: string; } export namespace CertificateDoesNotExistException { @@ -672,24 +822,24 @@ export namespace CertificateDoesNotExistException { */ export interface CertificateInfo { /** - *

                    The identifier of the certificate.

                    + *

                    The state of the certificate.

                    */ - CertificateId?: string; + State?: CertificateState | string; /** - *

                    The common name for the certificate.

                    + *

                    The date and time when the certificate will expire.

                    */ - CommonName?: string; + ExpiryDateTime?: Date; /** - *

                    The state of the certificate.

                    + *

                    The identifier of the certificate.

                    */ - State?: CertificateState | string; + CertificateId?: string; /** - *

                    The date and time when the certificate will expire.

                    + *

                    The common name for the certificate.

                    */ - ExpiryDateTime?: Date; + CommonName?: string; } export namespace CertificateInfo { @@ -706,14 +856,14 @@ export interface CertificateInUseException extends __SmithyException, $MetadataB name: "CertificateInUseException"; $fault: "client"; /** - *

                    The descriptive message for the exception.

                    + *

                    The AWS request identifier.

                    */ - Message?: string; + RequestId?: string; /** - *

                    The AWS request identifier.

                    + *

                    The descriptive message for the exception.

                    */ - RequestId?: string; + Message?: string; } export namespace CertificateInUseException { @@ -729,14 +879,14 @@ export interface CertificateLimitExceededException extends __SmithyException, $M name: "CertificateLimitExceededException"; $fault: "client"; /** - *

                    The descriptive message for the exception.

                    + *

                    The AWS request identifier.

                    */ - Message?: string; + RequestId?: string; /** - *

                    The AWS request identifier.

                    + *

                    The descriptive message for the exception.

                    */ - RequestId?: string; + Message?: string; } export namespace CertificateLimitExceededException { @@ -749,6 +899,12 @@ export namespace CertificateLimitExceededException { *

                    Contains information about a computer account in a directory.

                    */ export interface Computer { + /** + *

                    An array of Attribute objects containing the LDAP attributes that belong to the + * computer account.

                    + */ + ComputerAttributes?: Attribute[]; + /** *

                    The identifier of the computer.

                    */ @@ -758,12 +914,6 @@ export interface Computer { *

                    The computer name.

                    */ ComputerName?: string; - - /** - *

                    An array of Attribute objects containing the LDAP attributes that belong to the - * computer account.

                    - */ - ComputerAttributes?: Attribute[]; } export namespace Computer { @@ -781,11 +931,9 @@ export enum ReplicationScope { */ export interface ConditionalForwarder { /** - *

                    The replication scope of the conditional forwarder. The only allowed value is - * Domain, which will replicate the conditional forwarder to all of the - * domain controllers for your AWS directory.

                    + *

                    The fully qualified domain name (FQDN) of the remote domains pointed to by the conditional forwarder.

                    */ - ReplicationScope?: ReplicationScope | string; + RemoteDomainName?: string; /** *

                    The IP addresses of the remote DNS server associated with RemoteDomainName. This is the IP address of the DNS server that your conditional forwarder points to.

                    @@ -793,9 +941,11 @@ export interface ConditionalForwarder { DnsIpAddrs?: string[]; /** - *

                    The fully qualified domain name (FQDN) of the remote domains pointed to by the conditional forwarder.

                    + *

                    The replication scope of the conditional forwarder. The only allowed value is + * Domain, which will replicate the conditional forwarder to all of the + * domain controllers for your AWS directory.

                    */ - RemoteDomainName?: string; + ReplicationScope?: ReplicationScope | string; } export namespace ConditionalForwarder { @@ -805,18 +955,29 @@ export namespace ConditionalForwarder { } /** - *

                    Contains information for the ConnectDirectory operation when an AD Connector - * directory is being created.

                    + *

                    Contains information for the ConnectDirectory operation when an AD + * Connector directory is being created.

                    */ export interface DirectoryConnectSettings { /** - *

                    A list of one or more IP addresses of DNS servers or domain controllers in the on-premises directory.

                    + *

                    The identifier of the VPC in which the AD Connector is created.

                    + */ + VpcId: string | undefined; + + /** + *

                    A list of subnet identifiers in the VPC in which the AD Connector is created.

                    + */ + SubnetIds: string[] | undefined; + + /** + *

                    A list of one or more IP addresses of DNS servers or domain controllers in the on-premises + * directory.

                    */ CustomerDnsIps: string[] | undefined; /** - *

                    The user name of an account in the on-premises directory that is used to connect to - * the directory. This account must have the following permissions:

                    + *

                    The user name of an account in the on-premises directory that is used to connect to the + * directory. This account must have the following permissions:

                    *
                      *
                    • *

                      Read users and groups

                      @@ -830,16 +991,6 @@ export interface DirectoryConnectSettings { *
                    */ CustomerUserName: string | undefined; - - /** - *

                    A list of subnet identifiers in the VPC in which the AD Connector is created.

                    - */ - SubnetIds: string[] | undefined; - - /** - *

                    The identifier of the VPC in which the AD Connector is created.

                    - */ - VpcId: string | undefined; } export namespace DirectoryConnectSettings { @@ -857,17 +1008,6 @@ export enum DirectorySize { *

                    Contains the inputs for the ConnectDirectory operation.

                    */ export interface ConnectDirectoryRequest { - /** - *

                    The tags to be assigned to AD Connector.

                    - */ - Tags?: Tag[]; - - /** - *

                    A DirectoryConnectSettings object that contains additional information for the - * operation.

                    - */ - ConnectSettings: DirectoryConnectSettings | undefined; - /** *

                    A description for the directory.

                    */ @@ -884,15 +1024,26 @@ export interface ConnectDirectoryRequest { ShortName?: string; /** - *

                    The password for the on-premises user account.

                    + *

                    A DirectoryConnectSettings object that contains additional information + * for the operation.

                    */ - Password: string | undefined; + ConnectSettings: DirectoryConnectSettings | undefined; + + /** + *

                    The tags to be assigned to AD Connector.

                    + */ + Tags?: Tag[]; /** *

                    The fully qualified name of the on-premises directory, such as * corp.example.com.

                    */ Name: string | undefined; + + /** + *

                    The password for the on-premises user account.

                    + */ + Password: string | undefined; } export namespace ConnectDirectoryRequest { @@ -947,17 +1098,17 @@ export namespace DirectoryLimitExceededException { *

                    Contains the inputs for the CreateAlias operation.

                    */ export interface CreateAliasRequest { + /** + *

                    The identifier of the directory for which to create the alias.

                    + */ + DirectoryId: string | undefined; + /** *

                    The requested alias.

                    *

                    The alias must be unique amongst all aliases in AWS. This operation throws an * EntityAlreadyExistsException error if the alias already exists.

                    */ Alias: string | undefined; - - /** - *

                    The identifier of the directory for which to create the alias.

                    - */ - DirectoryId: string | undefined; } export namespace CreateAliasRequest { @@ -991,17 +1142,6 @@ export namespace CreateAliasResult { *

                    Contains the inputs for the CreateComputer operation.

                    */ export interface CreateComputerRequest { - /** - *

                    A one-time password that is used to join the computer to the directory. You should generate a random, strong password to use for this parameter.

                    - */ - Password: string | undefined; - - /** - *

                    An array of Attribute objects that contain any LDAP attributes to apply to the - * computer account.

                    - */ - ComputerAttributes?: Attribute[]; - /** *

                    The fully-qualified distinguished name of the organizational unit to place the computer account in.

                    */ @@ -1016,6 +1156,17 @@ export interface CreateComputerRequest { *

                    The identifier of the directory in which to create the computer account.

                    */ DirectoryId: string | undefined; + + /** + *

                    An array of Attribute objects that contain any LDAP attributes to apply to the + * computer account.

                    + */ + ComputerAttributes?: Attribute[]; + + /** + *

                    A one-time password that is used to join the computer to the directory. You should generate a random, strong password to use for this parameter.

                    + */ + Password: string | undefined; } export namespace CreateComputerRequest { @@ -1041,38 +1192,10 @@ export namespace CreateComputerResult { }); } -/** - *

                    The operation is not supported.

                    - */ -export interface UnsupportedOperationException extends __SmithyException, $MetadataBearer { - name: "UnsupportedOperationException"; - $fault: "client"; - /** - *

                    The AWS request identifier.

                    - */ - RequestId?: string; - - /** - *

                    The descriptive message for the exception.

                    - */ - Message?: string; -} - -export namespace UnsupportedOperationException { - export const filterSensitiveLog = (obj: UnsupportedOperationException): any => ({ - ...obj, - }); -} - /** *

                    Initiates the creation of a conditional forwarder for your AWS Directory Service for Microsoft Active Directory. Conditional forwarders are required in order to set up a trust relationship with another domain.

                    */ export interface CreateConditionalForwarderRequest { - /** - *

                    The fully qualified domain name (FQDN) of the remote domain with which you will set up a trust relationship.

                    - */ - RemoteDomainName: string | undefined; - /** *

                    The IP addresses of the remote DNS server associated with RemoteDomainName.

                    */ @@ -1082,6 +1205,11 @@ export interface CreateConditionalForwarderRequest { *

                    The directory ID of the AWS directory for which you are creating the conditional forwarder.

                    */ DirectoryId: string | undefined; + + /** + *

                    The fully qualified domain name (FQDN) of the remote domain with which you will set up a trust relationship.

                    + */ + RemoteDomainName: string | undefined; } export namespace CreateConditionalForwarderRequest { @@ -1101,69 +1229,70 @@ export namespace CreateConditionalForwarderResult { }); } -/** - *

                    Contains VPC information for the CreateDirectory or CreateMicrosoftAD operation.

                    - */ -export interface DirectoryVpcSettings { - /** - *

                    The identifier of the VPC in which to create the directory.

                    - */ - VpcId: string | undefined; - - /** - *

                    The identifiers of the subnets for the directory servers. The two subnets must be in different Availability Zones. AWS Directory Service creates a directory server and a DNS server in each of these subnets.

                    - */ - SubnetIds: string[] | undefined; -} - -export namespace DirectoryVpcSettings { - export const filterSensitiveLog = (obj: DirectoryVpcSettings): any => ({ - ...obj, - }); -} - /** *

                    Contains the inputs for the CreateDirectory operation.

                    */ export interface CreateDirectoryRequest { /** - *

                    The password for the directory administrator. The directory creation process creates - * a directory administrator account with the user name Administrator and this - * password.

                    - *

                    If you need to change the password for the administrator account, you can use the ResetUserPassword API call.

                    + *

                    The tags to be assigned to the Simple AD directory.

                    */ - Password: string | undefined; + Tags?: Tag[]; /** - *

                    The NetBIOS name of the directory, such as CORP.

                    + *

                    A DirectoryVpcSettings object that contains additional information for + * the operation.

                    */ - ShortName?: string; + VpcSettings?: DirectoryVpcSettings; /** - *

                    The tags to be assigned to the Simple AD directory.

                    + *

                    A description for the directory.

                    */ - Tags?: Tag[]; + Description?: string; /** - *

                    The fully qualified name for the directory, such as corp.example.com.

                    + *

                    The size of the directory.

                    */ - Name: string | undefined; + Size: DirectorySize | string | undefined; /** - *

                    A DirectoryVpcSettings object that contains additional information for the - * operation.

                    + *

                    The NetBIOS name of the directory, such as CORP.

                    */ - VpcSettings?: DirectoryVpcSettings; + ShortName?: string; /** - *

                    A description for the directory.

                    + *

                    The password for the directory administrator. The directory creation process creates a + * directory administrator account with the user name Administrator and this + * password.

                    + *

                    If you need to change the password for the administrator account, you can use the ResetUserPassword API call.

                    + *

                    The regex pattern for this string is made up of the following conditions:

                    + *
                      + *
                    • + *

                      Length (?=^.{8,64}$) – Must be between 8 and 64 characters

                      + *
                    • + *
                    + *

                    AND any 3 of the following password complexity rules required by Active Directory:

                    + *
                      + *
                    • + *

                      Numbers and upper case and lowercase (?=.*\d)(?=.*[A-Z])(?=.*[a-z])

                      + *
                    • + *
                    • + *

                      Numbers and special characters and lower case (?=.*\d)(?=.*[^A-Za-z0-9\s])(?=.*[a-z])

                      + *
                    • + *
                    • + *

                      Special characters and upper case and lower case (?=.*[^A-Za-z0-9\s])(?=.*[A-Z])(?=.*[a-z])

                      + *
                    • + *
                    • + *

                      Numbers and upper case and special characters (?=.*\d)(?=.*[A-Z])(?=.*[^A-Za-z0-9\s])

                      + *
                    • + *
                    + *

                    For additional information about how Active Directory passwords are enforced, see Password must meet complexity requirements on the Microsoft website.

                    */ - Description?: string; + Password: string | undefined; /** - *

                    The size of the directory.

                    + *

                    The fully qualified name for the directory, such as corp.example.com.

                    */ - Size: DirectorySize | string | undefined; + Name: string | undefined; } export namespace CreateDirectoryRequest { @@ -1191,13 +1320,14 @@ export namespace CreateDirectoryResult { export interface CreateLogSubscriptionRequest { /** - *

                    The name of the CloudWatch log group where the real-time domain controller logs are forwarded.

                    + *

                    The name of the CloudWatch log group where the real-time domain controller logs are + * forwarded.

                    */ LogGroupName: string | undefined; /** - *

                    Identifier of the directory to which you want to subscribe and receive real-time logs - * to your specified CloudWatch log group.

                    + *

                    Identifier of the directory to which you want to subscribe and receive real-time logs to + * your specified CloudWatch log group.

                    */ DirectoryId: string | undefined; } @@ -1223,14 +1353,14 @@ export interface InsufficientPermissionsException extends __SmithyException, $Me name: "InsufficientPermissionsException"; $fault: "client"; /** - *

                    The AWS request identifier.

                    + *

                    The descriptive message for the exception.

                    */ - RequestId?: string; + Message?: string; /** - *

                    The descriptive message for the exception.

                    + *

                    The AWS request identifier.

                    */ - Message?: string; + RequestId?: string; } export namespace InsufficientPermissionsException { @@ -1249,19 +1379,22 @@ export enum DirectoryEdition { */ export interface CreateMicrosoftADRequest { /** - *

                    A description for the directory. This label will appear on the AWS console Directory Details page after the directory is created.

                    + *

                    Contains VPC information for the CreateDirectory or CreateMicrosoftAD operation.

                    */ - Description?: string; + VpcSettings: DirectoryVpcSettings | undefined; /** - *

                    The NetBIOS name for your domain, such as CORP. If you don't specify a NetBIOS name, it will default to the first part of your directory DNS. For example, CORP for the directory DNS corp.example.com.

                    - */ - ShortName?: string; + *

                    The password for the default administrative user named Admin.

                    + *

                    If you need to change the password for the administrator account, you can use the ResetUserPassword API call.

                    + */ + Password: string | undefined; /** - *

                    Contains VPC information for the CreateDirectory or CreateMicrosoftAD operation.

                    + *

                    The fully qualified domain name for the AWS Managed Microsoft AD directory, such as + * corp.example.com. This name will resolve inside your VPC only. It does not need + * to be publicly resolvable.

                    */ - VpcSettings: DirectoryVpcSettings | undefined; + Name: string | undefined; /** *

                    The tags to be assigned to the AWS Managed Microsoft AD directory.

                    @@ -1269,22 +1402,19 @@ export interface CreateMicrosoftADRequest { Tags?: Tag[]; /** - *

                    The password for the default administrative user named Admin.

                    - *

                    If you need to change the password for the administrator account, you can use the ResetUserPassword API call.

                    + *

                    A description for the directory. This label will appear on the AWS console Directory Details page after the directory is created.

                    */ - Password: string | undefined; + Description?: string; /** - *

                    The fully qualified domain name for the AWS Managed Microsoft AD directory, such as - * corp.example.com. This name will resolve inside your VPC only. It does not need - * to be publicly resolvable.

                    + *

                    AWS Managed Microsoft AD is available in two editions: Standard and Enterprise. Enterprise is the default.

                    */ - Name: string | undefined; + Edition?: DirectoryEdition | string; /** - *

                    AWS Managed Microsoft AD is available in two editions: Standard and Enterprise. Enterprise is the default.

                    + *

                    The NetBIOS name for your domain, such as CORP. If you don't specify a NetBIOS name, it will default to the first part of your directory DNS. For example, CORP for the directory DNS corp.example.com.

                    */ - Edition?: DirectoryEdition | string; + ShortName?: string; } export namespace CreateMicrosoftADRequest { @@ -1356,14 +1486,14 @@ export interface SnapshotLimitExceededException extends __SmithyException, $Meta name: "SnapshotLimitExceededException"; $fault: "client"; /** - *

                    The descriptive message for the exception.

                    + *

                    The AWS request identifier.

                    */ - Message?: string; + RequestId?: string; /** - *

                    The AWS request identifier.

                    + *

                    The descriptive message for the exception.

                    */ - RequestId?: string; + Message?: string; } export namespace SnapshotLimitExceededException { @@ -1394,39 +1524,39 @@ export enum TrustType { */ export interface CreateTrustRequest { /** - *

                    The trust relationship type. Forest is the default.

                    + *

                    The direction of the trust relationship.

                    */ - TrustType?: TrustType | string; + TrustDirection: TrustDirection | string | undefined; /** - *

                    Optional parameter to enable selective authentication for the trust.

                    + *

                    The trust password. The must be the same password that was used when creating the trust relationship on the external domain.

                    */ - SelectiveAuth?: SelectiveAuth | string; + TrustPassword: string | undefined; /** - *

                    The Fully Qualified Domain Name (FQDN) of the external domain for which to create the trust relationship.

                    + *

                    The Directory ID of the AWS Managed Microsoft AD directory for which to establish the trust relationship.

                    */ - RemoteDomainName: string | undefined; + DirectoryId: string | undefined; /** - *

                    The IP addresses of the remote DNS server associated with RemoteDomainName.

                    + *

                    Optional parameter to enable selective authentication for the trust.

                    */ - ConditionalForwarderIpAddrs?: string[]; + SelectiveAuth?: SelectiveAuth | string; /** - *

                    The trust password. The must be the same password that was used when creating the trust relationship on the external domain.

                    + *

                    The Fully Qualified Domain Name (FQDN) of the external domain for which to create the trust relationship.

                    */ - TrustPassword: string | undefined; + RemoteDomainName: string | undefined; /** - *

                    The Directory ID of the AWS Managed Microsoft AD directory for which to establish the trust relationship.

                    + *

                    The IP addresses of the remote DNS server associated with RemoteDomainName.

                    */ - DirectoryId: string | undefined; + ConditionalForwarderIpAddrs?: string[]; /** - *

                    The direction of the trust relationship.

                    + *

                    The trust relationship type. Forest is the default.

                    */ - TrustDirection: TrustDirection | string | undefined; + TrustType?: TrustType | string; } export namespace CreateTrustRequest { @@ -1457,14 +1587,14 @@ export namespace CreateTrustResult { */ export interface DeleteConditionalForwarderRequest { /** - *

                    The fully qualified domain name (FQDN) of the remote domain with which you are deleting the conditional forwarder.

                    + *

                    The directory ID for which you are deleting the conditional forwarder.

                    */ - RemoteDomainName: string | undefined; + DirectoryId: string | undefined; /** - *

                    The directory ID for which you are deleting the conditional forwarder.

                    + *

                    The fully qualified domain name (FQDN) of the remote domain with which you are deleting the conditional forwarder.

                    */ - DirectoryId: string | undefined; + RemoteDomainName: string | undefined; } export namespace DeleteConditionalForwarderRequest { @@ -1608,14 +1738,14 @@ export namespace DeleteTrustResult { export interface DeregisterCertificateRequest { /** - *

                    The identifier of the directory.

                    + *

                    The identifier of the certificate.

                    */ - DirectoryId: string | undefined; + CertificateId: string | undefined; /** - *

                    The identifier of the certificate.

                    + *

                    The identifier of the directory.

                    */ - CertificateId: string | undefined; + DirectoryId: string | undefined; } export namespace DeregisterCertificateRequest { @@ -1632,42 +1762,19 @@ export namespace DeregisterCertificateResult { }); } -/** - *

                    The specified directory does not exist in the system.

                    - */ -export interface DirectoryDoesNotExistException extends __SmithyException, $MetadataBearer { - name: "DirectoryDoesNotExistException"; - $fault: "client"; - /** - *

                    The descriptive message for the exception.

                    - */ - Message?: string; - - /** - *

                    The AWS request identifier.

                    - */ - RequestId?: string; -} - -export namespace DirectoryDoesNotExistException { - export const filterSensitiveLog = (obj: DirectoryDoesNotExistException): any => ({ - ...obj, - }); -} - /** *

                    Removes the specified directory as a publisher to the specified SNS topic.

                    */ export interface DeregisterEventTopicRequest { /** - *

                    The name of the SNS topic from which to remove the directory as a publisher.

                    + *

                    The Directory ID to remove as a publisher. This directory will no longer send messages to the specified SNS topic.

                    */ - TopicName: string | undefined; + DirectoryId: string | undefined; /** - *

                    The Directory ID to remove as a publisher. This directory will no longer send messages to the specified SNS topic.

                    + *

                    The name of the SNS topic from which to remove the directory as a publisher.

                    */ - DirectoryId: string | undefined; + TopicName: string | undefined; } export namespace DeregisterEventTopicRequest { @@ -1724,14 +1831,14 @@ export namespace DescribeCertificateResult { */ export interface DescribeConditionalForwardersRequest { /** - *

                    The directory ID for which to get the list of associated conditional forwarders.

                    + *

                    The fully qualified domain names (FQDN) of the remote domains for which to get the list of associated conditional forwarders. If this member is null, all conditional forwarders are returned.

                    */ - DirectoryId: string | undefined; + RemoteDomainNames?: string[]; /** - *

                    The fully qualified domain names (FQDN) of the remote domains for which to get the list of associated conditional forwarders. If this member is null, all conditional forwarders are returned.

                    + *

                    The directory ID for which to get the list of associated conditional forwarders.

                    */ - RemoteDomainNames?: string[]; + DirectoryId: string | undefined; } export namespace DescribeConditionalForwardersRequest { @@ -1761,21 +1868,22 @@ export namespace DescribeConditionalForwardersResult { */ export interface DescribeDirectoriesRequest { /** - *

                    A list of identifiers of the directories for which to obtain the information. If this member is null, all directories that belong to the current account are returned.

                    - *

                    An empty list results in an InvalidParameterException being thrown.

                    + *

                    The DescribeDirectoriesResult.NextToken value from a previous call to DescribeDirectories. Pass null if this is the first call.

                    */ - DirectoryIds?: string[]; + NextToken?: string; /** - *

                    The maximum number of items to return. If this value is zero, the maximum number of items is specified by the limitations of the operation.

                    + *

                    The maximum number of items to return. If this value is zero, the maximum number of items + * is specified by the limitations of the operation.

                    */ Limit?: number; /** - *

                    The DescribeDirectoriesResult.NextToken value from a previous call to - * DescribeDirectories. Pass null if this is the first call.

                    + *

                    A list of identifiers of the directories for which to obtain the information. If this + * member is null, all directories that belong to the current account are returned.

                    + *

                    An empty list results in an InvalidParameterException being thrown.

                    */ - NextToken?: string; + DirectoryIds?: string[]; } export namespace DescribeDirectoriesRequest { @@ -1789,34 +1897,34 @@ export namespace DescribeDirectoriesRequest { */ export interface DirectoryConnectSettingsDescription { /** - *

                    A list of subnet identifiers in the VPC that the AD Connector is in.

                    + *

                    A list of the Availability Zones that the directory is in.

                    */ - SubnetIds?: string[]; + AvailabilityZones?: string[]; /** - *

                    The security group identifier for the AD Connector directory.

                    + *

                    The identifier of the VPC that the AD Connector is in.

                    */ - SecurityGroupId?: string; + VpcId?: string; /** - *

                    The identifier of the VPC that the AD Connector is in.

                    + *

                    A list of subnet identifiers in the VPC that the AD Connector is in.

                    */ - VpcId?: string; + SubnetIds?: string[]; /** - *

                    The IP addresses of the AD Connector servers.

                    + *

                    The user name of the service account in the on-premises directory.

                    */ - ConnectIps?: string[]; + CustomerUserName?: string; /** - *

                    A list of the Availability Zones that the directory is in.

                    + *

                    The IP addresses of the AD Connector servers.

                    */ - AvailabilityZones?: string[]; + ConnectIps?: string[]; /** - *

                    The user name of the service account in the on-premises directory.

                    + *

                    The security group identifier for the AD Connector directory.

                    */ - CustomerUserName?: string; + SecurityGroupId?: string; } export namespace DirectoryConnectSettingsDescription { @@ -1837,19 +1945,19 @@ export enum RadiusAuthenticationProtocol { */ export interface RadiusSettings { /** - *

                    An array of strings that contains the IP addresses of the RADIUS server endpoints, or the IP addresses of your RADIUS server load balancer.

                    + *

                    Not currently used.

                    */ - RadiusServers?: string[]; + DisplayLabel?: string; /** - *

                    The port that your RADIUS server is using for communications. Your on-premises network must allow inbound traffic over this port from the AWS Directory Service servers.

                    + *

                    Required for enabling RADIUS on the directory.

                    */ - RadiusPort?: number; + SharedSecret?: string; /** - *

                    The protocol specified for your RADIUS endpoints.

                    + *

                    The port that your RADIUS server is using for communications. Your on-premises network must allow inbound traffic over this port from the AWS Directory Service servers.

                    */ - AuthenticationProtocol?: RadiusAuthenticationProtocol | string; + RadiusPort?: number; /** *

                    The maximum number of times that communication with the RADIUS server is attempted.

                    @@ -1857,24 +1965,24 @@ export interface RadiusSettings { RadiusRetries?: number; /** - *

                    The amount of time, in seconds, to wait for the RADIUS server to respond.

                    + *

                    The protocol specified for your RADIUS endpoints.

                    */ - RadiusTimeout?: number; + AuthenticationProtocol?: RadiusAuthenticationProtocol | string; /** *

                    Not currently used.

                    */ - DisplayLabel?: string; + UseSameUsername?: boolean; /** - *

                    Required for enabling RADIUS on the directory.

                    + *

                    The amount of time, in seconds, to wait for the RADIUS server to respond.

                    */ - SharedSecret?: string; + RadiusTimeout?: number; /** - *

                    Not currently used.

                    + *

                    An array of strings that contains the fully qualified domain name (FQDN) or IP addresses of the RADIUS server endpoints, or the FQDN or IP addresses of your RADIUS server load balancer.

                    */ - UseSameUsername?: boolean; + RadiusServers?: string[]; } export namespace RadiusSettings { @@ -1894,11 +2002,6 @@ export enum RadiusStatus { *

                    Contains information about the directory.

                    */ export interface DirectoryVpcSettingsDescription { - /** - *

                    The list of Availability Zones that the directory is in.

                    - */ - AvailabilityZones?: string[]; - /** *

                    The domain controller security group identifier for the directory.

                    */ @@ -1909,6 +2012,11 @@ export interface DirectoryVpcSettingsDescription { */ VpcId?: string; + /** + *

                    The list of Availability Zones that the directory is in.

                    + */ + AvailabilityZones?: string[]; + /** *

                    The identifiers of the subnets for the directory servers.

                    */ @@ -1922,16 +2030,29 @@ export namespace DirectoryVpcSettingsDescription { } /** - *

                    Describes the directory owner account details that have been shared to the directory consumer account.

                    + *

                    Describes the directory owner account details that have been shared to the directory + * consumer account.

                    */ export interface OwnerDirectoryDescription { + /** + *

                    A RadiusSettings object that contains information about the RADIUS + * server.

                    + */ + RadiusSettings?: RadiusSettings; + + /** + *

                    IP address of the directory’s domain controllers.

                    + */ + DnsIpAddrs?: string[]; + /** *

                    Information about the status of the RADIUS server.

                    */ RadiusStatus?: RadiusStatus | string; /** - *

                    Identifier of the AWS Managed Microsoft AD directory in the directory owner account.

                    + *

                    Identifier of the AWS Managed Microsoft AD directory in the directory owner + * account.

                    */ DirectoryId?: string; @@ -1941,25 +2062,36 @@ export interface OwnerDirectoryDescription { AccountId?: string; /** - *

                    A RadiusSettings object that contains information about the RADIUS server.

                    + *

                    Information about the VPC settings for the directory.

                    */ - RadiusSettings?: RadiusSettings; + VpcSettings?: DirectoryVpcSettingsDescription; +} + +export namespace OwnerDirectoryDescription { + export const filterSensitiveLog = (obj: OwnerDirectoryDescription): any => ({ + ...obj, + ...(obj.RadiusSettings && { RadiusSettings: RadiusSettings.filterSensitiveLog(obj.RadiusSettings) }), + }); +} +/** + *

                    Provides information about the Regions that are configured for multi-Region replication.

                    + */ +export interface RegionsInfo { /** - *

                    Information about the VPC settings for the directory.

                    + *

                    The Region from where the AWS Managed Microsoft AD directory was originally created.

                    */ - VpcSettings?: DirectoryVpcSettingsDescription; + PrimaryRegion?: string; /** - *

                    IP address of the directory’s domain controllers.

                    + *

                    Lists the Regions where the directory has been replicated, excluding the primary Region.

                    */ - DnsIpAddrs?: string[]; + AdditionalRegions?: string[]; } -export namespace OwnerDirectoryDescription { - export const filterSensitiveLog = (obj: OwnerDirectoryDescription): any => ({ +export namespace RegionsInfo { + export const filterSensitiveLog = (obj: RegionsInfo): any => ({ ...obj, - ...(obj.RadiusSettings && { RadiusSettings: RadiusSettings.filterSensitiveLog(obj.RadiusSettings) }), }); } @@ -1989,140 +2121,145 @@ export enum DirectoryType { */ export interface DirectoryDescription { /** - *

                    The description for the directory.

                    + *

                    Current directory status of the shared AWS Managed Microsoft AD directory.

                    */ - Description?: string; + ShareStatus?: ShareStatus | string; /** - *

                    Specifies when the directory was created.

                    + *

                    The current stage of the directory.

                    */ - LaunchTime?: Date; + Stage?: DirectoryStage | string; /** - *

                    Indicates if single sign-on is enabled for the directory. For more information, see - * EnableSso and DisableSso.

                    + *

                    A DirectoryConnectSettingsDescription object that contains additional + * information about an AD Connector directory. This member is only present if the directory is + * an AD Connector directory.

                    */ - SsoEnabled?: boolean; + ConnectSettings?: DirectoryConnectSettingsDescription; /** - *

                    The directory size.

                    + *

                    Specifies when the directory was created.

                    */ - Size?: DirectorySize | string; + LaunchTime?: Date; /** - *

                    The IP addresses of the DNS servers for the directory. For a Simple AD or Microsoft AD directory, these are the IP addresses of the Simple AD or Microsoft AD directory servers. For an AD Connector directory, these are the IP addresses of the DNS servers or domain controllers in the on-premises directory to which the AD Connector is connected.

                    + *

                    Additional information about the directory stage.

                    */ - DnsIpAddrs?: string[]; + StageReason?: string; /** - *

                    Current directory status of the shared AWS Managed Microsoft AD directory.

                    + *

                    The alias for the directory. If no alias has been created for the directory, the alias is + * the directory identifier, such as d-XXXXXXXXXX.

                    */ - ShareStatus?: ShareStatus | string; + Alias?: string; /** - *

                    A directory share request that is sent by the directory owner to the directory consumer. - * The request includes a typed message to help the directory consumer administrator determine - * whether to approve or reject the share invitation.

                    + *

                    The desired number of domain controllers in the directory if the directory is Microsoft AD.

                    */ - ShareNotes?: string; + DesiredNumberOfDomainControllers?: number; /** - *

                    The fully qualified name of the directory.

                    + *

                    The method used when sharing a directory to determine whether the directory should be + * shared within your AWS organization (ORGANIZATIONS) or with any AWS account by + * sending a shared directory request (HANDSHAKE).

                    */ - Name?: string; + ShareMethod?: ShareMethod | string; /** - *

                    A DirectoryVpcSettingsDescription object that contains additional information about - * a directory. This member is only present if the directory is a Simple AD or Managed AD - * directory.

                    + *

                    The access URL for the directory, such as + * http://.awsapps.com. If no alias has been created for the + * directory, is the directory identifier, such as + * d-XXXXXXXXXX.

                    */ - VpcSettings?: DirectoryVpcSettingsDescription; + AccessUrl?: string; /** - *

                    The short name of the directory.

                    + *

                    The directory size.

                    */ - ShortName?: string; + Size?: DirectorySize | string; /** - *

                    The method used when sharing a directory to determine whether the directory should be - * shared within your AWS organization (ORGANIZATIONS) or with any AWS account by - * sending a shared directory request (HANDSHAKE).

                    + *

                    A directory share request that is sent by the directory owner to the directory consumer. + * The request includes a typed message to help the directory consumer administrator determine + * whether to approve or reject the share invitation.

                    */ - ShareMethod?: ShareMethod | string; + ShareNotes?: string; /** - *

                    Additional information about the directory stage.

                    + *

                    The directory size.

                    */ - StageReason?: string; + Type?: DirectoryType | string; /** - *

                    The edition associated with this directory.

                    + *

                    The short name of the directory.

                    */ - Edition?: DirectoryEdition | string; + ShortName?: string; /** - *

                    The directory identifier.

                    + *

                    The status of the RADIUS MFA server connection.

                    */ - DirectoryId?: string; + RadiusStatus?: RadiusStatus | string; /** - *

                    The desired number of domain controllers in the directory if the directory is Microsoft AD.

                    + *

                    Describes the AWS Managed Microsoft AD directory in the directory owner account.

                    */ - DesiredNumberOfDomainControllers?: number; + OwnerDirectoryDescription?: OwnerDirectoryDescription; /** - *

                    The status of the RADIUS MFA server connection.

                    + *

                    The description for the directory.

                    */ - RadiusStatus?: RadiusStatus | string; + Description?: string; /** - *

                    The alias for the - * directory. If no - * alias has been created for the directory, the alias is the directory identifier, such as - * d-XXXXXXXXXX.

                    + *

                    A RadiusSettings object that contains information about the RADIUS + * server configured for this directory.

                    */ - Alias?: string; + RadiusSettings?: RadiusSettings; /** - *

                    The access URL for the directory, such as - * http://.awsapps.com. - * If no alias has been created for the directory, - * is the directory identifier, such as d-XXXXXXXXXX.

                    + *

                    The date and time that the stage was last updated.

                    */ - AccessUrl?: string; + StageLastUpdatedDateTime?: Date; /** - *

                    Describes the AWS Managed Microsoft AD directory in the directory owner account.

                    + *

                    The fully qualified name of the directory.

                    */ - OwnerDirectoryDescription?: OwnerDirectoryDescription; + Name?: string; /** - *

                    The date and time that the stage was last updated.

                    + *

                    A DirectoryVpcSettingsDescription object that contains additional + * information about a directory. This member is only present if the directory is a Simple AD or + * Managed AD directory.

                    */ - StageLastUpdatedDateTime?: Date; + VpcSettings?: DirectoryVpcSettingsDescription; /** - *

                    A DirectoryConnectSettingsDescription object that contains additional information - * about an AD Connector directory. This member is only present if the directory is an AD - * Connector directory.

                    + *

                    The directory identifier.

                    */ - ConnectSettings?: DirectoryConnectSettingsDescription; + DirectoryId?: string; /** - *

                    The current stage of the directory.

                    + *

                    The edition associated with this directory.

                    */ - Stage?: DirectoryStage | string; + Edition?: DirectoryEdition | string; /** - *

                    A RadiusSettings object that contains information about the RADIUS server configured - * for this directory.

                    + *

                    Indicates if single sign-on is enabled for the directory. For more information, see EnableSso and DisableSso.

                    */ - RadiusSettings?: RadiusSettings; + SsoEnabled?: boolean; /** - *

                    The directory size.

                    + *

                    Lists the Regions where the directory has replicated.

                    */ - Type?: DirectoryType | string; + RegionsInfo?: RegionsInfo; + + /** + *

                    The IP addresses of the DNS servers for the directory. For a Simple AD or Microsoft AD + * directory, these are the IP addresses of the Simple AD or Microsoft AD directory servers. For + * an AD Connector directory, these are the IP addresses of the DNS servers or domain controllers + * in the on-premises directory to which the AD Connector is connected.

                    + */ + DnsIpAddrs?: string[]; } export namespace DirectoryDescription { @@ -2141,19 +2278,20 @@ export namespace DirectoryDescription { */ export interface DescribeDirectoriesResult { /** - *

                    The list of DirectoryDescription objects that were retrieved.

                    - *

                    It is possible that this list contains less than the number of items specified in the - * Limit member of the request. This occurs if there are less than the requested - * number of items left to retrieve, or if the limitations of the operation have been - * exceeded.

                    + *

                    If not null, more results are available. Pass this value for the NextToken + * parameter in a subsequent call to DescribeDirectories to retrieve the next + * set of items.

                    */ - DirectoryDescriptions?: DirectoryDescription[]; + NextToken?: string; /** - *

                    If not null, more results are available. Pass this value for the NextToken parameter - * in a subsequent call to DescribeDirectories to retrieve the next set of items.

                    + *

                    The list of DirectoryDescription objects that were retrieved.

                    + *

                    It is possible that this list contains less than the number of items specified in the + * Limit member of the request. This occurs if there are less than the requested + * number of items left to retrieve, or if the limitations of the operation have been + * exceeded.

                    */ - NextToken?: string; + DirectoryDescriptions?: DirectoryDescription[]; } export namespace DescribeDirectoriesResult { @@ -2190,9 +2328,9 @@ export namespace InvalidNextTokenException { export interface DescribeDomainControllersRequest { /** - *

                    Identifier of the directory for which to retrieve the domain controller information.

                    + *

                    The DescribeDomainControllers.NextToken value from a previous call to DescribeDomainControllers. Pass null if this is the first call.

                    */ - DirectoryId: string | undefined; + NextToken?: string; /** *

                    A list of identifiers for the domain controllers whose information will be provided.

                    @@ -2200,14 +2338,14 @@ export interface DescribeDomainControllersRequest { DomainControllerIds?: string[]; /** - *

                    The maximum number of items to return.

                    + *

                    Identifier of the directory for which to retrieve the domain controller information.

                    */ - Limit?: number; + DirectoryId: string | undefined; /** - *

                    The DescribeDomainControllers.NextToken value from a previous call to DescribeDomainControllers. Pass null if this is the first call.

                    + *

                    The maximum number of items to return.

                    */ - NextToken?: string; + Limit?: number; } export namespace DescribeDomainControllersRequest { @@ -2231,9 +2369,14 @@ export enum DomainControllerStatus { */ export interface DomainController { /** - *

                    The date and time that the status was last updated.

                    + *

                    The IP address of the domain controller.

                    */ - StatusLastUpdatedDateTime?: Date; + DnsIpAddr?: string; + + /** + *

                    Identifier of the directory where the domain controller resides.

                    + */ + DirectoryId?: string; /** *

                    Specifies when the domain controller was created.

                    @@ -2241,14 +2384,14 @@ export interface DomainController { LaunchTime?: Date; /** - *

                    Identifier of the directory where the domain controller resides.

                    + *

                    The date and time that the status was last updated.

                    */ - DirectoryId?: string; + StatusLastUpdatedDateTime?: Date; /** - *

                    A description of the domain controller state.

                    + *

                    The identifier of the VPC that contains the domain controller.

                    */ - StatusReason?: string; + VpcId?: string; /** *

                    Identifies a specific domain controller in the directory.

                    @@ -2256,14 +2399,14 @@ export interface DomainController { DomainControllerId?: string; /** - *

                    The status of the domain controller.

                    + *

                    Identifier of the subnet in the VPC that contains the domain controller.

                    */ - Status?: DomainControllerStatus | string; + SubnetId?: string; /** - *

                    The identifier of the VPC that contains the domain controller.

                    + *

                    The status of the domain controller.

                    */ - VpcId?: string; + Status?: DomainControllerStatus | string; /** *

                    The Availability Zone where the domain controller is located.

                    @@ -2271,14 +2414,9 @@ export interface DomainController { AvailabilityZone?: string; /** - *

                    The IP address of the domain controller.

                    - */ - DnsIpAddr?: string; - - /** - *

                    Identifier of the subnet in the VPC that contains the domain controller.

                    + *

                    A description of the domain controller state.

                    */ - SubnetId?: string; + StatusReason?: string; } export namespace DomainController { @@ -2289,14 +2427,14 @@ export namespace DomainController { export interface DescribeDomainControllersResult { /** - *

                    If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to DescribeDomainControllers retrieve the next set of items.

                    + *

                    List of the DomainController objects that were retrieved.

                    */ - NextToken?: string; + DomainControllers?: DomainController[]; /** - *

                    List of the DomainController objects that were retrieved.

                    + *

                    If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to DescribeDomainControllers retrieve the next set of items.

                    */ - DomainControllers?: DomainController[]; + NextToken?: string; } export namespace DescribeDomainControllersResult { @@ -2339,29 +2477,29 @@ export enum TopicStatus { */ export interface EventTopic { /** - *

                    The date and time of when you associated your directory with the SNS topic.

                    + *

                    The Directory ID of an AWS Directory Service directory that will publish status messages to an SNS topic.

                    */ - CreatedDateTime?: Date; + DirectoryId?: string; /** - *

                    The name of an AWS SNS topic the receives status messages from the directory.

                    + *

                    The SNS topic ARN (Amazon Resource Name).

                    */ - TopicName?: string; + TopicArn?: string; /** - *

                    The SNS topic ARN (Amazon Resource Name).

                    + *

                    The topic registration status.

                    */ - TopicArn?: string; + Status?: TopicStatus | string; /** - *

                    The Directory ID of an AWS Directory Service directory that will publish status messages to an SNS topic.

                    + *

                    The name of an AWS SNS topic the receives status messages from the directory.

                    */ - DirectoryId?: string; + TopicName?: string; /** - *

                    The topic registration status.

                    + *

                    The date and time of when you associated your directory with the SNS topic.

                    */ - Status?: TopicStatus | string; + CreatedDateTime?: Date; } export namespace EventTopic { @@ -2390,108 +2528,213 @@ export enum LDAPSType { CLIENT = "Client", } -export interface DescribeLDAPSSettingsRequest { +export interface DescribeLDAPSSettingsRequest { + /** + *

                    The type of next token used for pagination.

                    + */ + NextToken?: string; + + /** + *

                    The type of LDAP security to enable. Currently only the value Client is + * supported.

                    + */ + Type?: LDAPSType | string; + + /** + *

                    The identifier of the directory.

                    + */ + DirectoryId: string | undefined; + + /** + *

                    Specifies the number of items that should be displayed on one page.

                    + */ + Limit?: number; +} + +export namespace DescribeLDAPSSettingsRequest { + export const filterSensitiveLog = (obj: DescribeLDAPSSettingsRequest): any => ({ + ...obj, + }); +} + +export enum LDAPSStatus { + DISABLED = "Disabled", + ENABLED = "Enabled", + ENABLE_FAILED = "EnableFailed", + ENABLING = "Enabling", +} + +/** + *

                    Contains general information about the LDAPS settings.

                    + */ +export interface LDAPSSettingInfo { + /** + *

                    The date and time when the LDAPS settings were last updated.

                    + */ + LastUpdatedDateTime?: Date; + + /** + *

                    Describes a state change for LDAPS.

                    + */ + LDAPSStatusReason?: string; + + /** + *

                    The state of the LDAPS settings.

                    + */ + LDAPSStatus?: LDAPSStatus | string; +} + +export namespace LDAPSSettingInfo { + export const filterSensitiveLog = (obj: LDAPSSettingInfo): any => ({ + ...obj, + }); +} + +export interface DescribeLDAPSSettingsResult { + /** + *

                    Information about LDAP security for the specified directory, including status of + * enablement, state last updated date time, and the reason for the state.

                    + */ + LDAPSSettingsInfo?: LDAPSSettingInfo[]; + + /** + *

                    The next token used to retrieve the LDAPS settings if the number of setting types exceeds + * page limit and there is another page.

                    + */ + NextToken?: string; +} + +export namespace DescribeLDAPSSettingsResult { + export const filterSensitiveLog = (obj: DescribeLDAPSSettingsResult): any => ({ + ...obj, + }); +} + +export interface DescribeRegionsRequest { + /** + *

                    The identifier of the directory.

                    + */ + DirectoryId: string | undefined; + + /** + *

                    The name of the Region. For example, us-east-1.

                    + */ + RegionName?: string; + + /** + *

                    The DescribeRegionsResult.NextToken value from a previous call to + * DescribeRegions. Pass null if this is the first call.

                    + */ + NextToken?: string; +} + +export namespace DescribeRegionsRequest { + export const filterSensitiveLog = (obj: DescribeRegionsRequest): any => ({ + ...obj, + }); +} + +export enum RegionType { + ADDITIONAL = "Additional", + PRIMARY = "Primary", +} + +/** + *

                    The replicated regional information for a directory.

                    + */ +export interface RegionDescription { + /** + *

                    Contains VPC information for the CreateDirectory or CreateMicrosoftAD operation.

                    + */ + VpcSettings?: DirectoryVpcSettings; + /** - *

                    Specifies the number of items that should be displayed on one page.

                    + *

                    The date and time that the Region status was last updated.

                    */ - Limit?: number; + StatusLastUpdatedDateTime?: Date; /** - *

                    The identifier of the directory.

                    + *

                    The name of the Region. For example, us-east-1.

                    */ - DirectoryId: string | undefined; + RegionName?: string; /** - *

                    The type of LDAP security to enable. Currently only the value Client is supported.

                    + *

                    Specifies if the Region is the primary Region or an additional Region.

                    */ - Type?: LDAPSType | string; + RegionType?: RegionType | string; /** - *

                    The type of next token used for pagination.

                    + *

                    The status of the replication process for the specified Region.

                    */ - NextToken?: string; -} - -export namespace DescribeLDAPSSettingsRequest { - export const filterSensitiveLog = (obj: DescribeLDAPSSettingsRequest): any => ({ - ...obj, - }); -} + Status?: DirectoryStage | string; -export enum LDAPSStatus { - DISABLED = "Disabled", - ENABLED = "Enabled", - ENABLE_FAILED = "EnableFailed", - ENABLING = "Enabling", -} + /** + *

                    The desired number of domain controllers in the specified Region for the specified directory.

                    + */ + DesiredNumberOfDomainControllers?: number; -/** - *

                    Contains general information about the LDAPS settings.

                    - */ -export interface LDAPSSettingInfo { /** - *

                    Describes a state change for LDAPS.

                    + *

                    Specifies when the Region replication began.

                    */ - LDAPSStatusReason?: string; + LaunchTime?: Date; /** - *

                    The state of the LDAPS settings.

                    + *

                    The identifier of the directory.

                    */ - LDAPSStatus?: LDAPSStatus | string; + DirectoryId?: string; /** - *

                    The date and time when the LDAPS settings were last updated.

                    + *

                    The date and time that the Region description was last updated.

                    */ LastUpdatedDateTime?: Date; } -export namespace LDAPSSettingInfo { - export const filterSensitiveLog = (obj: LDAPSSettingInfo): any => ({ +export namespace RegionDescription { + export const filterSensitiveLog = (obj: RegionDescription): any => ({ ...obj, }); } -export interface DescribeLDAPSSettingsResult { +export interface DescribeRegionsResult { /** - *

                    The next token used to retrieve the LDAPS settings if the number of setting types exceeds page limit and there is another page.

                    + *

                    List of regional information related to the directory per replicated Region.

                    */ - NextToken?: string; + RegionsDescription?: RegionDescription[]; /** - *

                    Information about LDAP security for the specified directory, including status of - * enablement, state last updated date time, and the reason for the state.

                    + *

                    If not null, more results are available. Pass this value for the NextToken parameter + * in a subsequent call to DescribeRegions to retrieve the next set of items.

                    */ - LDAPSSettingsInfo?: LDAPSSettingInfo[]; + NextToken?: string; } -export namespace DescribeLDAPSSettingsResult { - export const filterSensitiveLog = (obj: DescribeLDAPSSettingsResult): any => ({ +export namespace DescribeRegionsResult { + export const filterSensitiveLog = (obj: DescribeRegionsResult): any => ({ ...obj, }); } export interface DescribeSharedDirectoriesRequest { /** - *

                    The DescribeSharedDirectoriesResult.NextToken value from a previous call to - * DescribeSharedDirectories. Pass null if this is the first call. - *

                    + *

                    The number of shared directories to return in the response object.

                    */ - NextToken?: string; + Limit?: number; /** - *

                    Returns the identifier of the directory in the directory owner account.

                    + *

                    A list of identifiers of all shared directories in your account.

                    */ - OwnerDirectoryId: string | undefined; + SharedDirectoryIds?: string[]; /** - *

                    The number of shared directories to return in the response object.

                    + *

                    The DescribeSharedDirectoriesResult.NextToken value from a previous call to + * DescribeSharedDirectories. Pass null if this is the first call.

                    */ - Limit?: number; + NextToken?: string; /** - *

                    A list of identifiers of all shared directories in your account.

                    + *

                    Returns the identifier of the directory in the directory owner account.

                    */ - SharedDirectoryIds?: string[]; + OwnerDirectoryId: string | undefined; } export namespace DescribeSharedDirectoriesRequest { @@ -2502,15 +2745,15 @@ export namespace DescribeSharedDirectoriesRequest { export interface DescribeSharedDirectoriesResult { /** - *

                    A list of all shared directories in your account.

                    + *

                    If not null, token that indicates that more results are available. Pass this value for the + * NextToken parameter in a subsequent call to DescribeSharedDirectories to retrieve the next set of items.

                    */ - SharedDirectories?: SharedDirectory[]; + NextToken?: string; /** - *

                    If not null, token that indicates that more results are available. Pass this value for the NextToken parameter - * in a subsequent call to DescribeSharedDirectories to retrieve the next set of items.

                    + *

                    A list of all shared directories in your account.

                    */ - NextToken?: string; + SharedDirectories?: SharedDirectory[]; } export namespace DescribeSharedDirectoriesResult { @@ -2572,19 +2815,19 @@ export enum SnapshotType { */ export interface Snapshot { /** - *

                    The date and time that the snapshot was taken.

                    + *

                    The descriptive name of the snapshot.

                    */ - StartTime?: Date; + Name?: string; /** - *

                    The descriptive name of the snapshot.

                    + *

                    The snapshot type.

                    */ - Name?: string; + Type?: SnapshotType | string; /** - *

                    The snapshot status.

                    + *

                    The snapshot identifier.

                    */ - Status?: SnapshotStatus | string; + SnapshotId?: string; /** *

                    The directory identifier.

                    @@ -2592,14 +2835,14 @@ export interface Snapshot { DirectoryId?: string; /** - *

                    The snapshot type.

                    + *

                    The snapshot status.

                    */ - Type?: SnapshotType | string; + Status?: SnapshotStatus | string; /** - *

                    The snapshot identifier.

                    + *

                    The date and time that the snapshot was taken.

                    */ - SnapshotId?: string; + StartTime?: Date; } export namespace Snapshot { @@ -2639,26 +2882,26 @@ export namespace DescribeSnapshotsResult { */ export interface DescribeTrustsRequest { /** - *

                    The maximum number of objects to return.

                    + *

                    The DescribeTrustsResult.NextToken value from a previous call to + * DescribeTrusts. Pass null if this is the first call.

                    */ - Limit?: number; + NextToken?: string; /** - *

                    A list of identifiers of the trust relationships for which to obtain the information. If this member is null, all trust relationships that belong to the current account are returned.

                    - *

                    An empty list results in an InvalidParameterException being thrown.

                    + *

                    The Directory ID of the AWS directory that is a part of the requested trust relationship.

                    */ - TrustIds?: string[]; + DirectoryId?: string; /** - *

                    The DescribeTrustsResult.NextToken value from a previous call to - * DescribeTrusts. Pass null if this is the first call.

                    + *

                    A list of identifiers of the trust relationships for which to obtain the information. If this member is null, all trust relationships that belong to the current account are returned.

                    + *

                    An empty list results in an InvalidParameterException being thrown.

                    */ - NextToken?: string; + TrustIds?: string[]; /** - *

                    The Directory ID of the AWS directory that is a part of the requested trust relationship.

                    + *

                    The maximum number of objects to return.

                    */ - DirectoryId?: string; + Limit?: number; } export namespace DescribeTrustsRequest { @@ -2686,24 +2929,24 @@ export enum TrustState { */ export interface Trust { /** - *

                    The trust relationship type. Forest is the default.

                    + *

                    The date and time that the trust relationship was last updated.

                    */ - TrustType?: TrustType | string; + LastUpdatedDateTime?: Date; /** - *

                    The date and time that the trust relationship was created.

                    + *

                    The date and time that the TrustState was last updated.

                    */ - CreatedDateTime?: Date; + StateLastUpdatedDateTime?: Date; /** - *

                    The trust relationship state.

                    + *

                    The reason for the TrustState.

                    */ - TrustState?: TrustState | string; + TrustStateReason?: string; /** - *

                    Current state of selective authentication for the trust.

                    + *

                    The trust relationship direction.

                    */ - SelectiveAuth?: SelectiveAuth | string; + TrustDirection?: TrustDirection | string; /** *

                    The Fully Qualified Domain Name (FQDN) of the external domain involved in the trust relationship.

                    @@ -2711,34 +2954,34 @@ export interface Trust { RemoteDomainName?: string; /** - *

                    The trust relationship direction.

                    + *

                    The unique ID of the trust relationship.

                    */ - TrustDirection?: TrustDirection | string; + TrustId?: string; /** - *

                    The date and time that the trust relationship was last updated.

                    + *

                    The trust relationship type. Forest is the default.

                    */ - LastUpdatedDateTime?: Date; + TrustType?: TrustType | string; /** - *

                    The date and time that the TrustState was last updated.

                    + *

                    The Directory ID of the AWS directory involved in the trust relationship.

                    */ - StateLastUpdatedDateTime?: Date; + DirectoryId?: string; /** - *

                    The unique ID of the trust relationship.

                    + *

                    The trust relationship state.

                    */ - TrustId?: string; + TrustState?: TrustState | string; /** - *

                    The reason for the TrustState.

                    + *

                    Current state of selective authentication for the trust.

                    */ - TrustStateReason?: string; + SelectiveAuth?: SelectiveAuth | string; /** - *

                    The Directory ID of the AWS directory involved in the trust relationship.

                    + *

                    The date and time that the trust relationship was created.

                    */ - DirectoryId?: string; + CreatedDateTime?: Date; } export namespace Trust { @@ -2751,12 +2994,6 @@ export namespace Trust { *

                    The result of a DescribeTrust request.

                    */ export interface DescribeTrustsResult { - /** - *

                    If not null, more results are available. Pass this value for the NextToken parameter - * in a subsequent call to DescribeTrusts to retrieve the next set of items.

                    - */ - NextToken?: string; - /** *

                    The list of Trust objects that were retrieved.

                    *

                    It is possible that this list contains less than the number of items specified in the @@ -2765,6 +3002,12 @@ export interface DescribeTrustsResult { * exceeded.

                    */ Trusts?: Trust[]; + + /** + *

                    If not null, more results are available. Pass this value for the NextToken parameter + * in a subsequent call to DescribeTrusts to retrieve the next set of items.

                    + */ + NextToken?: string; } export namespace DescribeTrustsResult { @@ -2778,14 +3021,9 @@ export namespace DescribeTrustsResult { */ export interface DirectoryLimits { /** - *

                    The current number of cloud directories in the Region.

                    - */ - CloudOnlyDirectoriesCurrentCount?: number; - - /** - *

                    The maximum number of cloud directories allowed in the Region.

                    + *

                    The maximum number of connected directories allowed in the Region.

                    */ - CloudOnlyDirectoriesLimit?: number; + ConnectedDirectoriesLimit?: number; /** *

                    The maximum number of AWS Managed Microsoft AD directories allowed in the region.

                    @@ -2793,14 +3031,14 @@ export interface DirectoryLimits { CloudOnlyMicrosoftADLimit?: number; /** - *

                    Indicates if the connected directory limit has been reached.

                    + *

                    The current number of connected directories in the Region.

                    */ - ConnectedDirectoriesLimitReached?: boolean; + ConnectedDirectoriesCurrentCount?: number; /** - *

                    Indicates if the cloud directory limit has been reached.

                    + *

                    Indicates if the AWS Managed Microsoft AD directory limit has been reached.

                    */ - CloudOnlyDirectoriesLimitReached?: boolean; + CloudOnlyMicrosoftADLimitReached?: boolean; /** *

                    The current number of AWS Managed Microsoft AD directories in the region.

                    @@ -2808,19 +3046,24 @@ export interface DirectoryLimits { CloudOnlyMicrosoftADCurrentCount?: number; /** - *

                    Indicates if the AWS Managed Microsoft AD directory limit has been reached.

                    + *

                    Indicates if the connected directory limit has been reached.

                    */ - CloudOnlyMicrosoftADLimitReached?: boolean; + ConnectedDirectoriesLimitReached?: boolean; /** - *

                    The maximum number of connected directories allowed in the Region.

                    + *

                    The maximum number of cloud directories allowed in the Region.

                    */ - ConnectedDirectoriesLimit?: number; + CloudOnlyDirectoriesLimit?: number; /** - *

                    The current number of connected directories in the Region.

                    + *

                    The current number of cloud directories in the Region.

                    */ - ConnectedDirectoriesCurrentCount?: number; + CloudOnlyDirectoriesCurrentCount?: number; + + /** + *

                    Indicates if the cloud directory limit has been reached.

                    + */ + CloudOnlyDirectoriesLimitReached?: boolean; } export namespace DirectoryLimits { @@ -2836,14 +3079,14 @@ export interface DirectoryNotSharedException extends __SmithyException, $Metadat name: "DirectoryNotSharedException"; $fault: "client"; /** - *

                    The descriptive message for the exception.

                    + *

                    The AWS request identifier.

                    */ - Message?: string; + RequestId?: string; /** - *

                    The AWS request identifier.

                    + *

                    The descriptive message for the exception.

                    */ - RequestId?: string; + Message?: string; } export namespace DirectoryNotSharedException { @@ -2854,14 +3097,15 @@ export namespace DirectoryNotSharedException { export interface DisableLDAPSRequest { /** - *

                    The type of LDAP security to enable. Currently only the value Client is supported.

                    + *

                    The identifier of the directory.

                    */ - Type: LDAPSType | string | undefined; + DirectoryId: string | undefined; /** - *

                    The identifier of the directory.

                    + *

                    The type of LDAP security to enable. Currently only the value Client is + * supported.

                    */ - DirectoryId: string | undefined; + Type: LDAPSType | string | undefined; } export namespace DisableLDAPSRequest { @@ -2886,14 +3130,14 @@ export interface InvalidLDAPSStatusException extends __SmithyException, $Metadat name: "InvalidLDAPSStatusException"; $fault: "client"; /** - *

                    The descriptive message for the exception.

                    + *

                    The AWS request identifier.

                    */ - Message?: string; + RequestId?: string; /** - *

                    The AWS request identifier.

                    + *

                    The descriptive message for the exception.

                    */ - RequestId?: string; + Message?: string; } export namespace InvalidLDAPSStatusException { @@ -2933,6 +3177,12 @@ export namespace DisableRadiusResult { *

                    Contains the inputs for the DisableSso operation.

                    */ export interface DisableSsoRequest { + /** + *

                    The password of an alternate account to use to disable single-sign on. This is only used + * for AD Connector directories. For more information, see the UserName parameter.

                    + */ + Password?: string; + /** *

                    The identifier of the directory for which to disable single-sign on.

                    */ @@ -2946,12 +3196,6 @@ export interface DisableSsoRequest { * the service. The AD Connector service account is not changed.

                    */ UserName?: string; - - /** - *

                    The password of an alternate account to use to disable single-sign on. This is only used - * for AD Connector directories. For more information, see the UserName parameter.

                    - */ - Password?: string; } export namespace DisableSsoRequest { @@ -2979,7 +3223,8 @@ export interface EnableLDAPSRequest { DirectoryId: string | undefined; /** - *

                    The type of LDAP security to enable. Currently only the value Client is supported.

                    + *

                    The type of LDAP security to enable. Currently only the value Client is + * supported.

                    */ Type: LDAPSType | string | undefined; } @@ -3060,10 +3305,9 @@ export namespace EnableRadiusResult { */ export interface EnableSsoRequest { /** - *

                    The password of an alternate account to use to enable single-sign on. This is only used for - * AD Connector directories. For more information, see the UserName parameter.

                    + *

                    The identifier of the directory for which to enable single-sign on.

                    */ - Password?: string; + DirectoryId: string | undefined; /** *

                    The username of an alternate account to use to enable single-sign on. This is only used for AD Connector directories. This account must have privileges to add a service principal name.

                    @@ -3075,9 +3319,10 @@ export interface EnableSsoRequest { UserName?: string; /** - *

                    The identifier of the directory for which to enable single-sign on.

                    + *

                    The password of an alternate account to use to enable single-sign on. This is only used for + * AD Connector directories. For more information, see the UserName parameter.

                    */ - DirectoryId: string | undefined; + Password?: string; } export namespace EnableSsoRequest { @@ -3146,6 +3391,11 @@ export namespace GetSnapshotLimitsRequest { *

                    Contains manual snapshot limit information for a directory.

                    */ export interface SnapshotLimits { + /** + *

                    The current number of manual snapshots of the directory.

                    + */ + ManualSnapshotsCurrentCount?: number; + /** *

                    The maximum number of manual snapshots allowed.

                    */ @@ -3155,11 +3405,6 @@ export interface SnapshotLimits { *

                    Indicates if the manual snapshot limit has been reached.

                    */ ManualSnapshotsLimitReached?: boolean; - - /** - *

                    The current number of manual snapshots of the directory.

                    - */ - ManualSnapshotsCurrentCount?: number; } export namespace SnapshotLimits { @@ -3185,7 +3430,12 @@ export namespace GetSnapshotLimitsResult { }); } -export interface ListCertificatesRequest { +export interface ListCertificatesRequest { + /** + *

                    The number of items that should show up on one page

                    + */ + Limit?: number; + /** *

                    A token for requesting another page of certificates if the NextToken response * element indicates that more certificates are available. Use the value of the returned @@ -3198,11 +3448,6 @@ export interface ListCertificatesRequest { *

                    The identifier of the directory.

                    */ DirectoryId: string | undefined; - - /** - *

                    The number of items that should show up on one page

                    - */ - Limit?: number; } export namespace ListCertificatesRequest { @@ -3232,17 +3477,17 @@ export namespace ListCertificatesResult { } export interface ListIpRoutesRequest { - /** - *

                    Maximum number of items to return. If this value is zero, the maximum number of items is specified by the limitations of the operation.

                    - */ - Limit?: number; - /** *

                    The ListIpRoutes.NextToken value from a previous call to * ListIpRoutes. Pass null if this is the first call.

                    */ NextToken?: string; + /** + *

                    Maximum number of items to return. If this value is zero, the maximum number of items is specified by the limitations of the operation.

                    + */ + Limit?: number; + /** *

                    Identifier (ID) of the directory for which you want to retrieve the IP addresses.

                    */ @@ -3269,34 +3514,34 @@ export enum IpRouteStatusMsg { */ export interface IpRouteInfo { /** - *

                    The reason for the IpRouteStatusMsg.

                    + *

                    IP address block in the IpRoute.

                    */ - IpRouteStatusReason?: string; + CidrIp?: string; /** - *

                    Identifier (ID) of the directory associated with the IP addresses.

                    + *

                    The date and time the address block was added to the directory.

                    */ - DirectoryId?: string; + AddedDateTime?: Date; /** - *

                    Description of the IpRouteInfo.

                    + *

                    The status of the IP address block.

                    */ - Description?: string; + IpRouteStatusMsg?: IpRouteStatusMsg | string; /** - *

                    The date and time the address block was added to the directory.

                    + *

                    Description of the IpRouteInfo.

                    */ - AddedDateTime?: Date; + Description?: string; /** - *

                    IP address block in the IpRoute.

                    + *

                    Identifier (ID) of the directory associated with the IP addresses.

                    */ - CidrIp?: string; + DirectoryId?: string; /** - *

                    The status of the IP address block.

                    + *

                    The reason for the IpRouteStatusMsg.

                    */ - IpRouteStatusMsg?: IpRouteStatusMsg | string; + IpRouteStatusReason?: string; } export namespace IpRouteInfo { @@ -3307,15 +3552,15 @@ export namespace IpRouteInfo { export interface ListIpRoutesResult { /** - *

                    If not null, more results are available. Pass this value for the NextToken parameter - * in a subsequent call to ListIpRoutes to retrieve the next set of items.

                    + *

                    A list of IpRoutes.

                    */ - NextToken?: string; + IpRoutesInfo?: IpRouteInfo[]; /** - *

                    A list of IpRoutes.

                    + *

                    If not null, more results are available. Pass this value for the NextToken parameter + * in a subsequent call to ListIpRoutes to retrieve the next set of items.

                    */ - IpRoutesInfo?: IpRouteInfo[]; + NextToken?: string; } export namespace ListIpRoutesResult { @@ -3325,20 +3570,23 @@ export namespace ListIpRoutesResult { } export interface ListLogSubscriptionsRequest { - /** - *

                    The maximum number of items returned.

                    - */ - Limit?: number; - /** *

                    The token for the next set of items to return.

                    */ NextToken?: string; /** - *

                    If a DirectoryID is provided, lists only the log subscription associated with that directory. If no DirectoryId is provided, lists all log subscriptions associated with your AWS account. If there are no log subscriptions for the AWS account or the directory, an empty list will be returned.

                    + *

                    If a DirectoryID is provided, lists only the log subscription + * associated with that directory. If no DirectoryId is provided, lists all + * log subscriptions associated with your AWS account. If there are no log subscriptions for the + * AWS account or the directory, an empty list will be returned.

                    */ DirectoryId?: string; + + /** + *

                    The maximum number of items returned.

                    + */ + Limit?: number; } export namespace ListLogSubscriptionsRequest { @@ -3348,13 +3596,14 @@ export namespace ListLogSubscriptionsRequest { } /** - *

                    Represents a log subscription, which tracks real-time data from a chosen log group to a specified destination.

                    + *

                    Represents a log subscription, which tracks real-time data from a chosen log group to a + * specified destination.

                    */ export interface LogSubscription { /** - *

                    Identifier (ID) of the directory that you want to associate with the log subscription.

                    + *

                    The name of the log group.

                    */ - DirectoryId?: string; + LogGroupName?: string; /** *

                    The date and time that the log subscription was created.

                    @@ -3362,9 +3611,10 @@ export interface LogSubscription { SubscriptionCreatedDateTime?: Date; /** - *

                    The name of the log group.

                    + *

                    Identifier (ID) of the directory that you want to associate with the log + * subscription.

                    */ - LogGroupName?: string; + DirectoryId?: string; } export namespace LogSubscription { @@ -3375,14 +3625,15 @@ export namespace LogSubscription { export interface ListLogSubscriptionsResult { /** - *

                    The token for the next set of items to return.

                    + *

                    A list of active LogSubscription objects for calling the AWS + * account.

                    */ - NextToken?: string; + LogSubscriptions?: LogSubscription[]; /** - *

                    A list of active LogSubscription objects for calling the AWS account.

                    + *

                    The token for the next set of items to return.

                    */ - LogSubscriptions?: LogSubscription[]; + NextToken?: string; } export namespace ListLogSubscriptionsResult { @@ -3431,19 +3682,19 @@ export enum SchemaExtensionStatus { */ export interface SchemaExtensionInfo { /** - *

                    The reason for the SchemaExtensionStatus.

                    + *

                    The date and time that the schema extension started being applied to the directory.

                    */ - SchemaExtensionStatusReason?: string; + StartDateTime?: Date; /** - *

                    The date and time that the schema extension was completed.

                    + *

                    The identifier of the schema extension.

                    */ - EndDateTime?: Date; + SchemaExtensionId?: string; /** - *

                    A description of the schema extension.

                    + *

                    The identifier of the directory to which the schema extension is applied.

                    */ - Description?: string; + DirectoryId?: string; /** *

                    The current status of the schema extension.

                    @@ -3451,19 +3702,19 @@ export interface SchemaExtensionInfo { SchemaExtensionStatus?: SchemaExtensionStatus | string; /** - *

                    The date and time that the schema extension started being applied to the directory.

                    + *

                    The reason for the SchemaExtensionStatus.

                    */ - StartDateTime?: Date; + SchemaExtensionStatusReason?: string; /** - *

                    The identifier of the schema extension.

                    + *

                    A description of the schema extension.

                    */ - SchemaExtensionId?: string; + Description?: string; /** - *

                    The identifier of the directory to which the schema extension is applied.

                    + *

                    The date and time that the schema extension was completed.

                    */ - DirectoryId?: string; + EndDateTime?: Date; } export namespace SchemaExtensionInfo { @@ -3474,14 +3725,14 @@ export namespace SchemaExtensionInfo { export interface ListSchemaExtensionsResult { /** - *

                    Information about the schema extensions applied to the directory.

                    + *

                    If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to ListSchemaExtensions to retrieve the next set of items.

                    */ - SchemaExtensionsInfo?: SchemaExtensionInfo[]; + NextToken?: string; /** - *

                    If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to ListSchemaExtensions to retrieve the next set of items.

                    + *

                    Information about the schema extensions applied to the directory.

                    */ - NextToken?: string; + SchemaExtensionsInfo?: SchemaExtensionInfo[]; } export namespace ListSchemaExtensionsResult { @@ -3494,12 +3745,12 @@ export interface ListTagsForResourceRequest { /** *

                    Reserved for future use.

                    */ - Limit?: number; + NextToken?: string; /** *

                    Reserved for future use.

                    */ - NextToken?: string; + Limit?: number; /** *

                    Identifier (ID) of the directory for which you want to retrieve tags.

                    @@ -3556,14 +3807,14 @@ export namespace InvalidCertificateException { export interface RegisterCertificateRequest { /** - *

                    The certificate PEM string that needs to be registered.

                    + *

                    The identifier of the directory.

                    */ - CertificateData: string | undefined; + DirectoryId: string | undefined; /** - *

                    The identifier of the directory.

                    + *

                    The certificate PEM string that needs to be registered.

                    */ - DirectoryId: string | undefined; + CertificateData: string | undefined; } export namespace RegisterCertificateRequest { @@ -3619,7 +3870,8 @@ export namespace RegisterEventTopicResult { export interface RejectSharedDirectoryRequest { /** - *

                    Identifier of the shared directory in the directory consumer account. This identifier is different for each directory owner account.

                    + *

                    Identifier of the shared directory in the directory consumer account. This identifier is + * different for each directory owner account.

                    */ SharedDirectoryId: string | undefined; } @@ -3645,14 +3897,14 @@ export namespace RejectSharedDirectoryResult { export interface RemoveIpRoutesRequest { /** - *

                    IP address blocks that you want to remove.

                    + *

                    Identifier (ID) of the directory from which you want to remove the IP addresses.

                    */ - CidrIps: string[] | undefined; + DirectoryId: string | undefined; /** - *

                    Identifier (ID) of the directory from which you want to remove the IP addresses.

                    + *

                    IP address blocks that you want to remove.

                    */ - DirectoryId: string | undefined; + CidrIps: string[] | undefined; } export namespace RemoveIpRoutesRequest { @@ -3669,6 +3921,27 @@ export namespace RemoveIpRoutesResult { }); } +export interface RemoveRegionRequest { + /** + *

                    The identifier of the directory for which you want to remove Region replication.

                    + */ + DirectoryId: string | undefined; +} + +export namespace RemoveRegionRequest { + export const filterSensitiveLog = (obj: RemoveRegionRequest): any => ({ + ...obj, + }); +} + +export interface RemoveRegionResult {} + +export namespace RemoveRegionResult { + export const filterSensitiveLog = (obj: RemoveRegionResult): any => ({ + ...obj, + }); +} + export interface RemoveTagsFromResourceRequest { /** *

                    The tag key (name) of the tag to be removed.

                    @@ -3702,14 +3975,14 @@ export interface InvalidPasswordException extends __SmithyException, $MetadataBe name: "InvalidPasswordException"; $fault: "client"; /** - *

                    The AWS request identifier.

                    + *

                    The descriptive message for the exception.

                    */ - RequestId?: string; + Message?: string; /** - *

                    The descriptive message for the exception.

                    + *

                    The AWS request identifier.

                    */ - Message?: string; + RequestId?: string; } export namespace InvalidPasswordException { @@ -3720,12 +3993,8 @@ export namespace InvalidPasswordException { export interface ResetUserPasswordRequest { /** - *

                    The user name of the user whose password will be reset.

                    - */ - UserName: string | undefined; - - /** - *

                    Identifier of the AWS Managed Microsoft AD or Simple AD directory in which the user resides.

                    + *

                    Identifier of the AWS Managed Microsoft AD or Simple AD directory in which the user + * resides.

                    */ DirectoryId: string | undefined; @@ -3733,6 +4002,11 @@ export interface ResetUserPasswordRequest { *

                    The new password that will be reset.

                    */ NewPassword: string | undefined; + + /** + *

                    The user name of the user whose password will be reset.

                    + */ + UserName: string | undefined; } export namespace ResetUserPasswordRequest { @@ -3757,14 +4031,14 @@ export interface UserDoesNotExistException extends __SmithyException, $MetadataB name: "UserDoesNotExistException"; $fault: "client"; /** - *

                    The descriptive message for the exception.

                    + *

                    The AWS request identifier.

                    */ - Message?: string; + RequestId?: string; /** - *

                    The AWS request identifier.

                    + *

                    The descriptive message for the exception.

                    */ - RequestId?: string; + Message?: string; } export namespace UserDoesNotExistException { @@ -3807,14 +4081,14 @@ export interface InvalidTargetException extends __SmithyException, $MetadataBear name: "InvalidTargetException"; $fault: "client"; /** - *

                    The descriptive message for the exception.

                    + *

                    The AWS request identifier.

                    */ - Message?: string; + RequestId?: string; /** - *

                    The AWS request identifier.

                    + *

                    The descriptive message for the exception.

                    */ - RequestId?: string; + Message?: string; } export namespace InvalidTargetException { @@ -3830,14 +4104,14 @@ export interface OrganizationsException extends __SmithyException, $MetadataBear name: "OrganizationsException"; $fault: "client"; /** - *

                    The AWS request identifier.

                    + *

                    The descriptive message for the exception.

                    */ - RequestId?: string; + Message?: string; /** - *

                    The descriptive message for the exception.

                    + *

                    The AWS request identifier.

                    */ - Message?: string; + RequestId?: string; } export namespace OrganizationsException { @@ -3855,14 +4129,14 @@ export enum TargetType { */ export interface ShareTarget { /** - *

                    Identifier of the directory consumer account.

                    + *

                    Type of identifier to be used in the Id field.

                    */ - Id: string | undefined; + Type: TargetType | string | undefined; /** - *

                    Type of identifier to be used in the Id field.

                    + *

                    Identifier of the directory consumer account.

                    */ - Type: TargetType | string | undefined; + Id: string | undefined; } export namespace ShareTarget { @@ -3873,11 +4147,16 @@ export namespace ShareTarget { export interface ShareDirectoryRequest { /** - *

                    A directory share request that is sent by the directory owner to the directory consumer. - * The request includes a typed message to help the directory consumer administrator determine - * whether to approve or reject the share invitation.

                    + *

                    Identifier of the AWS Managed Microsoft AD directory that you want to share with other AWS + * accounts.

                    */ - ShareNotes?: string; + DirectoryId: string | undefined; + + /** + *

                    Identifier for the directory consumer account with whom the directory is to be + * shared.

                    + */ + ShareTarget: ShareTarget | undefined; /** *

                    The method used when sharing a directory to determine whether the directory should be @@ -3887,14 +4166,11 @@ export interface ShareDirectoryRequest { ShareMethod: ShareMethod | string | undefined; /** - *

                    Identifier of the AWS Managed Microsoft AD directory that you want to share with other AWS accounts.

                    - */ - DirectoryId: string | undefined; - - /** - *

                    Identifier for the directory consumer account with whom the directory is to be shared.

                    + *

                    A directory share request that is sent by the directory owner to the directory consumer. + * The request includes a typed message to help the directory consumer administrator determine + * whether to approve or reject the share invitation.

                    */ - ShareTarget: ShareTarget | undefined; + ShareNotes?: string; } export namespace ShareDirectoryRequest { @@ -3948,9 +4224,9 @@ export interface StartSchemaExtensionRequest { Description: string | undefined; /** - *

                    If true, creates a snapshot of the directory before applying the schema extension.

                    + *

                    The identifier of the directory for which the schema extension will be applied to.

                    */ - CreateSnapshotBeforeSchemaExtension: boolean | undefined; + DirectoryId: string | undefined; /** *

                    The LDIF file represented as a string. To construct the LdifContent string, precede each line as it would be formatted in an ldif file with \n. See the example request below for more details. The file size can be no larger than 1MB.

                    @@ -3958,9 +4234,9 @@ export interface StartSchemaExtensionRequest { LdifContent: string | undefined; /** - *

                    The identifier of the directory for which the schema extension will be applied to.

                    + *

                    If true, creates a snapshot of the directory before applying the schema extension.

                    */ - DirectoryId: string | undefined; + CreateSnapshotBeforeSchemaExtension: boolean | undefined; } export namespace StartSchemaExtensionRequest { @@ -3983,18 +4259,19 @@ export namespace StartSchemaExtensionResult { } /** - *

                    Identifier that contains details about the directory consumer account with whom the directory is being unshared.

                    + *

                    Identifier that contains details about the directory consumer account with whom the + * directory is being unshared.

                    */ export interface UnshareTarget { /** - *

                    Type of identifier to be used in the Id field.

                    + *

                    Identifier of the directory consumer account.

                    */ - Type: TargetType | string | undefined; + Id: string | undefined; /** - *

                    Identifier of the directory consumer account.

                    + *

                    Type of identifier to be used in the Id field.

                    */ - Id: string | undefined; + Type: TargetType | string | undefined; } export namespace UnshareTarget { @@ -4005,12 +4282,14 @@ export namespace UnshareTarget { export interface UnshareDirectoryRequest { /** - *

                    Identifier for the directory consumer account with whom the directory has to be unshared.

                    + *

                    Identifier for the directory consumer account with whom the directory has to be + * unshared.

                    */ UnshareTarget: UnshareTarget | undefined; /** - *

                    The identifier of the AWS Managed Microsoft AD directory that you want to stop sharing.

                    + *

                    The identifier of the AWS Managed Microsoft AD directory that you want to stop + * sharing.

                    */ DirectoryId: string | undefined; } @@ -4023,7 +4302,8 @@ export namespace UnshareDirectoryRequest { export interface UnshareDirectoryResult { /** - *

                    Identifier of the directory stored in the directory consumer account that is to be unshared from the specified directory (DirectoryId).

                    + *

                    Identifier of the directory stored in the directory consumer account that is to be + * unshared from the specified directory (DirectoryId).

                    */ SharedDirectoryId?: string; } @@ -4038,6 +4318,11 @@ export namespace UnshareDirectoryResult { *

                    Updates a conditional forwarder.

                    */ export interface UpdateConditionalForwarderRequest { + /** + *

                    The directory ID of the AWS directory for which to update the conditional forwarder.

                    + */ + DirectoryId: string | undefined; + /** *

                    The updated IP addresses of the remote DNS server associated with the conditional forwarder.

                    */ @@ -4047,11 +4332,6 @@ export interface UpdateConditionalForwarderRequest { *

                    The fully qualified domain name (FQDN) of the remote domain with which you will set up a trust relationship.

                    */ RemoteDomainName: string | undefined; - - /** - *

                    The directory ID of the AWS directory for which to update the conditional forwarder.

                    - */ - DirectoryId: string | undefined; } export namespace UpdateConditionalForwarderRequest { @@ -4078,14 +4358,14 @@ export interface DomainControllerLimitExceededException extends __SmithyExceptio name: "DomainControllerLimitExceededException"; $fault: "client"; /** - *

                    The AWS request identifier.

                    + *

                    The descriptive message for the exception.

                    */ - RequestId?: string; + Message?: string; /** - *

                    The descriptive message for the exception.

                    + *

                    The AWS request identifier.

                    */ - Message?: string; + RequestId?: string; } export namespace DomainControllerLimitExceededException { @@ -4125,14 +4405,14 @@ export namespace UpdateNumberOfDomainControllersResult { */ export interface UpdateRadiusRequest { /** - *

                    A RadiusSettings object that contains information about the RADIUS server.

                    + *

                    The identifier of the directory for which to update the RADIUS server information.

                    */ - RadiusSettings: RadiusSettings | undefined; + DirectoryId: string | undefined; /** - *

                    The identifier of the directory for which to update the RADIUS server information.

                    + *

                    A RadiusSettings object that contains information about the RADIUS server.

                    */ - DirectoryId: string | undefined; + RadiusSettings: RadiusSettings | undefined; } export namespace UpdateRadiusRequest { @@ -4155,14 +4435,14 @@ export namespace UpdateRadiusResult { export interface UpdateTrustRequest { /** - *

                    Identifier of the trust relationship.

                    + *

                    Updates selective authentication for the trust.

                    */ - TrustId: string | undefined; + SelectiveAuth?: SelectiveAuth | string; /** - *

                    Updates selective authentication for the trust.

                    + *

                    Identifier of the trust relationship.

                    */ - SelectiveAuth?: SelectiveAuth | string; + TrustId: string | undefined; } export namespace UpdateTrustRequest { diff --git a/clients/client-directory-service/protocols/Aws_json1_1.ts b/clients/client-directory-service/protocols/Aws_json1_1.ts index 6108109dc49b..0f9ce1044fdb 100644 --- a/clients/client-directory-service/protocols/Aws_json1_1.ts +++ b/clients/client-directory-service/protocols/Aws_json1_1.ts @@ -3,6 +3,7 @@ import { AcceptSharedDirectoryCommandOutput, } from "../commands/AcceptSharedDirectoryCommand"; import { AddIpRoutesCommandInput, AddIpRoutesCommandOutput } from "../commands/AddIpRoutesCommand"; +import { AddRegionCommandInput, AddRegionCommandOutput } from "../commands/AddRegionCommand"; import { AddTagsToResourceCommandInput, AddTagsToResourceCommandOutput } from "../commands/AddTagsToResourceCommand"; import { CancelSchemaExtensionCommandInput, @@ -66,6 +67,7 @@ import { DescribeLDAPSSettingsCommandInput, DescribeLDAPSSettingsCommandOutput, } from "../commands/DescribeLDAPSSettingsCommand"; +import { DescribeRegionsCommandInput, DescribeRegionsCommandOutput } from "../commands/DescribeRegionsCommand"; import { DescribeSharedDirectoriesCommandInput, DescribeSharedDirectoriesCommandOutput, @@ -104,6 +106,7 @@ import { RejectSharedDirectoryCommandOutput, } from "../commands/RejectSharedDirectoryCommand"; import { RemoveIpRoutesCommandInput, RemoveIpRoutesCommandOutput } from "../commands/RemoveIpRoutesCommand"; +import { RemoveRegionCommandInput, RemoveRegionCommandOutput } from "../commands/RemoveRegionCommand"; import { RemoveTagsFromResourceCommandInput, RemoveTagsFromResourceCommandOutput, @@ -136,6 +139,8 @@ import { AccessDeniedException, AddIpRoutesRequest, AddIpRoutesResult, + AddRegionRequest, + AddRegionResult, AddTagsToResourceRequest, AddTagsToResourceResult, Attribute, @@ -195,12 +200,15 @@ import { DescribeEventTopicsResult, DescribeLDAPSSettingsRequest, DescribeLDAPSSettingsResult, + DescribeRegionsRequest, + DescribeRegionsResult, DescribeSharedDirectoriesRequest, DescribeSharedDirectoriesResult, DescribeSnapshotsRequest, DescribeSnapshotsResult, DescribeTrustsRequest, DescribeTrustsResult, + DirectoryAlreadyInRegionException, DirectoryAlreadySharedException, DirectoryConnectSettings, DirectoryConnectSettingsDescription, @@ -259,6 +267,9 @@ import { OrganizationsException, OwnerDirectoryDescription, RadiusSettings, + RegionDescription, + RegionLimitExceededException, + RegionsInfo, RegisterCertificateRequest, RegisterCertificateResult, RegisterEventTopicRequest, @@ -267,6 +278,8 @@ import { RejectSharedDirectoryResult, RemoveIpRoutesRequest, RemoveIpRoutesResult, + RemoveRegionRequest, + RemoveRegionResult, RemoveTagsFromResourceRequest, RemoveTagsFromResourceResult, ResetUserPasswordRequest, @@ -340,6 +353,19 @@ export const serializeAws_json1_1AddIpRoutesCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1AddRegionCommand = async ( + input: AddRegionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "DirectoryService_20150416.AddRegion", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1AddRegionRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1AddTagsToResourceCommand = async ( input: AddTagsToResourceCommandInput, context: __SerdeContext @@ -652,6 +678,19 @@ export const serializeAws_json1_1DescribeLDAPSSettingsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DescribeRegionsCommand = async ( + input: DescribeRegionsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "DirectoryService_20150416.DescribeRegions", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeRegionsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DescribeSharedDirectoriesCommand = async ( input: DescribeSharedDirectoriesCommandInput, context: __SerdeContext @@ -912,6 +951,19 @@ export const serializeAws_json1_1RemoveIpRoutesCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1RemoveRegionCommand = async ( + input: RemoveRegionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "DirectoryService_20150416.RemoveRegion", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1RemoveRegionRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1RemoveTagsFromResourceCommand = async ( input: RemoveTagsFromResourceCommandInput, context: __SerdeContext @@ -1245,6 +1297,133 @@ const deserializeAws_json1_1AddIpRoutesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1AddRegionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1AddRegionCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1AddRegionResult(data, context); + const response: AddRegionCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1AddRegionCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.directoryservice#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ClientException": + case "com.amazonaws.directoryservice#ClientException": + response = { + ...(await deserializeAws_json1_1ClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "DirectoryAlreadyInRegionException": + case "com.amazonaws.directoryservice#DirectoryAlreadyInRegionException": + response = { + ...(await deserializeAws_json1_1DirectoryAlreadyInRegionExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "DirectoryDoesNotExistException": + case "com.amazonaws.directoryservice#DirectoryDoesNotExistException": + response = { + ...(await deserializeAws_json1_1DirectoryDoesNotExistExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "DirectoryUnavailableException": + case "com.amazonaws.directoryservice#DirectoryUnavailableException": + response = { + ...(await deserializeAws_json1_1DirectoryUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "EntityDoesNotExistException": + case "com.amazonaws.directoryservice#EntityDoesNotExistException": + response = { + ...(await deserializeAws_json1_1EntityDoesNotExistExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.directoryservice#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "RegionLimitExceededException": + case "com.amazonaws.directoryservice#RegionLimitExceededException": + response = { + ...(await deserializeAws_json1_1RegionLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceException": + case "com.amazonaws.directoryservice#ServiceException": + response = { + ...(await deserializeAws_json1_1ServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnsupportedOperationException": + case "com.amazonaws.directoryservice#UnsupportedOperationException": + response = { + ...(await deserializeAws_json1_1UnsupportedOperationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1AddTagsToResourceCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -3373,6 +3552,109 @@ const deserializeAws_json1_1DescribeLDAPSSettingsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1DescribeRegionsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeRegionsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeRegionsResult(data, context); + const response: DescribeRegionsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeRegionsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.directoryservice#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ClientException": + case "com.amazonaws.directoryservice#ClientException": + response = { + ...(await deserializeAws_json1_1ClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "DirectoryDoesNotExistException": + case "com.amazonaws.directoryservice#DirectoryDoesNotExistException": + response = { + ...(await deserializeAws_json1_1DirectoryDoesNotExistExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidNextTokenException": + case "com.amazonaws.directoryservice#InvalidNextTokenException": + response = { + ...(await deserializeAws_json1_1InvalidNextTokenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.directoryservice#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceException": + case "com.amazonaws.directoryservice#ServiceException": + response = { + ...(await deserializeAws_json1_1ServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnsupportedOperationException": + case "com.amazonaws.directoryservice#UnsupportedOperationException": + response = { + ...(await deserializeAws_json1_1UnsupportedOperationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1DescribeSharedDirectoriesCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -5137,6 +5419,101 @@ const deserializeAws_json1_1RemoveIpRoutesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1RemoveRegionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1RemoveRegionCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1RemoveRegionResult(data, context); + const response: RemoveRegionCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1RemoveRegionCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.directoryservice#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ClientException": + case "com.amazonaws.directoryservice#ClientException": + response = { + ...(await deserializeAws_json1_1ClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "DirectoryDoesNotExistException": + case "com.amazonaws.directoryservice#DirectoryDoesNotExistException": + response = { + ...(await deserializeAws_json1_1DirectoryDoesNotExistExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "DirectoryUnavailableException": + case "com.amazonaws.directoryservice#DirectoryUnavailableException": + response = { + ...(await deserializeAws_json1_1DirectoryUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceException": + case "com.amazonaws.directoryservice#ServiceException": + response = { + ...(await deserializeAws_json1_1ServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnsupportedOperationException": + case "com.amazonaws.directoryservice#UnsupportedOperationException": + response = { + ...(await deserializeAws_json1_1UnsupportedOperationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1RemoveTagsFromResourceCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -6255,6 +6632,21 @@ const deserializeAws_json1_1ClientExceptionResponse = async ( return contents; }; +const deserializeAws_json1_1DirectoryAlreadyInRegionExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1DirectoryAlreadyInRegionException(body, context); + const contents: DirectoryAlreadyInRegionException = { + name: "DirectoryAlreadyInRegionException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + const deserializeAws_json1_1DirectoryAlreadySharedExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -6525,6 +6917,21 @@ const deserializeAws_json1_1OrganizationsExceptionResponse = async ( return contents; }; +const deserializeAws_json1_1RegionLimitExceededExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1RegionLimitExceededException(body, context); + const contents: RegionLimitExceededException = { + name: "RegionLimitExceededException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + const deserializeAws_json1_1ServiceExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -6634,6 +7041,16 @@ const serializeAws_json1_1AddIpRoutesRequest = (input: AddIpRoutesRequest, conte }; }; +const serializeAws_json1_1AddRegionRequest = (input: AddRegionRequest, context: __SerdeContext): any => { + return { + ...(input.DirectoryId !== undefined && { DirectoryId: input.DirectoryId }), + ...(input.RegionName !== undefined && { RegionName: input.RegionName }), + ...(input.VPCSettings !== undefined && { + VPCSettings: serializeAws_json1_1DirectoryVpcSettings(input.VPCSettings, context), + }), + }; +}; + const serializeAws_json1_1AddTagsToResourceRequest = ( input: AddTagsToResourceRequest, context: __SerdeContext @@ -6908,6 +7325,14 @@ const serializeAws_json1_1DescribeLDAPSSettingsRequest = ( }; }; +const serializeAws_json1_1DescribeRegionsRequest = (input: DescribeRegionsRequest, context: __SerdeContext): any => { + return { + ...(input.DirectoryId !== undefined && { DirectoryId: input.DirectoryId }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.RegionName !== undefined && { RegionName: input.RegionName }), + }; +}; + const serializeAws_json1_1DescribeSharedDirectoriesRequest = ( input: DescribeSharedDirectoriesRequest, context: __SerdeContext @@ -7154,6 +7579,12 @@ const serializeAws_json1_1RemoveIpRoutesRequest = (input: RemoveIpRoutesRequest, }; }; +const serializeAws_json1_1RemoveRegionRequest = (input: RemoveRegionRequest, context: __SerdeContext): any => { + return { + ...(input.DirectoryId !== undefined && { DirectoryId: input.DirectoryId }), + }; +}; + const serializeAws_json1_1RemoveTagsFromResourceRequest = ( input: RemoveTagsFromResourceRequest, context: __SerdeContext @@ -7333,6 +7764,14 @@ const deserializeAws_json1_1AddIpRoutesResult = (output: any, context: __SerdeCo return {} as any; }; +const deserializeAws_json1_1AdditionalRegions = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + +const deserializeAws_json1_1AddRegionResult = (output: any, context: __SerdeContext): AddRegionResult => { + return {} as any; +}; + const deserializeAws_json1_1AddTagsToResourceResult = ( output: any, context: __SerdeContext @@ -7666,6 +8105,16 @@ const deserializeAws_json1_1DescribeLDAPSSettingsResult = ( } as any; }; +const deserializeAws_json1_1DescribeRegionsResult = (output: any, context: __SerdeContext): DescribeRegionsResult => { + return { + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + RegionsDescription: + output.RegionsDescription !== undefined && output.RegionsDescription !== null + ? deserializeAws_json1_1RegionsDescription(output.RegionsDescription, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1DescribeSharedDirectoriesResult = ( output: any, context: __SerdeContext @@ -7702,6 +8151,16 @@ const deserializeAws_json1_1DescribeTrustsResult = (output: any, context: __Serd } as any; }; +const deserializeAws_json1_1DirectoryAlreadyInRegionException = ( + output: any, + context: __SerdeContext +): DirectoryAlreadyInRegionException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + RequestId: output.RequestId !== undefined && output.RequestId !== null ? output.RequestId : undefined, + } as any; +}; + const deserializeAws_json1_1DirectoryAlreadySharedException = ( output: any, context: __SerdeContext @@ -7770,6 +8229,10 @@ const deserializeAws_json1_1DirectoryDescription = (output: any, context: __Serd ? deserializeAws_json1_1RadiusSettings(output.RadiusSettings, context) : undefined, RadiusStatus: output.RadiusStatus !== undefined && output.RadiusStatus !== null ? output.RadiusStatus : undefined, + RegionsInfo: + output.RegionsInfo !== undefined && output.RegionsInfo !== null + ? deserializeAws_json1_1RegionsInfo(output.RegionsInfo, context) + : undefined, ShareMethod: output.ShareMethod !== undefined && output.ShareMethod !== null ? output.ShareMethod : undefined, ShareNotes: output.ShareNotes !== undefined && output.ShareNotes !== null ? output.ShareNotes : undefined, ShareStatus: output.ShareStatus !== undefined && output.ShareStatus !== null ? output.ShareStatus : undefined, @@ -7875,6 +8338,16 @@ const deserializeAws_json1_1DirectoryUnavailableException = ( } as any; }; +const deserializeAws_json1_1DirectoryVpcSettings = (output: any, context: __SerdeContext): DirectoryVpcSettings => { + return { + SubnetIds: + output.SubnetIds !== undefined && output.SubnetIds !== null + ? deserializeAws_json1_1SubnetIds(output.SubnetIds, context) + : undefined, + VpcId: output.VpcId !== undefined && output.VpcId !== null ? output.VpcId : undefined, + } as any; +}; + const deserializeAws_json1_1DirectoryVpcSettingsDescription = ( output: any, context: __SerdeContext @@ -8277,6 +8750,60 @@ const deserializeAws_json1_1RadiusSettings = (output: any, context: __SerdeConte } as any; }; +const deserializeAws_json1_1RegionDescription = (output: any, context: __SerdeContext): RegionDescription => { + return { + DesiredNumberOfDomainControllers: + output.DesiredNumberOfDomainControllers !== undefined && output.DesiredNumberOfDomainControllers !== null + ? output.DesiredNumberOfDomainControllers + : undefined, + DirectoryId: output.DirectoryId !== undefined && output.DirectoryId !== null ? output.DirectoryId : undefined, + LastUpdatedDateTime: + output.LastUpdatedDateTime !== undefined && output.LastUpdatedDateTime !== null + ? new Date(Math.round(output.LastUpdatedDateTime * 1000)) + : undefined, + LaunchTime: + output.LaunchTime !== undefined && output.LaunchTime !== null + ? new Date(Math.round(output.LaunchTime * 1000)) + : undefined, + RegionName: output.RegionName !== undefined && output.RegionName !== null ? output.RegionName : undefined, + RegionType: output.RegionType !== undefined && output.RegionType !== null ? output.RegionType : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + StatusLastUpdatedDateTime: + output.StatusLastUpdatedDateTime !== undefined && output.StatusLastUpdatedDateTime !== null + ? new Date(Math.round(output.StatusLastUpdatedDateTime * 1000)) + : undefined, + VpcSettings: + output.VpcSettings !== undefined && output.VpcSettings !== null + ? deserializeAws_json1_1DirectoryVpcSettings(output.VpcSettings, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1RegionLimitExceededException = ( + output: any, + context: __SerdeContext +): RegionLimitExceededException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + RequestId: output.RequestId !== undefined && output.RequestId !== null ? output.RequestId : undefined, + } as any; +}; + +const deserializeAws_json1_1RegionsDescription = (output: any, context: __SerdeContext): RegionDescription[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1RegionDescription(entry, context)); +}; + +const deserializeAws_json1_1RegionsInfo = (output: any, context: __SerdeContext): RegionsInfo => { + return { + AdditionalRegions: + output.AdditionalRegions !== undefined && output.AdditionalRegions !== null + ? deserializeAws_json1_1AdditionalRegions(output.AdditionalRegions, context) + : undefined, + PrimaryRegion: + output.PrimaryRegion !== undefined && output.PrimaryRegion !== null ? output.PrimaryRegion : undefined, + } as any; +}; + const deserializeAws_json1_1RegisterCertificateResult = ( output: any, context: __SerdeContext @@ -8310,6 +8837,10 @@ const deserializeAws_json1_1RemoveIpRoutesResult = (output: any, context: __Serd return {} as any; }; +const deserializeAws_json1_1RemoveRegionResult = (output: any, context: __SerdeContext): RemoveRegionResult => { + return {} as any; +}; + const deserializeAws_json1_1RemoveTagsFromResourceResult = ( output: any, context: __SerdeContext diff --git a/clients/client-eventbridge/EventBridge.ts b/clients/client-eventbridge/EventBridge.ts index 52f5587256ba..5f77bf3475c2 100644 --- a/clients/client-eventbridge/EventBridge.ts +++ b/clients/client-eventbridge/EventBridge.ts @@ -251,7 +251,7 @@ export class EventBridge extends EventBridgeClient { /** *

                    Creates an archive of events with the specified settings. When you create an archive, * incoming events might not immediately start being sent to the archive. Allow a short - * period of time for changes to take effect.

                    + * period of time for changes to take effect. If you do not specify a pattern to filter events sent to the archive, all events are sent to the archive except replayed events. Replayed events are not sent to an archive.

                    */ public createArchive( args: CreateArchiveCommandInput, @@ -1391,12 +1391,13 @@ export class EventBridge extends EventBridgeClient { * goes to by using the KinesisParameters argument. To invoke a command on * multiple EC2 instances with one rule, you can use the RunCommandParameters * field.

                    + * *

                    To be able to make API calls against the resources that you own, Amazon EventBridge - * (CloudWatch Events) needs the appropriate permissions. For AWS Lambda and Amazon SNS - * resources, EventBridge relies on resource-based policies. For EC2 instances, Kinesis - * data streams, AWS Step Functions state machines and API Gateway REST APIs, EventBridge - * relies on IAM roles that you specify in the RoleARN argument in - * PutTargets. For more information, see Authentication and Access Control in the Amazon EventBridge User + * (CloudWatch Events) needs the appropriate permissions. For AWS Lambda and Amazon SNS resources, + * EventBridge relies on resource-based policies. For EC2 instances, Kinesis data + * streams, AWS Step Functions state machines and API Gateway REST APIs, EventBridge relies on IAM roles + * that you specify in the RoleARN argument in PutTargets. For more information, + * see Authentication and Access Control in the Amazon EventBridge User * Guide.

                    * *

                    If another AWS account is in the same region and has granted you permission (using @@ -1406,8 +1407,8 @@ export class EventBridge extends EventBridgeClient { * run PutTargets. If your account sends events to another account, your * account is charged for each sent event. Each event sent to another account is charged as * a custom event. The account receiving the event is not charged. For more information, - * see Amazon EventBridge - * (CloudWatch Events) Pricing.

                    + * see Amazon EventBridge (CloudWatch Events) + * Pricing.

                    * * *

                    diff --git a/clients/client-eventbridge/models/models_0.ts b/clients/client-eventbridge/models/models_0.ts index f9ca1588a69e..594e4182dfe3 100644 --- a/clients/client-eventbridge/models/models_0.ts +++ b/clients/client-eventbridge/models/models_0.ts @@ -103,19 +103,20 @@ export enum ArchiveState { */ export interface Archive { /** - *

                    The size of the archive, in bytes.

                    + *

                    The name of the archive.

                    */ - SizeBytes?: number; + ArchiveName?: string; /** - *

                    The number of events in the archive.

                    + *

                    The ARN of the event bus associated with the archive. Only events from this event bus + * are sent to the archive.

                    */ - EventCount?: number; + EventSourceArn?: string; /** - *

                    The number of days to retain events in the archive before they are deleted.

                    + *

                    The current state of the archive.

                    */ - RetentionDays?: number; + State?: ArchiveState | string; /** *

                    A description for the reason that the archive is in the current state.

                    @@ -123,25 +124,24 @@ export interface Archive { StateReason?: string; /** - *

                    The name of the archive.

                    + *

                    The number of days to retain events in the archive before they are deleted.

                    */ - ArchiveName?: string; + RetentionDays?: number; /** - *

                    The time stamp for the time that the archive was created.

                    + *

                    The size of the archive, in bytes.

                    */ - CreationTime?: Date; + SizeBytes?: number; /** - *

                    The current state of the archive.

                    + *

                    The number of events in the archive.

                    */ - State?: ArchiveState | string; + EventCount?: number; /** - *

                    The ARN of the event bus associated with the archive. Only events from this event bus - * are sent to the archive.

                    + *

                    The time stamp for the time that the archive was created.

                    */ - EventSourceArn?: string; + CreationTime?: Date; } export namespace Archive { @@ -184,14 +184,14 @@ export interface CancelReplayResponse { ReplayArn?: string; /** - *

                    The reason that the replay is in the current state.

                    + *

                    The current state of the replay.

                    */ - StateReason?: string; + State?: ReplayState | string; /** - *

                    The current state of the replay.

                    + *

                    The reason that the replay is in the current state.

                    */ - State?: ReplayState | string; + StateReason?: string; } export namespace CancelReplayResponse { @@ -218,24 +218,24 @@ export namespace IllegalStatusException { export interface CreateArchiveRequest { /** - *

                    A description for the archive.

                    + *

                    The name for the archive to create.

                    */ - Description?: string; + ArchiveName: string | undefined; /** - *

                    The name for the archive to create.

                    + *

                    The ARN of the event source associated with the archive.

                    */ - ArchiveName: string | undefined; + EventSourceArn: string | undefined; /** - *

                    An event pattern to use to filter events sent to the archive.

                    + *

                    A description for the archive.

                    */ - EventPattern?: string; + Description?: string; /** - *

                    The ARN of the event source associated with the archive.

                    + *

                    An event pattern to use to filter events sent to the archive.

                    */ - EventSourceArn: string | undefined; + EventPattern?: string; /** *

                    The number of days to retain events for. Default value is 0. If set to 0, events are @@ -252,14 +252,14 @@ export namespace CreateArchiveRequest { export interface CreateArchiveResponse { /** - *

                    The time at which the archive was created.

                    + *

                    The ARN of the archive that was created.

                    */ - CreationTime?: Date; + ArchiveArn?: string; /** - *

                    The ARN of the archive that was created.

                    + *

                    The state of the archive that was created.

                    */ - ArchiveArn?: string; + State?: ArchiveState | string; /** *

                    The reason that the archive is in the state.

                    @@ -267,9 +267,9 @@ export interface CreateArchiveResponse { StateReason?: string; /** - *

                    The state of the archive that was created.

                    + *

                    The time at which the archive was created.

                    */ - State?: ArchiveState | string; + CreationTime?: Date; } export namespace CreateArchiveResponse { @@ -348,11 +348,6 @@ export namespace Tag { } export interface CreateEventBusRequest { - /** - *

                    Tags to associate with the event bus.

                    - */ - Tags?: Tag[]; - /** *

                    The name of the new event bus.

                    *

                    Event bus names cannot contain the / character. You can't use the name @@ -368,6 +363,11 @@ export interface CreateEventBusRequest { * the new event bus will be matched with.

                    */ EventSourceName?: string; + + /** + *

                    Tags to associate with the event bus.

                    + */ + Tags?: Tag[]; } export namespace CreateEventBusRequest { @@ -476,14 +476,14 @@ export namespace DeleteEventBusRequest { export interface DeletePartnerEventSourceRequest { /** - *

                    The AWS account ID of the AWS customer that the event source was created for.

                    + *

                    The name of the event source to delete.

                    */ - Account: string | undefined; + Name: string | undefined; /** - *

                    The name of the event source to delete.

                    + *

                    The AWS account ID of the AWS customer that the event source was created for.

                    */ - Name: string | undefined; + Account: string | undefined; } export namespace DeletePartnerEventSourceRequest { @@ -494,24 +494,24 @@ export namespace DeletePartnerEventSourceRequest { export interface DeleteRuleRequest { /** - *

                    If this is a managed rule, created by an AWS service on your behalf, you must specify - * Force as True to delete the rule. This parameter is - * ignored for rules that are not managed rules. You can check whether a rule is a managed - * rule by using DescribeRule or ListRules and checking the - * ManagedBy field of the response.

                    + *

                    The name of the rule.

                    */ - Force?: boolean; + Name: string | undefined; /** - *

                    The event bus associated with the rule. If you omit this, the default event bus is + *

                    The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is * used.

                    */ EventBusName?: string; /** - *

                    The name of the rule.

                    + *

                    If this is a managed rule, created by an AWS service on your behalf, you must specify + * Force as True to delete the rule. This parameter is + * ignored for rules that are not managed rules. You can check whether a rule is a managed + * rule by using DescribeRule or ListRules and checking the + * ManagedBy field of the response.

                    */ - Name: string | undefined; + Force?: boolean; } export namespace DeleteRuleRequest { @@ -555,35 +555,40 @@ export namespace DescribeArchiveRequest { } export interface DescribeArchiveResponse { + /** + *

                    The ARN of the archive.

                    + */ + ArchiveArn?: string; + /** *

                    The name of the archive.

                    */ ArchiveName?: string; /** - *

                    The time at which the archive was created.

                    + *

                    The ARN of the event source associated with the archive.

                    */ - CreationTime?: Date; + EventSourceArn?: string; /** - *

                    The ARN of the archive.

                    + *

                    The description of the archive.

                    */ - ArchiveArn?: string; + Description?: string; /** - *

                    The state of the archive.

                    + *

                    The event pattern used to filter events sent to the archive.

                    */ - State?: ArchiveState | string; + EventPattern?: string; /** - *

                    The size of the archive in bytes.

                    + *

                    The state of the archive.

                    */ - SizeBytes?: number; + State?: ArchiveState | string; /** - *

                    The number of events in the archive.

                    + *

                    The reason that the archive is in the state.

                    */ - EventCount?: number; + StateReason?: string; /** *

                    The number of days to retain events for in the archive.

                    @@ -591,24 +596,19 @@ export interface DescribeArchiveResponse { RetentionDays?: number; /** - *

                    The event pattern used to filter events sent to the archive.

                    - */ - EventPattern?: string; - - /** - *

                    The reason that the archive is in the state.

                    + *

                    The size of the archive in bytes.

                    */ - StateReason?: string; + SizeBytes?: number; /** - *

                    The description of the archive.

                    + *

                    The number of events in the archive.

                    */ - Description?: string; + EventCount?: number; /** - *

                    The ARN of the event source associated with the archive.

                    + *

                    The time at which the archive was created.

                    */ - EventSourceArn?: string; + CreationTime?: Date; } export namespace DescribeArchiveResponse { @@ -619,7 +619,7 @@ export namespace DescribeArchiveResponse { export interface DescribeEventBusRequest { /** - *

                    The name of the event bus to show details for. If you omit this, the default event bus + *

                    The name or ARN of the event bus to show details for. If you omit this, the default event bus * is displayed.

                    */ Name?: string; @@ -638,17 +638,17 @@ export interface DescribeEventBusResponse { */ Name?: string; - /** - *

                    The policy that enables the external account to send events to your - * account.

                    - */ - Policy?: string; - /** *

                    The Amazon Resource Name (ARN) of the account permitted to write events to the * current account.

                    */ Arn?: string; + + /** + *

                    The policy that enables the external account to send events to your + * account.

                    + */ + Policy?: string; } export namespace DescribeEventBusResponse { @@ -678,18 +678,14 @@ export enum EventSourceState { export interface DescribeEventSourceResponse { /** - *

                    The state of the event source. If it is ACTIVE, you have already created a matching - * event bus for this event source, and that event bus is active. If it is PENDING, either - * you haven't yet created a matching event bus, or that event bus is deactivated. If it is - * DELETED, you have created a matching event bus, but the event source has since been - * deleted.

                    + *

                    The ARN of the partner event source.

                    */ - State?: EventSourceState | string; + Arn?: string; /** - *

                    The name of the partner event source.

                    + *

                    The name of the SaaS partner that created the event source.

                    */ - Name?: string; + CreatedBy?: string; /** *

                    The date and time that the event source was created.

                    @@ -697,20 +693,24 @@ export interface DescribeEventSourceResponse { CreationTime?: Date; /** - *

                    The ARN of the partner event source.

                    + *

                    The date and time that the event source will expire if you do not create a matching + * event bus.

                    */ - Arn?: string; + ExpirationTime?: Date; /** - *

                    The name of the SaaS partner that created the event source.

                    + *

                    The name of the partner event source.

                    */ - CreatedBy?: string; + Name?: string; /** - *

                    The date and time that the event source will expire if you do not create a matching - * event bus.

                    + *

                    The state of the event source. If it is ACTIVE, you have already created a matching + * event bus for this event source, and that event bus is active. If it is PENDING, either + * you haven't yet created a matching event bus, or that event bus is deactivated. If it is + * DELETED, you have created a matching event bus, but the event source has since been + * deleted.

                    */ - ExpirationTime?: Date; + State?: EventSourceState | string; } export namespace DescribeEventSourceResponse { @@ -787,19 +787,19 @@ export namespace ReplayDestination { export interface DescribeReplayResponse { /** - *

                    The reason that the replay is in the current state.

                    + *

                    The name of the replay.

                    */ - StateReason?: string; + ReplayName?: string; /** - *

                    A time stamp for the time that the replay stopped.

                    + *

                    The ARN of the replay.

                    */ - ReplayEndTime?: Date; + ReplayArn?: string; /** - *

                    The name of the replay.

                    + *

                    The description of the replay.

                    */ - ReplayName?: string; + Description?: string; /** *

                    The current state of the replay.

                    @@ -807,44 +807,44 @@ export interface DescribeReplayResponse { State?: ReplayState | string; /** - *

                    The time that the event was last replayed.

                    + *

                    The reason that the replay is in the current state.

                    */ - EventLastReplayedTime?: Date; + StateReason?: string; /** - *

                    The time stamp for the last event that was replayed from the archive.

                    + *

                    The ARN of the archive events were replayed from.

                    */ - EventEndTime?: Date; + EventSourceArn?: string; /** - *

                    A time stamp for the time that the replay started.

                    + *

                    A ReplayDestination object that contains details about the replay.

                    */ - ReplayStartTime?: Date; + Destination?: ReplayDestination; /** - *

                    The description of the replay.

                    + *

                    The time stamp of the first event that was last replayed from the archive.

                    */ - Description?: string; + EventStartTime?: Date; /** - *

                    A ReplayDestination object that contains details about the replay.

                    + *

                    The time stamp for the last event that was replayed from the archive.

                    */ - Destination?: ReplayDestination; + EventEndTime?: Date; /** - *

                    The ARN of the replay.

                    + *

                    The time that the event was last replayed.

                    */ - ReplayArn?: string; + EventLastReplayedTime?: Date; /** - *

                    The ARN of the archive events were replayed from.

                    + *

                    A time stamp for the time that the replay started.

                    */ - EventSourceArn?: string; + ReplayStartTime?: Date; /** - *

                    The time stamp of the first event that was last replayed from the archive.

                    + *

                    A time stamp for the time that the replay stopped.

                    */ - EventStartTime?: Date; + ReplayEndTime?: Date; } export namespace DescribeReplayResponse { @@ -855,15 +855,15 @@ export namespace DescribeReplayResponse { export interface DescribeRuleRequest { /** - *

                    The event bus associated with the rule. If you omit this, the default event bus is - * used.

                    + *

                    The name of the rule.

                    */ - EventBusName?: string; + Name: string | undefined; /** - *

                    The name of the rule.

                    + *

                    The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is + * used.

                    */ - Name: string | undefined; + EventBusName?: string; } export namespace DescribeRuleRequest { @@ -879,10 +879,14 @@ export enum RuleState { export interface DescribeRuleResponse { /** - *

                    If this is a managed rule, created by an AWS service on your behalf, this field - * displays the principal name of the AWS service that created the rule.

                    + *

                    The name of the rule.

                    */ - ManagedBy?: string; + Name?: string; + + /** + *

                    The Amazon Resource Name (ARN) of the rule.

                    + */ + Arn?: string; /** *

                    The event pattern. For more information, see Events and @@ -897,20 +901,15 @@ export interface DescribeRuleResponse { */ ScheduleExpression?: string; - /** - *

                    The description of the rule.

                    - */ - Description?: string; - /** *

                    Specifies whether the rule is enabled or disabled.

                    */ State?: RuleState | string; /** - *

                    The Amazon Resource Name (ARN) of the rule.

                    + *

                    The description of the rule.

                    */ - Arn?: string; + Description?: string; /** *

                    The Amazon Resource Name (ARN) of the IAM role associated with the rule.

                    @@ -918,14 +917,22 @@ export interface DescribeRuleResponse { RoleArn?: string; /** - *

                    The name of the rule.

                    + *

                    If this is a managed rule, created by an AWS service on your behalf, this field + * displays the principal name of the AWS service that created the rule.

                    */ - Name?: string; + ManagedBy?: string; /** - *

                    The event bus associated with the rule.

                    + *

                    The name of the event bus associated with the rule.

                    */ EventBusName?: string; + + /** + *

                    The account ID of the user that created the rule. If you use PutRule + * to put a rule on an event bus in another account, the other account is the owner of the rule, and the rule ARN includes the account ID for that account. + * However, the value for CreatedBy is the account ID as the account that created the rule in the other account.

                    + */ + CreatedBy?: string; } export namespace DescribeRuleResponse { @@ -936,15 +943,15 @@ export namespace DescribeRuleResponse { export interface DisableRuleRequest { /** - *

                    The event bus associated with the rule. If you omit this, the default event bus is - * used.

                    + *

                    The name of the rule.

                    */ - EventBusName?: string; + Name: string | undefined; /** - *

                    The name of the rule.

                    + *

                    The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is + * used.

                    */ - Name: string | undefined; + EventBusName?: string; } export namespace DisableRuleRequest { @@ -955,15 +962,15 @@ export namespace DisableRuleRequest { export interface EnableRuleRequest { /** - *

                    The event bus associated with the rule. If you omit this, the default event bus is - * used.

                    + *

                    The name of the rule.

                    */ - EventBusName?: string; + Name: string | undefined; /** - *

                    The name of the rule.

                    + *

                    The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is + * used.

                    */ - Name: string | undefined; + EventBusName?: string; } export namespace EnableRuleRequest { @@ -974,30 +981,30 @@ export namespace EnableRuleRequest { export interface ListArchivesRequest { /** - *

                    The state of the archive.

                    + *

                    A name prefix to filter the archives returned. Only archives with name that match the + * prefix are returned.

                    */ - State?: ArchiveState | string; + NamePrefix?: string; /** - *

                    The token returned by a previous call to retrieve the next set of results.

                    + *

                    The ARN of the event source associated with the archive.

                    */ - NextToken?: string; + EventSourceArn?: string; /** - *

                    The ARN of the event source associated with the archive.

                    + *

                    The state of the archive.

                    */ - EventSourceArn?: string; + State?: ArchiveState | string; /** - *

                    The maximum number of results to return.

                    + *

                    The token returned by a previous call to retrieve the next set of results.

                    */ - Limit?: number; + NextToken?: string; /** - *

                    A name prefix to filter the archives returned. Only archives with name that match the - * prefix are returned.

                    + *

                    The maximum number of results to return.

                    */ - NamePrefix?: string; + Limit?: number; } export namespace ListArchivesRequest { @@ -1031,17 +1038,17 @@ export interface ListEventBusesRequest { */ NamePrefix?: string; + /** + *

                    The token returned by a previous call to retrieve the next set of results.

                    + */ + NextToken?: string; + /** *

                    Specifying this limits the number of results returned by this operation. The operation * also returns a NextToken which you can use in a subsequent operation to retrieve the * next set of results.

                    */ Limit?: number; - - /** - *

                    The token returned by a previous call to retrieve the next set of results.

                    - */ - NextToken?: string; } export namespace ListEventBusesRequest { @@ -1058,6 +1065,11 @@ export namespace ListEventBusesRequest { * SaaS partner. These events come from the partners services or applications.

                    */ export interface EventBus { + /** + *

                    The name of the event bus.

                    + */ + Name?: string; + /** *

                    The ARN of the event bus.

                    */ @@ -1068,11 +1080,6 @@ export interface EventBus { * events to this event bus.

                    */ Policy?: string; - - /** - *

                    The name of the event bus.

                    - */ - Name?: string; } export namespace EventBus { @@ -1101,13 +1108,6 @@ export namespace ListEventBusesResponse { } export interface ListEventSourcesRequest { - /** - *

                    Specifying this limits the number of results returned by this operation. The operation - * also returns a NextToken which you can use in a subsequent operation to retrieve the - * next set of results.

                    - */ - Limit?: number; - /** *

                    Specifying this limits the results to only those partner event sources with names that * start with the specified prefix.

                    @@ -1118,6 +1118,13 @@ export interface ListEventSourcesRequest { *

                    The token returned by a previous call to retrieve the next set of results.

                    */ NextToken?: string; + + /** + *

                    Specifying this limits the number of results returned by this operation. The operation + * also returns a NextToken which you can use in a subsequent operation to retrieve the + * next set of results.

                    + */ + Limit?: number; } export namespace ListEventSourcesRequest { @@ -1133,19 +1140,19 @@ export namespace ListEventSourcesRequest { */ export interface EventSource { /** - *

                    The date and time the event source was created.

                    + *

                    The ARN of the event source.

                    */ - CreationTime?: Date; + Arn?: string; /** - *

                    The name of the event source.

                    + *

                    The name of the partner that created the event source.

                    */ - Name?: string; + CreatedBy?: string; /** - *

                    The name of the partner that created the event source.

                    + *

                    The date and time the event source was created.

                    */ - CreatedBy?: string; + CreationTime?: Date; /** *

                    The date and time that the event source will expire, if the AWS account doesn't create @@ -1154,9 +1161,9 @@ export interface EventSource { ExpirationTime?: Date; /** - *

                    The ARN of the event source.

                    + *

                    The name of the event source.

                    */ - Arn?: string; + Name?: string; /** *

                    The state of the event source. If it is ACTIVE, you have already created a matching @@ -1176,15 +1183,15 @@ export namespace EventSource { export interface ListEventSourcesResponse { /** - *

                    A token you can use in a subsequent operation to retrieve the next set of - * results.

                    + *

                    The list of event sources.

                    */ - NextToken?: string; + EventSources?: EventSource[]; /** - *

                    The list of event sources.

                    + *

                    A token you can use in a subsequent operation to retrieve the next set of + * results.

                    */ - EventSources?: EventSource[]; + NextToken?: string; } export namespace ListEventSourcesResponse { @@ -1195,11 +1202,9 @@ export namespace ListEventSourcesResponse { export interface ListPartnerEventSourceAccountsRequest { /** - *

                    Specifying this limits the number of results returned by this operation. The operation - * also returns a NextToken which you can use in a subsequent operation to retrieve the - * next set of results.

                    + *

                    The name of the partner event source to display account information about.

                    */ - Limit?: number; + EventSourceName: string | undefined; /** *

                    The token returned by a previous call to this operation. Specifying this retrieves the @@ -1208,9 +1213,11 @@ export interface ListPartnerEventSourceAccountsRequest { NextToken?: string; /** - *

                    The name of the partner event source to display account information about.

                    + *

                    Specifying this limits the number of results returned by this operation. The operation + * also returns a NextToken which you can use in a subsequent operation to retrieve the + * next set of results.

                    */ - EventSourceName: string | undefined; + Limit?: number; } export namespace ListPartnerEventSourceAccountsRequest { @@ -1229,13 +1236,9 @@ export interface PartnerEventSourceAccount { Account?: string; /** - *

                    The state of the event source. If it is ACTIVE, you have already created a matching - * event bus for this event source, and that event bus is active. If it is PENDING, either - * you haven't yet created a matching event bus, or that event bus is deactivated. If it is - * DELETED, you have created a matching event bus, but the event source has since been - * deleted.

                    + *

                    The date and time the event source was created.

                    */ - State?: EventSourceState | string; + CreationTime?: Date; /** *

                    The date and time that the event source will expire, if the AWS account doesn't create @@ -1244,9 +1247,13 @@ export interface PartnerEventSourceAccount { ExpirationTime?: Date; /** - *

                    The date and time the event source was created.

                    + *

                    The state of the event source. If it is ACTIVE, you have already created a matching + * event bus for this event source, and that event bus is active. If it is PENDING, either + * you haven't yet created a matching event bus, or that event bus is deactivated. If it is + * DELETED, you have created a matching event bus, but the event source has since been + * deleted.

                    */ - CreationTime?: Date; + State?: EventSourceState | string; } export namespace PartnerEventSourceAccount { @@ -1257,15 +1264,15 @@ export namespace PartnerEventSourceAccount { export interface ListPartnerEventSourceAccountsResponse { /** - *

                    A token you can use in a subsequent operation to retrieve the next set of - * results.

                    + *

                    The list of partner event sources returned by the operation.

                    */ - NextToken?: string; + PartnerEventSourceAccounts?: PartnerEventSourceAccount[]; /** - *

                    The list of partner event sources returned by the operation.

                    + *

                    A token you can use in a subsequent operation to retrieve the next set of + * results.

                    */ - PartnerEventSourceAccounts?: PartnerEventSourceAccount[]; + NextToken?: string; } export namespace ListPartnerEventSourceAccountsResponse { @@ -1275,18 +1282,18 @@ export namespace ListPartnerEventSourceAccountsResponse { } export interface ListPartnerEventSourcesRequest { - /** - *

                    The token returned by a previous call to this operation. Specifying this retrieves the - * next set of results.

                    - */ - NextToken?: string; - /** *

                    If you specify this, the results are limited to only those partner event sources that * start with the string you specify.

                    */ NamePrefix: string | undefined; + /** + *

                    The token returned by a previous call to this operation. Specifying this retrieves the + * next set of results.

                    + */ + NextToken?: string; + /** *

                    pecifying this limits the number of results returned by this operation. The operation * also returns a NextToken which you can use in a subsequent operation to retrieve the @@ -1308,14 +1315,14 @@ export namespace ListPartnerEventSourcesRequest { */ export interface PartnerEventSource { /** - *

                    The name of the partner event source.

                    + *

                    The ARN of the partner event source.

                    */ - Name?: string; + Arn?: string; /** - *

                    The ARN of the partner event source.

                    + *

                    The name of the partner event source.

                    */ - Arn?: string; + Name?: string; } export namespace PartnerEventSource { @@ -1345,15 +1352,15 @@ export namespace ListPartnerEventSourcesResponse { export interface ListReplaysRequest { /** - *

                    A name prefix to filter the archives returned. Only archives with name that match the + *

                    A name prefix to filter the replays returned. Only replays with name that match the * prefix are returned.

                    */ NamePrefix?: string; /** - *

                    The token returned by a previous call to retrieve the next set of results.

                    + *

                    The state of the replay.

                    */ - NextToken?: string; + State?: ReplayState | string; /** *

                    The ARN of the event source associated with the replay.

                    @@ -1361,14 +1368,14 @@ export interface ListReplaysRequest { EventSourceArn?: string; /** - *

                    The maximum number of replays to retrieve.

                    + *

                    The token returned by a previous call to retrieve the next set of results.

                    */ - Limit?: number; + NextToken?: string; /** - *

                    The state of the replay.

                    + *

                    The maximum number of replays to retrieve.

                    */ - State?: ReplayState | string; + Limit?: number; } export namespace ListReplaysRequest { @@ -1382,24 +1389,24 @@ export namespace ListReplaysRequest { */ export interface Replay { /** - *

                    A time stamp for the time that the last event was replayed.

                    + *

                    The name of the replay.

                    */ - EventLastReplayedTime?: Date; + ReplayName?: string; /** - *

                    A time stamp for the time that the replay started.

                    + *

                    The ARN of the archive to replay event from.

                    */ - ReplayStartTime?: Date; + EventSourceArn?: string; /** - *

                    A description of why the replay is in the current state.

                    + *

                    The current state of the replay.

                    */ - StateReason?: string; + State?: ReplayState | string; /** - *

                    The current state of the replay.

                    + *

                    A description of why the replay is in the current state.

                    */ - State?: ReplayState | string; + StateReason?: string; /** *

                    A time stamp for the time to start replaying events. This is determined by the time in @@ -1408,25 +1415,25 @@ export interface Replay { EventStartTime?: Date; /** - *

                    A time stamp for the time that the replay completed.

                    + *

                    A time stamp for the time to start replaying events. Any event with a creation time + * prior to the EventEndTime specified is replayed.

                    */ - ReplayEndTime?: Date; + EventEndTime?: Date; /** - *

                    The name of the replay.

                    + *

                    A time stamp for the time that the last event was replayed.

                    */ - ReplayName?: string; + EventLastReplayedTime?: Date; /** - *

                    The ARN of the archive to replay event from.

                    + *

                    A time stamp for the time that the replay started.

                    */ - EventSourceArn?: string; + ReplayStartTime?: Date; /** - *

                    A time stamp for the time to start replaying events. Any event with a creation time - * prior to the EventEndTime specified is replayed.

                    + *

                    A time stamp for the time that the replay completed.

                    */ - EventEndTime?: Date; + ReplayEndTime?: Date; } export namespace Replay { @@ -1436,16 +1443,16 @@ export namespace Replay { } export interface ListReplaysResponse { - /** - *

                    The token returned by a previous call to retrieve the next set of results.

                    - */ - NextToken?: string; - /** *

                    An array of Replay objects that contain information about the * replay.

                    */ Replays?: Replay[]; + + /** + *

                    The token returned by a previous call to retrieve the next set of results.

                    + */ + NextToken?: string; } export namespace ListReplaysResponse { @@ -1456,14 +1463,15 @@ export namespace ListReplaysResponse { export interface ListRuleNamesByTargetRequest { /** - *

                    The maximum number of results to return.

                    + *

                    The Amazon Resource Name (ARN) of the target resource.

                    */ - Limit?: number; + TargetArn: string | undefined; /** - *

                    The Amazon Resource Name (ARN) of the target resource.

                    + *

                    The name or ARN of the event bus to list rules for. If you omit this, the default event bus is + * used.

                    */ - TargetArn: string | undefined; + EventBusName?: string; /** *

                    The token returned by a previous call to retrieve the next set of @@ -1472,10 +1480,9 @@ export interface ListRuleNamesByTargetRequest { NextToken?: string; /** - *

                    Limits the results to show only the rules associated with the specified event - * bus.

                    + *

                    The maximum number of results to return.

                    */ - EventBusName?: string; + Limit?: number; } export namespace ListRuleNamesByTargetRequest { @@ -1505,26 +1512,26 @@ export namespace ListRuleNamesByTargetResponse { export interface ListRulesRequest { /** - *

                    The token returned by a previous call to retrieve the next set of - * results.

                    + *

                    The prefix matching the rule name.

                    */ - NextToken?: string; + NamePrefix?: string; /** - *

                    The maximum number of results to return.

                    + *

                    The name or ARN of the event bus to list the rules for. If you omit this, the default event bus is + * used.

                    */ - Limit?: number; + EventBusName?: string; /** - *

                    The prefix matching the rule name.

                    + *

                    The token returned by a previous call to retrieve the next set of + * results.

                    */ - NamePrefix?: string; + NextToken?: string; /** - *

                    Limits the results to show only the rules associated with the specified event - * bus.

                    + *

                    The maximum number of results to return.

                    */ - EventBusName?: string; + Limit?: number; } export namespace ListRulesRequest { @@ -1543,16 +1550,9 @@ export interface Rule { Name?: string; /** - *

                    If the rule was created on behalf of your account by an AWS service, this field - * displays the principal name of the service that created the rule.

                    - */ - ManagedBy?: string; - - /** - *

                    The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5 - * minutes)".

                    + *

                    The Amazon Resource Name (ARN) of the rule.

                    */ - ScheduleExpression?: string; + Arn?: string; /** *

                    The event pattern of the rule. For more information, see Events and @@ -1562,15 +1562,21 @@ export interface Rule { EventPattern?: string; /** - *

                    The Amazon Resource Name (ARN) of the rule.

                    + *

                    The state of the rule.

                    */ - Arn?: string; + State?: RuleState | string; /** *

                    The description of the rule.

                    */ Description?: string; + /** + *

                    The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5 + * minutes)".

                    + */ + ScheduleExpression?: string; + /** *

                    The Amazon Resource Name (ARN) of the role that is used for target * invocation.

                    @@ -1578,14 +1584,16 @@ export interface Rule { RoleArn?: string; /** - *

                    The event bus associated with the rule.

                    + *

                    If the rule was created on behalf of your account by an AWS service, this field + * displays the principal name of the service that created the rule.

                    */ - EventBusName?: string; + ManagedBy?: string; /** - *

                    The state of the rule.

                    + *

                    The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is + * used.

                    */ - State?: RuleState | string; + EventBusName?: string; } export namespace Rule { @@ -1596,15 +1604,15 @@ export namespace Rule { export interface ListRulesResponse { /** - *

                    Indicates whether there are additional results to retrieve. If there are no more - * results, the value is null.

                    + *

                    The rules that match the specified criteria.

                    */ - NextToken?: string; + Rules?: Rule[]; /** - *

                    The rules that match the specified criteria.

                    + *

                    Indicates whether there are additional results to retrieve. If there are no more + * results, the value is null.

                    */ - Rules?: Rule[]; + NextToken?: string; } export namespace ListRulesResponse { @@ -1641,7 +1649,12 @@ export namespace ListTagsForResourceResponse { export interface ListTargetsByRuleRequest { /** - *

                    The event bus associated with the rule. If you omit this, the default event bus is + *

                    The name of the rule.

                    + */ + Rule: string | undefined; + + /** + *

                    The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is * used.

                    */ EventBusName?: string; @@ -1655,12 +1668,7 @@ export interface ListTargetsByRuleRequest { /** *

                    The maximum number of results to return.

                    */ - Limit?: number; - - /** - *

                    The name of the rule.

                    - */ - Rule: string | undefined; + Limit?: number; } export namespace ListTargetsByRuleRequest { @@ -1712,6 +1720,18 @@ export namespace BatchRetryStrategy { *

                    The custom parameters to be used when the target is an AWS Batch job.

                    */ export interface BatchParameters { + /** + *

                    The ARN or name of the job definition to use if the event target is an AWS Batch + * job. This job definition must already exist.

                    + */ + JobDefinition: string | undefined; + + /** + *

                    The name to use for this execution of the job, if the target is an AWS Batch + * job.

                    + */ + JobName: string | undefined; + /** *

                    The array properties for the submitted job, such as the size of the array. The * array size can be between 2 and 10,000. If you specify array properties for a job, it @@ -1720,12 +1740,6 @@ export interface BatchParameters { */ ArrayProperties?: BatchArrayProperties; - /** - *

                    The ARN or name of the job definition to use if the event target is an AWS Batch - * job. This job definition must already exist.

                    - */ - JobDefinition: string | undefined; - /** *

                    The retry strategy to use for failed jobs, if the target is an AWS Batch job. The * retry strategy is the number of times to retry the failed job execution. Valid values @@ -1733,12 +1747,6 @@ export interface BatchParameters { * defined in the job definition.

                    */ RetryStrategy?: BatchRetryStrategy; - - /** - *

                    The name to use for this execution of the job, if the target is an AWS Batch - * job.

                    - */ - JobName: string | undefined; } export namespace BatchParameters { @@ -1776,11 +1784,10 @@ export enum LaunchType { */ export interface AwsVpcConfiguration { /** - *

                    Specifies whether the task's elastic network interface receives a public IP address. - * You can specify ENABLED only when LaunchType in - * EcsParameters is set to FARGATE.

                    + *

                    Specifies the subnets associated with the task. These subnets must all be in the same + * VPC. You can specify as many as 16 subnets.

                    */ - AssignPublicIp?: AssignPublicIp | string; + Subnets: string[] | undefined; /** *

                    Specifies the security groups associated with the task. These security groups must all @@ -1790,10 +1797,11 @@ export interface AwsVpcConfiguration { SecurityGroups?: string[]; /** - *

                    Specifies the subnets associated with the task. These subnets must all be in the same - * VPC. You can specify as many as 16 subnets.

                    + *

                    Specifies whether the task's elastic network interface receives a public IP address. + * You can specify ENABLED only when LaunchType in + * EcsParameters is set to FARGATE.

                    */ - Subnets: string[] | undefined; + AssignPublicIp?: AssignPublicIp | string; } export namespace AwsVpcConfiguration { @@ -1825,19 +1833,16 @@ export namespace NetworkConfiguration { */ export interface EcsParameters { /** - *

                    Specifies the platform version for the task. Specify only the numeric portion of the - * platform version, such as 1.1.0.

                    - *

                    This structure is used only if LaunchType is FARGATE. For - * more information about valid platform versions, see AWS Fargate Platform - * Versions in the Amazon Elastic Container Service Developer - * Guide.

                    + *

                    The ARN of the task definition to use if the event target is an Amazon ECS task. + *

                    */ - PlatformVersion?: string; + TaskDefinitionArn: string | undefined; /** - *

                    Specifies an ECS task group for the task. The maximum length is 255 characters.

                    + *

                    The number of tasks to create based on TaskDefinition. The default is + * 1.

                    */ - Group?: string; + TaskCount?: number; /** *

                    Specifies the launch type on which your task is running. The launch type that you @@ -1849,12 +1854,6 @@ export interface EcsParameters { */ LaunchType?: LaunchType | string; - /** - *

                    The ARN of the task definition to use if the event target is an Amazon ECS task. - *

                    - */ - TaskDefinitionArn: string | undefined; - /** *

                    Use this structure if the ECS task uses the awsvpc network mode. This * structure specifies the VPC subnets and security groups associated with the task, and @@ -1867,10 +1866,19 @@ export interface EcsParameters { NetworkConfiguration?: NetworkConfiguration; /** - *

                    The number of tasks to create based on TaskDefinition. The default is - * 1.

                    + *

                    Specifies the platform version for the task. Specify only the numeric portion of the + * platform version, such as 1.1.0.

                    + *

                    This structure is used only if LaunchType is FARGATE. For + * more information about valid platform versions, see AWS Fargate Platform + * Versions in the Amazon Elastic Container Service Developer + * Guide.

                    */ - TaskCount?: number; + PlatformVersion?: string; + + /** + *

                    Specifies an ECS task group for the task. The maximum length is 255 characters.

                    + */ + Group?: string; } export namespace EcsParameters { @@ -1885,10 +1893,10 @@ export namespace EcsParameters { */ export interface HttpParameters { /** - *

                    The query string keys/values that need to be sent as part of request invoking the API - * Gateway REST API.

                    + *

                    The path parameter values to be used to populate API Gateway REST API path wildcards + * ("*").

                    */ - QueryStringParameters?: { [key: string]: string }; + PathParameterValues?: string[]; /** *

                    The headers that need to be sent as part of request invoking the API Gateway REST @@ -1897,10 +1905,10 @@ export interface HttpParameters { HeaderParameters?: { [key: string]: string }; /** - *

                    The path parameter values to be used to populate API Gateway REST API path wildcards - * ("*").

                    + *

                    The query string keys/values that need to be sent as part of request invoking the API + * Gateway REST API.

                    */ - PathParameterValues?: string[]; + QueryStringParameters?: { [key: string]: string }; } export namespace HttpParameters { @@ -1914,6 +1922,18 @@ export namespace HttpParameters { * one or more pieces of data extracted from the event.

                    */ export interface InputTransformer { + /** + *

                    Map of JSON paths to be extracted from the event. You can then insert these in the + * template in InputTemplate to produce the output you want to be sent to the + * target.

                    + *

                    + * InputPathsMap is an array key-value pairs, where each value is a valid + * JSON path. You can have as many as 10 key-value pairs. You must use JSON dot notation, + * not bracket notation.

                    + *

                    The keys cannot start with "AWS."

                    + */ + InputPathsMap?: { [key: string]: string }; + /** *

                    Input template where you specify placeholders that will be filled with the values * of the keys from InputPathsMap to customize the data sent to the target. @@ -1970,18 +1990,6 @@ export interface InputTransformer { *

                    */ InputTemplate: string | undefined; - - /** - *

                    Map of JSON paths to be extracted from the event. You can then insert these in the - * template in InputTemplate to produce the output you want to be sent to the - * target.

                    - *

                    - * InputPathsMap is an array key-value pairs, where each value is a valid - * JSON path. You can have as many as 10 key-value pairs. You must use JSON dot notation, - * not bracket notation.

                    - *

                    The keys cannot start with "AWS."

                    - */ - InputPathsMap?: { [key: string]: string }; } export namespace InputTransformer { @@ -2018,15 +2026,16 @@ export namespace KinesisParameters { */ export interface RedshiftDataParameters { /** - *

                    The name of the SQL statement. You can name the SQL statement when you create it to - * identify the query.

                    + *

                    The name or ARN of the secret that enables access to the database. Required when + * authenticating using AWS Secrets Manager.

                    */ - StatementName?: string; + SecretManagerArn?: string; /** - *

                    The SQL statement text to run.

                    + *

                    The name of the database. Required when authenticating using temporary + * credentials.

                    */ - Sql: string | undefined; + Database: string | undefined; /** *

                    The database user name. Required when authenticating using temporary @@ -2035,22 +2044,21 @@ export interface RedshiftDataParameters { DbUser?: string; /** - *

                    Indicates whether to send an event back to EventBridge after the SQL statement - * runs.

                    + *

                    The SQL statement text to run.

                    */ - WithEvent?: boolean; + Sql: string | undefined; /** - *

                    The name of the database. Required when authenticating using temporary - * credentials.

                    + *

                    The name of the SQL statement. You can name the SQL statement when you create it to + * identify the query.

                    */ - Database: string | undefined; + StatementName?: string; /** - *

                    The name or ARN of the secret that enables access to the database. Required when - * authenticating using AWS Secrets Manager.

                    + *

                    Indicates whether to send an event back to EventBridge after the SQL statement + * runs.

                    */ - SecretManagerArn?: string; + WithEvent?: boolean; } export namespace RedshiftDataParameters { @@ -2158,6 +2166,23 @@ export namespace SqsParameters { * EventBridge User Guide
                    .

                    */ export interface Target { + /** + *

                    The ID of the target.

                    + */ + Id: string | undefined; + + /** + *

                    The Amazon Resource Name (ARN) of the target.

                    + */ + Arn: string | undefined; + + /** + *

                    The Amazon Resource Name (ARN) of the IAM role to be used for this target when the + * rule is triggered. If one rule triggers multiple targets, you can use a different IAM + * role for each target.

                    + */ + RoleArn?: string; + /** *

                    Valid JSON text passed to the target. In this case, nothing from the event itself * is passed to the target. For more information, see The JavaScript Object Notation @@ -2166,55 +2191,53 @@ export interface Target { Input?: string; /** - *

                    The RetryPolicy object that contains the retry policy configuration to - * use for the dead-letter queue.

                    + *

                    The value of the JSONPath that is used for extracting part of the matched event + * when passing it to the target. You must use JSON dot notation, not bracket notation. For + * more information about JSON paths, see JSONPath.

                    */ - RetryPolicy?: RetryPolicy; + InputPath?: string; /** - *

                    Contains the Amazon ECS task definition and task count to be used, if the event - * target is an Amazon ECS task. For more information about Amazon ECS tasks, see Task - * Definitions in the Amazon EC2 Container Service Developer - * Guide.

                    + *

                    Settings to enable you to provide custom input to a target based on certain event + * data. You can extract one or more key-value pairs from the event and then use that data + * to send customized input to the target.

                    */ - EcsParameters?: EcsParameters; + InputTransformer?: InputTransformer; /** - *

                    Contains the message group ID to use when the target is a FIFO queue.

                    - *

                    If you specify an SQS FIFO queue as a target, the queue must have content-based - * deduplication enabled.

                    + *

                    The custom parameter you can use to control the shard assignment, when the target + * is a Kinesis data stream. If you do not include this parameter, the default is to use + * the eventId as the partition key.

                    */ - SqsParameters?: SqsParameters; + KinesisParameters?: KinesisParameters; /** - *

                    The ID of the target.

                    + *

                    Parameters used when you are using the rule to invoke Amazon EC2 Run + * Command.

                    */ - Id: string | undefined; + RunCommandParameters?: RunCommandParameters; /** - *

                    If the event target is an AWS Batch job, this contains the job definition, job - * name, and other parameters. For more information, see Jobs in the AWS Batch User + *

                    Contains the Amazon ECS task definition and task count to be used, if the event + * target is an Amazon ECS task. For more information about Amazon ECS tasks, see Task + * Definitions in the Amazon EC2 Container Service Developer * Guide.

                    */ - BatchParameters?: BatchParameters; - - /** - *

                    The Amazon Resource Name (ARN) of the target.

                    - */ - Arn: string | undefined; + EcsParameters?: EcsParameters; /** - *

                    The DeadLetterConfig that defines the target queue to send dead-letter - * queue events to.

                    + *

                    If the event target is an AWS Batch job, this contains the job definition, job + * name, and other parameters. For more information, see Jobs in the AWS Batch User + * Guide.

                    */ - DeadLetterConfig?: DeadLetterConfig; + BatchParameters?: BatchParameters; /** - *

                    The value of the JSONPath that is used for extracting part of the matched event - * when passing it to the target. You must use JSON dot notation, not bracket notation. For - * more information about JSON paths, see JSONPath.

                    + *

                    Contains the message group ID to use when the target is a FIFO queue.

                    + *

                    If you specify an SQS FIFO queue as a target, the queue must have content-based + * deduplication enabled.

                    */ - InputPath?: string; + SqsParameters?: SqsParameters; /** *

                    Contains the HTTP parameters to use when the target is a API Gateway REST @@ -2225,26 +2248,6 @@ export interface Target { */ HttpParameters?: HttpParameters; - /** - *

                    Parameters used when you are using the rule to invoke Amazon EC2 Run - * Command.

                    - */ - RunCommandParameters?: RunCommandParameters; - - /** - *

                    Settings to enable you to provide custom input to a target based on certain event - * data. You can extract one or more key-value pairs from the event and then use that data - * to send customized input to the target.

                    - */ - InputTransformer?: InputTransformer; - - /** - *

                    The Amazon Resource Name (ARN) of the IAM role to be used for this target when the - * rule is triggered. If one rule triggers multiple targets, you can use a different IAM - * role for each target.

                    - */ - RoleArn?: string; - /** *

                    Contains the Redshift Data API parameters to use when the target is a Redshift * cluster.

                    @@ -2255,11 +2258,16 @@ export interface Target { RedshiftDataParameters?: RedshiftDataParameters; /** - *

                    The custom parameter you can use to control the shard assignment, when the target - * is a Kinesis data stream. If you do not include this parameter, the default is to use - * the eventId as the partition key.

                    + *

                    The DeadLetterConfig that defines the target queue to send dead-letter + * queue events to.

                    */ - KinesisParameters?: KinesisParameters; + DeadLetterConfig?: DeadLetterConfig; + + /** + *

                    The RetryPolicy object that contains the retry policy configuration to + * use for the dead-letter queue.

                    + */ + RetryPolicy?: RetryPolicy; } export namespace Target { @@ -2287,16 +2295,10 @@ export namespace ListTargetsByRuleResponse { }); } -/** - *

                    Represents an event to be submitted.

                    - */ -export interface PutEventsRequestEntry { - /** - *

                    AWS resources, identified by Amazon Resource Name (ARN), which the event primarily - * concerns. Any number, including zero, may be present.

                    - */ - Resources?: string[]; - +/** + *

                    Represents an event to be submitted.

                    + */ +export interface PutEventsRequestEntry { /** *

                    The time stamp of the event, per RFC3339. If no time stamp * is provided, the time stamp of the PutEvents call is used.

                    @@ -2304,15 +2306,21 @@ export interface PutEventsRequestEntry { Time?: Date; /** - *

                    The event bus that will receive the event. Only the rules that are associated with - * this event bus will be able to match the event.

                    + *

                    The source of the event.

                    */ - EventBusName?: string; + Source?: string; /** - *

                    The source of the event.

                    + *

                    AWS resources, identified by Amazon Resource Name (ARN), which the event primarily + * concerns. Any number, including zero, may be present.

                    */ - Source?: string; + Resources?: string[]; + + /** + *

                    Free-form string used to decide what fields to expect in the event + * detail.

                    + */ + DetailType?: string; /** *

                    A valid JSON string. There is no other schema imposed. The JSON string may contain @@ -2321,10 +2329,11 @@ export interface PutEventsRequestEntry { Detail?: string; /** - *

                    Free-form string used to decide what fields to expect in the event - * detail.

                    + *

                    The name or ARN of the event bus to receive the event. Only the rules that are associated with + * this event bus are used to match the event. If you omit this, the default event bus is + * used.

                    */ - DetailType?: string; + EventBusName?: string; } export namespace PutEventsRequestEntry { @@ -2352,11 +2361,6 @@ export namespace PutEventsRequest { *

                    Represents an event that failed to be submitted.

                    */ export interface PutEventsResultEntry { - /** - *

                    The error message that explains why the event submission failed.

                    - */ - ErrorMessage?: string; - /** *

                    The ID of the event.

                    */ @@ -2366,6 +2370,11 @@ export interface PutEventsResultEntry { *

                    The error code that indicates why the event submission failed.

                    */ ErrorCode?: string; + + /** + *

                    The error message that explains why the event submission failed.

                    + */ + ErrorMessage?: string; } export namespace PutEventsResultEntry { @@ -2399,15 +2408,9 @@ export namespace PutEventsResponse { */ export interface PutPartnerEventsRequestEntry { /** - *

                    A free-form string used to decide what fields to expect in the event detail.

                    - */ - DetailType?: string; - - /** - *

                    A valid JSON string. There is no other schema imposed. The JSON string may contain - * fields and nested subobjects.

                    + *

                    The date and time of the event.

                    */ - Detail?: string; + Time?: Date; /** *

                    The event source that is generating the evntry.

                    @@ -2421,9 +2424,15 @@ export interface PutPartnerEventsRequestEntry { Resources?: string[]; /** - *

                    The date and time of the event.

                    + *

                    A free-form string used to decide what fields to expect in the event detail.

                    */ - Time?: Date; + DetailType?: string; + + /** + *

                    A valid JSON string. There is no other schema imposed. The JSON string may contain + * fields and nested subobjects.

                    + */ + Detail?: string; } export namespace PutPartnerEventsRequestEntry { @@ -2449,6 +2458,11 @@ export namespace PutPartnerEventsRequest { *

                    Represents an event that a partner tried to generate, but failed.

                    */ export interface PutPartnerEventsResultEntry { + /** + *

                    The ID of the event.

                    + */ + EventId?: string; + /** *

                    The error code that indicates why the event submission failed.

                    */ @@ -2458,11 +2472,6 @@ export interface PutPartnerEventsResultEntry { *

                    The error message that explains why the event submission failed.

                    */ ErrorMessage?: string; - - /** - *

                    The ID of the event.

                    - */ - EventId?: string; } export namespace PutPartnerEventsResultEntry { @@ -2546,7 +2555,7 @@ export namespace Condition { export interface PutPermissionRequest { /** - *

                    The event bus associated with the rule. If you omit this, the default event bus is + *

                    The name of the event bus associated with the rule. If you omit this, the default event bus is * used.

                    */ EventBusName?: string; @@ -2555,7 +2564,27 @@ export interface PutPermissionRequest { *

                    The action that you are enabling the other account to perform. Currently, this must * be events:PutEvents.

                    */ - Action: string | undefined; + Action?: string; + + /** + *

                    The 12-digit AWS account ID that you are permitting to put events to your default + * event bus. Specify "*" to permit any account to put events to your default event + * bus.

                    + * + *

                    If you specify "*" without specifying Condition, avoid creating rules + * that may match undesirable events. To create more secure rules, make sure that the event + * pattern for each rule contains an account field with a specific account ID + * from which to receive events. Rules with an account field do not match any events sent + * from other accounts.

                    + */ + Principal?: string; + + /** + *

                    An identifier string for the external account that you are granting permissions to. + * If you later want to revoke the permission for this external account, specify this + * StatementId when you run RemovePermission.

                    + */ + StatementId?: string; /** *

                    This parameter enables you to limit the permission to accounts that fulfill a certain @@ -2573,24 +2602,10 @@ export interface PutPermissionRequest { Condition?: Condition; /** - *

                    An identifier string for the external account that you are granting permissions to. - * If you later want to revoke the permission for this external account, specify this - * StatementId when you run RemovePermission.

                    - */ - StatementId: string | undefined; - - /** - *

                    The 12-digit AWS account ID that you are permitting to put events to your default - * event bus. Specify "*" to permit any account to put events to your default event - * bus.

                    - * - *

                    If you specify "*" without specifying Condition, avoid creating rules - * that may match undesirable events. To create more secure rules, make sure that the event - * pattern for each rule contains an account field with a specific account ID - * from which to receive events. Rules with an account field do not match any events sent - * from other accounts.

                    + *

                    A JSON string that describes the permission policy statement. You can include a Policy parameter + * in the request instead of using the StatementId, Action, Principal, or Condition parameters.

                    */ - Principal: string | undefined; + Policy?: string; } export namespace PutPermissionRequest { @@ -2601,11 +2616,9 @@ export namespace PutPermissionRequest { export interface PutRuleRequest { /** - *

                    The event pattern. For more information, see Events and - * Event Patterns in the Amazon EventBridge User - * Guide.

                    + *

                    The name of the rule that you are creating or updating.

                    */ - EventPattern?: string; + Name: string | undefined; /** *

                    The scheduling expression. For example, "cron(0 20 * * ? *)" or "rate(5 @@ -2614,35 +2627,37 @@ export interface PutRuleRequest { ScheduleExpression?: string; /** - *

                    The event bus to associate with this rule. If you omit this, the default event bus is - * used.

                    + *

                    The event pattern. For more information, see Events and + * Event Patterns in the Amazon EventBridge User + * Guide.

                    */ - EventBusName?: string; + EventPattern?: string; /** - *

                    The list of key-value pairs to associate with the rule.

                    + *

                    Indicates whether the rule is enabled or disabled.

                    */ - Tags?: Tag[]; + State?: RuleState | string; /** - *

                    The Amazon Resource Name (ARN) of the IAM role associated with the rule.

                    + *

                    A description of the rule.

                    */ - RoleArn?: string; + Description?: string; /** - *

                    The name of the rule that you are creating or updating.

                    + *

                    The Amazon Resource Name (ARN) of the IAM role associated with the rule.

                    */ - Name: string | undefined; + RoleArn?: string; /** - *

                    A description of the rule.

                    + *

                    The list of key-value pairs to associate with the rule.

                    */ - Description?: string; + Tags?: Tag[]; /** - *

                    Indicates whether the rule is enabled or disabled.

                    + *

                    The name or ARN of the event bus to associate with this rule. If you omit this, the default event bus is + * used.

                    */ - State?: RuleState | string; + EventBusName?: string; } export namespace PutRuleRequest { @@ -2666,20 +2681,20 @@ export namespace PutRuleResponse { export interface PutTargetsRequest { /** - *

                    The targets to update or add to the rule.

                    + *

                    The name of the rule.

                    */ - Targets: Target[] | undefined; + Rule: string | undefined; /** - *

                    The name of the event bus associated with the rule. If you omit this, the default + *

                    The name or ARN of the event bus associated with the rule. If you omit this, the default * event bus is used.

                    */ EventBusName?: string; /** - *

                    The name of the rule.

                    + *

                    The targets to update or add to the rule.

                    */ - Rule: string | undefined; + Targets: Target[] | undefined; } export namespace PutTargetsRequest { @@ -2692,11 +2707,6 @@ export namespace PutTargetsRequest { *

                    Represents a target that failed to be added to a rule.

                    */ export interface PutTargetsResultEntry { - /** - *

                    The error message that explains why the target addition failed.

                    - */ - ErrorMessage?: string; - /** *

                    The ID of the target.

                    */ @@ -2708,6 +2718,11 @@ export interface PutTargetsResultEntry { * same time.

                    */ ErrorCode?: string; + + /** + *

                    The error message that explains why the target addition failed.

                    + */ + ErrorMessage?: string; } export namespace PutTargetsResultEntry { @@ -2739,7 +2754,12 @@ export interface RemovePermissionRequest { *

                    The statement ID corresponding to the account that is no longer allowed to put * events to the default event bus.

                    */ - StatementId: string | undefined; + StatementId?: string; + + /** + *

                    Specifies whether to remove all permissions.

                    + */ + RemoveAllPermissions?: boolean; /** *

                    The name of the event bus to revoke permissions for. If you omit this, the default @@ -2755,22 +2775,14 @@ export namespace RemovePermissionRequest { } export interface RemoveTargetsRequest { - /** - *

                    If this is a managed rule, created by an AWS service on your behalf, you must specify - * Force as True to remove targets. This parameter is ignored - * for rules that are not managed rules. You can check whether a rule is a managed rule by - * using DescribeRule or ListRules and checking the - * ManagedBy field of the response.

                    - */ - Force?: boolean; - /** *

                    The name of the rule.

                    */ Rule: string | undefined; /** - *

                    The name of the event bus associated with the rule.

                    + *

                    The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is + * used.

                    */ EventBusName?: string; @@ -2778,6 +2790,15 @@ export interface RemoveTargetsRequest { *

                    The IDs of the targets to remove from the rule.

                    */ Ids: string[] | undefined; + + /** + *

                    If this is a managed rule, created by an AWS service on your behalf, you must specify + * Force as True to remove targets. This parameter is ignored + * for rules that are not managed rules. You can check whether a rule is a managed rule by + * using DescribeRule or ListRules and checking the + * ManagedBy field of the response.

                    + */ + Force?: boolean; } export namespace RemoveTargetsRequest { @@ -2790,11 +2811,6 @@ export namespace RemoveTargetsRequest { *

                    Represents a target that failed to be removed from a rule.

                    */ export interface RemoveTargetsResultEntry { - /** - *

                    The error message that explains why the target removal failed.

                    - */ - ErrorMessage?: string; - /** *

                    The ID of the target.

                    */ @@ -2806,6 +2822,11 @@ export interface RemoveTargetsResultEntry { * same time.

                    */ ErrorCode?: string; + + /** + *

                    The error message that explains why the target removal failed.

                    + */ + ErrorMessage?: string; } export namespace RemoveTargetsResultEntry { @@ -2816,14 +2837,14 @@ export namespace RemoveTargetsResultEntry { export interface RemoveTargetsResponse { /** - *

                    The failed target entries.

                    + *

                    The number of failed entries.

                    */ - FailedEntries?: RemoveTargetsResultEntry[]; + FailedEntryCount?: number; /** - *

                    The number of failed entries.

                    + *

                    The failed target entries.

                    */ - FailedEntryCount?: number; + FailedEntries?: RemoveTargetsResultEntry[]; } export namespace RemoveTargetsResponse { @@ -2839,26 +2860,26 @@ export interface StartReplayRequest { ReplayName: string | undefined; /** - *

                    A time stamp for the time to start replaying events. Only events that occurred between - * the EventStartTime and EventEndTime are replayed.

                    + *

                    A description for the replay to start.

                    */ - EventStartTime: Date | undefined; + Description?: string; /** - *

                    A description for the replay to start.

                    + *

                    The ARN of the archive to replay events from.

                    */ - Description?: string; + EventSourceArn: string | undefined; /** - *

                    A time stamp for the time to stop replaying events. Only events that occurred between + *

                    A time stamp for the time to start replaying events. Only events that occurred between * the EventStartTime and EventEndTime are replayed.

                    */ - EventEndTime: Date | undefined; + EventStartTime: Date | undefined; /** - *

                    The ARN of the archive to replay events from.

                    + *

                    A time stamp for the time to stop replaying events. Only events that occurred between + * the EventStartTime and EventEndTime are replayed.

                    */ - EventSourceArn: string | undefined; + EventEndTime: Date | undefined; /** *

                    A ReplayDestination object that includes details about the destination @@ -2875,9 +2896,9 @@ export namespace StartReplayRequest { export interface StartReplayResponse { /** - *

                    The reason that the replay is in the state.

                    + *

                    The ARN of the replay.

                    */ - StateReason?: string; + ReplayArn?: string; /** *

                    The state of the replay.

                    @@ -2885,14 +2906,14 @@ export interface StartReplayResponse { State?: ReplayState | string; /** - *

                    The time at which the replay started.

                    + *

                    The reason that the replay is in the state.

                    */ - ReplayStartTime?: Date; + StateReason?: string; /** - *

                    The ARN of the replay.

                    + *

                    The time at which the replay started.

                    */ - ReplayArn?: string; + ReplayStartTime?: Date; } export namespace StartReplayResponse { @@ -2928,17 +2949,17 @@ export namespace TagResourceResponse { } export interface TestEventPatternRequest { - /** - *

                    The event, in JSON format, to test against the event pattern.

                    - */ - Event: string | undefined; - /** *

                    The event pattern. For more information, see Events and * Event Patterns in the Amazon EventBridge User * Guide.

                    */ EventPattern: string | undefined; + + /** + *

                    The event, in JSON format, to test against the event pattern.

                    + */ + Event: string | undefined; } export namespace TestEventPatternRequest { @@ -2962,14 +2983,14 @@ export namespace TestEventPatternResponse { export interface UntagResourceRequest { /** - *

                    The list of tag keys to remove from the resource.

                    + *

                    The ARN of the EventBridge resource from which you are removing tags.

                    */ - TagKeys: string[] | undefined; + ResourceARN: string | undefined; /** - *

                    The ARN of the EventBridge resource from which you are removing tags.

                    + *

                    The list of tag keys to remove from the resource.

                    */ - ResourceARN: string | undefined; + TagKeys: string[] | undefined; } export namespace UntagResourceRequest { @@ -2988,9 +3009,9 @@ export namespace UntagResourceResponse { export interface UpdateArchiveRequest { /** - *

                    The event pattern to use to filter events sent to the archive.

                    + *

                    The name of the archive to update.

                    */ - EventPattern?: string; + ArchiveName: string | undefined; /** *

                    The description for the archive.

                    @@ -2998,9 +3019,9 @@ export interface UpdateArchiveRequest { Description?: string; /** - *

                    The name of the archive to update.

                    + *

                    The event pattern to use to filter events sent to the archive.

                    */ - ArchiveName: string | undefined; + EventPattern?: string; /** *

                    The number of days to retain events in the archive.

                    @@ -3016,9 +3037,9 @@ export namespace UpdateArchiveRequest { export interface UpdateArchiveResponse { /** - *

                    The reason that the archive is in the current state.

                    + *

                    The ARN of the archive.

                    */ - StateReason?: string; + ArchiveArn?: string; /** *

                    The state of the archive.

                    @@ -3026,14 +3047,14 @@ export interface UpdateArchiveResponse { State?: ArchiveState | string; /** - *

                    The time at which the archive was updated.

                    + *

                    The reason that the archive is in the current state.

                    */ - CreationTime?: Date; + StateReason?: string; /** - *

                    The ARN of the archive.

                    + *

                    The time at which the archive was updated.

                    */ - ArchiveArn?: string; + CreationTime?: Date; } export namespace UpdateArchiveResponse { diff --git a/clients/client-eventbridge/protocols/Aws_json1_1.ts b/clients/client-eventbridge/protocols/Aws_json1_1.ts index 9bc376251925..3d153adc5b28 100644 --- a/clients/client-eventbridge/protocols/Aws_json1_1.ts +++ b/clients/client-eventbridge/protocols/Aws_json1_1.ts @@ -2858,6 +2858,14 @@ const deserializeAws_json1_1PutPermissionCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "OperationDisabledException": + case "com.amazonaws.eventbridge#OperationDisabledException": + response = { + ...(await deserializeAws_json1_1OperationDisabledExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "PolicyLengthExceededException": case "com.amazonaws.eventbridge#PolicyLengthExceededException": response = { @@ -3116,6 +3124,14 @@ const deserializeAws_json1_1RemovePermissionCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "OperationDisabledException": + case "com.amazonaws.eventbridge#OperationDisabledException": + response = { + ...(await deserializeAws_json1_1OperationDisabledExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ResourceNotFoundException": case "com.amazonaws.eventbridge#ResourceNotFoundException": response = { @@ -4199,6 +4215,7 @@ const serializeAws_json1_1PutPermissionRequest = (input: PutPermissionRequest, c ...(input.Action !== undefined && { Action: input.Action }), ...(input.Condition !== undefined && { Condition: serializeAws_json1_1Condition(input.Condition, context) }), ...(input.EventBusName !== undefined && { EventBusName: input.EventBusName }), + ...(input.Policy !== undefined && { Policy: input.Policy }), ...(input.Principal !== undefined && { Principal: input.Principal }), ...(input.StatementId !== undefined && { StatementId: input.StatementId }), }; @@ -4252,6 +4269,7 @@ const serializeAws_json1_1RedshiftDataParameters = (input: RedshiftDataParameter const serializeAws_json1_1RemovePermissionRequest = (input: RemovePermissionRequest, context: __SerdeContext): any => { return { ...(input.EventBusName !== undefined && { EventBusName: input.EventBusName }), + ...(input.RemoveAllPermissions !== undefined && { RemoveAllPermissions: input.RemoveAllPermissions }), ...(input.StatementId !== undefined && { StatementId: input.StatementId }), }; }; @@ -4658,6 +4676,7 @@ const deserializeAws_json1_1DescribeReplayResponse = (output: any, context: __Se const deserializeAws_json1_1DescribeRuleResponse = (output: any, context: __SerdeContext): DescribeRuleResponse => { return { Arn: output.Arn !== undefined && output.Arn !== null ? output.Arn : undefined, + CreatedBy: output.CreatedBy !== undefined && output.CreatedBy !== null ? output.CreatedBy : undefined, Description: output.Description !== undefined && output.Description !== null ? output.Description : undefined, EventBusName: output.EventBusName !== undefined && output.EventBusName !== null ? output.EventBusName : undefined, EventPattern: output.EventPattern !== undefined && output.EventPattern !== null ? output.EventPattern : undefined, diff --git a/clients/client-glue/Glue.ts b/clients/client-glue/Glue.ts index 5c858acf3b91..a93ddcb4e3c1 100644 --- a/clients/client-glue/Glue.ts +++ b/clients/client-glue/Glue.ts @@ -69,6 +69,11 @@ import { CancelMLTaskRunCommandInput, CancelMLTaskRunCommandOutput, } from "./commands/CancelMLTaskRunCommand"; +import { + CheckSchemaVersionValidityCommand, + CheckSchemaVersionValidityCommandInput, + CheckSchemaVersionValidityCommandOutput, +} from "./commands/CheckSchemaVersionValidityCommand"; import { CreateClassifierCommand, CreateClassifierCommandInput, @@ -105,6 +110,16 @@ import { CreatePartitionCommandInput, CreatePartitionCommandOutput, } from "./commands/CreatePartitionCommand"; +import { + CreateRegistryCommand, + CreateRegistryCommandInput, + CreateRegistryCommandOutput, +} from "./commands/CreateRegistryCommand"; +import { + CreateSchemaCommand, + CreateSchemaCommandInput, + CreateSchemaCommandOutput, +} from "./commands/CreateSchemaCommand"; import { CreateScriptCommand, CreateScriptCommandInput, @@ -177,11 +192,26 @@ import { DeletePartitionCommandInput, DeletePartitionCommandOutput, } from "./commands/DeletePartitionCommand"; +import { + DeleteRegistryCommand, + DeleteRegistryCommandInput, + DeleteRegistryCommandOutput, +} from "./commands/DeleteRegistryCommand"; import { DeleteResourcePolicyCommand, DeleteResourcePolicyCommandInput, DeleteResourcePolicyCommandOutput, } from "./commands/DeleteResourcePolicyCommand"; +import { + DeleteSchemaCommand, + DeleteSchemaCommandInput, + DeleteSchemaCommandOutput, +} from "./commands/DeleteSchemaCommand"; +import { + DeleteSchemaVersionsCommand, + DeleteSchemaVersionsCommandInput, + DeleteSchemaVersionsCommandOutput, +} from "./commands/DeleteSchemaVersionsCommand"; import { DeleteSecurityConfigurationCommand, DeleteSecurityConfigurationCommandInput, @@ -322,6 +352,7 @@ import { GetPartitionsCommandOutput, } from "./commands/GetPartitionsCommand"; import { GetPlanCommand, GetPlanCommandInput, GetPlanCommandOutput } from "./commands/GetPlanCommand"; +import { GetRegistryCommand, GetRegistryCommandInput, GetRegistryCommandOutput } from "./commands/GetRegistryCommand"; import { GetResourcePoliciesCommand, GetResourcePoliciesCommandInput, @@ -332,6 +363,22 @@ import { GetResourcePolicyCommandInput, GetResourcePolicyCommandOutput, } from "./commands/GetResourcePolicyCommand"; +import { + GetSchemaByDefinitionCommand, + GetSchemaByDefinitionCommandInput, + GetSchemaByDefinitionCommandOutput, +} from "./commands/GetSchemaByDefinitionCommand"; +import { GetSchemaCommand, GetSchemaCommandInput, GetSchemaCommandOutput } from "./commands/GetSchemaCommand"; +import { + GetSchemaVersionCommand, + GetSchemaVersionCommandInput, + GetSchemaVersionCommandOutput, +} from "./commands/GetSchemaVersionCommand"; +import { + GetSchemaVersionsDiffCommand, + GetSchemaVersionsDiffCommandInput, + GetSchemaVersionsDiffCommandOutput, +} from "./commands/GetSchemaVersionsDiffCommand"; import { GetSecurityConfigurationCommand, GetSecurityConfigurationCommandInput, @@ -404,6 +451,17 @@ import { ListMLTransformsCommandInput, ListMLTransformsCommandOutput, } from "./commands/ListMLTransformsCommand"; +import { + ListRegistriesCommand, + ListRegistriesCommandInput, + ListRegistriesCommandOutput, +} from "./commands/ListRegistriesCommand"; +import { + ListSchemaVersionsCommand, + ListSchemaVersionsCommandInput, + ListSchemaVersionsCommandOutput, +} from "./commands/ListSchemaVersionsCommand"; +import { ListSchemasCommand, ListSchemasCommandInput, ListSchemasCommandOutput } from "./commands/ListSchemasCommand"; import { ListTriggersCommand, ListTriggersCommandInput, @@ -424,11 +482,31 @@ import { PutResourcePolicyCommandInput, PutResourcePolicyCommandOutput, } from "./commands/PutResourcePolicyCommand"; +import { + PutSchemaVersionMetadataCommand, + PutSchemaVersionMetadataCommandInput, + PutSchemaVersionMetadataCommandOutput, +} from "./commands/PutSchemaVersionMetadataCommand"; import { PutWorkflowRunPropertiesCommand, PutWorkflowRunPropertiesCommandInput, PutWorkflowRunPropertiesCommandOutput, } from "./commands/PutWorkflowRunPropertiesCommand"; +import { + QuerySchemaVersionMetadataCommand, + QuerySchemaVersionMetadataCommandInput, + QuerySchemaVersionMetadataCommandOutput, +} from "./commands/QuerySchemaVersionMetadataCommand"; +import { + RegisterSchemaVersionCommand, + RegisterSchemaVersionCommandInput, + RegisterSchemaVersionCommandOutput, +} from "./commands/RegisterSchemaVersionCommand"; +import { + RemoveSchemaVersionMetadataCommand, + RemoveSchemaVersionMetadataCommandInput, + RemoveSchemaVersionMetadataCommandOutput, +} from "./commands/RemoveSchemaVersionMetadataCommand"; import { ResetJobBookmarkCommand, ResetJobBookmarkCommandInput, @@ -554,6 +632,16 @@ import { UpdatePartitionCommandInput, UpdatePartitionCommandOutput, } from "./commands/UpdatePartitionCommand"; +import { + UpdateRegistryCommand, + UpdateRegistryCommandInput, + UpdateRegistryCommandOutput, +} from "./commands/UpdateRegistryCommand"; +import { + UpdateSchemaCommand, + UpdateSchemaCommandInput, + UpdateSchemaCommandOutput, +} from "./commands/UpdateSchemaCommand"; import { UpdateTableCommand, UpdateTableCommandInput, UpdateTableCommandOutput } from "./commands/UpdateTableCommand"; import { UpdateTriggerCommand, @@ -1039,6 +1127,38 @@ export class Glue extends GlueClient { } } + /** + *

                    Validates the supplied schema. This call has no side effects, it simply validates using the supplied schema using DataFormat as the format. Since it does not take a schema set name, no compatibility checks are performed.

                    + */ + public checkSchemaVersionValidity( + args: CheckSchemaVersionValidityCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public checkSchemaVersionValidity( + args: CheckSchemaVersionValidityCommandInput, + cb: (err: any, data?: CheckSchemaVersionValidityCommandOutput) => void + ): void; + public checkSchemaVersionValidity( + args: CheckSchemaVersionValidityCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CheckSchemaVersionValidityCommandOutput) => void + ): void; + public checkSchemaVersionValidity( + args: CheckSchemaVersionValidityCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CheckSchemaVersionValidityCommandOutput) => void), + cb?: (err: any, data?: CheckSchemaVersionValidityCommandOutput) => void + ): Promise | void { + const command = new CheckSchemaVersionValidityCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

                    Creates a classifier in the user's account. This can be a GrokClassifier, an * XMLClassifier, a JsonClassifier, or a CsvClassifier, @@ -1305,6 +1425,69 @@ export class Glue extends GlueClient { } } + /** + *

                    Creates a new registry which may be used to hold a collection of schemas.

                    + */ + public createRegistry( + args: CreateRegistryCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createRegistry( + args: CreateRegistryCommandInput, + cb: (err: any, data?: CreateRegistryCommandOutput) => void + ): void; + public createRegistry( + args: CreateRegistryCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateRegistryCommandOutput) => void + ): void; + public createRegistry( + args: CreateRegistryCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateRegistryCommandOutput) => void), + cb?: (err: any, data?: CreateRegistryCommandOutput) => void + ): Promise | void { + const command = new CreateRegistryCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

                    Creates a new schema set and registers the schema definition. Returns an error if the schema set already exists without actually registering the version.

                    + *

                    When the schema set is created, a version checkpoint will be set to the first version. Compatibility mode "DISABLED" restricts any additional schema versions from being added after the first schema version. For all other compatibility modes, validation of compatibility settings will be applied only from the second version onwards when the RegisterSchemaVersion API is used.

                    + *

                    When this API is called without a RegistryId, this will create an entry for a "default-registry" in the registry database tables, if it is not already present.

                    + */ + public createSchema( + args: CreateSchemaCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createSchema(args: CreateSchemaCommandInput, cb: (err: any, data?: CreateSchemaCommandOutput) => void): void; + public createSchema( + args: CreateSchemaCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateSchemaCommandOutput) => void + ): void; + public createSchema( + args: CreateSchemaCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateSchemaCommandOutput) => void), + cb?: (err: any, data?: CreateSchemaCommandOutput) => void + ): Promise | void { + const command = new CreateSchemaCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

                    Transforms a directed acyclic graph (DAG) into code.

                    */ @@ -1825,6 +2008,38 @@ export class Glue extends GlueClient { } } + /** + *

                    Delete the entire registry including schema and all of its versions. To get the status of the delete operation, you can call the GetRegistry API after the asynchronous call. Deleting a registry will disable all online operations for the registry such as the UpdateRegistry, CreateSchema, UpdateSchema, and RegisterSchemaVersion APIs.

                    + */ + public deleteRegistry( + args: DeleteRegistryCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteRegistry( + args: DeleteRegistryCommandInput, + cb: (err: any, data?: DeleteRegistryCommandOutput) => void + ): void; + public deleteRegistry( + args: DeleteRegistryCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteRegistryCommandOutput) => void + ): void; + public deleteRegistry( + args: DeleteRegistryCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteRegistryCommandOutput) => void), + cb?: (err: any, data?: DeleteRegistryCommandOutput) => void + ): Promise | void { + const command = new DeleteRegistryCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

                    Deletes a specified policy.

                    */ @@ -1857,6 +2072,70 @@ export class Glue extends GlueClient { } } + /** + *

                    Deletes the entire schema set, including the schema set and all of its versions. To get the status of the delete operation, you can call GetSchema API after the asynchronous call. Deleting a registry will disable all online operations for the schema, such as the GetSchemaByDefinition, and RegisterSchemaVersion APIs.

                    + */ + public deleteSchema( + args: DeleteSchemaCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteSchema(args: DeleteSchemaCommandInput, cb: (err: any, data?: DeleteSchemaCommandOutput) => void): void; + public deleteSchema( + args: DeleteSchemaCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteSchemaCommandOutput) => void + ): void; + public deleteSchema( + args: DeleteSchemaCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteSchemaCommandOutput) => void), + cb?: (err: any, data?: DeleteSchemaCommandOutput) => void + ): Promise | void { + const command = new DeleteSchemaCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

                    Remove versions from the specified schema. A version number or range may be supplied. If the compatibility mode forbids deleting of a version that is necessary, such as BACKWARDS_FULL, an error is returned. Calling the GetSchemaVersions API after this call will list the status of the deleted versions.

                    + *

                    When the range of version numbers contain check pointed version, the API will return a 409 conflict and will not proceed with the deletion. You have to remove the checkpoint first using the DeleteSchemaCheckpoint API before using this API.

                    + *

                    You cannot use the DeleteSchemaVersions API to delete the first schema version in the schema set. The first schema version can only be deleted by the DeleteSchema API. This operation will also delete the attached SchemaVersionMetadata under the schema versions. Hard deletes will be enforced on the database.

                    + *

                    If the compatibility mode forbids deleting of a version that is necessary, such as BACKWARDS_FULL, an error is returned.

                    + */ + public deleteSchemaVersions( + args: DeleteSchemaVersionsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteSchemaVersions( + args: DeleteSchemaVersionsCommandInput, + cb: (err: any, data?: DeleteSchemaVersionsCommandOutput) => void + ): void; + public deleteSchemaVersions( + args: DeleteSchemaVersionsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteSchemaVersionsCommandOutput) => void + ): void; + public deleteSchemaVersions( + args: DeleteSchemaVersionsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteSchemaVersionsCommandOutput) => void), + cb?: (err: any, data?: DeleteSchemaVersionsCommandOutput) => void + ): Promise | void { + const command = new DeleteSchemaVersionsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

                    Deletes a specified security configuration.

                    */ @@ -2984,6 +3263,32 @@ export class Glue extends GlueClient { } } + /** + *

                    Describes the specified registry in detail.

                    + */ + public getRegistry(args: GetRegistryCommandInput, options?: __HttpHandlerOptions): Promise; + public getRegistry(args: GetRegistryCommandInput, cb: (err: any, data?: GetRegistryCommandOutput) => void): void; + public getRegistry( + args: GetRegistryCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetRegistryCommandOutput) => void + ): void; + public getRegistry( + args: GetRegistryCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetRegistryCommandOutput) => void), + cb?: (err: any, data?: GetRegistryCommandOutput) => void + ): Promise | void { + const command = new GetRegistryCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

                    Retrieves the security configurations for the resource policies set on individual resources, and also the account-level policy.

                    * @@ -3050,6 +3355,129 @@ export class Glue extends GlueClient { } } + /** + *

                    Describes the specified schema in detail.

                    + */ + public getSchema(args: GetSchemaCommandInput, options?: __HttpHandlerOptions): Promise; + public getSchema(args: GetSchemaCommandInput, cb: (err: any, data?: GetSchemaCommandOutput) => void): void; + public getSchema( + args: GetSchemaCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetSchemaCommandOutput) => void + ): void; + public getSchema( + args: GetSchemaCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetSchemaCommandOutput) => void), + cb?: (err: any, data?: GetSchemaCommandOutput) => void + ): Promise | void { + const command = new GetSchemaCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

                    Retrieves a schema by the SchemaDefinition. The schema definition is sent to the Schema Registry, canonicalized, and hashed. If the hash is matched within the scope of the SchemaName or ARN (or the default registry, if none is supplied), that schema’s metadata is returned. Otherwise, a 404 or NotFound error is returned. Schema versions in Deleted statuses will not be included in the results.

                    + */ + public getSchemaByDefinition( + args: GetSchemaByDefinitionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getSchemaByDefinition( + args: GetSchemaByDefinitionCommandInput, + cb: (err: any, data?: GetSchemaByDefinitionCommandOutput) => void + ): void; + public getSchemaByDefinition( + args: GetSchemaByDefinitionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetSchemaByDefinitionCommandOutput) => void + ): void; + public getSchemaByDefinition( + args: GetSchemaByDefinitionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetSchemaByDefinitionCommandOutput) => void), + cb?: (err: any, data?: GetSchemaByDefinitionCommandOutput) => void + ): Promise | void { + const command = new GetSchemaByDefinitionCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

                    Get the specified schema by its unique ID assigned when a version of the schema is created or registered. Schema versions in Deleted status will not be included in the results.

                    + */ + public getSchemaVersion( + args: GetSchemaVersionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getSchemaVersion( + args: GetSchemaVersionCommandInput, + cb: (err: any, data?: GetSchemaVersionCommandOutput) => void + ): void; + public getSchemaVersion( + args: GetSchemaVersionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetSchemaVersionCommandOutput) => void + ): void; + public getSchemaVersion( + args: GetSchemaVersionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetSchemaVersionCommandOutput) => void), + cb?: (err: any, data?: GetSchemaVersionCommandOutput) => void + ): Promise | void { + const command = new GetSchemaVersionCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

                    Fetches the schema version difference in the specified difference type between two stored schema versions in the Schema Registry.

                    + *

                    This API allows you to compare two schema versions between two schema definitions under the same schema.

                    + */ + public getSchemaVersionsDiff( + args: GetSchemaVersionsDiffCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getSchemaVersionsDiff( + args: GetSchemaVersionsDiffCommandInput, + cb: (err: any, data?: GetSchemaVersionsDiffCommandOutput) => void + ): void; + public getSchemaVersionsDiff( + args: GetSchemaVersionsDiffCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetSchemaVersionsDiffCommandOutput) => void + ): void; + public getSchemaVersionsDiff( + args: GetSchemaVersionsDiffCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetSchemaVersionsDiffCommandOutput) => void), + cb?: (err: any, data?: GetSchemaVersionsDiffCommandOutput) => void + ): Promise | void { + const command = new GetSchemaVersionsDiffCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

                    Retrieves a specified security configuration.

                    */ @@ -3668,6 +4096,97 @@ export class Glue extends GlueClient { } } + /** + *

                    Returns a list of registries that you have created, with minimal registry information. Registries in the Deleting status will not be included in the results. Empty results will be returned if there are no registries available.

                    + */ + public listRegistries( + args: ListRegistriesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listRegistries( + args: ListRegistriesCommandInput, + cb: (err: any, data?: ListRegistriesCommandOutput) => void + ): void; + public listRegistries( + args: ListRegistriesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListRegistriesCommandOutput) => void + ): void; + public listRegistries( + args: ListRegistriesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListRegistriesCommandOutput) => void), + cb?: (err: any, data?: ListRegistriesCommandOutput) => void + ): Promise | void { + const command = new ListRegistriesCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

                    Returns a list of schemas with minimal details. Schemas in Deleting status will not be included in the results. Empty results will be returned if there are no schemas available.

                    + *

                    When the RegistryId is not provided, all the schemas across registries will be part of the API response.

                    + */ + public listSchemas(args: ListSchemasCommandInput, options?: __HttpHandlerOptions): Promise; + public listSchemas(args: ListSchemasCommandInput, cb: (err: any, data?: ListSchemasCommandOutput) => void): void; + public listSchemas( + args: ListSchemasCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListSchemasCommandOutput) => void + ): void; + public listSchemas( + args: ListSchemasCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListSchemasCommandOutput) => void), + cb?: (err: any, data?: ListSchemasCommandOutput) => void + ): Promise | void { + const command = new ListSchemasCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

                    Returns a list of schema versions that you have created, with minimal information. Schema versions in Deleted status will not be included in the results. Empty results will be returned if there are no schema versions available.

                    + */ + public listSchemaVersions( + args: ListSchemaVersionsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listSchemaVersions( + args: ListSchemaVersionsCommandInput, + cb: (err: any, data?: ListSchemaVersionsCommandOutput) => void + ): void; + public listSchemaVersions( + args: ListSchemaVersionsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListSchemaVersionsCommandOutput) => void + ): void; + public listSchemaVersions( + args: ListSchemaVersionsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListSchemaVersionsCommandOutput) => void), + cb?: (err: any, data?: ListSchemaVersionsCommandOutput) => void + ): Promise | void { + const command = new ListSchemaVersionsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

                    Retrieves the names of all trigger resources in this AWS account, or the resources with the specified tag. This operation allows you to see which resources are available in your account, and their names.

                    * @@ -3798,6 +4317,38 @@ export class Glue extends GlueClient { } } + /** + *

                    Puts the metadata key value pair for a specified schema version ID. A maximum of 10 key value pairs will be allowed per schema version. They can be added over one or more calls.

                    + */ + public putSchemaVersionMetadata( + args: PutSchemaVersionMetadataCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public putSchemaVersionMetadata( + args: PutSchemaVersionMetadataCommandInput, + cb: (err: any, data?: PutSchemaVersionMetadataCommandOutput) => void + ): void; + public putSchemaVersionMetadata( + args: PutSchemaVersionMetadataCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: PutSchemaVersionMetadataCommandOutput) => void + ): void; + public putSchemaVersionMetadata( + args: PutSchemaVersionMetadataCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: PutSchemaVersionMetadataCommandOutput) => void), + cb?: (err: any, data?: PutSchemaVersionMetadataCommandOutput) => void + ): Promise | void { + const command = new PutSchemaVersionMetadataCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

                    Puts the specified workflow run properties for the given workflow run. If a property already exists for the specified run, then it overrides the value otherwise adds the property to existing properties.

                    */ @@ -3830,6 +4381,104 @@ export class Glue extends GlueClient { } } + /** + *

                    Queries for the schema version metadata information.

                    + */ + public querySchemaVersionMetadata( + args: QuerySchemaVersionMetadataCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public querySchemaVersionMetadata( + args: QuerySchemaVersionMetadataCommandInput, + cb: (err: any, data?: QuerySchemaVersionMetadataCommandOutput) => void + ): void; + public querySchemaVersionMetadata( + args: QuerySchemaVersionMetadataCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: QuerySchemaVersionMetadataCommandOutput) => void + ): void; + public querySchemaVersionMetadata( + args: QuerySchemaVersionMetadataCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: QuerySchemaVersionMetadataCommandOutput) => void), + cb?: (err: any, data?: QuerySchemaVersionMetadataCommandOutput) => void + ): Promise | void { + const command = new QuerySchemaVersionMetadataCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

                    Adds a new version to the existing schema. Returns an error if new version of schema does not meet the compatibility requirements of the schema set. This API will not create a new schema set and will return a 404 error if the schema set is not already present in the Schema Registry.

                    + *

                    If this is the first schema definition to be registered in the Schema Registry, this API will store the schema version and return immediately. Otherwise, this call has the potential to run longer than other operations due to compatibility modes. You can call the GetSchemaVersion API with the SchemaVersionId to check compatibility modes.

                    + *

                    If the same schema definition is already stored in Schema Registry as a version, the schema ID of the existing schema is returned to the caller.

                    + */ + public registerSchemaVersion( + args: RegisterSchemaVersionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public registerSchemaVersion( + args: RegisterSchemaVersionCommandInput, + cb: (err: any, data?: RegisterSchemaVersionCommandOutput) => void + ): void; + public registerSchemaVersion( + args: RegisterSchemaVersionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: RegisterSchemaVersionCommandOutput) => void + ): void; + public registerSchemaVersion( + args: RegisterSchemaVersionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: RegisterSchemaVersionCommandOutput) => void), + cb?: (err: any, data?: RegisterSchemaVersionCommandOutput) => void + ): Promise | void { + const command = new RegisterSchemaVersionCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

                    Removes a key value pair from the schema version metadata for the specified schema version ID.

                    + */ + public removeSchemaVersionMetadata( + args: RemoveSchemaVersionMetadataCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public removeSchemaVersionMetadata( + args: RemoveSchemaVersionMetadataCommandInput, + cb: (err: any, data?: RemoveSchemaVersionMetadataCommandOutput) => void + ): void; + public removeSchemaVersionMetadata( + args: RemoveSchemaVersionMetadataCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: RemoveSchemaVersionMetadataCommandOutput) => void + ): void; + public removeSchemaVersionMetadata( + args: RemoveSchemaVersionMetadataCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: RemoveSchemaVersionMetadataCommandOutput) => void), + cb?: (err: any, data?: RemoveSchemaVersionMetadataCommandOutput) => void + ): Promise | void { + const command = new RemoveSchemaVersionMetadataCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

                    Resets a bookmark entry.

                    */ @@ -4794,6 +5443,70 @@ export class Glue extends GlueClient { } } + /** + *

                    Updates an existing registry which is used to hold a collection of schemas. The updated properties relate to the registry, and do not modify any of the schemas within the registry.

                    + */ + public updateRegistry( + args: UpdateRegistryCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateRegistry( + args: UpdateRegistryCommandInput, + cb: (err: any, data?: UpdateRegistryCommandOutput) => void + ): void; + public updateRegistry( + args: UpdateRegistryCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateRegistryCommandOutput) => void + ): void; + public updateRegistry( + args: UpdateRegistryCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateRegistryCommandOutput) => void), + cb?: (err: any, data?: UpdateRegistryCommandOutput) => void + ): Promise | void { + const command = new UpdateRegistryCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

                    Updates the description, compatibility setting, or version checkpoint for a schema set.

                    + *

                    For updating the compatibility setting, the call will not validate compatibility for the entire set of schema versions with the new compatibility setting. If the value for Compatibility is provided, the VersionNumber (a checkpoint) is also required. The API will validate the checkpoint version number for consistency.

                    + *

                    If the value for the VersionNumber (checkpoint) is provided, Compatibility is optional and this can be used to set/reset a checkpoint for the schema.

                    + *

                    This update will happen only if the schema is in the AVAILABLE state.

                    + */ + public updateSchema( + args: UpdateSchemaCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateSchema(args: UpdateSchemaCommandInput, cb: (err: any, data?: UpdateSchemaCommandOutput) => void): void; + public updateSchema( + args: UpdateSchemaCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateSchemaCommandOutput) => void + ): void; + public updateSchema( + args: UpdateSchemaCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateSchemaCommandOutput) => void), + cb?: (err: any, data?: UpdateSchemaCommandOutput) => void + ): Promise | void { + const command = new UpdateSchemaCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

                    Updates a metadata table in the Data Catalog.

                    */ diff --git a/clients/client-glue/GlueClient.ts b/clients/client-glue/GlueClient.ts index 0693281d2de2..a10c13b17347 100644 --- a/clients/client-glue/GlueClient.ts +++ b/clients/client-glue/GlueClient.ts @@ -30,6 +30,10 @@ import { BatchUpdatePartitionCommandOutput, } from "./commands/BatchUpdatePartitionCommand"; import { CancelMLTaskRunCommandInput, CancelMLTaskRunCommandOutput } from "./commands/CancelMLTaskRunCommand"; +import { + CheckSchemaVersionValidityCommandInput, + CheckSchemaVersionValidityCommandOutput, +} from "./commands/CheckSchemaVersionValidityCommand"; import { CreateClassifierCommandInput, CreateClassifierCommandOutput } from "./commands/CreateClassifierCommand"; import { CreateConnectionCommandInput, CreateConnectionCommandOutput } from "./commands/CreateConnectionCommand"; import { CreateCrawlerCommandInput, CreateCrawlerCommandOutput } from "./commands/CreateCrawlerCommand"; @@ -38,6 +42,8 @@ import { CreateDevEndpointCommandInput, CreateDevEndpointCommandOutput } from ". import { CreateJobCommandInput, CreateJobCommandOutput } from "./commands/CreateJobCommand"; import { CreateMLTransformCommandInput, CreateMLTransformCommandOutput } from "./commands/CreateMLTransformCommand"; import { CreatePartitionCommandInput, CreatePartitionCommandOutput } from "./commands/CreatePartitionCommand"; +import { CreateRegistryCommandInput, CreateRegistryCommandOutput } from "./commands/CreateRegistryCommand"; +import { CreateSchemaCommandInput, CreateSchemaCommandOutput } from "./commands/CreateSchemaCommand"; import { CreateScriptCommandInput, CreateScriptCommandOutput } from "./commands/CreateScriptCommand"; import { CreateSecurityConfigurationCommandInput, @@ -66,10 +72,16 @@ import { DeleteDevEndpointCommandInput, DeleteDevEndpointCommandOutput } from ". import { DeleteJobCommandInput, DeleteJobCommandOutput } from "./commands/DeleteJobCommand"; import { DeleteMLTransformCommandInput, DeleteMLTransformCommandOutput } from "./commands/DeleteMLTransformCommand"; import { DeletePartitionCommandInput, DeletePartitionCommandOutput } from "./commands/DeletePartitionCommand"; +import { DeleteRegistryCommandInput, DeleteRegistryCommandOutput } from "./commands/DeleteRegistryCommand"; import { DeleteResourcePolicyCommandInput, DeleteResourcePolicyCommandOutput, } from "./commands/DeleteResourcePolicyCommand"; +import { DeleteSchemaCommandInput, DeleteSchemaCommandOutput } from "./commands/DeleteSchemaCommand"; +import { + DeleteSchemaVersionsCommandInput, + DeleteSchemaVersionsCommandOutput, +} from "./commands/DeleteSchemaVersionsCommand"; import { DeleteSecurityConfigurationCommandInput, DeleteSecurityConfigurationCommandOutput, @@ -127,11 +139,22 @@ import { } from "./commands/GetPartitionIndexesCommand"; import { GetPartitionsCommandInput, GetPartitionsCommandOutput } from "./commands/GetPartitionsCommand"; import { GetPlanCommandInput, GetPlanCommandOutput } from "./commands/GetPlanCommand"; +import { GetRegistryCommandInput, GetRegistryCommandOutput } from "./commands/GetRegistryCommand"; import { GetResourcePoliciesCommandInput, GetResourcePoliciesCommandOutput, } from "./commands/GetResourcePoliciesCommand"; import { GetResourcePolicyCommandInput, GetResourcePolicyCommandOutput } from "./commands/GetResourcePolicyCommand"; +import { + GetSchemaByDefinitionCommandInput, + GetSchemaByDefinitionCommandOutput, +} from "./commands/GetSchemaByDefinitionCommand"; +import { GetSchemaCommandInput, GetSchemaCommandOutput } from "./commands/GetSchemaCommand"; +import { GetSchemaVersionCommandInput, GetSchemaVersionCommandOutput } from "./commands/GetSchemaVersionCommand"; +import { + GetSchemaVersionsDiffCommandInput, + GetSchemaVersionsDiffCommandOutput, +} from "./commands/GetSchemaVersionsDiffCommand"; import { GetSecurityConfigurationCommandInput, GetSecurityConfigurationCommandOutput, @@ -170,6 +193,9 @@ import { ListCrawlersCommandInput, ListCrawlersCommandOutput } from "./commands/ import { ListDevEndpointsCommandInput, ListDevEndpointsCommandOutput } from "./commands/ListDevEndpointsCommand"; import { ListJobsCommandInput, ListJobsCommandOutput } from "./commands/ListJobsCommand"; import { ListMLTransformsCommandInput, ListMLTransformsCommandOutput } from "./commands/ListMLTransformsCommand"; +import { ListRegistriesCommandInput, ListRegistriesCommandOutput } from "./commands/ListRegistriesCommand"; +import { ListSchemaVersionsCommandInput, ListSchemaVersionsCommandOutput } from "./commands/ListSchemaVersionsCommand"; +import { ListSchemasCommandInput, ListSchemasCommandOutput } from "./commands/ListSchemasCommand"; import { ListTriggersCommandInput, ListTriggersCommandOutput } from "./commands/ListTriggersCommand"; import { ListWorkflowsCommandInput, ListWorkflowsCommandOutput } from "./commands/ListWorkflowsCommand"; import { @@ -177,10 +203,26 @@ import { PutDataCatalogEncryptionSettingsCommandOutput, } from "./commands/PutDataCatalogEncryptionSettingsCommand"; import { PutResourcePolicyCommandInput, PutResourcePolicyCommandOutput } from "./commands/PutResourcePolicyCommand"; +import { + PutSchemaVersionMetadataCommandInput, + PutSchemaVersionMetadataCommandOutput, +} from "./commands/PutSchemaVersionMetadataCommand"; import { PutWorkflowRunPropertiesCommandInput, PutWorkflowRunPropertiesCommandOutput, } from "./commands/PutWorkflowRunPropertiesCommand"; +import { + QuerySchemaVersionMetadataCommandInput, + QuerySchemaVersionMetadataCommandOutput, +} from "./commands/QuerySchemaVersionMetadataCommand"; +import { + RegisterSchemaVersionCommandInput, + RegisterSchemaVersionCommandOutput, +} from "./commands/RegisterSchemaVersionCommand"; +import { + RemoveSchemaVersionMetadataCommandInput, + RemoveSchemaVersionMetadataCommandOutput, +} from "./commands/RemoveSchemaVersionMetadataCommand"; import { ResetJobBookmarkCommandInput, ResetJobBookmarkCommandOutput } from "./commands/ResetJobBookmarkCommand"; import { ResumeWorkflowRunCommandInput, ResumeWorkflowRunCommandOutput } from "./commands/ResumeWorkflowRunCommand"; import { SearchTablesCommandInput, SearchTablesCommandOutput } from "./commands/SearchTablesCommand"; @@ -237,6 +279,8 @@ import { UpdateDevEndpointCommandInput, UpdateDevEndpointCommandOutput } from ". import { UpdateJobCommandInput, UpdateJobCommandOutput } from "./commands/UpdateJobCommand"; import { UpdateMLTransformCommandInput, UpdateMLTransformCommandOutput } from "./commands/UpdateMLTransformCommand"; import { UpdatePartitionCommandInput, UpdatePartitionCommandOutput } from "./commands/UpdatePartitionCommand"; +import { UpdateRegistryCommandInput, UpdateRegistryCommandOutput } from "./commands/UpdateRegistryCommand"; +import { UpdateSchemaCommandInput, UpdateSchemaCommandOutput } from "./commands/UpdateSchemaCommand"; import { UpdateTableCommandInput, UpdateTableCommandOutput } from "./commands/UpdateTableCommand"; import { UpdateTriggerCommandInput, UpdateTriggerCommandOutput } from "./commands/UpdateTriggerCommand"; import { @@ -308,6 +352,7 @@ export type ServiceInputTypes = | BatchStopJobRunCommandInput | BatchUpdatePartitionCommandInput | CancelMLTaskRunCommandInput + | CheckSchemaVersionValidityCommandInput | CreateClassifierCommandInput | CreateConnectionCommandInput | CreateCrawlerCommandInput @@ -316,6 +361,8 @@ export type ServiceInputTypes = | CreateJobCommandInput | CreateMLTransformCommandInput | CreatePartitionCommandInput + | CreateRegistryCommandInput + | CreateSchemaCommandInput | CreateScriptCommandInput | CreateSecurityConfigurationCommandInput | CreateTableCommandInput @@ -332,7 +379,10 @@ export type ServiceInputTypes = | DeleteJobCommandInput | DeleteMLTransformCommandInput | DeletePartitionCommandInput + | DeleteRegistryCommandInput | DeleteResourcePolicyCommandInput + | DeleteSchemaCommandInput + | DeleteSchemaVersionsCommandInput | DeleteSecurityConfigurationCommandInput | DeleteTableCommandInput | DeleteTableVersionCommandInput @@ -369,8 +419,13 @@ export type ServiceInputTypes = | GetPartitionIndexesCommandInput | GetPartitionsCommandInput | GetPlanCommandInput + | GetRegistryCommandInput | GetResourcePoliciesCommandInput | GetResourcePolicyCommandInput + | GetSchemaByDefinitionCommandInput + | GetSchemaCommandInput + | GetSchemaVersionCommandInput + | GetSchemaVersionsDiffCommandInput | GetSecurityConfigurationCommandInput | GetSecurityConfigurationsCommandInput | GetTableCommandInput @@ -391,11 +446,18 @@ export type ServiceInputTypes = | ListDevEndpointsCommandInput | ListJobsCommandInput | ListMLTransformsCommandInput + | ListRegistriesCommandInput + | ListSchemaVersionsCommandInput + | ListSchemasCommandInput | ListTriggersCommandInput | ListWorkflowsCommandInput | PutDataCatalogEncryptionSettingsCommandInput | PutResourcePolicyCommandInput + | PutSchemaVersionMetadataCommandInput | PutWorkflowRunPropertiesCommandInput + | QuerySchemaVersionMetadataCommandInput + | RegisterSchemaVersionCommandInput + | RemoveSchemaVersionMetadataCommandInput | ResetJobBookmarkCommandInput | ResumeWorkflowRunCommandInput | SearchTablesCommandInput @@ -425,6 +487,8 @@ export type ServiceInputTypes = | UpdateJobCommandInput | UpdateMLTransformCommandInput | UpdatePartitionCommandInput + | UpdateRegistryCommandInput + | UpdateSchemaCommandInput | UpdateTableCommandInput | UpdateTriggerCommandInput | UpdateUserDefinedFunctionCommandInput @@ -445,6 +509,7 @@ export type ServiceOutputTypes = | BatchStopJobRunCommandOutput | BatchUpdatePartitionCommandOutput | CancelMLTaskRunCommandOutput + | CheckSchemaVersionValidityCommandOutput | CreateClassifierCommandOutput | CreateConnectionCommandOutput | CreateCrawlerCommandOutput @@ -453,6 +518,8 @@ export type ServiceOutputTypes = | CreateJobCommandOutput | CreateMLTransformCommandOutput | CreatePartitionCommandOutput + | CreateRegistryCommandOutput + | CreateSchemaCommandOutput | CreateScriptCommandOutput | CreateSecurityConfigurationCommandOutput | CreateTableCommandOutput @@ -469,7 +536,10 @@ export type ServiceOutputTypes = | DeleteJobCommandOutput | DeleteMLTransformCommandOutput | DeletePartitionCommandOutput + | DeleteRegistryCommandOutput | DeleteResourcePolicyCommandOutput + | DeleteSchemaCommandOutput + | DeleteSchemaVersionsCommandOutput | DeleteSecurityConfigurationCommandOutput | DeleteTableCommandOutput | DeleteTableVersionCommandOutput @@ -506,8 +576,13 @@ export type ServiceOutputTypes = | GetPartitionIndexesCommandOutput | GetPartitionsCommandOutput | GetPlanCommandOutput + | GetRegistryCommandOutput | GetResourcePoliciesCommandOutput | GetResourcePolicyCommandOutput + | GetSchemaByDefinitionCommandOutput + | GetSchemaCommandOutput + | GetSchemaVersionCommandOutput + | GetSchemaVersionsDiffCommandOutput | GetSecurityConfigurationCommandOutput | GetSecurityConfigurationsCommandOutput | GetTableCommandOutput @@ -528,11 +603,18 @@ export type ServiceOutputTypes = | ListDevEndpointsCommandOutput | ListJobsCommandOutput | ListMLTransformsCommandOutput + | ListRegistriesCommandOutput + | ListSchemaVersionsCommandOutput + | ListSchemasCommandOutput | ListTriggersCommandOutput | ListWorkflowsCommandOutput | PutDataCatalogEncryptionSettingsCommandOutput | PutResourcePolicyCommandOutput + | PutSchemaVersionMetadataCommandOutput | PutWorkflowRunPropertiesCommandOutput + | QuerySchemaVersionMetadataCommandOutput + | RegisterSchemaVersionCommandOutput + | RemoveSchemaVersionMetadataCommandOutput | ResetJobBookmarkCommandOutput | ResumeWorkflowRunCommandOutput | SearchTablesCommandOutput @@ -562,6 +644,8 @@ export type ServiceOutputTypes = | UpdateJobCommandOutput | UpdateMLTransformCommandOutput | UpdatePartitionCommandOutput + | UpdateRegistryCommandOutput + | UpdateSchemaCommandOutput | UpdateTableCommandOutput | UpdateTriggerCommandOutput | UpdateUserDefinedFunctionCommandOutput diff --git a/clients/client-glue/commands/CheckSchemaVersionValidityCommand.ts b/clients/client-glue/commands/CheckSchemaVersionValidityCommand.ts new file mode 100644 index 000000000000..e97bc5974f34 --- /dev/null +++ b/clients/client-glue/commands/CheckSchemaVersionValidityCommand.ts @@ -0,0 +1,85 @@ +import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; +import { CheckSchemaVersionValidityInput, CheckSchemaVersionValidityResponse } from "../models/models_0"; +import { + deserializeAws_json1_1CheckSchemaVersionValidityCommand, + serializeAws_json1_1CheckSchemaVersionValidityCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type CheckSchemaVersionValidityCommandInput = CheckSchemaVersionValidityInput; +export type CheckSchemaVersionValidityCommandOutput = CheckSchemaVersionValidityResponse & __MetadataBearer; + +export class CheckSchemaVersionValidityCommand extends $Command< + CheckSchemaVersionValidityCommandInput, + CheckSchemaVersionValidityCommandOutput, + GlueClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CheckSchemaVersionValidityCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: GlueClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "GlueClient"; + const commandName = "CheckSchemaVersionValidityCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CheckSchemaVersionValidityInput.filterSensitiveLog, + outputFilterSensitiveLog: CheckSchemaVersionValidityResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CheckSchemaVersionValidityCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1CheckSchemaVersionValidityCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1CheckSchemaVersionValidityCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-glue/commands/CreateRegistryCommand.ts b/clients/client-glue/commands/CreateRegistryCommand.ts new file mode 100644 index 000000000000..f5a6b3b11bd6 --- /dev/null +++ b/clients/client-glue/commands/CreateRegistryCommand.ts @@ -0,0 +1,82 @@ +import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; +import { CreateRegistryInput, CreateRegistryResponse } from "../models/models_0"; +import { + deserializeAws_json1_1CreateRegistryCommand, + serializeAws_json1_1CreateRegistryCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type CreateRegistryCommandInput = CreateRegistryInput; +export type CreateRegistryCommandOutput = CreateRegistryResponse & __MetadataBearer; + +export class CreateRegistryCommand extends $Command< + CreateRegistryCommandInput, + CreateRegistryCommandOutput, + GlueClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateRegistryCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: GlueClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "GlueClient"; + const commandName = "CreateRegistryCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreateRegistryInput.filterSensitiveLog, + outputFilterSensitiveLog: CreateRegistryResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateRegistryCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1CreateRegistryCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1CreateRegistryCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-glue/commands/CreateSchemaCommand.ts b/clients/client-glue/commands/CreateSchemaCommand.ts new file mode 100644 index 000000000000..20bd5f42a474 --- /dev/null +++ b/clients/client-glue/commands/CreateSchemaCommand.ts @@ -0,0 +1,82 @@ +import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; +import { CreateSchemaInput, CreateSchemaResponse } from "../models/models_0"; +import { + deserializeAws_json1_1CreateSchemaCommand, + serializeAws_json1_1CreateSchemaCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type CreateSchemaCommandInput = CreateSchemaInput; +export type CreateSchemaCommandOutput = CreateSchemaResponse & __MetadataBearer; + +export class CreateSchemaCommand extends $Command< + CreateSchemaCommandInput, + CreateSchemaCommandOutput, + GlueClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateSchemaCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: GlueClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "GlueClient"; + const commandName = "CreateSchemaCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreateSchemaInput.filterSensitiveLog, + outputFilterSensitiveLog: CreateSchemaResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateSchemaCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1CreateSchemaCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1CreateSchemaCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-glue/commands/DeleteRegistryCommand.ts b/clients/client-glue/commands/DeleteRegistryCommand.ts new file mode 100644 index 000000000000..d83766f56f60 --- /dev/null +++ b/clients/client-glue/commands/DeleteRegistryCommand.ts @@ -0,0 +1,82 @@ +import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; +import { DeleteRegistryInput, DeleteRegistryResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DeleteRegistryCommand, + serializeAws_json1_1DeleteRegistryCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DeleteRegistryCommandInput = DeleteRegistryInput; +export type DeleteRegistryCommandOutput = DeleteRegistryResponse & __MetadataBearer; + +export class DeleteRegistryCommand extends $Command< + DeleteRegistryCommandInput, + DeleteRegistryCommandOutput, + GlueClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteRegistryCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: GlueClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "GlueClient"; + const commandName = "DeleteRegistryCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteRegistryInput.filterSensitiveLog, + outputFilterSensitiveLog: DeleteRegistryResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteRegistryCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DeleteRegistryCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DeleteRegistryCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-glue/commands/DeleteSchemaCommand.ts b/clients/client-glue/commands/DeleteSchemaCommand.ts new file mode 100644 index 000000000000..0f6ff9e275ed --- /dev/null +++ b/clients/client-glue/commands/DeleteSchemaCommand.ts @@ -0,0 +1,82 @@ +import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; +import { DeleteSchemaInput, DeleteSchemaResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DeleteSchemaCommand, + serializeAws_json1_1DeleteSchemaCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DeleteSchemaCommandInput = DeleteSchemaInput; +export type DeleteSchemaCommandOutput = DeleteSchemaResponse & __MetadataBearer; + +export class DeleteSchemaCommand extends $Command< + DeleteSchemaCommandInput, + DeleteSchemaCommandOutput, + GlueClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteSchemaCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: GlueClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "GlueClient"; + const commandName = "DeleteSchemaCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteSchemaInput.filterSensitiveLog, + outputFilterSensitiveLog: DeleteSchemaResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteSchemaCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DeleteSchemaCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DeleteSchemaCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-glue/commands/DeleteSchemaVersionsCommand.ts b/clients/client-glue/commands/DeleteSchemaVersionsCommand.ts new file mode 100644 index 000000000000..83506b814699 --- /dev/null +++ b/clients/client-glue/commands/DeleteSchemaVersionsCommand.ts @@ -0,0 +1,82 @@ +import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; +import { DeleteSchemaVersionsInput, DeleteSchemaVersionsResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DeleteSchemaVersionsCommand, + serializeAws_json1_1DeleteSchemaVersionsCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type DeleteSchemaVersionsCommandInput = DeleteSchemaVersionsInput; +export type DeleteSchemaVersionsCommandOutput = DeleteSchemaVersionsResponse & __MetadataBearer; + +export class DeleteSchemaVersionsCommand extends $Command< + DeleteSchemaVersionsCommandInput, + DeleteSchemaVersionsCommandOutput, + GlueClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteSchemaVersionsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: GlueClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "GlueClient"; + const commandName = "DeleteSchemaVersionsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteSchemaVersionsInput.filterSensitiveLog, + outputFilterSensitiveLog: DeleteSchemaVersionsResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteSchemaVersionsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DeleteSchemaVersionsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DeleteSchemaVersionsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-glue/commands/GetMLTaskRunCommand.ts b/clients/client-glue/commands/GetMLTaskRunCommand.ts index ed6f07fa7a99..959277399277 100644 --- a/clients/client-glue/commands/GetMLTaskRunCommand.ts +++ b/clients/client-glue/commands/GetMLTaskRunCommand.ts @@ -1,5 +1,5 @@ import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; -import { GetMLTaskRunRequest, GetMLTaskRunResponse } from "../models/models_0"; +import { GetMLTaskRunRequest, GetMLTaskRunResponse } from "../models/models_1"; import { deserializeAws_json1_1GetMLTaskRunCommand, serializeAws_json1_1GetMLTaskRunCommand, diff --git a/clients/client-glue/commands/GetMLTaskRunsCommand.ts b/clients/client-glue/commands/GetMLTaskRunsCommand.ts index 5d45f2301cbd..05765e78233d 100644 --- a/clients/client-glue/commands/GetMLTaskRunsCommand.ts +++ b/clients/client-glue/commands/GetMLTaskRunsCommand.ts @@ -1,5 +1,5 @@ import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; -import { GetMLTaskRunsRequest, GetMLTaskRunsResponse } from "../models/models_0"; +import { GetMLTaskRunsRequest, GetMLTaskRunsResponse } from "../models/models_1"; import { deserializeAws_json1_1GetMLTaskRunsCommand, serializeAws_json1_1GetMLTaskRunsCommand, diff --git a/clients/client-glue/commands/GetMLTransformCommand.ts b/clients/client-glue/commands/GetMLTransformCommand.ts index 40a828e8a8b2..ee6b4858d6c9 100644 --- a/clients/client-glue/commands/GetMLTransformCommand.ts +++ b/clients/client-glue/commands/GetMLTransformCommand.ts @@ -1,6 +1,5 @@ import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; -import { GetMLTransformRequest } from "../models/models_0"; -import { GetMLTransformResponse } from "../models/models_1"; +import { GetMLTransformRequest, GetMLTransformResponse } from "../models/models_1"; import { deserializeAws_json1_1GetMLTransformCommand, serializeAws_json1_1GetMLTransformCommand, diff --git a/clients/client-glue/commands/GetMappingCommand.ts b/clients/client-glue/commands/GetMappingCommand.ts index 5a90b5b5994e..35bdfb155870 100644 --- a/clients/client-glue/commands/GetMappingCommand.ts +++ b/clients/client-glue/commands/GetMappingCommand.ts @@ -1,5 +1,5 @@ import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; -import { GetMappingRequest, GetMappingResponse } from "../models/models_0"; +import { GetMappingRequest, GetMappingResponse } from "../models/models_1"; import { deserializeAws_json1_1GetMappingCommand, serializeAws_json1_1GetMappingCommand, diff --git a/clients/client-glue/commands/GetRegistryCommand.ts b/clients/client-glue/commands/GetRegistryCommand.ts new file mode 100644 index 000000000000..99d50c0dac43 --- /dev/null +++ b/clients/client-glue/commands/GetRegistryCommand.ts @@ -0,0 +1,82 @@ +import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; +import { GetRegistryInput, GetRegistryResponse } from "../models/models_1"; +import { + deserializeAws_json1_1GetRegistryCommand, + serializeAws_json1_1GetRegistryCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type GetRegistryCommandInput = GetRegistryInput; +export type GetRegistryCommandOutput = GetRegistryResponse & __MetadataBearer; + +export class GetRegistryCommand extends $Command< + GetRegistryCommandInput, + GetRegistryCommandOutput, + GlueClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetRegistryCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: GlueClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "GlueClient"; + const commandName = "GetRegistryCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: GetRegistryInput.filterSensitiveLog, + outputFilterSensitiveLog: GetRegistryResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetRegistryCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1GetRegistryCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1GetRegistryCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-glue/commands/GetSchemaByDefinitionCommand.ts b/clients/client-glue/commands/GetSchemaByDefinitionCommand.ts new file mode 100644 index 000000000000..b9a1ee4db61b --- /dev/null +++ b/clients/client-glue/commands/GetSchemaByDefinitionCommand.ts @@ -0,0 +1,82 @@ +import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; +import { GetSchemaByDefinitionInput, GetSchemaByDefinitionResponse } from "../models/models_1"; +import { + deserializeAws_json1_1GetSchemaByDefinitionCommand, + serializeAws_json1_1GetSchemaByDefinitionCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type GetSchemaByDefinitionCommandInput = GetSchemaByDefinitionInput; +export type GetSchemaByDefinitionCommandOutput = GetSchemaByDefinitionResponse & __MetadataBearer; + +export class GetSchemaByDefinitionCommand extends $Command< + GetSchemaByDefinitionCommandInput, + GetSchemaByDefinitionCommandOutput, + GlueClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetSchemaByDefinitionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: GlueClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "GlueClient"; + const commandName = "GetSchemaByDefinitionCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: GetSchemaByDefinitionInput.filterSensitiveLog, + outputFilterSensitiveLog: GetSchemaByDefinitionResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetSchemaByDefinitionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1GetSchemaByDefinitionCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1GetSchemaByDefinitionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-glue/commands/GetSchemaCommand.ts b/clients/client-glue/commands/GetSchemaCommand.ts new file mode 100644 index 000000000000..af0a02ca8119 --- /dev/null +++ b/clients/client-glue/commands/GetSchemaCommand.ts @@ -0,0 +1,79 @@ +import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; +import { GetSchemaInput, GetSchemaResponse } from "../models/models_1"; +import { deserializeAws_json1_1GetSchemaCommand, serializeAws_json1_1GetSchemaCommand } from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type GetSchemaCommandInput = GetSchemaInput; +export type GetSchemaCommandOutput = GetSchemaResponse & __MetadataBearer; + +export class GetSchemaCommand extends $Command< + GetSchemaCommandInput, + GetSchemaCommandOutput, + GlueClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetSchemaCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: GlueClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "GlueClient"; + const commandName = "GetSchemaCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: GetSchemaInput.filterSensitiveLog, + outputFilterSensitiveLog: GetSchemaResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetSchemaCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1GetSchemaCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1GetSchemaCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-glue/commands/GetSchemaVersionCommand.ts b/clients/client-glue/commands/GetSchemaVersionCommand.ts new file mode 100644 index 000000000000..cbcf29f84f59 --- /dev/null +++ b/clients/client-glue/commands/GetSchemaVersionCommand.ts @@ -0,0 +1,82 @@ +import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; +import { GetSchemaVersionInput, GetSchemaVersionResponse } from "../models/models_1"; +import { + deserializeAws_json1_1GetSchemaVersionCommand, + serializeAws_json1_1GetSchemaVersionCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type GetSchemaVersionCommandInput = GetSchemaVersionInput; +export type GetSchemaVersionCommandOutput = GetSchemaVersionResponse & __MetadataBearer; + +export class GetSchemaVersionCommand extends $Command< + GetSchemaVersionCommandInput, + GetSchemaVersionCommandOutput, + GlueClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetSchemaVersionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: GlueClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "GlueClient"; + const commandName = "GetSchemaVersionCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: GetSchemaVersionInput.filterSensitiveLog, + outputFilterSensitiveLog: GetSchemaVersionResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetSchemaVersionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1GetSchemaVersionCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1GetSchemaVersionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-glue/commands/GetSchemaVersionsDiffCommand.ts b/clients/client-glue/commands/GetSchemaVersionsDiffCommand.ts new file mode 100644 index 000000000000..5ddb613687e5 --- /dev/null +++ b/clients/client-glue/commands/GetSchemaVersionsDiffCommand.ts @@ -0,0 +1,82 @@ +import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; +import { GetSchemaVersionsDiffInput, GetSchemaVersionsDiffResponse } from "../models/models_1"; +import { + deserializeAws_json1_1GetSchemaVersionsDiffCommand, + serializeAws_json1_1GetSchemaVersionsDiffCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type GetSchemaVersionsDiffCommandInput = GetSchemaVersionsDiffInput; +export type GetSchemaVersionsDiffCommandOutput = GetSchemaVersionsDiffResponse & __MetadataBearer; + +export class GetSchemaVersionsDiffCommand extends $Command< + GetSchemaVersionsDiffCommandInput, + GetSchemaVersionsDiffCommandOutput, + GlueClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetSchemaVersionsDiffCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: GlueClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "GlueClient"; + const commandName = "GetSchemaVersionsDiffCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: GetSchemaVersionsDiffInput.filterSensitiveLog, + outputFilterSensitiveLog: GetSchemaVersionsDiffResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetSchemaVersionsDiffCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1GetSchemaVersionsDiffCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1GetSchemaVersionsDiffCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-glue/commands/ListRegistriesCommand.ts b/clients/client-glue/commands/ListRegistriesCommand.ts new file mode 100644 index 000000000000..0dc9d52b0d6f --- /dev/null +++ b/clients/client-glue/commands/ListRegistriesCommand.ts @@ -0,0 +1,82 @@ +import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; +import { ListRegistriesInput, ListRegistriesResponse } from "../models/models_1"; +import { + deserializeAws_json1_1ListRegistriesCommand, + serializeAws_json1_1ListRegistriesCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ListRegistriesCommandInput = ListRegistriesInput; +export type ListRegistriesCommandOutput = ListRegistriesResponse & __MetadataBearer; + +export class ListRegistriesCommand extends $Command< + ListRegistriesCommandInput, + ListRegistriesCommandOutput, + GlueClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListRegistriesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: GlueClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "GlueClient"; + const commandName = "ListRegistriesCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListRegistriesInput.filterSensitiveLog, + outputFilterSensitiveLog: ListRegistriesResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListRegistriesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ListRegistriesCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ListRegistriesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-glue/commands/ListSchemaVersionsCommand.ts b/clients/client-glue/commands/ListSchemaVersionsCommand.ts new file mode 100644 index 000000000000..ed1b4cdba8ab --- /dev/null +++ b/clients/client-glue/commands/ListSchemaVersionsCommand.ts @@ -0,0 +1,82 @@ +import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; +import { ListSchemaVersionsInput, ListSchemaVersionsResponse } from "../models/models_1"; +import { + deserializeAws_json1_1ListSchemaVersionsCommand, + serializeAws_json1_1ListSchemaVersionsCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ListSchemaVersionsCommandInput = ListSchemaVersionsInput; +export type ListSchemaVersionsCommandOutput = ListSchemaVersionsResponse & __MetadataBearer; + +export class ListSchemaVersionsCommand extends $Command< + ListSchemaVersionsCommandInput, + ListSchemaVersionsCommandOutput, + GlueClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListSchemaVersionsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: GlueClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "GlueClient"; + const commandName = "ListSchemaVersionsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListSchemaVersionsInput.filterSensitiveLog, + outputFilterSensitiveLog: ListSchemaVersionsResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListSchemaVersionsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ListSchemaVersionsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ListSchemaVersionsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-glue/commands/ListSchemasCommand.ts b/clients/client-glue/commands/ListSchemasCommand.ts new file mode 100644 index 000000000000..62b932f46887 --- /dev/null +++ b/clients/client-glue/commands/ListSchemasCommand.ts @@ -0,0 +1,82 @@ +import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; +import { ListSchemasInput, ListSchemasResponse } from "../models/models_1"; +import { + deserializeAws_json1_1ListSchemasCommand, + serializeAws_json1_1ListSchemasCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ListSchemasCommandInput = ListSchemasInput; +export type ListSchemasCommandOutput = ListSchemasResponse & __MetadataBearer; + +export class ListSchemasCommand extends $Command< + ListSchemasCommandInput, + ListSchemasCommandOutput, + GlueClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListSchemasCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: GlueClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "GlueClient"; + const commandName = "ListSchemasCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListSchemasInput.filterSensitiveLog, + outputFilterSensitiveLog: ListSchemasResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListSchemasCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ListSchemasCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ListSchemasCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-glue/commands/PutSchemaVersionMetadataCommand.ts b/clients/client-glue/commands/PutSchemaVersionMetadataCommand.ts new file mode 100644 index 000000000000..d07db77480f5 --- /dev/null +++ b/clients/client-glue/commands/PutSchemaVersionMetadataCommand.ts @@ -0,0 +1,82 @@ +import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; +import { PutSchemaVersionMetadataInput, PutSchemaVersionMetadataResponse } from "../models/models_1"; +import { + deserializeAws_json1_1PutSchemaVersionMetadataCommand, + serializeAws_json1_1PutSchemaVersionMetadataCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type PutSchemaVersionMetadataCommandInput = PutSchemaVersionMetadataInput; +export type PutSchemaVersionMetadataCommandOutput = PutSchemaVersionMetadataResponse & __MetadataBearer; + +export class PutSchemaVersionMetadataCommand extends $Command< + PutSchemaVersionMetadataCommandInput, + PutSchemaVersionMetadataCommandOutput, + GlueClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: PutSchemaVersionMetadataCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: GlueClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "GlueClient"; + const commandName = "PutSchemaVersionMetadataCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: PutSchemaVersionMetadataInput.filterSensitiveLog, + outputFilterSensitiveLog: PutSchemaVersionMetadataResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: PutSchemaVersionMetadataCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1PutSchemaVersionMetadataCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1PutSchemaVersionMetadataCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-glue/commands/QuerySchemaVersionMetadataCommand.ts b/clients/client-glue/commands/QuerySchemaVersionMetadataCommand.ts new file mode 100644 index 000000000000..e4f4aa71d9d9 --- /dev/null +++ b/clients/client-glue/commands/QuerySchemaVersionMetadataCommand.ts @@ -0,0 +1,85 @@ +import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; +import { QuerySchemaVersionMetadataInput, QuerySchemaVersionMetadataResponse } from "../models/models_1"; +import { + deserializeAws_json1_1QuerySchemaVersionMetadataCommand, + serializeAws_json1_1QuerySchemaVersionMetadataCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type QuerySchemaVersionMetadataCommandInput = QuerySchemaVersionMetadataInput; +export type QuerySchemaVersionMetadataCommandOutput = QuerySchemaVersionMetadataResponse & __MetadataBearer; + +export class QuerySchemaVersionMetadataCommand extends $Command< + QuerySchemaVersionMetadataCommandInput, + QuerySchemaVersionMetadataCommandOutput, + GlueClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: QuerySchemaVersionMetadataCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: GlueClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "GlueClient"; + const commandName = "QuerySchemaVersionMetadataCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: QuerySchemaVersionMetadataInput.filterSensitiveLog, + outputFilterSensitiveLog: QuerySchemaVersionMetadataResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: QuerySchemaVersionMetadataCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1QuerySchemaVersionMetadataCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1QuerySchemaVersionMetadataCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-glue/commands/RegisterSchemaVersionCommand.ts b/clients/client-glue/commands/RegisterSchemaVersionCommand.ts new file mode 100644 index 000000000000..10ad3b0f1f37 --- /dev/null +++ b/clients/client-glue/commands/RegisterSchemaVersionCommand.ts @@ -0,0 +1,82 @@ +import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; +import { RegisterSchemaVersionInput, RegisterSchemaVersionResponse } from "../models/models_1"; +import { + deserializeAws_json1_1RegisterSchemaVersionCommand, + serializeAws_json1_1RegisterSchemaVersionCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type RegisterSchemaVersionCommandInput = RegisterSchemaVersionInput; +export type RegisterSchemaVersionCommandOutput = RegisterSchemaVersionResponse & __MetadataBearer; + +export class RegisterSchemaVersionCommand extends $Command< + RegisterSchemaVersionCommandInput, + RegisterSchemaVersionCommandOutput, + GlueClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: RegisterSchemaVersionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: GlueClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "GlueClient"; + const commandName = "RegisterSchemaVersionCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: RegisterSchemaVersionInput.filterSensitiveLog, + outputFilterSensitiveLog: RegisterSchemaVersionResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: RegisterSchemaVersionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1RegisterSchemaVersionCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1RegisterSchemaVersionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-glue/commands/RemoveSchemaVersionMetadataCommand.ts b/clients/client-glue/commands/RemoveSchemaVersionMetadataCommand.ts new file mode 100644 index 000000000000..412daf7ab071 --- /dev/null +++ b/clients/client-glue/commands/RemoveSchemaVersionMetadataCommand.ts @@ -0,0 +1,85 @@ +import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; +import { RemoveSchemaVersionMetadataInput, RemoveSchemaVersionMetadataResponse } from "../models/models_1"; +import { + deserializeAws_json1_1RemoveSchemaVersionMetadataCommand, + serializeAws_json1_1RemoveSchemaVersionMetadataCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type RemoveSchemaVersionMetadataCommandInput = RemoveSchemaVersionMetadataInput; +export type RemoveSchemaVersionMetadataCommandOutput = RemoveSchemaVersionMetadataResponse & __MetadataBearer; + +export class RemoveSchemaVersionMetadataCommand extends $Command< + RemoveSchemaVersionMetadataCommandInput, + RemoveSchemaVersionMetadataCommandOutput, + GlueClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: RemoveSchemaVersionMetadataCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: GlueClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "GlueClient"; + const commandName = "RemoveSchemaVersionMetadataCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: RemoveSchemaVersionMetadataInput.filterSensitiveLog, + outputFilterSensitiveLog: RemoveSchemaVersionMetadataResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: RemoveSchemaVersionMetadataCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1RemoveSchemaVersionMetadataCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1RemoveSchemaVersionMetadataCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-glue/commands/UpdateRegistryCommand.ts b/clients/client-glue/commands/UpdateRegistryCommand.ts new file mode 100644 index 000000000000..c7c0a0e28789 --- /dev/null +++ b/clients/client-glue/commands/UpdateRegistryCommand.ts @@ -0,0 +1,82 @@ +import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; +import { UpdateRegistryInput, UpdateRegistryResponse } from "../models/models_1"; +import { + deserializeAws_json1_1UpdateRegistryCommand, + serializeAws_json1_1UpdateRegistryCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type UpdateRegistryCommandInput = UpdateRegistryInput; +export type UpdateRegistryCommandOutput = UpdateRegistryResponse & __MetadataBearer; + +export class UpdateRegistryCommand extends $Command< + UpdateRegistryCommandInput, + UpdateRegistryCommandOutput, + GlueClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateRegistryCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: GlueClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "GlueClient"; + const commandName = "UpdateRegistryCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpdateRegistryInput.filterSensitiveLog, + outputFilterSensitiveLog: UpdateRegistryResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateRegistryCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1UpdateRegistryCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1UpdateRegistryCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-glue/commands/UpdateSchemaCommand.ts b/clients/client-glue/commands/UpdateSchemaCommand.ts new file mode 100644 index 000000000000..60ac4ab6655b --- /dev/null +++ b/clients/client-glue/commands/UpdateSchemaCommand.ts @@ -0,0 +1,82 @@ +import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; +import { UpdateSchemaInput, UpdateSchemaResponse } from "../models/models_1"; +import { + deserializeAws_json1_1UpdateSchemaCommand, + serializeAws_json1_1UpdateSchemaCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type UpdateSchemaCommandInput = UpdateSchemaInput; +export type UpdateSchemaCommandOutput = UpdateSchemaResponse & __MetadataBearer; + +export class UpdateSchemaCommand extends $Command< + UpdateSchemaCommandInput, + UpdateSchemaCommandOutput, + GlueClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateSchemaCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: GlueClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "GlueClient"; + const commandName = "UpdateSchemaCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpdateSchemaInput.filterSensitiveLog, + outputFilterSensitiveLog: UpdateSchemaResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateSchemaCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1UpdateSchemaCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1UpdateSchemaCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-glue/index.ts b/clients/client-glue/index.ts index dae2ddc9778a..519d1090456c 100644 --- a/clients/client-glue/index.ts +++ b/clients/client-glue/index.ts @@ -14,6 +14,7 @@ export * from "./commands/BatchGetWorkflowsCommand"; export * from "./commands/BatchStopJobRunCommand"; export * from "./commands/BatchUpdatePartitionCommand"; export * from "./commands/CancelMLTaskRunCommand"; +export * from "./commands/CheckSchemaVersionValidityCommand"; export * from "./commands/CreateClassifierCommand"; export * from "./commands/CreateConnectionCommand"; export * from "./commands/CreateCrawlerCommand"; @@ -22,6 +23,8 @@ export * from "./commands/CreateDevEndpointCommand"; export * from "./commands/CreateJobCommand"; export * from "./commands/CreateMLTransformCommand"; export * from "./commands/CreatePartitionCommand"; +export * from "./commands/CreateRegistryCommand"; +export * from "./commands/CreateSchemaCommand"; export * from "./commands/CreateScriptCommand"; export * from "./commands/CreateSecurityConfigurationCommand"; export * from "./commands/CreateTableCommand"; @@ -38,7 +41,10 @@ export * from "./commands/DeleteDevEndpointCommand"; export * from "./commands/DeleteJobCommand"; export * from "./commands/DeleteMLTransformCommand"; export * from "./commands/DeletePartitionCommand"; +export * from "./commands/DeleteRegistryCommand"; export * from "./commands/DeleteResourcePolicyCommand"; +export * from "./commands/DeleteSchemaCommand"; +export * from "./commands/DeleteSchemaVersionsCommand"; export * from "./commands/DeleteSecurityConfigurationCommand"; export * from "./commands/DeleteTableCommand"; export * from "./commands/DeleteTableVersionCommand"; @@ -87,8 +93,14 @@ export * from "./pagination/GetPartitionIndexesPaginator"; export * from "./commands/GetPartitionsCommand"; export * from "./pagination/GetPartitionsPaginator"; export * from "./commands/GetPlanCommand"; +export * from "./commands/GetRegistryCommand"; export * from "./commands/GetResourcePoliciesCommand"; +export * from "./pagination/GetResourcePoliciesPaginator"; export * from "./commands/GetResourcePolicyCommand"; +export * from "./commands/GetSchemaCommand"; +export * from "./commands/GetSchemaByDefinitionCommand"; +export * from "./commands/GetSchemaVersionCommand"; +export * from "./commands/GetSchemaVersionsDiffCommand"; export * from "./commands/GetSecurityConfigurationCommand"; export * from "./commands/GetSecurityConfigurationsCommand"; export * from "./pagination/GetSecurityConfigurationsPaginator"; @@ -119,13 +131,23 @@ export * from "./commands/ListJobsCommand"; export * from "./pagination/ListJobsPaginator"; export * from "./commands/ListMLTransformsCommand"; export * from "./pagination/ListMLTransformsPaginator"; +export * from "./commands/ListRegistriesCommand"; +export * from "./pagination/ListRegistriesPaginator"; +export * from "./commands/ListSchemasCommand"; +export * from "./pagination/ListSchemasPaginator"; +export * from "./commands/ListSchemaVersionsCommand"; +export * from "./pagination/ListSchemaVersionsPaginator"; export * from "./commands/ListTriggersCommand"; export * from "./pagination/ListTriggersPaginator"; export * from "./commands/ListWorkflowsCommand"; export * from "./pagination/ListWorkflowsPaginator"; export * from "./commands/PutDataCatalogEncryptionSettingsCommand"; export * from "./commands/PutResourcePolicyCommand"; +export * from "./commands/PutSchemaVersionMetadataCommand"; export * from "./commands/PutWorkflowRunPropertiesCommand"; +export * from "./commands/QuerySchemaVersionMetadataCommand"; +export * from "./commands/RegisterSchemaVersionCommand"; +export * from "./commands/RemoveSchemaVersionMetadataCommand"; export * from "./commands/ResetJobBookmarkCommand"; export * from "./commands/ResumeWorkflowRunCommand"; export * from "./commands/SearchTablesCommand"; @@ -156,6 +178,8 @@ export * from "./commands/UpdateDevEndpointCommand"; export * from "./commands/UpdateJobCommand"; export * from "./commands/UpdateMLTransformCommand"; export * from "./commands/UpdatePartitionCommand"; +export * from "./commands/UpdateRegistryCommand"; +export * from "./commands/UpdateSchemaCommand"; export * from "./commands/UpdateTableCommand"; export * from "./commands/UpdateTriggerCommand"; export * from "./commands/UpdateUserDefinedFunctionCommand"; diff --git a/clients/client-glue/models/models_0.ts b/clients/client-glue/models/models_0.ts index a0ac399d4dce..a8e0d2882e1e 100644 --- a/clients/client-glue/models/models_0.ts +++ b/clients/client-glue/models/models_0.ts @@ -40,6 +40,11 @@ export namespace NotificationProperty { *

                    Defines an action to be initiated by a trigger.

                    */ export interface Action { + /** + *

                    The name of a job to be executed.

                    + */ + JobName?: string; + /** *

                    The job arguments used when this trigger fires. For this job run, they replace the default arguments set in the job definition itself.

                    *

                    You can specify arguments here that your own job-execution script @@ -50,15 +55,17 @@ export interface Action { Arguments?: { [key: string]: string }; /** - *

                    The name of the SecurityConfiguration structure to be used with this - * action.

                    + *

                    The JobRun timeout in minutes. This is the maximum time that a job run can + * consume resources before it is terminated and enters TIMEOUT status. The default + * is 2,880 minutes (48 hours). This overrides the timeout value set in the parent job.

                    */ - SecurityConfiguration?: string; + Timeout?: number; /** - *

                    The name of the crawler to be used with this action.

                    + *

                    The name of the SecurityConfiguration structure to be used with this + * action.

                    */ - CrawlerName?: string; + SecurityConfiguration?: string; /** *

                    Specifies configuration properties of a job run notification.

                    @@ -66,16 +73,9 @@ export interface Action { NotificationProperty?: NotificationProperty; /** - *

                    The JobRun timeout in minutes. This is the maximum time that a job run can - * consume resources before it is terminated and enters TIMEOUT status. The default - * is 2,880 minutes (48 hours). This overrides the timeout value set in the parent job.

                    - */ - Timeout?: number; - - /** - *

                    The name of a job to be executed.

                    + *

                    The name of the crawler to be used with this action.

                    */ - JobName?: string; + CrawlerName?: string; } export namespace Action { @@ -107,14 +107,14 @@ export namespace AlreadyExistsException { */ export interface Column { /** - *

                    The data type of the Column.

                    + *

                    The name of the Column.

                    */ - Type?: string; + Name: string | undefined; /** - *

                    These key-value pairs define properties associated with the column.

                    + *

                    The data type of the Column.

                    */ - Parameters?: { [key: string]: string }; + Type?: string; /** *

                    A free-form text comment.

                    @@ -122,9 +122,9 @@ export interface Column { Comment?: string; /** - *

                    The name of the Column.

                    + *

                    These key-value pairs define properties associated with the column.

                    */ - Name: string | undefined; + Parameters?: { [key: string]: string }; } export namespace Column { @@ -133,6 +133,44 @@ export namespace Column { }); } +export interface SchemaId { + SchemaArn?: string; + SchemaName?: string; + RegistryName?: string; +} + +export namespace SchemaId { + export const filterSensitiveLog = (obj: SchemaId): any => ({ + ...obj, + }); +} + +/** + *

                    An object that references a schema stored in the AWS Glue Schema Registry.

                    + */ +export interface SchemaReference { + /** + *

                    A structure that contains schema identity fields. Either this or the SchemaVersionId has to be provided.

                    + */ + SchemaId?: SchemaId; + + /** + *

                    The unique ID assigned to a version of the schema. Either this or the SchemaId has to be provided.

                    + */ + SchemaVersionId?: string; + + /** + *

                    The version number of the schema.

                    + */ + SchemaVersionNumber?: number; +} + +export namespace SchemaReference { + export const filterSensitiveLog = (obj: SchemaReference): any => ({ + ...obj, + }); +} + /** *

                    Information about a serialization/deserialization program (SerDe) that serves as an * extractor and loader.

                    @@ -167,9 +205,9 @@ export namespace SerDeInfo { */ export interface SkewedInfo { /** - *

                    A mapping of skewed values to the columns that contain them.

                    + *

                    A list of names of columns that contain skewed values.

                    */ - SkewedColumnValueLocationMaps?: { [key: string]: string }; + SkewedColumnNames?: string[]; /** *

                    A list of values that appear so frequently as to be considered @@ -178,9 +216,9 @@ export interface SkewedInfo { SkewedColumnValues?: string[]; /** - *

                    A list of names of columns that contain skewed values.

                    + *

                    A mapping of skewed values to the columns that contain them.

                    */ - SkewedColumnNames?: string[]; + SkewedColumnValueLocationMaps?: { [key: string]: string }; } export namespace SkewedInfo { @@ -194,15 +232,15 @@ export namespace SkewedInfo { */ export interface Order { /** - *

                    Indicates that the column is sorted in ascending order - * (== 1), or in descending order (==0).

                    + *

                    The name of the column.

                    */ - SortOrder: number | undefined; + Column: string | undefined; /** - *

                    The name of the column.

                    + *

                    Indicates that the column is sorted in ascending order + * (== 1), or in descending order (==0).

                    */ - Column: string | undefined; + SortOrder: number | undefined; } export namespace Order { @@ -216,21 +254,22 @@ export namespace Order { */ export interface StorageDescriptor { /** - *

                    The information about values that appear frequently in a column (skewed values).

                    + *

                    A list of the Columns in the table.

                    */ - SkewedInfo?: SkewedInfo; + Columns?: Column[]; /** - *

                    - * True if the data in the table is compressed, or False if - * not.

                    + *

                    The physical location of the table. By default, this takes the form of the warehouse + * location, followed by the database location in the warehouse, followed by the table + * name.

                    */ - Compressed?: boolean; + Location?: string; /** - *

                    The user-supplied properties in key-value form.

                    + *

                    The input format: SequenceFileInputFormat (binary), + * or TextInputFormat, or a custom format.

                    */ - Parameters?: { [key: string]: string }; + InputFormat?: string; /** *

                    The output format: SequenceFileOutputFormat (binary), @@ -239,31 +278,42 @@ export interface StorageDescriptor { OutputFormat?: string; /** - *

                    Must be specified if the table contains any dimension columns.

                    + *

                    + * True if the data in the table is compressed, or False if + * not.

                    */ - NumberOfBuckets?: number; + Compressed?: boolean; /** - *

                    The input format: SequenceFileInputFormat (binary), - * or TextInputFormat, or a custom format.

                    + *

                    Must be specified if the table contains any dimension columns.

                    */ - InputFormat?: string; + NumberOfBuckets?: number; /** *

                    The serialization/deserialization (SerDe) information.

                    */ SerdeInfo?: SerDeInfo; + /** + *

                    A list of reducer grouping columns, clustering columns, and + * bucketing columns in the table.

                    + */ + BucketColumns?: string[]; + /** *

                    A list specifying the sort order of each bucket in the table.

                    */ SortColumns?: Order[]; /** - *

                    A list of reducer grouping columns, clustering columns, and - * bucketing columns in the table.

                    + *

                    The user-supplied properties in key-value form.

                    */ - BucketColumns?: string[]; + Parameters?: { [key: string]: string }; + + /** + *

                    The information about values that appear frequently in a column (skewed values).

                    + */ + SkewedInfo?: SkewedInfo; /** *

                    @@ -273,16 +323,11 @@ export interface StorageDescriptor { StoredAsSubDirectories?: boolean; /** - *

                    A list of the Columns in the table.

                    - */ - Columns?: Column[]; - - /** - *

                    The physical location of the table. By default, this takes the form of the warehouse - * location, followed by the database location in the warehouse, followed by the table - * name.

                    + *

                    An object that references a schema stored in the AWS Glue Schema Registry.

                    + * + *

                    When creating a table, you can pass an empty list of columns for the schema, and instead use a schema reference.

                    */ - Location?: string; + SchemaReference?: SchemaReference; } export namespace StorageDescriptor { @@ -303,15 +348,15 @@ export interface PartitionInput { Values?: string[]; /** - *

                    Provides information about the physical - * location where the partition is stored.

                    + *

                    The last time at which the partition was accessed.

                    */ - StorageDescriptor?: StorageDescriptor; + LastAccessTime?: Date; /** - *

                    The last time at which column statistics were computed for this partition.

                    + *

                    Provides information about the physical + * location where the partition is stored.

                    */ - LastAnalyzedTime?: Date; + StorageDescriptor?: StorageDescriptor; /** *

                    These key-value pairs define partition parameters.

                    @@ -319,9 +364,9 @@ export interface PartitionInput { Parameters?: { [key: string]: string }; /** - *

                    The last time at which the partition was accessed.

                    + *

                    The last time at which column statistics were computed for this partition.

                    */ - LastAccessTime?: Date; + LastAnalyzedTime?: Date; } export namespace PartitionInput { @@ -331,6 +376,12 @@ export namespace PartitionInput { } export interface BatchCreatePartitionRequest { + /** + *

                    The ID of the catalog in which the partition is to be created. Currently, this should be + * the AWS account ID.

                    + */ + CatalogId?: string; + /** *

                    The name of the metadata database in which the partition is * to be created.

                    @@ -347,12 +398,6 @@ export interface BatchCreatePartitionRequest { * the partitions to be created.

                    */ PartitionInputList: PartitionInput[] | undefined; - - /** - *

                    The ID of the catalog in which the partition is to be created. Currently, this should be - * the AWS account ID.

                    - */ - CatalogId?: string; } export namespace BatchCreatePartitionRequest { @@ -366,14 +411,14 @@ export namespace BatchCreatePartitionRequest { */ export interface ErrorDetail { /** - *

                    A message describing the error.

                    + *

                    The code associated with this error.

                    */ - ErrorMessage?: string; + ErrorCode?: string; /** - *

                    The code associated with this error.

                    + *

                    A message describing the error.

                    */ - ErrorCode?: string; + ErrorMessage?: string; } export namespace ErrorDetail { @@ -525,16 +570,16 @@ export namespace ResourceNumberLimitExceededException { } export interface BatchDeleteConnectionRequest { - /** - *

                    A list of names of the connections to delete.

                    - */ - ConnectionNameList: string[] | undefined; - /** *

                    The ID of the Data Catalog in which the connections reside. If none is provided, the AWS * account ID is used by default.

                    */ CatalogId?: string; + + /** + *

                    A list of names of the connections to delete.

                    + */ + ConnectionNameList: string[] | undefined; } export namespace BatchDeleteConnectionRequest { @@ -544,17 +589,17 @@ export namespace BatchDeleteConnectionRequest { } export interface BatchDeleteConnectionResponse { - /** - *

                    A map of the names of connections that were not successfully - * deleted to error details.

                    - */ - Errors?: { [key: string]: ErrorDetail }; - /** *

                    A list of names of the connection definitions that were * successfully deleted.

                    */ Succeeded?: string[]; + + /** + *

                    A map of the names of connections that were not successfully + * deleted to error details.

                    + */ + Errors?: { [key: string]: ErrorDetail }; } export namespace BatchDeleteConnectionResponse { @@ -581,16 +626,16 @@ export namespace PartitionValueList { export interface BatchDeletePartitionRequest { /** - *

                    The name of the catalog database in which the table in question - * resides.

                    + *

                    The ID of the Data Catalog where the partition to be deleted resides. If none is provided, + * the AWS account ID is used by default.

                    */ - DatabaseName: string | undefined; + CatalogId?: string; /** - *

                    A list of PartitionInput structures that define - * the partitions to be deleted.

                    + *

                    The name of the catalog database in which the table in question + * resides.

                    */ - PartitionsToDelete: PartitionValueList[] | undefined; + DatabaseName: string | undefined; /** *

                    The name of the table that contains the partitions to be deleted.

                    @@ -598,10 +643,10 @@ export interface BatchDeletePartitionRequest { TableName: string | undefined; /** - *

                    The ID of the Data Catalog where the partition to be deleted resides. If none is provided, - * the AWS account ID is used by default.

                    + *

                    A list of PartitionInput structures that define + * the partitions to be deleted.

                    */ - CatalogId?: string; + PartitionsToDelete: PartitionValueList[] | undefined; } export namespace BatchDeletePartitionRequest { @@ -630,16 +675,16 @@ export interface BatchDeleteTableRequest { */ CatalogId?: string; - /** - *

                    A list of the table to delete.

                    - */ - TablesToDelete: string[] | undefined; - /** *

                    The name of the catalog database in which the tables to delete reside. For Hive * compatibility, this name is entirely lowercase.

                    */ DatabaseName: string | undefined; + + /** + *

                    A list of the table to delete.

                    + */ + TablesToDelete: string[] | undefined; } export namespace BatchDeleteTableRequest { @@ -653,14 +698,14 @@ export namespace BatchDeleteTableRequest { */ export interface TableError { /** - *

                    The details about the error.

                    + *

                    The name of the table. For Hive compatibility, this must be entirely lowercase.

                    */ - ErrorDetail?: ErrorDetail; + TableName?: string; /** - *

                    The name of the table. For Hive compatibility, this must be entirely lowercase.

                    + *

                    The details about the error.

                    */ - TableName?: string; + ErrorDetail?: ErrorDetail; } export namespace TableError { @@ -683,17 +728,18 @@ export namespace BatchDeleteTableResponse { } export interface BatchDeleteTableVersionRequest { - /** - *

                    A list of the IDs of versions to be deleted. A VersionId is a string representation of an integer. Each version is incremented by 1.

                    - */ - VersionIds: string[] | undefined; - /** *

                    The ID of the Data Catalog where the tables reside. If none is provided, the AWS account * ID is used by default.

                    */ CatalogId?: string; + /** + *

                    The database in the catalog in which the table resides. For Hive + * compatibility, this name is entirely lowercase.

                    + */ + DatabaseName: string | undefined; + /** *

                    The name of the table. For Hive compatibility, * this name is entirely lowercase.

                    @@ -701,10 +747,9 @@ export interface BatchDeleteTableVersionRequest { TableName: string | undefined; /** - *

                    The database in the catalog in which the table resides. For Hive - * compatibility, this name is entirely lowercase.

                    + *

                    A list of the IDs of versions to be deleted. A VersionId is a string representation of an integer. Each version is incremented by 1.

                    */ - DatabaseName: string | undefined; + VersionIds: string[] | undefined; } export namespace BatchDeleteTableVersionRequest { @@ -777,25 +822,15 @@ export enum LastCrawlStatus { *

                    Status and error information about the most recent crawl.

                    */ export interface LastCrawlInfo { - /** - *

                    The log stream for the last crawl.

                    - */ - LogStream?: string; - /** *

                    Status of the last crawl.

                    */ Status?: LastCrawlStatus | string; /** - *

                    The prefix for a message about this crawl.

                    - */ - MessagePrefix?: string; - - /** - *

                    The time at which the crawl started.

                    + *

                    If an error occurred, the error information about the last crawl.

                    */ - StartTime?: Date; + ErrorMessage?: string; /** *

                    The log group for the last crawl.

                    @@ -803,9 +838,19 @@ export interface LastCrawlInfo { LogGroup?: string; /** - *

                    If an error occurred, the error information about the last crawl.

                    + *

                    The log stream for the last crawl.

                    */ - ErrorMessage?: string; + LogStream?: string; + + /** + *

                    The prefix for a message about this crawl.

                    + */ + MessagePrefix?: string; + + /** + *

                    The time at which the crawl started.

                    + */ + StartTime?: Date; } export namespace LastCrawlInfo { @@ -884,14 +929,14 @@ export enum UpdateBehavior { */ export interface SchemaChangePolicy { /** - *

                    The deletion behavior when the crawler finds a deleted object.

                    + *

                    The update behavior when the crawler finds a changed schema.

                    */ - DeleteBehavior?: DeleteBehavior | string; + UpdateBehavior?: UpdateBehavior | string; /** - *

                    The update behavior when the crawler finds a changed schema.

                    + *

                    The deletion behavior when the crawler finds a deleted object.

                    */ - UpdateBehavior?: UpdateBehavior | string; + DeleteBehavior?: DeleteBehavior | string; } export namespace SchemaChangePolicy { @@ -931,6 +976,11 @@ export namespace CatalogTarget { *

                    Specifies an Amazon DynamoDB table to crawl.

                    */ export interface DynamoDBTarget { + /** + *

                    The name of the DynamoDB table to crawl.

                    + */ + Path?: string; + /** *

                    Indicates whether to scan all the records, or to sample rows from the table. Scanning all the records can take a long time when the table is not a high throughput table.

                    * @@ -938,11 +988,6 @@ export interface DynamoDBTarget { */ scanAll?: boolean; - /** - *

                    The name of the DynamoDB table to crawl.

                    - */ - Path?: string; - /** *

                    The percentage of the configured read capacity units to use by the AWS Glue crawler. Read capacity units is a term defined by DynamoDB, and is a numeric value that acts as rate limiter for the number of reads that can be performed on that table per second.

                    * @@ -961,12 +1006,6 @@ export namespace DynamoDBTarget { *

                    Specifies a JDBC data store to crawl.

                    */ export interface JdbcTarget { - /** - *

                    A list of glob patterns used to exclude from the crawl. - * For more information, see Catalog Tables with a Crawler.

                    - */ - Exclusions?: string[]; - /** *

                    The name of the connection to use to connect to the JDBC target.

                    */ @@ -976,6 +1015,12 @@ export interface JdbcTarget { *

                    The path of the JDBC target.

                    */ Path?: string; + + /** + *

                    A list of glob patterns used to exclude from the crawl. + * For more information, see Catalog Tables with a Crawler.

                    + */ + Exclusions?: string[]; } export namespace JdbcTarget { @@ -988,6 +1033,11 @@ export namespace JdbcTarget { *

                    Specifies an Amazon DocumentDB or MongoDB data store to crawl.

                    */ export interface MongoDBTarget { + /** + *

                    The name of the connection to use to connect to the Amazon DocumentDB or MongoDB target.

                    + */ + ConnectionName?: string; + /** *

                    The path of the Amazon DocumentDB or MongoDB target (database/collection).

                    */ @@ -999,11 +1049,6 @@ export interface MongoDBTarget { *

                    A value of true means to scan all records, while a value of false means to sample the records. If no value is specified, the value defaults to true.

                    */ ScanAll?: boolean; - - /** - *

                    The name of the connection to use to connect to the Amazon DocumentDB or MongoDB target.

                    - */ - ConnectionName?: string; } export namespace MongoDBTarget { @@ -1016,6 +1061,11 @@ export namespace MongoDBTarget { *

                    Specifies a data store in Amazon Simple Storage Service (Amazon S3).

                    */ export interface S3Target { + /** + *

                    The path to the Amazon S3 target.

                    + */ + Path?: string; + /** *

                    A list of glob patterns used to exclude from the crawl. * For more information, see Catalog Tables with a Crawler.

                    @@ -1026,11 +1076,6 @@ export interface S3Target { *

                    The name of a connection which allows a job or crawler to access data in Amazon S3 within an Amazon Virtual Private Cloud environment (Amazon VPC).

                    */ ConnectionName?: string; - - /** - *

                    The path to the Amazon S3 target.

                    - */ - Path?: string; } export namespace S3Target { @@ -1043,15 +1088,20 @@ export namespace S3Target { *

                    Specifies data stores to crawl.

                    */ export interface CrawlerTargets { + /** + *

                    Specifies Amazon Simple Storage Service (Amazon S3) targets.

                    + */ + S3Targets?: S3Target[]; + /** *

                    Specifies JDBC targets.

                    */ JdbcTargets?: JdbcTarget[]; /** - *

                    Specifies Amazon Simple Storage Service (Amazon S3) targets.

                    + *

                    Specifies Amazon DocumentDB or MongoDB targets.

                    */ - S3Targets?: S3Target[]; + MongoDBTargets?: MongoDBTarget[]; /** *

                    Specifies Amazon DynamoDB targets.

                    @@ -1062,11 +1112,6 @@ export interface CrawlerTargets { *

                    Specifies AWS Glue Data Catalog targets.

                    */ CatalogTargets?: CatalogTarget[]; - - /** - *

                    Specifies Amazon DocumentDB or MongoDB targets.

                    - */ - MongoDBTargets?: MongoDBTarget[]; } export namespace CrawlerTargets { @@ -1087,32 +1132,25 @@ export interface Crawler { Name?: string; /** - *

                    The time that the crawler was last updated.

                    - */ - LastUpdated?: Date; - - /** - *

                    A policy that specifies whether to crawl the entire dataset again, or to crawl only folders that were added since the last crawler run.

                    + *

                    The Amazon Resource Name (ARN) of an IAM role that's used to access customer resources, + * such as Amazon Simple Storage Service (Amazon S3) data.

                    */ - RecrawlPolicy?: RecrawlPolicy; + Role?: string; /** - *

                    The status of the last crawl, and potentially error information if - * an error occurred.

                    + *

                    A collection of targets to crawl.

                    */ - LastCrawl?: LastCrawlInfo; + Targets?: CrawlerTargets; /** - *

                    Indicates whether the crawler is running, or whether a run is pending.

                    + *

                    The name of the database in which the crawler's output is stored.

                    */ - State?: CrawlerState | string; + DatabaseName?: string; /** - *

                    Crawler configuration information. This versioned JSON string allows users - * to specify aspects of a crawler's behavior. - * For more information, see Configuring a Crawler.

                    + *

                    A description of the crawler.

                    */ - Configuration?: string; + Description?: string; /** *

                    A list of UTF-8 strings that specify the custom classifiers that are associated @@ -1121,62 +1159,69 @@ export interface Crawler { Classifiers?: string[]; /** - *

                    The Amazon Resource Name (ARN) of an IAM role that's used to access customer resources, - * such as Amazon Simple Storage Service (Amazon S3) data.

                    + *

                    A policy that specifies whether to crawl the entire dataset again, or to crawl only folders that were added since the last crawler run.

                    */ - Role?: string; + RecrawlPolicy?: RecrawlPolicy; /** - *

                    If the crawler is running, contains the total time elapsed since the last crawl - * began.

                    + *

                    The policy that specifies update and delete behaviors for the crawler.

                    */ - CrawlElapsedTime?: number; + SchemaChangePolicy?: SchemaChangePolicy; /** - *

                    The prefix added to the names of tables that are created.

                    + *

                    Indicates whether the crawler is running, or whether a run is pending.

                    */ - TablePrefix?: string; + State?: CrawlerState | string; /** - *

                    The version of the crawler.

                    + *

                    The prefix added to the names of tables that are created.

                    */ - Version?: number; + TablePrefix?: string; /** *

                    For scheduled crawlers, the schedule when the crawler runs.

                    */ Schedule?: Schedule; + /** + *

                    If the crawler is running, contains the total time elapsed since the last crawl + * began.

                    + */ + CrawlElapsedTime?: number; + /** *

                    The time that the crawler was created.

                    */ CreationTime?: Date; /** - *

                    The policy that specifies update and delete behaviors for the crawler.

                    + *

                    The time that the crawler was last updated.

                    */ - SchemaChangePolicy?: SchemaChangePolicy; + LastUpdated?: Date; /** - *

                    A description of the crawler.

                    + *

                    The status of the last crawl, and potentially error information if + * an error occurred.

                    */ - Description?: string; + LastCrawl?: LastCrawlInfo; /** - *

                    A collection of targets to crawl.

                    + *

                    The version of the crawler.

                    */ - Targets?: CrawlerTargets; + Version?: number; /** - *

                    The name of the SecurityConfiguration structure to be used by this - * crawler.

                    + *

                    Crawler configuration information. This versioned JSON string allows users + * to specify aspects of a crawler's behavior. + * For more information, see Configuring a Crawler.

                    */ - CrawlerSecurityConfiguration?: string; + Configuration?: string; /** - *

                    The name of the database in which the crawler's output is stored.

                    + *

                    The name of the SecurityConfiguration structure to be used by this + * crawler.

                    */ - DatabaseName?: string; + CrawlerSecurityConfiguration?: string; } export namespace Crawler { @@ -1187,14 +1232,14 @@ export namespace Crawler { export interface BatchGetCrawlersResponse { /** - *

                    A list of names of crawlers that were not found.

                    + *

                    A list of crawler definitions.

                    */ - CrawlersNotFound?: string[]; + Crawlers?: Crawler[]; /** - *

                    A list of crawler definitions.

                    + *

                    A list of names of crawlers that were not found.

                    */ - Crawlers?: Crawler[]; + CrawlersNotFound?: string[]; } export namespace BatchGetCrawlersResponse { @@ -1224,6 +1269,11 @@ export type WorkerType = "G.1X" | "G.2X" | "Standard"; * (ETL) scripts.

                    */ export interface DevEndpoint { + /** + *

                    The name of the DevEndpoint.

                    + */ + EndpointName?: string; + /** *

                    The Amazon Resource Name (ARN) of the IAM role used in this * DevEndpoint.

                    @@ -1231,23 +1281,19 @@ export interface DevEndpoint { RoleArn?: string; /** - *

                    The YARN endpoint address used by this DevEndpoint.

                    + *

                    A list of security group identifiers used in this DevEndpoint.

                    */ - YarnEndpointAddress?: string; + SecurityGroupIds?: string[]; /** - *

                    The path to one or more Java .jar files in an S3 bucket that should be loaded - * in your DevEndpoint.

                    - * - *

                    You can only use pure Java/Scala libraries with a DevEndpoint.

                    - *
                    + *

                    The subnet ID for this DevEndpoint.

                    */ - ExtraJarsS3Path?: string; + SubnetId?: string; /** - *

                    A list of security group identifiers used in this DevEndpoint.

                    + *

                    The YARN endpoint address used by this DevEndpoint.

                    */ - SecurityGroupIds?: string[]; + YarnEndpointAddress?: string; /** *

                    A private IP address to access the DevEndpoint within a VPC if the @@ -1257,35 +1303,16 @@ export interface DevEndpoint { PrivateAddress?: string; /** - *

                    The name of the SecurityConfiguration structure to be used with this - * DevEndpoint.

                    - */ - SecurityConfiguration?: string; - - /** - *

                    The paths to one or more Python libraries in an Amazon S3 bucket that should be loaded in - * your DevEndpoint. Multiple values must be complete paths separated by a - * comma.

                    - * - * - *

                    You can only use pure Python libraries with a DevEndpoint. Libraries that rely on - * C extensions, such as the pandas Python data - * analysis library, are not currently supported.

                    - *
                    - */ - ExtraPythonLibsS3Path?: string; - - /** - *

                    The public key to be used by this DevEndpoint for authentication. This - * attribute is provided for backward compatibility because the recommended attribute to use is - * public keys.

                    + *

                    The Apache Zeppelin port for the remote Apache Spark interpreter.

                    */ - PublicKey?: string; + ZeppelinRemoteSparkInterpreterPort?: number; /** - *

                    The reason for a current failure in this DevEndpoint.

                    + *

                    The public IP address used by this DevEndpoint. The + * PublicAddress field is present only when you create a non-virtual private cloud + * (VPC) DevEndpoint.

                    */ - FailureReason?: string; + PublicAddress?: string; /** *

                    The current status of this DevEndpoint.

                    @@ -1293,17 +1320,23 @@ export interface DevEndpoint { Status?: string; /** - *

                    A list of public keys to be used by the DevEndpoints for authentication. - * Using this attribute is preferred over a single public key because the public keys allow you - * to have a different private key per client.

                    - * - *

                    If you previously created an endpoint with a public key, you must remove that key to be - * able to set a list of public keys. Call the UpdateDevEndpoint API operation - * with the public key content in the deletePublicKeys attribute, and the list of - * new keys in the addPublicKeys attribute.

                    - *
                    + *

                    The type of predefined worker that is allocated to the development endpoint. Accepts a value of Standard, G.1X, or G.2X.

                    + *
                      + *
                    • + *

                      For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

                      + *
                    • + *
                    • + *

                      For the G.1X worker type, each worker maps to 1 DPU (4 vCPU, 16 GB of memory, 64 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

                      + *
                    • + *
                    • + *

                      For the G.2X worker type, each worker maps to 2 DPU (8 vCPU, 32 GB of memory, 128 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

                      + *
                    • + *
                    + * + *

                    Known issue: when a development endpoint is created with the G.2X + * WorkerType configuration, the Spark drivers for the development endpoint will run on 4 vCPU, 16 GB of memory, and a 64 GB disk.

                    */ - PublicKeys?: string[]; + WorkerType?: WorkerType | string; /** *

                    Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for running your ETL scripts on development endpoints.

                    @@ -1317,14 +1350,22 @@ export interface DevEndpoint { GlueVersion?: string; /** - *

                    The AWS Availability Zone where this DevEndpoint is located.

                    + *

                    The number of workers of a defined workerType that are allocated to the development endpoint.

                    + * + *

                    The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

                    */ - AvailabilityZone?: string; + NumberOfWorkers?: number; /** - *

                    The name of the DevEndpoint.

                    + *

                    The number of AWS Glue Data Processing Units (DPUs) allocated to this + * DevEndpoint.

                    */ - EndpointName?: string; + NumberOfNodes?: number; + + /** + *

                    The AWS Availability Zone where this DevEndpoint is located.

                    + */ + AvailabilityZone?: string; /** *

                    The ID of the virtual private cloud (VPC) used by this DevEndpoint.

                    @@ -1332,68 +1373,72 @@ export interface DevEndpoint { VpcId?: string; /** - *

                    The point in time at which this DevEndpoint was created.

                    - */ - CreatedTimestamp?: Date; + *

                    The paths to one or more Python libraries in an Amazon S3 bucket that should be loaded in + * your DevEndpoint. Multiple values must be complete paths separated by a + * comma.

                    + * + * + *

                    You can only use pure Python libraries with a DevEndpoint. Libraries that rely on + * C extensions, such as the pandas Python data + * analysis library, are not currently supported.

                    + *
                    + */ + ExtraPythonLibsS3Path?: string; /** - *

                    The status of the last update.

                    + *

                    The path to one or more Java .jar files in an S3 bucket that should be loaded + * in your DevEndpoint.

                    + * + *

                    You can only use pure Java/Scala libraries with a DevEndpoint.

                    + *
                    */ - LastUpdateStatus?: string; + ExtraJarsS3Path?: string; /** - *

                    The subnet ID for this DevEndpoint.

                    + *

                    The reason for a current failure in this DevEndpoint.

                    */ - SubnetId?: string; + FailureReason?: string; /** - *

                    The public IP address used by this DevEndpoint. The - * PublicAddress field is present only when you create a non-virtual private cloud - * (VPC) DevEndpoint.

                    + *

                    The status of the last update.

                    */ - PublicAddress?: string; + LastUpdateStatus?: string; /** - *

                    The number of AWS Glue Data Processing Units (DPUs) allocated to this - * DevEndpoint.

                    + *

                    The point in time at which this DevEndpoint was created.

                    */ - NumberOfNodes?: number; + CreatedTimestamp?: Date; /** - *

                    The type of predefined worker that is allocated to the development endpoint. Accepts a value of Standard, G.1X, or G.2X.

                    - *
                      - *
                    • - *

                      For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

                      - *
                    • - *
                    • - *

                      For the G.1X worker type, each worker maps to 1 DPU (4 vCPU, 16 GB of memory, 64 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

                      - *
                    • - *
                    • - *

                      For the G.2X worker type, each worker maps to 2 DPU (8 vCPU, 32 GB of memory, 128 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

                      - *
                    • - *
                    - * - *

                    Known issue: when a development endpoint is created with the G.2X - * WorkerType configuration, the Spark drivers for the development endpoint will run on 4 vCPU, 16 GB of memory, and a 64 GB disk.

                    + *

                    The point in time at which this DevEndpoint was last modified.

                    */ - WorkerType?: WorkerType | string; + LastModifiedTimestamp?: Date; /** - *

                    The Apache Zeppelin port for the remote Apache Spark interpreter.

                    + *

                    The public key to be used by this DevEndpoint for authentication. This + * attribute is provided for backward compatibility because the recommended attribute to use is + * public keys.

                    */ - ZeppelinRemoteSparkInterpreterPort?: number; + PublicKey?: string; /** - *

                    The number of workers of a defined workerType that are allocated to the development endpoint.

                    - * - *

                    The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

                    + *

                    A list of public keys to be used by the DevEndpoints for authentication. + * Using this attribute is preferred over a single public key because the public keys allow you + * to have a different private key per client.

                    + * + *

                    If you previously created an endpoint with a public key, you must remove that key to be + * able to set a list of public keys. Call the UpdateDevEndpoint API operation + * with the public key content in the deletePublicKeys attribute, and the list of + * new keys in the addPublicKeys attribute.

                    + *
                    */ - NumberOfWorkers?: number; + PublicKeys?: string[]; /** - *

                    The point in time at which this DevEndpoint was last modified.

                    + *

                    The name of the SecurityConfiguration structure to be used with this + * DevEndpoint.

                    */ - LastModifiedTimestamp?: Date; + SecurityConfiguration?: string; /** *

                    A map of arguments used to configure the DevEndpoint.

                    @@ -1463,11 +1508,6 @@ export namespace BatchGetJobsRequest { *

                    Specifies code executed when a job is run.

                    */ export interface JobCommand { - /** - *

                    The Python version being used to execute a Python shell job. Allowed values are 2 or 3.

                    - */ - PythonVersion?: string; - /** *

                    The name of the job command. For an Apache Spark ETL job, this must be * glueetl. For a Python shell job, it must be pythonshell. @@ -1480,6 +1520,11 @@ export interface JobCommand { * job.

                    */ ScriptLocation?: string; + + /** + *

                    The Python version being used to execute a Python shell job. Allowed values are 2 or 3.

                    + */ + PythonVersion?: string; } export namespace JobCommand { @@ -1532,44 +1577,83 @@ export interface Job { Name?: string; /** - *

                    The last point in time when this job definition was modified.

                    + *

                    A description of the job.

                    */ - LastModifiedOn?: Date; + Description?: string; /** - *

                    The name of the SecurityConfiguration structure to be used with this - * job.

                    + *

                    This field is reserved for future use.

                    */ - SecurityConfiguration?: string; + LogUri?: string; + + /** + *

                    The name or Amazon Resource Name (ARN) of the IAM role associated with this job.

                    + */ + Role?: string; /** *

                    The time and date that this job definition was created.

                    */ CreatedOn?: Date; + /** + *

                    The last point in time when this job definition was modified.

                    + */ + LastModifiedOn?: Date; + + /** + *

                    An ExecutionProperty specifying the maximum number of concurrent runs allowed + * for this job.

                    + */ + ExecutionProperty?: ExecutionProperty; + + /** + *

                    The JobCommand that executes this job.

                    + */ + Command?: JobCommand; + + /** + *

                    The default arguments for this job, specified as name-value pairs.

                    + *

                    You can specify arguments here that your own job-execution script + * consumes, as well as arguments that AWS Glue itself consumes.

                    + *

                    For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

                    + *

                    For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

                    + */ + DefaultArguments?: { [key: string]: string }; + /** *

                    Non-overridable arguments for this job, specified as name-value pairs.

                    */ NonOverridableArguments?: { [key: string]: string }; /** - *

                    Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for jobs of type Spark.

                    - * - *

                    For more information about the available AWS Glue versions and corresponding Spark and Python versions, see Glue version in the developer guide.

                    - * - *

                    Jobs that are created without specifying a Glue version default to Glue 0.9.

                    + *

                    The connections used for this job.

                    */ - GlueVersion?: string; + Connections?: ConnectionsList; /** - *

                    Specifies configuration properties of a job notification.

                    + *

                    The maximum number of times to retry this job after a JobRun fails.

                    */ - NotificationProperty?: NotificationProperty; + MaxRetries?: number; /** - *

                    A description of the job.

                    + *

                    This field is deprecated. Use MaxCapacity instead.

                    + * + *

                    The number of AWS Glue data processing units (DPUs) allocated to runs of this job. You can + * allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of processing + * power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, + * see the AWS Glue pricing + * page.

                    + *

                    */ - Description?: string; + AllocatedCapacity?: number; + + /** + *

                    The job timeout in minutes. This is the maximum time that a job run + * can consume resources before it is terminated and enters TIMEOUT + * status. The default is 2,880 minutes (48 hours).

                    + */ + Timeout?: number; /** *

                    The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure @@ -1596,33 +1680,6 @@ export interface Job { */ MaxCapacity?: number; - /** - *

                    The default arguments for this job, specified as name-value pairs.

                    - *

                    You can specify arguments here that your own job-execution script - * consumes, as well as arguments that AWS Glue itself consumes.

                    - *

                    For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

                    - *

                    For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

                    - */ - DefaultArguments?: { [key: string]: string }; - - /** - *

                    The number of workers of a defined workerType that are allocated when a job runs.

                    - * - *

                    The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

                    - */ - NumberOfWorkers?: number; - - /** - *

                    The name or Amazon Resource Name (ARN) of the IAM role associated with this job.

                    - */ - Role?: string; - - /** - *

                    An ExecutionProperty specifying the maximum number of concurrent runs allowed - * for this job.

                    - */ - ExecutionProperty?: ExecutionProperty; - /** *

                    The type of predefined worker that is allocated when a job runs. Accepts a value of Standard, G.1X, or G.2X.

                    *
                      @@ -1640,43 +1697,31 @@ export interface Job { WorkerType?: WorkerType | string; /** - *

                      This field is reserved for future use.

                      - */ - LogUri?: string; - - /** - *

                      The maximum number of times to retry this job after a JobRun fails.

                      - */ - MaxRetries?: number; - - /** - *

                      This field is deprecated. Use MaxCapacity instead.

                      + *

                      The number of workers of a defined workerType that are allocated when a job runs.

                      * - *

                      The number of AWS Glue data processing units (DPUs) allocated to runs of this job. You can - * allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of processing - * power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, - * see the AWS Glue pricing - * page.

                      - *

                      + *

                      The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

                      */ - AllocatedCapacity?: number; + NumberOfWorkers?: number; /** - *

                      The JobCommand that executes this job.

                      + *

                      The name of the SecurityConfiguration structure to be used with this + * job.

                      */ - Command?: JobCommand; + SecurityConfiguration?: string; /** - *

                      The connections used for this job.

                      + *

                      Specifies configuration properties of a job notification.

                      */ - Connections?: ConnectionsList; + NotificationProperty?: NotificationProperty; /** - *

                      The job timeout in minutes. This is the maximum time that a job run - * can consume resources before it is terminated and enters TIMEOUT - * status. The default is 2,880 minutes (48 hours).

                      + *

                      Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for jobs of type Spark.

                      + * + *

                      For more information about the available AWS Glue versions and corresponding Spark and Python versions, see Glue version in the developer guide.

                      + * + *

                      Jobs that are created without specifying a Glue version default to Glue 0.9.

                      */ - Timeout?: number; + GlueVersion?: string; } export namespace Job { @@ -1687,14 +1732,14 @@ export namespace Job { export interface BatchGetJobsResponse { /** - *

                      A list of names of jobs not found.

                      + *

                      A list of job definitions.

                      */ - JobsNotFound?: string[]; + Jobs?: Job[]; /** - *

                      A list of job definitions.

                      + *

                      A list of names of jobs not found.

                      */ - Jobs?: Job[]; + JobsNotFound?: string[]; } export namespace BatchGetJobsResponse { @@ -1705,25 +1750,25 @@ export namespace BatchGetJobsResponse { export interface BatchGetPartitionRequest { /** - *

                      The name of the catalog database where the partitions reside.

                      + *

                      The ID of the Data Catalog where the partitions in question reside. + * If none is supplied, the AWS account ID is used by default.

                      */ - DatabaseName: string | undefined; + CatalogId?: string; /** - *

                      A list of partition values identifying the partitions to retrieve.

                      + *

                      The name of the catalog database where the partitions reside.

                      */ - PartitionsToGet: PartitionValueList[] | undefined; + DatabaseName: string | undefined; /** - *

                      The ID of the Data Catalog where the partitions in question reside. - * If none is supplied, the AWS account ID is used by default.

                      + *

                      The name of the partitions' table.

                      */ - CatalogId?: string; + TableName: string | undefined; /** - *

                      The name of the partitions' table.

                      + *

                      A list of partition values identifying the partitions to retrieve.

                      */ - TableName: string | undefined; + PartitionsToGet: PartitionValueList[] | undefined; } export namespace BatchGetPartitionRequest { @@ -1737,51 +1782,51 @@ export namespace BatchGetPartitionRequest { */ export interface Partition { /** - *

                      The time at which the partition was created.

                      + *

                      The values of the partition.

                      */ - CreationTime?: Date; + Values?: string[]; /** - *

                      The last time at which the partition was accessed.

                      + *

                      The name of the catalog database in which to create the partition.

                      */ - LastAccessTime?: Date; + DatabaseName?: string; /** - *

                      These key-value pairs define partition parameters.

                      + *

                      The name of the database table in which to create the partition.

                      */ - Parameters?: { [key: string]: string }; + TableName?: string; /** - *

                      The name of the catalog database in which to create the partition.

                      + *

                      The time at which the partition was created.

                      */ - DatabaseName?: string; + CreationTime?: Date; /** - *

                      The last time at which column statistics were computed for this - * partition.

                      + *

                      The last time at which the partition was accessed.

                      */ - LastAnalyzedTime?: Date; + LastAccessTime?: Date; /** - *

                      The name of the database table in which to create the partition.

                      + *

                      Provides information about the physical + * location where the partition is stored.

                      */ - TableName?: string; + StorageDescriptor?: StorageDescriptor; /** - *

                      The ID of the Data Catalog in which the partition resides.

                      + *

                      These key-value pairs define partition parameters.

                      */ - CatalogId?: string; + Parameters?: { [key: string]: string }; /** - *

                      The values of the partition.

                      + *

                      The last time at which column statistics were computed for this + * partition.

                      */ - Values?: string[]; + LastAnalyzedTime?: Date; /** - *

                      Provides information about the physical - * location where the partition is stored.

                      + *

                      The ID of the Data Catalog in which the partition resides.

                      */ - StorageDescriptor?: StorageDescriptor; + CatalogId?: string; } export namespace Partition { @@ -1792,15 +1837,15 @@ export namespace Partition { export interface BatchGetPartitionResponse { /** - *

                      A list of the partition values in the request for which partitions were not - * returned.

                      + *

                      A list of the requested partitions.

                      */ - UnprocessedKeys?: PartitionValueList[]; + Partitions?: Partition[]; /** - *

                      A list of the requested partitions.

                      + *

                      A list of the partition values in the request for which partitions were not + * returned.

                      */ - Partitions?: Partition[]; + UnprocessedKeys?: PartitionValueList[]; } export namespace BatchGetPartitionResponse { @@ -1849,14 +1894,20 @@ export enum JobRunState { */ export interface Condition { /** - *

                      The condition state. Currently, the only job states that a trigger can listen for are SUCCEEDED, STOPPED, FAILED, and TIMEOUT. The only crawler states that a trigger can listen for are SUCCEEDED, FAILED, and CANCELLED.

                      + *

                      A logical operator.

                      */ - State?: JobRunState | string; + LogicalOperator?: LogicalOperator | string; /** - *

                      A logical operator.

                      + *

                      The name of the job whose JobRuns this condition applies to, and on which + * this trigger waits.

                      */ - LogicalOperator?: LogicalOperator | string; + JobName?: string; + + /** + *

                      The condition state. Currently, the only job states that a trigger can listen for are SUCCEEDED, STOPPED, FAILED, and TIMEOUT. The only crawler states that a trigger can listen for are SUCCEEDED, FAILED, and CANCELLED.

                      + */ + State?: JobRunState | string; /** *

                      The name of the crawler to which this condition applies.

                      @@ -1867,12 +1918,6 @@ export interface Condition { *

                      The state of the crawler to which this condition applies.

                      */ CrawlState?: CrawlState | string; - - /** - *

                      The name of the job whose JobRuns this condition applies to, and on which - * this trigger waits.

                      - */ - JobName?: string; } export namespace Condition { @@ -1930,19 +1975,14 @@ export enum TriggerType { */ export interface Trigger { /** - *

                      The type of trigger that this is.

                      - */ - Type?: TriggerType | string; - - /** - *

                      The predicate of this trigger, which defines when it will fire.

                      + *

                      The name of the trigger.

                      */ - Predicate?: Predicate; + Name?: string; /** - *

                      The name of the trigger.

                      + *

                      The name of the workflow associated with the trigger.

                      */ - Name?: string; + WorkflowName?: string; /** *

                      Reserved for future use.

                      @@ -1950,15 +1990,20 @@ export interface Trigger { Id?: string; /** - *

                      A description of this trigger.

                      + *

                      The type of trigger that this is.

                      */ - Description?: string; + Type?: TriggerType | string; /** *

                      The current state of the trigger.

                      */ State?: TriggerState | string; + /** + *

                      A description of this trigger.

                      + */ + Description?: string; + /** *

                      A cron expression used to specify the schedule (see Time-Based * Schedules for Jobs and Crawlers. For example, to run @@ -1968,14 +2013,14 @@ export interface Trigger { Schedule?: string; /** - *

                      The name of the workflow associated with the trigger.

                      + *

                      The actions initiated by this trigger.

                      */ - WorkflowName?: string; + Actions?: Action[]; /** - *

                      The actions initiated by this trigger.

                      + *

                      The predicate of this trigger, which defines when it will fire.

                      */ - Actions?: Action[]; + Predicate?: Predicate; } export namespace Trigger { @@ -1986,14 +2031,14 @@ export namespace Trigger { export interface BatchGetTriggersResponse { /** - *

                      A list of names of triggers not found.

                      + *

                      A list of trigger definitions.

                      */ - TriggersNotFound?: string[]; + Triggers?: Trigger[]; /** - *

                      A list of trigger definitions.

                      + *

                      A list of names of triggers not found.

                      */ - Triggers?: Trigger[]; + TriggersNotFound?: string[]; } export namespace BatchGetTriggersResponse { @@ -2004,14 +2049,14 @@ export namespace BatchGetTriggersResponse { export interface BatchGetWorkflowsRequest { /** - *

                      Specifies whether to include a graph when returning the workflow resource metadata.

                      + *

                      A list of workflow names, which may be the names returned from the ListWorkflows operation.

                      */ - IncludeGraph?: boolean; + Names: string[] | undefined; /** - *

                      A list of workflow names, which may be the names returned from the ListWorkflows operation.

                      + *

                      Specifies whether to include a graph when returning the workflow resource metadata.

                      */ - Names: string[] | undefined; + IncludeGraph?: boolean; } export namespace BatchGetWorkflowsRequest { @@ -2047,19 +2092,19 @@ export namespace Edge { */ export interface Crawl { /** - *

                      The log stream associated with the crawl.

                      + *

                      The state of the crawler.

                      */ - LogStream?: string; + State?: CrawlState | string; /** - *

                      The date and time on which the crawl completed.

                      + *

                      The date and time on which the crawl started.

                      */ - CompletedOn?: Date; + StartedOn?: Date; /** - *

                      The date and time on which the crawl started.

                      + *

                      The date and time on which the crawl completed.

                      */ - StartedOn?: Date; + CompletedOn?: Date; /** *

                      The error message associated with the crawl.

                      @@ -2072,9 +2117,9 @@ export interface Crawl { LogGroup?: string; /** - *

                      The state of the crawler.

                      + *

                      The log stream associated with the crawl.

                      */ - State?: CrawlState | string; + LogStream?: string; } export namespace Crawl { @@ -2126,27 +2171,14 @@ export namespace Predecessor { */ export interface JobRun { /** - *

                      The number of workers of a defined workerType that are allocated when a job runs.

                      - * - *

                      The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

                      + *

                      The ID of this job run.

                      */ - NumberOfWorkers?: number; + Id?: string; /** - *

                      The type of predefined worker that is allocated when a job runs. Accepts a value of Standard, G.1X, or G.2X.

                      - *
                        - *
                      • - *

                        For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

                        - *
                      • - *
                      • - *

                        For the G.1X worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker.

                        - *
                      • - *
                      • - *

                        For the G.2X worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker.

                        - *
                      • - *
                      + *

                      The number of the attempt to run this job.

                      */ - WorkerType?: WorkerType | string; + Attempt?: number; /** *

                      The ID of the previous run of this job. For example, the JobRunId specified @@ -2155,23 +2187,19 @@ export interface JobRun { PreviousRunId?: string; /** - *

                      The amount of time (in seconds) that the job run consumed resources.

                      + *

                      The name of the trigger that started this job run.

                      */ - ExecutionTime?: number; + TriggerName?: string; /** - *

                      Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for jobs of type Spark.

                      - * - *

                      For more information about the available AWS Glue versions and corresponding Spark and Python versions, see Glue version in the developer guide.

                      - * - *

                      Jobs that are created without specifying a Glue version default to Glue 0.9.

                      + *

                      The name of the job definition being used in this run.

                      */ - GlueVersion?: string; + JobName?: string; /** - *

                      The name of the job definition being used in this run.

                      + *

                      The date and time at which this job run was started.

                      */ - JobName?: string; + StartedOn?: Date; /** *

                      The last time that this job run was modified.

                      @@ -2179,9 +2207,14 @@ export interface JobRun { LastModifiedOn?: Date; /** - *

                      The name of the trigger that started this job run.

                      + *

                      The date and time that this job run completed.

                      */ - TriggerName?: string; + CompletedOn?: Date; + + /** + *

                      The current state of the job run. For more information about the statuses of jobs that have terminated abnormally, see AWS Glue Job Run Statuses.

                      + */ + JobRunState?: JobRunState | string; /** *

                      The job arguments associated with this run. For this job run, they replace the default arguments set in the job definition itself.

                      @@ -2193,19 +2226,37 @@ export interface JobRun { Arguments?: { [key: string]: string }; /** - *

                      The date and time at which this job run was started.

                      + *

                      An error message associated with this job run.

                      */ - StartedOn?: Date; + ErrorMessage?: string; /** - *

                      Specifies configuration properties of a job run notification.

                      + *

                      A list of predecessors to this job run.

                      */ - NotificationProperty?: NotificationProperty; + PredecessorRuns?: Predecessor[]; /** - *

                      The date and time that this job run completed.

                      + *

                      This field is deprecated. Use MaxCapacity instead.

                      + * + *

                      The number of AWS Glue data processing units (DPUs) allocated to this JobRun. + * From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure + * of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. + * For more information, see the AWS Glue + * pricing page.

                      */ - CompletedOn?: Date; + AllocatedCapacity?: number; + + /** + *

                      The amount of time (in seconds) that the job run consumed resources.

                      + */ + ExecutionTime?: number; + + /** + *

                      The JobRun timeout in minutes. This is the maximum time that a job run can + * consume resources before it is terminated and enters TIMEOUT status. The default + * is 2,880 minutes (48 hours). This overrides the timeout value set in the parent job.

                      + */ + Timeout?: number; /** *

                      The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure @@ -2230,42 +2281,27 @@ export interface JobRun { MaxCapacity?: number; /** - *

                      An error message associated with this job run.

                      - */ - ErrorMessage?: string; - - /** - *

                      The ID of this job run.

                      + *

                      The type of predefined worker that is allocated when a job runs. Accepts a value of Standard, G.1X, or G.2X.

                      + *
                        + *
                      • + *

                        For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

                        + *
                      • + *
                      • + *

                        For the G.1X worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker.

                        + *
                      • + *
                      • + *

                        For the G.2X worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker.

                        + *
                      • + *
                      */ - Id?: string; + WorkerType?: WorkerType | string; /** - *

                      This field is deprecated. Use MaxCapacity instead.

                      + *

                      The number of workers of a defined workerType that are allocated when a job runs.

                      * - *

                      The number of AWS Glue data processing units (DPUs) allocated to this JobRun. - * From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure - * of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. - * For more information, see the AWS Glue - * pricing page.

                      - */ - AllocatedCapacity?: number; - - /** - *

                      A list of predecessors to this job run.

                      - */ - PredecessorRuns?: Predecessor[]; - - /** - *

                      The JobRun timeout in minutes. This is the maximum time that a job run can - * consume resources before it is terminated and enters TIMEOUT status. The default - * is 2,880 minutes (48 hours). This overrides the timeout value set in the parent job.

                      - */ - Timeout?: number; - - /** - *

                      The number of the attempt to run this job.

                      + *

                      The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

                      */ - Attempt?: number; + NumberOfWorkers?: number; /** *

                      The name of the SecurityConfiguration structure to be used with this job @@ -2284,13 +2320,22 @@ export interface JobRun { LogGroupName?: string; /** - *

                      The current state of the job run. For more information about the statuses of jobs that have terminated abnormally, see AWS Glue Job Run Statuses.

                      + *

                      Specifies configuration properties of a job run notification.

                      */ - JobRunState?: JobRunState | string; -} + NotificationProperty?: NotificationProperty; -export namespace JobRun { - export const filterSensitiveLog = (obj: JobRun): any => ({ + /** + *

                      Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for jobs of type Spark.

                      + * + *

                      For more information about the available AWS Glue versions and corresponding Spark and Python versions, see Glue version in the developer guide.

                      + * + *

                      Jobs that are created without specifying a Glue version default to Glue 0.9.

                      + */ + GlueVersion?: string; +} + +export namespace JobRun { + export const filterSensitiveLog = (obj: JobRun): any => ({ ...obj, }); } @@ -2338,14 +2383,14 @@ export enum NodeType { */ export interface Node { /** - *

                      Details of the Trigger when the node represents a Trigger.

                      + *

                      The type of AWS Glue component represented by the node.

                      */ - TriggerDetails?: TriggerNodeDetails; + Type?: NodeType | string; /** - *

                      Details of the crawler when the node represents a crawler.

                      + *

                      The name of the AWS Glue component represented by the node.

                      */ - CrawlerDetails?: CrawlerNodeDetails; + Name?: string; /** *

                      The unique Id assigned to the node within the workflow.

                      @@ -2353,19 +2398,19 @@ export interface Node { UniqueId?: string; /** - *

                      Details of the Job when the node represents a Job.

                      + *

                      Details of the Trigger when the node represents a Trigger.

                      */ - JobDetails?: JobNodeDetails; + TriggerDetails?: TriggerNodeDetails; /** - *

                      The type of AWS Glue component represented by the node.

                      + *

                      Details of the Job when the node represents a Job.

                      */ - Type?: NodeType | string; + JobDetails?: JobNodeDetails; /** - *

                      The name of the AWS Glue component represented by the node.

                      + *

                      Details of the crawler when the node represents a crawler.

                      */ - Name?: string; + CrawlerDetails?: CrawlerNodeDetails; } export namespace Node { @@ -2400,11 +2445,6 @@ export namespace WorkflowGraph { *

                      Workflow run statistics provides statistics about the workflow run.

                      */ export interface WorkflowRunStatistics { - /** - *

                      Total number of Actions that have failed.

                      - */ - FailedActions?: number; - /** *

                      Total number of Actions in the workflow run.

                      */ @@ -2416,15 +2456,20 @@ export interface WorkflowRunStatistics { TimeoutActions?: number; /** - *

                      Total number of Actions that have succeeded.

                      + *

                      Total number of Actions that have failed.

                      */ - SucceededActions?: number; + FailedActions?: number; /** *

                      Total number of Actions that have stopped.

                      */ StoppedActions?: number; + /** + *

                      Total number of Actions that have succeeded.

                      + */ + SucceededActions?: number; + /** *

                      Total number Actions in running state.

                      */ @@ -2450,15 +2495,19 @@ export enum WorkflowRunStatus { */ export interface WorkflowRun { /** - *

                      The status of the workflow run.

                      + *

                      Name of the workflow that was executed.

                      */ - Status?: WorkflowRunStatus | string; + Name?: string; /** - *

                      The graph representing all the AWS Glue components that belong to the workflow as nodes and directed - * connections between them as edges.

                      + *

                      The ID of this workflow run.

                      */ - Graph?: WorkflowGraph; + WorkflowRunId?: string; + + /** + *

                      The ID of the previous workflow run.

                      + */ + PreviousRunId?: string; /** *

                      The workflow run properties which were set during the run.

                      @@ -2471,19 +2520,19 @@ export interface WorkflowRun { StartedOn?: Date; /** - *

                      Name of the workflow that was executed.

                      + *

                      The date and time when the workflow run completed.

                      */ - Name?: string; + CompletedOn?: Date; /** - *

                      The ID of the previous workflow run.

                      + *

                      The status of the workflow run.

                      */ - PreviousRunId?: string; + Status?: WorkflowRunStatus | string; /** - *

                      The date and time when the workflow run completed.

                      + *

                      This error message describes any error that may have occurred in starting the workflow run. Currently the only error message is "Concurrent runs exceeded for workflow: foo."

                      */ - CompletedOn?: Date; + ErrorMessage?: string; /** *

                      The statistics of the run.

                      @@ -2491,14 +2540,10 @@ export interface WorkflowRun { Statistics?: WorkflowRunStatistics; /** - *

                      The ID of this workflow run.

                      - */ - WorkflowRunId?: string; - - /** - *

                      This error message describes any error that may have occurred in starting the workflow run. Currently the only error message is "Concurrent runs exceeded for workflow: foo."

                      + *

                      The graph representing all the AWS Glue components that belong to the workflow as nodes and directed + * connections between them as edges.

                      */ - ErrorMessage?: string; + Graph?: WorkflowGraph; } export namespace WorkflowRun { @@ -2513,19 +2558,24 @@ export namespace WorkflowRun { */ export interface Workflow { /** - *

                      The date and time when the workflow was created.

                      + *

                      The name of the workflow representing the flow.

                      */ - CreatedOn?: Date; + Name?: string; /** - *

                      The information about the last execution of the workflow.

                      + *

                      A description of the workflow.

                      */ - LastRun?: WorkflowRun; + Description?: string; /** - *

                      A description of the workflow.

                      + *

                      A collection of properties to be used as part of each execution of the workflow.

                      */ - Description?: string; + DefaultRunProperties?: { [key: string]: string }; + + /** + *

                      The date and time when the workflow was created.

                      + */ + CreatedOn?: Date; /** *

                      The date and time when the workflow was last modified.

                      @@ -2533,9 +2583,9 @@ export interface Workflow { LastModifiedOn?: Date; /** - *

                      A collection of properties to be used as part of each execution of the workflow.

                      + *

                      The information about the last execution of the workflow.

                      */ - DefaultRunProperties?: { [key: string]: string }; + LastRun?: WorkflowRun; /** *

                      The graph representing all the AWS Glue components that belong to the workflow as nodes and directed @@ -2543,11 +2593,6 @@ export interface Workflow { */ Graph?: WorkflowGraph; - /** - *

                      The name of the workflow representing the flow.

                      - */ - Name?: string; - /** *

                      You can use this parameter to prevent unwanted multiple updates to data, to control costs, or in some cases, to prevent exceeding the maximum number of concurrent runs of any of the component jobs. If you leave this parameter blank, there is no limit to the number of concurrent workflow runs.

                      */ @@ -2580,15 +2625,15 @@ export namespace BatchGetWorkflowsResponse { export interface BatchStopJobRunRequest { /** - *

                      A list of the JobRunIds that should be stopped for that job - * definition.

                      + *

                      The name of the job definition for which to stop job runs.

                      */ - JobRunIds: string[] | undefined; + JobName: string | undefined; /** - *

                      The name of the job definition for which to stop job runs.

                      + *

                      A list of the JobRunIds that should be stopped for that job + * definition.

                      */ - JobName: string | undefined; + JobRunIds: string[] | undefined; } export namespace BatchStopJobRunRequest { @@ -2602,11 +2647,6 @@ export namespace BatchStopJobRunRequest { * specified job run.

                      */ export interface BatchStopJobRunError { - /** - *

                      Specifies details about the error that was encountered.

                      - */ - ErrorDetail?: ErrorDetail; - /** *

                      The name of the job definition that is used in the job run in question.

                      */ @@ -2616,6 +2656,11 @@ export interface BatchStopJobRunError { *

                      The JobRunId of the job run in question.

                      */ JobRunId?: string; + + /** + *

                      Specifies details about the error that was encountered.

                      + */ + ErrorDetail?: ErrorDetail; } export namespace BatchStopJobRunError { @@ -2629,14 +2674,14 @@ export namespace BatchStopJobRunError { */ export interface BatchStopJobRunSuccessfulSubmission { /** - *

                      The JobRunId of the job run that was stopped.

                      + *

                      The name of the job definition used in the job run that was stopped.

                      */ - JobRunId?: string; + JobName?: string; /** - *

                      The name of the job definition used in the job run that was stopped.

                      + *

                      The JobRunId of the job run that was stopped.

                      */ - JobName?: string; + JobRunId?: string; } export namespace BatchStopJobRunSuccessfulSubmission { @@ -2687,11 +2732,6 @@ export namespace BatchUpdatePartitionRequestEntry { } export interface BatchUpdatePartitionRequest { - /** - *

                      The name of the metadata table in which the partition is to be updated.

                      - */ - TableName: string | undefined; - /** *

                      The ID of the catalog in which the partition is to be updated. Currently, this should be * the AWS account ID.

                      @@ -2704,6 +2744,11 @@ export interface BatchUpdatePartitionRequest { */ DatabaseName: string | undefined; + /** + *

                      The name of the metadata table in which the partition is to be updated.

                      + */ + TableName: string | undefined; + /** *

                      A list of up to 100 BatchUpdatePartitionRequestEntry objects to update.

                      */ @@ -2780,9 +2825,9 @@ export enum TaskStatusType { export interface CancelMLTaskRunResponse { /** - *

                      The status for this run.

                      + *

                      The unique identifier of the machine learning transform.

                      */ - Status?: TaskStatusType | string; + TransformId?: string; /** *

                      The unique identifier for the task run.

                      @@ -2790,9 +2835,9 @@ export interface CancelMLTaskRunResponse { TaskRunId?: string; /** - *

                      The unique identifier of the machine learning transform.

                      + *

                      The status for this run.

                      */ - TransformId?: string; + Status?: TaskStatusType | string; } export namespace CancelMLTaskRunResponse { @@ -2801,6 +2846,46 @@ export namespace CancelMLTaskRunResponse { }); } +export enum DataFormat { + AVRO = "AVRO", +} + +export interface CheckSchemaVersionValidityInput { + /** + *

                      The data format of the schema definition. Currently only AVRO is supported.

                      + */ + DataFormat: DataFormat | string | undefined; + + /** + *

                      The definition of the schema that has to be validated.

                      + */ + SchemaDefinition: string | undefined; +} + +export namespace CheckSchemaVersionValidityInput { + export const filterSensitiveLog = (obj: CheckSchemaVersionValidityInput): any => ({ + ...obj, + }); +} + +export interface CheckSchemaVersionValidityResponse { + /** + *

                      Return true, if the schema is valid and false otherwise.

                      + */ + Valid?: boolean; + + /** + *

                      A validation failure error message.

                      + */ + Error?: string; +} + +export namespace CheckSchemaVersionValidityResponse { + export const filterSensitiveLog = (obj: CheckSchemaVersionValidityResponse): any => ({ + ...obj, + }); +} + export enum CsvHeaderOption { ABSENT = "ABSENT", PRESENT = "PRESENT", @@ -2812,39 +2897,39 @@ export enum CsvHeaderOption { */ export interface CreateCsvClassifierRequest { /** - *

                      A custom symbol to denote what separates each column entry in the row.

                      + *

                      The name of the classifier.

                      */ - Delimiter?: string; + Name: string | undefined; /** - *

                      Enables the processing of files that contain only one column.

                      + *

                      A custom symbol to denote what separates each column entry in the row.

                      */ - AllowSingleColumn?: boolean; + Delimiter?: string; /** - *

                      The name of the classifier.

                      + *

                      A custom symbol to denote what combines content into a single column value. Must be different from the column delimiter.

                      */ - Name: string | undefined; + QuoteSymbol?: string; /** - *

                      Specifies not to trim values before identifying the type of column values. The default value is true.

                      + *

                      Indicates whether the CSV file contains a header.

                      */ - DisableValueTrimming?: boolean; + ContainsHeader?: CsvHeaderOption | string; /** - *

                      Indicates whether the CSV file contains a header.

                      + *

                      A list of strings representing column names.

                      */ - ContainsHeader?: CsvHeaderOption | string; + Header?: string[]; /** - *

                      A custom symbol to denote what combines content into a single column value. Must be different from the column delimiter.

                      + *

                      Specifies not to trim values before identifying the type of column values. The default value is true.

                      */ - QuoteSymbol?: string; + DisableValueTrimming?: boolean; /** - *

                      A list of strings representing column names.

                      + *

                      Enables the processing of files that contain only one column.

                      */ - Header?: string[]; + AllowSingleColumn?: boolean; } export namespace CreateCsvClassifierRequest { @@ -2870,14 +2955,14 @@ export interface CreateGrokClassifierRequest { Name: string | undefined; /** - *

                      Optional custom grok patterns used by this classifier.

                      + *

                      The grok pattern used by this classifier.

                      */ - CustomPatterns?: string; + GrokPattern: string | undefined; /** - *

                      The grok pattern used by this classifier.

                      + *

                      Optional custom grok patterns used by this classifier.

                      */ - GrokPattern: string | undefined; + CustomPatterns?: string; } export namespace CreateGrokClassifierRequest { @@ -2913,13 +2998,9 @@ export namespace CreateJsonClassifierRequest { */ export interface CreateXMLClassifierRequest { /** - *

                      The XML tag designating the element that contains each record in an XML document being - * parsed. This can't identify a self-closing element (closed by />). An empty - * row element that contains only attributes can be parsed as long as it ends with a closing tag - * (for example, is okay, but - * is not).

                      + *

                      An identifier of the data format that the classifier matches.

                      */ - RowTag?: string; + Classification: string | undefined; /** *

                      The name of the classifier.

                      @@ -2927,9 +3008,13 @@ export interface CreateXMLClassifierRequest { Name: string | undefined; /** - *

                      An identifier of the data format that the classifier matches.

                      + *

                      The XML tag designating the element that contains each record in an XML document being + * parsed. This can't identify a self-closing element (closed by />). An empty + * row element that contains only attributes can be parsed as long as it ends with a closing tag + * (for example, is okay, but + * is not).

                      */ - Classification: string | undefined; + RowTag?: string; } export namespace CreateXMLClassifierRequest { @@ -2952,16 +3037,16 @@ export interface CreateClassifierRequest { XMLClassifier?: CreateXMLClassifierRequest; /** - *

                      A CsvClassifier object specifying the classifier + *

                      A JsonClassifier object specifying the classifier * to create.

                      */ - CsvClassifier?: CreateCsvClassifierRequest; + JsonClassifier?: CreateJsonClassifierRequest; /** - *

                      A JsonClassifier object specifying the classifier + *

                      A CsvClassifier object specifying the classifier * to create.

                      */ - JsonClassifier?: CreateJsonClassifierRequest; + CsvClassifier?: CreateCsvClassifierRequest; } export namespace CreateClassifierRequest { @@ -3015,11 +3100,9 @@ export enum ConnectionType { */ export interface PhysicalConnectionRequirements { /** - *

                      The connection's Availability Zone. This field is redundant because the specified subnet - * implies the Availability Zone to be used. Currently the field must be populated, but it will - * be deprecated in the future.

                      + *

                      The subnet ID used by the connection.

                      */ - AvailabilityZone?: string; + SubnetId?: string; /** *

                      The security group ID list used by the connection.

                      @@ -3027,9 +3110,11 @@ export interface PhysicalConnectionRequirements { SecurityGroupIdList?: string[]; /** - *

                      The subnet ID used by the connection.

                      + *

                      The connection's Availability Zone. This field is redundant because the specified subnet + * implies the Availability Zone to be used. Currently the field must be populated, but it will + * be deprecated in the future.

                      */ - SubnetId?: string; + AvailabilityZone?: string; } export namespace PhysicalConnectionRequirements { @@ -3043,20 +3128,14 @@ export namespace PhysicalConnectionRequirements { */ export interface ConnectionInput { /** - *

                      A list of criteria that can be used in selecting this connection.

                      + *

                      The name of the connection.

                      */ - MatchCriteria?: string[]; + Name: string | undefined; /** - *

                      A map of physical connection requirements, such as virtual private cloud (VPC) and - * SecurityGroup, that are needed to successfully make this connection.

                      - */ - PhysicalConnectionRequirements?: PhysicalConnectionRequirements; - - /** - *

                      The name of the connection.

                      + *

                      The description of the connection.

                      */ - Name: string | undefined; + Description?: string; /** *

                      The type of the connection. Currently, these types are supported:

                      @@ -3082,15 +3161,21 @@ export interface ConnectionInput { */ ConnectionType: ConnectionType | string | undefined; + /** + *

                      A list of criteria that can be used in selecting this connection.

                      + */ + MatchCriteria?: string[]; + /** *

                      These key-value pairs define parameters for the connection.

                      */ ConnectionProperties: { [key: string]: string } | undefined; /** - *

                      The description of the connection.

                      + *

                      A map of physical connection requirements, such as virtual private cloud (VPC) and + * SecurityGroup, that are needed to successfully make this connection.

                      */ - Description?: string; + PhysicalConnectionRequirements?: PhysicalConnectionRequirements; } export namespace ConnectionInput { @@ -3128,6 +3213,11 @@ export namespace CreateConnectionResponse { } export interface CreateCrawlerRequest { + /** + *

                      Name of the new crawler.

                      + */ + Name: string | undefined; + /** *

                      The IAM role or Amazon Resource Name (ARN) of an IAM role used by the new crawler to * access customer resources.

                      @@ -3135,22 +3225,20 @@ export interface CreateCrawlerRequest { Role: string | undefined; /** - *

                      The tags to use with this crawler request. You may use tags to limit access to the - * crawler. For more information about tags in AWS Glue, see AWS Tags in AWS Glue in the developer - * guide.

                      + *

                      The AWS Glue database where results are written, such as: + * arn:aws:daylight:us-east-1::database/sometable/*.

                      */ - Tags?: { [key: string]: string }; + DatabaseName?: string; /** - *

                      Name of the new crawler.

                      + *

                      A description of the new crawler.

                      */ - Name: string | undefined; + Description?: string; /** - *

                      The name of the SecurityConfiguration structure to be used by this - * crawler.

                      + *

                      A list of collection of targets to crawl.

                      */ - CrawlerSecurityConfiguration?: string; + Targets: CrawlerTargets | undefined; /** *

                      A cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run @@ -3160,30 +3248,26 @@ export interface CreateCrawlerRequest { Schedule?: string; /** - *

                      The policy for the crawler's update and deletion behavior.

                      - */ - SchemaChangePolicy?: SchemaChangePolicy; - - /** - *

                      A list of collection of targets to crawl.

                      + *

                      A list of custom classifiers that the user has registered. By default, all built-in + * classifiers are included in a crawl, but these custom classifiers always override the default + * classifiers for a given classification.

                      */ - Targets: CrawlerTargets | undefined; + Classifiers?: string[]; /** - *

                      A description of the new crawler.

                      + *

                      The table prefix used for catalog tables that are created.

                      */ - Description?: string; + TablePrefix?: string; /** - *

                      The AWS Glue database where results are written, such as: - * arn:aws:daylight:us-east-1::database/sometable/*.

                      + *

                      The policy for the crawler's update and deletion behavior.

                      */ - DatabaseName?: string; + SchemaChangePolicy?: SchemaChangePolicy; /** - *

                      The table prefix used for catalog tables that are created.

                      + *

                      A policy that specifies whether to crawl the entire dataset again, or to crawl only folders that were added since the last crawler run.

                      */ - TablePrefix?: string; + RecrawlPolicy?: RecrawlPolicy; /** *

                      Crawler configuration information. This versioned JSON @@ -3193,16 +3277,17 @@ export interface CreateCrawlerRequest { Configuration?: string; /** - *

                      A list of custom classifiers that the user has registered. By default, all built-in - * classifiers are included in a crawl, but these custom classifiers always override the default - * classifiers for a given classification.

                      + *

                      The name of the SecurityConfiguration structure to be used by this + * crawler.

                      */ - Classifiers?: string[]; + CrawlerSecurityConfiguration?: string; /** - *

                      A policy that specifies whether to crawl the entire dataset again, or to crawl only folders that were added since the last crawler run.

                      + *

                      The tags to use with this crawler request. You may use tags to limit access to the + * crawler. For more information about tags in AWS Glue, see AWS Tags in AWS Glue in the developer + * guide.

                      */ - RecrawlPolicy?: RecrawlPolicy; + Tags?: { [key: string]: string }; } export namespace CreateCrawlerRequest { @@ -3252,14 +3337,14 @@ export namespace DataLakePrincipal { */ export interface PrincipalPermissions { /** - *

                      The permissions that are granted to the principal.

                      + *

                      The principal who is granted permissions.

                      */ - Permissions?: (Permission | string)[]; + Principal?: DataLakePrincipal; /** - *

                      The principal who is granted permissions.

                      + *

                      The permissions that are granted to the principal.

                      */ - Principal?: DataLakePrincipal; + Permissions?: (Permission | string)[]; } export namespace PrincipalPermissions { @@ -3273,14 +3358,14 @@ export namespace PrincipalPermissions { */ export interface DatabaseIdentifier { /** - *

                      The name of the catalog database.

                      + *

                      The ID of the Data Catalog in which the database resides.

                      */ - DatabaseName?: string; + CatalogId?: string; /** - *

                      The ID of the Data Catalog in which the database resides.

                      + *

                      The name of the catalog database.

                      */ - CatalogId?: string; + DatabaseName?: string; } export namespace DatabaseIdentifier { @@ -3294,27 +3379,27 @@ export namespace DatabaseIdentifier { */ export interface DatabaseInput { /** - *

                      A description of the database.

                      + *

                      The name of the database. For Hive compatibility, this is folded to lowercase when it is + * stored.

                      */ - Description?: string; + Name: string | undefined; /** - *

                      These key-value pairs define parameters and properties - * of the database.

                      - *

                      These key-value pairs define parameters and properties of the database.

                      + *

                      A description of the database.

                      */ - Parameters?: { [key: string]: string }; + Description?: string; /** - *

                      A DatabaseIdentifier structure that describes a target database for resource linking.

                      + *

                      The location of the database (for example, an HDFS path).

                      */ - TargetDatabase?: DatabaseIdentifier; + LocationUri?: string; /** - *

                      The name of the database. For Hive compatibility, this is folded to lowercase when it is - * stored.

                      + *

                      These key-value pairs define parameters and properties + * of the database.

                      + *

                      These key-value pairs define parameters and properties of the database.

                      */ - Name: string | undefined; + Parameters?: { [key: string]: string }; /** *

                      Creates a set of default permissions on the table for principals.

                      @@ -3322,9 +3407,9 @@ export interface DatabaseInput { CreateTableDefaultPermissions?: PrincipalPermissions[]; /** - *

                      The location of the database (for example, an HDFS path).

                      + *

                      A DatabaseIdentifier structure that describes a target database for resource linking.

                      */ - LocationUri?: string; + TargetDatabase?: DatabaseIdentifier; } export namespace DatabaseInput { @@ -3361,33 +3446,53 @@ export namespace CreateDatabaseResponse { } export interface CreateDevEndpointRequest { + /** + *

                      The name to be assigned to the new DevEndpoint.

                      + */ + EndpointName: string | undefined; + /** *

                      The IAM role for the DevEndpoint.

                      */ RoleArn: string | undefined; /** - *

                      A map of arguments used to configure the DevEndpoint.

                      + *

                      Security group IDs for the security groups to be used by the new + * DevEndpoint.

                      */ - Arguments?: { [key: string]: string }; + SecurityGroupIds?: string[]; /** - *

                      The paths to one or more Python libraries in an Amazon S3 bucket that should be loaded in - * your DevEndpoint. Multiple values must be complete paths separated by a - * comma.

                      + *

                      The subnet ID for the new DevEndpoint to use.

                      + */ + SubnetId?: string; + + /** + *

                      The public key to be used by this DevEndpoint for authentication. This + * attribute is provided for backward compatibility because the recommended attribute to use is + * public keys.

                      + */ + PublicKey?: string; + + /** + *

                      A list of public keys to be used by the development endpoints for authentication. The use + * of this attribute is preferred over a single public key because the public keys allow you to + * have a different private key per client.

                      + * * - *

                      You can only use pure Python libraries with a DevEndpoint. Libraries that rely on - * C extensions, such as the pandas Python data - * analysis library, are not yet supported.

                      + *

                      If you previously created an endpoint with a public key, you must remove that key to be able + * to set a list of public keys. Call the UpdateDevEndpoint API with the public + * key content in the deletePublicKeys attribute, and the list of new keys in the + * addPublicKeys attribute.

                      *
                      */ - ExtraPythonLibsS3Path?: string; + PublicKeys?: string[]; /** - *

                      The path to one or more Java .jar files in an S3 bucket that should be loaded - * in your DevEndpoint.

                      + *

                      The number of AWS Glue Data Processing Units (DPUs) to allocate to this + * DevEndpoint.

                      */ - ExtraJarsS3Path?: string; + NumberOfNodes?: number; /** *

                      The type of predefined worker that is allocated to the development endpoint. Accepts a value of Standard, G.1X, or G.2X.

                      @@ -3407,27 +3512,6 @@ export interface CreateDevEndpointRequest { */ WorkerType?: WorkerType | string; - /** - *

                      The number of workers of a defined workerType that are allocated to the development endpoint.

                      - * - *

                      The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

                      - */ - NumberOfWorkers?: number; - - /** - *

                      A list of public keys to be used by the development endpoints for authentication. The use - * of this attribute is preferred over a single public key because the public keys allow you to - * have a different private key per client.

                      - * - * - *

                      If you previously created an endpoint with a public key, you must remove that key to be able - * to set a list of public keys. Call the UpdateDevEndpoint API with the public - * key content in the deletePublicKeys attribute, and the list of new keys in the - * addPublicKeys attribute.

                      - *
                      - */ - PublicKeys?: string[]; - /** *

                      Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for running your ETL scripts on development endpoints.

                      * @@ -3440,44 +3524,45 @@ export interface CreateDevEndpointRequest { GlueVersion?: string; /** - *

                      The tags to use with this DevEndpoint. You may use tags to limit access to the DevEndpoint. For more information about tags in AWS Glue, see AWS Tags in AWS Glue in the developer guide.

                      - */ - Tags?: { [key: string]: string }; - - /** - *

                      The name to be assigned to the new DevEndpoint.

                      + *

                      The number of workers of a defined workerType that are allocated to the development endpoint.

                      + * + *

                      The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

                      */ - EndpointName: string | undefined; + NumberOfWorkers?: number; /** - *

                      The name of the SecurityConfiguration structure to be used with this - * DevEndpoint.

                      + *

                      The paths to one or more Python libraries in an Amazon S3 bucket that should be loaded in + * your DevEndpoint. Multiple values must be complete paths separated by a + * comma.

                      + * + *

                      You can only use pure Python libraries with a DevEndpoint. Libraries that rely on + * C extensions, such as the pandas Python data + * analysis library, are not yet supported.

                      + *
                      */ - SecurityConfiguration?: string; + ExtraPythonLibsS3Path?: string; /** - *

                      The public key to be used by this DevEndpoint for authentication. This - * attribute is provided for backward compatibility because the recommended attribute to use is - * public keys.

                      + *

                      The path to one or more Java .jar files in an S3 bucket that should be loaded + * in your DevEndpoint.

                      */ - PublicKey?: string; + ExtraJarsS3Path?: string; /** - *

                      Security group IDs for the security groups to be used by the new - * DevEndpoint.

                      + *

                      The name of the SecurityConfiguration structure to be used with this + * DevEndpoint.

                      */ - SecurityGroupIds?: string[]; + SecurityConfiguration?: string; /** - *

                      The number of AWS Glue Data Processing Units (DPUs) to allocate to this - * DevEndpoint.

                      + *

                      The tags to use with this DevEndpoint. You may use tags to limit access to the DevEndpoint. For more information about tags in AWS Glue, see AWS Tags in AWS Glue in the developer guide.

                      */ - NumberOfNodes?: number; + Tags?: { [key: string]: string }; /** - *

                      The subnet ID for the new DevEndpoint to use.

                      + *

                      A map of arguments used to configure the DevEndpoint.

                      */ - SubnetId?: string; + Arguments?: { [key: string]: string }; } export namespace CreateDevEndpointRequest { @@ -3488,61 +3573,40 @@ export namespace CreateDevEndpointRequest { export interface CreateDevEndpointResponse { /** - *

                      The ID of the virtual private cloud (VPC) used by this DevEndpoint.

                      + *

                      The name assigned to the new DevEndpoint.

                      */ - VpcId?: string; + EndpointName?: string; /** - *

                      The reason for a current failure in this DevEndpoint.

                      + *

                      The current status of the new DevEndpoint.

                      */ - FailureReason?: string; + Status?: string; /** - *

                      The Apache Zeppelin port for the remote Apache Spark interpreter.

                      + *

                      The security groups assigned to the new DevEndpoint.

                      */ - ZeppelinRemoteSparkInterpreterPort?: number; + SecurityGroupIds?: string[]; /** - *

                      The map of arguments used to configure this DevEndpoint.

                      - * - *

                      Valid arguments are:

                      - *
                        - *
                      • - *

                        - * "--enable-glue-datacatalog": "" - *

                        - *
                      • - *
                      • - *

                        - * "GLUE_PYTHON_VERSION": "3" - *

                        - *
                      • - *
                      • - *

                        - * "GLUE_PYTHON_VERSION": "2" - *

                        - *
                      • - *
                      - * - *

                      You can specify a version of Python support for development endpoints by using the Arguments parameter in the CreateDevEndpoint or UpdateDevEndpoint APIs. If no arguments are provided, the version defaults to Python 2.

                      + *

                      The subnet ID assigned to the new DevEndpoint.

                      */ - Arguments?: { [key: string]: string }; + SubnetId?: string; /** - *

                      The type of predefined worker that is allocated to the development endpoint. May be a value of Standard, G.1X, or G.2X.

                      + *

                      The Amazon Resource Name (ARN) of the role assigned to the new + * DevEndpoint.

                      */ - WorkerType?: WorkerType | string; + RoleArn?: string; /** - *

                      The paths to one or more Python libraries in an S3 bucket that will be loaded in your - * DevEndpoint.

                      + *

                      The address of the YARN endpoint used by this DevEndpoint.

                      */ - ExtraPythonLibsS3Path?: string; + YarnEndpointAddress?: string; /** - *

                      The subnet ID assigned to the new DevEndpoint.

                      + *

                      The Apache Zeppelin port for the remote Apache Spark interpreter.

                      */ - SubnetId?: string; + ZeppelinRemoteSparkInterpreterPort?: number; /** *

                      The number of AWS Glue Data Processing Units (DPUs) allocated to this DevEndpoint.

                      @@ -3550,62 +3614,83 @@ export interface CreateDevEndpointResponse { NumberOfNodes?: number; /** - *

                      The security groups assigned to the new DevEndpoint.

                      + *

                      The type of predefined worker that is allocated to the development endpoint. May be a value of Standard, G.1X, or G.2X.

                      */ - SecurityGroupIds?: string[]; + WorkerType?: WorkerType | string; /** - *

                      The current status of the new DevEndpoint.

                      + *

                      Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for running your ETL scripts on development endpoints.

                      */ - Status?: string; + GlueVersion?: string; /** - *

                      The address of the YARN endpoint used by this DevEndpoint.

                      + *

                      The number of workers of a defined workerType that are allocated to the development endpoint.

                      */ - YarnEndpointAddress?: string; + NumberOfWorkers?: number; /** - *

                      The name of the SecurityConfiguration structure being used with this - * DevEndpoint.

                      + *

                      The AWS Availability Zone where this DevEndpoint is located.

                      */ - SecurityConfiguration?: string; + AvailabilityZone?: string; /** - *

                      The Amazon Resource Name (ARN) of the role assigned to the new - * DevEndpoint.

                      + *

                      The ID of the virtual private cloud (VPC) used by this DevEndpoint.

                      */ - RoleArn?: string; + VpcId?: string; /** - *

                      The name assigned to the new DevEndpoint.

                      + *

                      The paths to one or more Python libraries in an S3 bucket that will be loaded in your + * DevEndpoint.

                      */ - EndpointName?: string; + ExtraPythonLibsS3Path?: string; /** - *

                      The number of workers of a defined workerType that are allocated to the development endpoint.

                      + *

                      Path to one or more Java .jar files in an S3 bucket that will be loaded in + * your DevEndpoint.

                      */ - NumberOfWorkers?: number; + ExtraJarsS3Path?: string; /** - *

                      The AWS Availability Zone where this DevEndpoint is located.

                      + *

                      The reason for a current failure in this DevEndpoint.

                      */ - AvailabilityZone?: string; + FailureReason?: string; /** - *

                      Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for running your ETL scripts on development endpoints.

                      + *

                      The name of the SecurityConfiguration structure being used with this + * DevEndpoint.

                      */ - GlueVersion?: string; + SecurityConfiguration?: string; /** - *

                      Path to one or more Java .jar files in an S3 bucket that will be loaded in - * your DevEndpoint.

                      + *

                      The point in time at which this DevEndpoint was created.

                      */ - ExtraJarsS3Path?: string; + CreatedTimestamp?: Date; /** - *

                      The point in time at which this DevEndpoint was created.

                      + *

                      The map of arguments used to configure this DevEndpoint.

                      + * + *

                      Valid arguments are:

                      + *
                        + *
                      • + *

                        + * "--enable-glue-datacatalog": "" + *

                        + *
                      • + *
                      • + *

                        + * "GLUE_PYTHON_VERSION": "3" + *

                        + *
                      • + *
                      • + *

                        + * "GLUE_PYTHON_VERSION": "2" + *

                        + *
                      • + *
                      + * + *

                      You can specify a version of Python support for development endpoints by using the Arguments parameter in the CreateDevEndpoint or UpdateDevEndpoint APIs. If no arguments are provided, the version defaults to Python 2.

                      */ - CreatedTimestamp?: Date; + Arguments?: { [key: string]: string }; } export namespace CreateDevEndpointResponse { @@ -3670,22 +3755,36 @@ export namespace ConcurrentModificationException { export interface CreateJobRequest { /** - *

                      This field is reserved for future use.

                      + *

                      The name you assign to this job definition. It must be unique in your account.

                      */ - LogUri?: string; + Name: string | undefined; /** - *

                      The number of workers of a defined workerType that are allocated when a job runs.

                      - * - *

                      The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

                      + *

                      Description of the job being defined.

                      */ - NumberOfWorkers?: number; + Description?: string; + + /** + *

                      This field is reserved for future use.

                      + */ + LogUri?: string; /** *

                      The name or Amazon Resource Name (ARN) of the IAM role associated with this job.

                      */ Role: string | undefined; + /** + *

                      An ExecutionProperty specifying the maximum number of concurrent runs allowed + * for this job.

                      + */ + ExecutionProperty?: ExecutionProperty; + + /** + *

                      The JobCommand that executes this job.

                      + */ + Command: JobCommand | undefined; + /** *

                      The default arguments for this job.

                      *

                      You can specify arguments here that your own job-execution script @@ -3696,28 +3795,37 @@ export interface CreateJobRequest { DefaultArguments?: { [key: string]: string }; /** - *

                      Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for jobs of type Spark.

                      - * - *

                      For more information about the available AWS Glue versions and corresponding Spark and Python versions, see Glue version in the developer guide.

                      - * - *

                      Jobs that are created without specifying a Glue version default to Glue 0.9.

                      + *

                      Non-overridable arguments for this job, specified as name-value pairs.

                      */ - GlueVersion?: string; + NonOverridableArguments?: { [key: string]: string }; /** - *

                      The JobCommand that executes this job.

                      + *

                      The connections used for this job.

                      */ - Command: JobCommand | undefined; + Connections?: ConnectionsList; /** - *

                      Specifies configuration properties of a job notification.

                      + *

                      The maximum number of times to retry this job if it fails.

                      */ - NotificationProperty?: NotificationProperty; + MaxRetries?: number; /** - *

                      The name you assign to this job definition. It must be unique in your account.

                      + *

                      This parameter is deprecated. Use MaxCapacity instead.

                      + * + *

                      The number of AWS Glue data processing units (DPUs) to allocate to this Job. You can + * allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of processing + * power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, + * see the AWS Glue pricing + * page.

                      */ - Name: string | undefined; + AllocatedCapacity?: number; + + /** + *

                      The job timeout in minutes. This is the maximum time that a job run + * can consume resources before it is terminated and enters TIMEOUT + * status. The default is 2,880 minutes (48 hours).

                      + */ + Timeout?: number; /** *

                      The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure @@ -3744,59 +3852,36 @@ export interface CreateJobRequest { MaxCapacity?: number; /** - *

                      Description of the job being defined.

                      - */ - Description?: string; - - /** - *

                      The connections used for this job.

                      - */ - Connections?: ConnectionsList; - - /** - *

                      This parameter is deprecated. Use MaxCapacity instead.

                      - * - *

                      The number of AWS Glue data processing units (DPUs) to allocate to this Job. You can - * allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of processing - * power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, - * see the AWS Glue pricing - * page.

                      - */ - AllocatedCapacity?: number; - - /** - *

                      The job timeout in minutes. This is the maximum time that a job run - * can consume resources before it is terminated and enters TIMEOUT - * status. The default is 2,880 minutes (48 hours).

                      - */ - Timeout?: number; - - /** - *

                      Non-overridable arguments for this job, specified as name-value pairs.

                      + *

                      The name of the SecurityConfiguration structure to be used with this + * job.

                      */ - NonOverridableArguments?: { [key: string]: string }; + SecurityConfiguration?: string; /** - *

                      The maximum number of times to retry this job if it fails.

                      + *

                      The tags to use with this job. You may use tags to limit access to the job. For more information about tags in AWS Glue, see AWS Tags in AWS Glue in the developer guide.

                      */ - MaxRetries?: number; + Tags?: { [key: string]: string }; /** - *

                      An ExecutionProperty specifying the maximum number of concurrent runs allowed - * for this job.

                      + *

                      Specifies configuration properties of a job notification.

                      */ - ExecutionProperty?: ExecutionProperty; + NotificationProperty?: NotificationProperty; /** - *

                      The name of the SecurityConfiguration structure to be used with this - * job.

                      + *

                      Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for jobs of type Spark.

                      + * + *

                      For more information about the available AWS Glue versions and corresponding Spark and Python versions, see Glue version in the developer guide.

                      + * + *

                      Jobs that are created without specifying a Glue version default to Glue 0.9.

                      */ - SecurityConfiguration?: string; + GlueVersion?: string; /** - *

                      The tags to use with this job. You may use tags to limit access to the job. For more information about tags in AWS Glue, see AWS Tags in AWS Glue in the developer guide.

                      + *

                      The number of workers of a defined workerType that are allocated when a job runs.

                      + * + *

                      The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

                      */ - Tags?: { [key: string]: string }; + NumberOfWorkers?: number; /** *

                      The type of predefined worker that is allocated when a job runs. Accepts a value of Standard, G.1X, or G.2X.

                      @@ -3839,14 +3924,14 @@ export namespace CreateJobResponse { */ export interface GlueTable { /** - *

                      A table name in the AWS Glue Data Catalog.

                      + *

                      A database name in the AWS Glue Data Catalog.

                      */ - TableName: string | undefined; + DatabaseName: string | undefined; /** - *

                      The name of the connection to the AWS Glue Data Catalog.

                      + *

                      A table name in the AWS Glue Data Catalog.

                      */ - ConnectionName?: string; + TableName: string | undefined; /** *

                      A unique identifier for the AWS Glue Data Catalog.

                      @@ -3854,9 +3939,9 @@ export interface GlueTable { CatalogId?: string; /** - *

                      A database name in the AWS Glue Data Catalog.

                      + *

                      The name of the connection to the AWS Glue Data Catalog.

                      */ - DatabaseName: string | undefined; + ConnectionName?: string; } export namespace GlueTable { @@ -3950,11 +4035,6 @@ export enum MLUserDataEncryptionModeString { *

                      The encryption-at-rest settings of the transform that apply to accessing user data.

                      */ export interface MLUserDataEncryption { - /** - *

                      The ID for the customer-provided KMS key.

                      - */ - KmsKeyId?: string; - /** *

                      The encryption mode applied to user data. Valid values are:

                      * @@ -3968,6 +4048,11 @@ export interface MLUserDataEncryption { *
                    */ MlUserDataEncryptionMode: MLUserDataEncryptionModeString | string | undefined; + + /** + *

                    The ID for the customer-provided KMS key.

                    + */ + KmsKeyId?: string; } export namespace MLUserDataEncryption { @@ -3983,14 +4068,14 @@ export namespace MLUserDataEncryption { */ export interface TransformEncryption { /** - *

                    The name of the security configuration.

                    + *

                    An MLUserDataEncryption object containing the encryption mode and customer-provided KMS key ID.

                    */ - TaskRunSecurityConfigurationName?: string; + MlUserDataEncryption?: MLUserDataEncryption; /** - *

                    An MLUserDataEncryption object containing the encryption mode and customer-provided KMS key ID.

                    + *

                    The name of the security configuration.

                    */ - MlUserDataEncryption?: MLUserDataEncryption; + TaskRunSecurityConfigurationName?: string; } export namespace TransformEncryption { @@ -4006,30 +4091,15 @@ export interface CreateMLTransformRequest { Name: string | undefined; /** - *

                    The name or Amazon Resource Name (ARN) of the IAM role with the required permissions. The required permissions include both AWS Glue service role permissions to AWS Glue resources, and Amazon S3 permissions required by the transform.

                    - * - *
                      - *
                    • - *

                      This role needs AWS Glue service role permissions to allow access to resources in AWS Glue. See Attach a Policy to IAM Users That Access AWS Glue.

                      - *
                    • - *
                    • - *

                      This role needs permission to your Amazon Simple Storage Service (Amazon S3) sources, targets, temporary directory, scripts, and any libraries used by the task run for this transform.

                      - *
                    • - *
                    + *

                    A description of the machine learning transform that is being defined. The default is an + * empty string.

                    */ - Role: string | undefined; + Description?: string; /** - *

                    The number of workers of a defined workerType that are allocated when this task runs.

                    - * - *

                    If WorkerType is set, then NumberOfWorkers is required (and vice versa).

                    - */ - NumberOfWorkers?: number; - - /** - *

                    The encryption-at-rest settings of the transform that apply to accessing user data. Machine learning transforms can access user data encrypted in Amazon S3 using KMS.

                    + *

                    A list of AWS Glue table definitions used by the transform.

                    */ - TransformEncryption?: TransformEncryption; + InputRecordTables: GlueTable[] | undefined; /** *

                    The algorithmic parameters that are specific to the transform type used. Conditionally @@ -4038,20 +4108,23 @@ export interface CreateMLTransformRequest { Parameters: TransformParameters | undefined; /** - *

                    This value determines which version of AWS Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see AWS Glue Versions in the developer guide.

                    - */ - GlueVersion?: string; - - /** - *

                    The timeout of the task run for this transform in minutes. This is the maximum time that a task run for this transform can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

                    + *

                    The name or Amazon Resource Name (ARN) of the IAM role with the required permissions. The required permissions include both AWS Glue service role permissions to AWS Glue resources, and Amazon S3 permissions required by the transform.

                    + * + *
                      + *
                    • + *

                      This role needs AWS Glue service role permissions to allow access to resources in AWS Glue. See Attach a Policy to IAM Users That Access AWS Glue.

                      + *
                    • + *
                    • + *

                      This role needs permission to your Amazon Simple Storage Service (Amazon S3) sources, targets, temporary directory, scripts, and any libraries used by the task run for this transform.

                      + *
                    • + *
                    */ - Timeout?: number; + Role: string | undefined; /** - *

                    A description of the machine learning transform that is being defined. The default is an - * empty string.

                    + *

                    This value determines which version of AWS Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see AWS Glue Versions in the developer guide.

                    */ - Description?: string; + GlueVersion?: string; /** *

                    The number of AWS Glue data processing units (DPUs) that are allocated to task runs for this transform. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of @@ -4084,16 +4157,6 @@ export interface CreateMLTransformRequest { */ MaxCapacity?: number; - /** - *

                    The tags to use with this machine learning transform. You may use tags to limit access to the machine learning transform. For more information about tags in AWS Glue, see AWS Tags in AWS Glue in the developer guide.

                    - */ - Tags?: { [key: string]: string }; - - /** - *

                    A list of AWS Glue table definitions used by the transform.

                    - */ - InputRecordTables: GlueTable[] | undefined; - /** *

                    The type of predefined worker that is allocated when this task runs. Accepts a value of Standard, G.1X, or G.2X.

                    *
                      @@ -4128,10 +4191,32 @@ export interface CreateMLTransformRequest { */ WorkerType?: WorkerType | string; + /** + *

                      The number of workers of a defined workerType that are allocated when this task runs.

                      + * + *

                      If WorkerType is set, then NumberOfWorkers is required (and vice versa).

                      + */ + NumberOfWorkers?: number; + + /** + *

                      The timeout of the task run for this transform in minutes. This is the maximum time that a task run for this transform can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

                      + */ + Timeout?: number; + /** *

                      The maximum number of times to retry a task for this transform after a task run fails.

                      */ MaxRetries?: number; + + /** + *

                      The tags to use with this machine learning transform. You may use tags to limit access to the machine learning transform. For more information about tags in AWS Glue, see AWS Tags in AWS Glue in the developer guide.

                      + */ + Tags?: { [key: string]: string }; + + /** + *

                      The encryption-at-rest settings of the transform that apply to accessing user data. Machine learning transforms can access user data encrypted in Amazon S3 using KMS.

                      + */ + TransformEncryption?: TransformEncryption; } export namespace CreateMLTransformRequest { @@ -4154,6 +4239,11 @@ export namespace CreateMLTransformResponse { } export interface CreatePartitionRequest { + /** + *

                      The AWS account ID of the catalog in which the partition is to be created.

                      + */ + CatalogId?: string; + /** *

                      The name of the metadata database in which the partition is * to be created.

                      @@ -4170,11 +4260,6 @@ export interface CreatePartitionRequest { * to be created.

                      */ PartitionInput: PartitionInput | undefined; - - /** - *

                      The AWS account ID of the catalog in which the partition is to be created.

                      - */ - CatalogId?: string; } export namespace CreatePartitionRequest { @@ -4191,1957 +4276,1973 @@ export namespace CreatePartitionResponse { }); } -/** - *

                      Represents a directional edge in a directed acyclic graph (DAG).

                      - */ -export interface CodeGenEdge { +export interface CreateRegistryInput { /** - *

                      The ID of the node at which the edge starts.

                      + *

                      Name of the registry to be created of max length of 255, and may only contain letters, numbers, hyphen, underscore, dollar sign, or hash mark. No whitespace.

                      */ - Source: string | undefined; + RegistryName: string | undefined; /** - *

                      The ID of the node at which the edge ends.

                      + *

                      A description of the registry. If description is not provided, there will not be any default value for this.

                      */ - Target: string | undefined; + Description?: string; /** - *

                      The target of the edge.

                      + *

                      AWS tags that contain a key value pair and may be searched by console, command line, or API.

                      */ - TargetParameter?: string; + Tags?: { [key: string]: string }; } -export namespace CodeGenEdge { - export const filterSensitiveLog = (obj: CodeGenEdge): any => ({ +export namespace CreateRegistryInput { + export const filterSensitiveLog = (obj: CreateRegistryInput): any => ({ ...obj, }); } -/** - *

                      An argument or property of a node.

                      - */ -export interface CodeGenNodeArg { +export interface CreateRegistryResponse { /** - *

                      The name of the argument or property.

                      + *

                      The Amazon Resource Name (ARN) of the newly created registry.

                      */ - Name: string | undefined; + RegistryArn?: string; /** - *

                      True if the value is used as a parameter.

                      + *

                      The name of the registry.

                      */ - Param?: boolean; + RegistryName?: string; /** - *

                      The value of the argument or property.

                      + *

                      A description of the registry.

                      */ - Value: string | undefined; + Description?: string; + + /** + *

                      The tags for the registry.

                      + */ + Tags?: { [key: string]: string }; } -export namespace CodeGenNodeArg { - export const filterSensitiveLog = (obj: CodeGenNodeArg): any => ({ +export namespace CreateRegistryResponse { + export const filterSensitiveLog = (obj: CreateRegistryResponse): any => ({ ...obj, }); } +export enum Compatibility { + BACKWARD = "BACKWARD", + BACKWARD_ALL = "BACKWARD_ALL", + DISABLED = "DISABLED", + FORWARD = "FORWARD", + FORWARD_ALL = "FORWARD_ALL", + FULL = "FULL", + FULL_ALL = "FULL_ALL", + NONE = "NONE", +} + /** - *

                      Represents a node in a directed acyclic graph (DAG)

                      + *

                      A wrapper structure that may contain the registry name and Amazon Resource Name (ARN).

                      */ -export interface CodeGenNode { - /** - *

                      Properties of the node, in the form of name-value pairs.

                      - */ - Args: CodeGenNodeArg[] | undefined; - - /** - *

                      The line number of the node.

                      - */ - LineNumber?: number; - +export interface RegistryId { /** - *

                      A node identifier that is unique within the node's graph.

                      + *

                      Name of the registry. Used only for lookup. One of RegistryArn or RegistryName has to be provided.

                      */ - Id: string | undefined; + RegistryName?: string; /** - *

                      The type of node that this is.

                      + *

                      Arn of the registry to be updated. One of RegistryArn or RegistryName has to be provided.

                      */ - NodeType: string | undefined; + RegistryArn?: string; } -export namespace CodeGenNode { - export const filterSensitiveLog = (obj: CodeGenNode): any => ({ +export namespace RegistryId { + export const filterSensitiveLog = (obj: RegistryId): any => ({ ...obj, }); } -export enum Language { - PYTHON = "PYTHON", - SCALA = "SCALA", -} - -export interface CreateScriptRequest { +export interface CreateSchemaInput { /** - *

                      A list of the nodes in the DAG.

                      + *

                      This is a wrapper shape to contain the registry identity fields. If this is not provided, the default registry will be used. The ARN format for the same will be: arn:aws:glue:us-east-2::registry/default-registry:random-5-letter-id.

                      */ - DagNodes?: CodeGenNode[]; + RegistryId?: RegistryId; /** - *

                      A list of the edges in the DAG.

                      + *

                      Name of the schema to be created of max length of 255, and may only contain letters, numbers, hyphen, underscore, dollar sign, or hash mark. No whitespace.

                      */ - DagEdges?: CodeGenEdge[]; + SchemaName: string | undefined; /** - *

                      The programming language of the resulting code from the DAG.

                      + *

                      The data format of the schema definition. Currently only AVRO is supported.

                      */ - Language?: Language | string; -} - -export namespace CreateScriptRequest { - export const filterSensitiveLog = (obj: CreateScriptRequest): any => ({ - ...obj, - }); -} + DataFormat: DataFormat | string | undefined; -export interface CreateScriptResponse { /** - *

                      The Python script generated from the DAG.

                      + *

                      The compatibility mode of the schema. The possible values are:

                      + * + *
                        + *
                      • + *

                        + * NONE: No compatibility mode applies. You can use this choice in development scenarios or if you do not know the compatibility mode that you want to apply to schemas. Any new version added will be accepted without undergoing a compatibility check.

                        + *
                      • + *
                      • + *

                        + * DISABLED: This compatibility choice prevents versioning for a particular schema. You can use this choice to prevent future versioning of a schema.

                        + *
                      • + *
                      • + *

                        + * BACKWARD: This compatibility choice is recommended as it allows data receivers to read both the current and one previous schema version. This means that for instance, a new schema version cannot drop data fields or change the type of these fields, so they can't be read by readers using the previous version.

                        + *
                      • + *
                      • + *

                        + * BACKWARD_ALL: This compatibility choice allows data receivers to read both the current and all previous schema versions. You can use this choice when you need to delete fields or add optional fields, and check compatibility against all previous schema versions.

                        + *
                      • + *
                      • + *

                        + * FORWARD: This compatibility choice allows data receivers to read both the current and one next schema version, but not necessarily later versions. You can use this choice when you need to add fields or delete optional fields, but only check compatibility against the last schema version.

                        + *
                      • + *
                      • + *

                        + * FORWARD_ALL: This compatibility choice allows data receivers to read written by producers of any new registered schema. You can use this choice when you need to add fields or delete optional fields, and check compatibility against all previous schema versions.

                        + *
                      • + *
                      • + *

                        + * FULL: This compatibility choice allows data receivers to read data written by producers using the previous or next version of the schema, but not necessarily earlier or later versions. You can use this choice when you need to add or remove optional fields, but only check compatibility against the last schema version.

                        + *
                      • + *
                      • + *

                        + * FULL_ALL: This compatibility choice allows data receivers to read data written by producers using all previous schema versions. You can use this choice when you need to add or remove optional fields, and check compatibility against all previous schema versions.

                        + *
                      • + *
                      */ - PythonScript?: string; + Compatibility?: Compatibility | string; /** - *

                      The Scala code generated from the DAG.

                      + *

                      An optional description of the schema. If description is not provided, there will not be any automatic default value for this.

                      */ - ScalaCode?: string; -} - -export namespace CreateScriptResponse { - export const filterSensitiveLog = (obj: CreateScriptResponse): any => ({ - ...obj, - }); -} - -export enum CloudWatchEncryptionMode { - DISABLED = "DISABLED", - SSEKMS = "SSE-KMS", -} + Description?: string; -/** - *

                      Specifies how Amazon CloudWatch data should be encrypted.

                      - */ -export interface CloudWatchEncryption { /** - *

                      The encryption mode to use for CloudWatch data.

                      + *

                      AWS tags that contain a key value pair and may be searched by console, command line, or API. If specified, follows the AWS tags-on-create pattern.

                      */ - CloudWatchEncryptionMode?: CloudWatchEncryptionMode | string; + Tags?: { [key: string]: string }; /** - *

                      The Amazon Resource Name (ARN) of the KMS key to be used to encrypt the data.

                      + *

                      The schema definition using the DataFormat setting for SchemaName.

                      */ - KmsKeyArn?: string; + SchemaDefinition?: string; } -export namespace CloudWatchEncryption { - export const filterSensitiveLog = (obj: CloudWatchEncryption): any => ({ +export namespace CreateSchemaInput { + export const filterSensitiveLog = (obj: CreateSchemaInput): any => ({ ...obj, }); } -export enum JobBookmarksEncryptionMode { - CSEKMS = "CSE-KMS", - DISABLED = "DISABLED", +export enum SchemaStatus { + AVAILABLE = "AVAILABLE", + DELETING = "DELETING", + PENDING = "PENDING", } -/** - *

                      Specifies how job bookmark data should be encrypted.

                      - */ -export interface JobBookmarksEncryption { +export enum SchemaVersionStatus { + AVAILABLE = "AVAILABLE", + DELETING = "DELETING", + FAILURE = "FAILURE", + PENDING = "PENDING", +} + +export interface CreateSchemaResponse { /** - *

                      The Amazon Resource Name (ARN) of the KMS key to be used to encrypt the data.

                      + *

                      The name of the registry.

                      */ - KmsKeyArn?: string; + RegistryName?: string; /** - *

                      The encryption mode to use for job bookmarks data.

                      + *

                      The Amazon Resource Name (ARN) of the registry.

                      */ - JobBookmarksEncryptionMode?: JobBookmarksEncryptionMode | string; -} - -export namespace JobBookmarksEncryption { - export const filterSensitiveLog = (obj: JobBookmarksEncryption): any => ({ - ...obj, - }); -} + RegistryArn?: string; -export enum S3EncryptionMode { - DISABLED = "DISABLED", - SSEKMS = "SSE-KMS", - SSES3 = "SSE-S3", -} + /** + *

                      The name of the schema.

                      + */ + SchemaName?: string; -/** - *

                      Specifies how Amazon Simple Storage Service (Amazon S3) data should be encrypted.

                      - */ -export interface S3Encryption { /** - *

                      The encryption mode to use for Amazon S3 data.

                      + *

                      The Amazon Resource Name (ARN) of the schema.

                      */ - S3EncryptionMode?: S3EncryptionMode | string; + SchemaArn?: string; /** - *

                      The Amazon Resource Name (ARN) of the KMS key to be used to encrypt the data.

                      + *

                      A description of the schema if specified when created.

                      */ - KmsKeyArn?: string; -} + Description?: string; -export namespace S3Encryption { - export const filterSensitiveLog = (obj: S3Encryption): any => ({ - ...obj, - }); -} + /** + *

                      The data format of the schema definition. Currently only AVRO is supported.

                      + */ + DataFormat?: DataFormat | string; -/** - *

                      Specifies an encryption configuration.

                      - */ -export interface EncryptionConfiguration { /** - *

                      The encryption configuration for Amazon CloudWatch.

                      + *

                      The schema compatibility mode.

                      */ - CloudWatchEncryption?: CloudWatchEncryption; + Compatibility?: Compatibility | string; /** - *

                      The encryption configuration for job bookmarks.

                      + *

                      The version number of the checkpoint (the last time the compatibility mode was changed).

                      */ - JobBookmarksEncryption?: JobBookmarksEncryption; + SchemaCheckpoint?: number; /** - *

                      The encryption configuration for Amazon Simple Storage Service (Amazon S3) data.

                      + *

                      The latest version of the schema associated with the returned schema definition.

                      */ - S3Encryption?: S3Encryption[]; -} - -export namespace EncryptionConfiguration { - export const filterSensitiveLog = (obj: EncryptionConfiguration): any => ({ - ...obj, - }); -} + LatestSchemaVersion?: number; -export interface CreateSecurityConfigurationRequest { /** - *

                      The encryption configuration for the new security configuration.

                      + *

                      The next version of the schema associated with the returned schema definition.

                      */ - EncryptionConfiguration: EncryptionConfiguration | undefined; + NextSchemaVersion?: number; /** - *

                      The name for the new security configuration.

                      + *

                      The status of the schema.

                      */ - Name: string | undefined; -} + SchemaStatus?: SchemaStatus | string; -export namespace CreateSecurityConfigurationRequest { - export const filterSensitiveLog = (obj: CreateSecurityConfigurationRequest): any => ({ - ...obj, - }); -} + /** + *

                      The tags for the schema.

                      + */ + Tags?: { [key: string]: string }; -export interface CreateSecurityConfigurationResponse { /** - *

                      The name assigned to the new security configuration.

                      + *

                      The unique identifier of the first schema version.

                      */ - Name?: string; + SchemaVersionId?: string; /** - *

                      The time at which the new security configuration was created.

                      + *

                      The status of the first schema version created.

                      */ - CreatedTimestamp?: Date; + SchemaVersionStatus?: SchemaVersionStatus | string; } -export namespace CreateSecurityConfigurationResponse { - export const filterSensitiveLog = (obj: CreateSecurityConfigurationResponse): any => ({ +export namespace CreateSchemaResponse { + export const filterSensitiveLog = (obj: CreateSchemaResponse): any => ({ ...obj, }); } /** - *

                      A structure for a partition index.

                      + *

                      Represents a directional edge in a directed acyclic graph (DAG).

                      */ -export interface PartitionIndex { +export interface CodeGenEdge { /** - *

                      The keys for the partition index.

                      + *

                      The ID of the node at which the edge starts.

                      */ - Keys: string[] | undefined; + Source: string | undefined; /** - *

                      The name of the partition index.

                      + *

                      The ID of the node at which the edge ends.

                      */ - IndexName: string | undefined; + Target: string | undefined; + + /** + *

                      The target of the edge.

                      + */ + TargetParameter?: string; } -export namespace PartitionIndex { - export const filterSensitiveLog = (obj: PartitionIndex): any => ({ +export namespace CodeGenEdge { + export const filterSensitiveLog = (obj: CodeGenEdge): any => ({ ...obj, }); } /** - *

                      A structure that describes a target table for resource linking.

                      + *

                      An argument or property of a node.

                      */ -export interface TableIdentifier { +export interface CodeGenNodeArg { /** - *

                      The name of the catalog database that contains the target table.

                      + *

                      The name of the argument or property.

                      */ - DatabaseName?: string; + Name: string | undefined; /** - *

                      The name of the target table.

                      + *

                      The value of the argument or property.

                      */ - Name?: string; + Value: string | undefined; /** - *

                      The ID of the Data Catalog in which the table resides.

                      + *

                      True if the value is used as a parameter.

                      */ - CatalogId?: string; + Param?: boolean; } -export namespace TableIdentifier { - export const filterSensitiveLog = (obj: TableIdentifier): any => ({ +export namespace CodeGenNodeArg { + export const filterSensitiveLog = (obj: CodeGenNodeArg): any => ({ ...obj, }); } /** - *

                      A structure used to define a table.

                      + *

                      Represents a node in a directed acyclic graph (DAG)

                      */ -export interface TableInput { - /** - *

                      The table name. For Hive compatibility, this is folded to - * lowercase when it is stored.

                      - */ - Name: string | undefined; - +export interface CodeGenNode { /** - *

                      A storage descriptor containing information about the physical storage - * of this table.

                      + *

                      A node identifier that is unique within the node's graph.

                      */ - StorageDescriptor?: StorageDescriptor; + Id: string | undefined; /** - *

                      The retention time for this table.

                      + *

                      The type of node that this is.

                      */ - Retention?: number; + NodeType: string | undefined; /** - *

                      A description of the table.

                      + *

                      Properties of the node, in the form of name-value pairs.

                      */ - Description?: string; + Args: CodeGenNodeArg[] | undefined; /** - *

                      These key-value pairs define properties associated with the table.

                      + *

                      The line number of the node.

                      */ - Parameters?: { [key: string]: string }; + LineNumber?: number; +} - /** - *

                      The type of this table (EXTERNAL_TABLE, VIRTUAL_VIEW, etc.).

                      - */ - TableType?: string; +export namespace CodeGenNode { + export const filterSensitiveLog = (obj: CodeGenNode): any => ({ + ...obj, + }); +} - /** - *

                      A TableIdentifier structure that describes a target table for resource linking.

                      - */ - TargetTable?: TableIdentifier; +export enum Language { + PYTHON = "PYTHON", + SCALA = "SCALA", +} +export interface CreateScriptRequest { /** - *

                      A list of columns by which the table is partitioned. Only primitive - * types are supported as partition keys.

                      - *

                      When you create a table used by Amazon Athena, and you do not specify any - * partitionKeys, you must at least set the value of partitionKeys to - * an empty list. For example:

                      - *

                      - * "PartitionKeys": [] - *

                      + *

                      A list of the nodes in the DAG.

                      */ - PartitionKeys?: Column[]; + DagNodes?: CodeGenNode[]; /** - *

                      The last time that the table was accessed.

                      + *

                      A list of the edges in the DAG.

                      */ - LastAccessTime?: Date; + DagEdges?: CodeGenEdge[]; /** - *

                      The table owner.

                      + *

                      The programming language of the resulting code from the DAG.

                      */ - Owner?: string; + Language?: Language | string; +} - /** - *

                      If the table is a view, the original text of the view; otherwise null.

                      - */ - ViewOriginalText?: string; +export namespace CreateScriptRequest { + export const filterSensitiveLog = (obj: CreateScriptRequest): any => ({ + ...obj, + }); +} +export interface CreateScriptResponse { /** - *

                      If the table is a view, the expanded text of the view; otherwise null.

                      + *

                      The Python script generated from the DAG.

                      */ - ViewExpandedText?: string; + PythonScript?: string; /** - *

                      The last time that column statistics were computed for this table.

                      + *

                      The Scala code generated from the DAG.

                      */ - LastAnalyzedTime?: Date; + ScalaCode?: string; } -export namespace TableInput { - export const filterSensitiveLog = (obj: TableInput): any => ({ +export namespace CreateScriptResponse { + export const filterSensitiveLog = (obj: CreateScriptResponse): any => ({ ...obj, }); } -export interface CreateTableRequest { +export enum CloudWatchEncryptionMode { + DISABLED = "DISABLED", + SSEKMS = "SSE-KMS", +} + +/** + *

                      Specifies how Amazon CloudWatch data should be encrypted.

                      + */ +export interface CloudWatchEncryption { /** - *

                      The catalog database in which to create the new table. For Hive - * compatibility, this name is entirely lowercase.

                      + *

                      The encryption mode to use for CloudWatch data.

                      */ - DatabaseName: string | undefined; + CloudWatchEncryptionMode?: CloudWatchEncryptionMode | string; /** - *

                      The ID of the Data Catalog in which to create the Table. - * If none is supplied, the AWS account ID is used by default.

                      + *

                      The Amazon Resource Name (ARN) of the KMS key to be used to encrypt the data.

                      */ - CatalogId?: string; + KmsKeyArn?: string; +} + +export namespace CloudWatchEncryption { + export const filterSensitiveLog = (obj: CloudWatchEncryption): any => ({ + ...obj, + }); +} + +export enum JobBookmarksEncryptionMode { + CSEKMS = "CSE-KMS", + DISABLED = "DISABLED", +} +/** + *

                      Specifies how job bookmark data should be encrypted.

                      + */ +export interface JobBookmarksEncryption { /** - *

                      The TableInput object that defines the metadata table - * to create in the catalog.

                      + *

                      The encryption mode to use for job bookmarks data.

                      */ - TableInput: TableInput | undefined; + JobBookmarksEncryptionMode?: JobBookmarksEncryptionMode | string; /** - *

                      A list of partition indexes, PartitionIndex structures, to create in the table.

                      + *

                      The Amazon Resource Name (ARN) of the KMS key to be used to encrypt the data.

                      */ - PartitionIndexes?: PartitionIndex[]; + KmsKeyArn?: string; } -export namespace CreateTableRequest { - export const filterSensitiveLog = (obj: CreateTableRequest): any => ({ +export namespace JobBookmarksEncryption { + export const filterSensitiveLog = (obj: JobBookmarksEncryption): any => ({ ...obj, }); } -export interface CreateTableResponse {} - -export namespace CreateTableResponse { - export const filterSensitiveLog = (obj: CreateTableResponse): any => ({ - ...obj, - }); +export enum S3EncryptionMode { + DISABLED = "DISABLED", + SSEKMS = "SSE-KMS", + SSES3 = "SSE-S3", } -export interface CreateTriggerRequest { +/** + *

                      Specifies how Amazon Simple Storage Service (Amazon S3) data should be encrypted.

                      + */ +export interface S3Encryption { /** - *

                      The name of the trigger.

                      + *

                      The encryption mode to use for Amazon S3 data.

                      */ - Name: string | undefined; + S3EncryptionMode?: S3EncryptionMode | string; /** - *

                      A cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run - * something every day at 12:15 UTC, you would specify: - * cron(15 12 * * ? *).

                      - *

                      This field is required when the trigger type is SCHEDULED.

                      + *

                      The Amazon Resource Name (ARN) of the KMS key to be used to encrypt the data.

                      */ - Schedule?: string; + KmsKeyArn?: string; +} - /** - *

                      The type of the new trigger.

                      - */ - Type: TriggerType | string | undefined; +export namespace S3Encryption { + export const filterSensitiveLog = (obj: S3Encryption): any => ({ + ...obj, + }); +} +/** + *

                      Specifies an encryption configuration.

                      + */ +export interface EncryptionConfiguration { /** - *

                      The actions initiated by this trigger when it fires.

                      + *

                      The encryption configuration for Amazon Simple Storage Service (Amazon S3) data.

                      */ - Actions: Action[] | undefined; + S3Encryption?: S3Encryption[]; /** - *

                      Set to true to start SCHEDULED and CONDITIONAL - * triggers when created. True is not supported for ON_DEMAND triggers.

                      + *

                      The encryption configuration for Amazon CloudWatch.

                      */ - StartOnCreation?: boolean; + CloudWatchEncryption?: CloudWatchEncryption; /** - *

                      The name of the workflow associated with the trigger.

                      + *

                      The encryption configuration for job bookmarks.

                      */ - WorkflowName?: string; + JobBookmarksEncryption?: JobBookmarksEncryption; +} - /** - *

                      The tags to use with this trigger. You may use tags to limit access to the trigger. - * For more information about tags in AWS Glue, see - * AWS Tags in AWS - * Glue in the developer guide.

                      - */ - Tags?: { [key: string]: string }; +export namespace EncryptionConfiguration { + export const filterSensitiveLog = (obj: EncryptionConfiguration): any => ({ + ...obj, + }); +} +export interface CreateSecurityConfigurationRequest { /** - *

                      A predicate to specify when the new trigger should fire.

                      - *

                      This field is required when the trigger type is CONDITIONAL.

                      + *

                      The name for the new security configuration.

                      */ - Predicate?: Predicate; + Name: string | undefined; /** - *

                      A description of the new trigger.

                      + *

                      The encryption configuration for the new security configuration.

                      */ - Description?: string; + EncryptionConfiguration: EncryptionConfiguration | undefined; } -export namespace CreateTriggerRequest { - export const filterSensitiveLog = (obj: CreateTriggerRequest): any => ({ +export namespace CreateSecurityConfigurationRequest { + export const filterSensitiveLog = (obj: CreateSecurityConfigurationRequest): any => ({ ...obj, }); } -export interface CreateTriggerResponse { +export interface CreateSecurityConfigurationResponse { /** - *

                      The name of the trigger.

                      + *

                      The name assigned to the new security configuration.

                      */ Name?: string; + + /** + *

                      The time at which the new security configuration was created.

                      + */ + CreatedTimestamp?: Date; } -export namespace CreateTriggerResponse { - export const filterSensitiveLog = (obj: CreateTriggerResponse): any => ({ +export namespace CreateSecurityConfigurationResponse { + export const filterSensitiveLog = (obj: CreateSecurityConfigurationResponse): any => ({ ...obj, }); } -export enum PrincipalType { - GROUP = "GROUP", - ROLE = "ROLE", - USER = "USER", -} - -export enum ResourceType { - ARCHIVE = "ARCHIVE", - FILE = "FILE", - JAR = "JAR", -} - /** - *

                      The URIs for function resources.

                      + *

                      A structure for a partition index.

                      */ -export interface ResourceUri { +export interface PartitionIndex { /** - *

                      The type of the resource.

                      + *

                      The keys for the partition index.

                      */ - ResourceType?: ResourceType | string; + Keys: string[] | undefined; /** - *

                      The URI for accessing the resource.

                      + *

                      The name of the partition index.

                      */ - Uri?: string; + IndexName: string | undefined; } -export namespace ResourceUri { - export const filterSensitiveLog = (obj: ResourceUri): any => ({ +export namespace PartitionIndex { + export const filterSensitiveLog = (obj: PartitionIndex): any => ({ ...obj, }); } /** - *

                      A structure used to create or update a user-defined function.

                      + *

                      A structure that describes a target table for resource linking.

                      */ -export interface UserDefinedFunctionInput { - /** - *

                      The Java class that contains the function code.

                      - */ - ClassName?: string; - - /** - *

                      The name of the function.

                      - */ - FunctionName?: string; - +export interface TableIdentifier { /** - *

                      The owner type.

                      + *

                      The ID of the Data Catalog in which the table resides.

                      */ - OwnerType?: PrincipalType | string; + CatalogId?: string; /** - *

                      The resource URIs for the function.

                      + *

                      The name of the catalog database that contains the target table.

                      */ - ResourceUris?: ResourceUri[]; + DatabaseName?: string; /** - *

                      The owner of the function.

                      + *

                      The name of the target table.

                      */ - OwnerName?: string; + Name?: string; } -export namespace UserDefinedFunctionInput { - export const filterSensitiveLog = (obj: UserDefinedFunctionInput): any => ({ +export namespace TableIdentifier { + export const filterSensitiveLog = (obj: TableIdentifier): any => ({ ...obj, }); } -export interface CreateUserDefinedFunctionRequest { +/** + *

                      A structure used to define a table.

                      + */ +export interface TableInput { /** - *

                      A FunctionInput object that defines the function - * to create in the Data Catalog.

                      + *

                      The table name. For Hive compatibility, this is folded to + * lowercase when it is stored.

                      */ - FunctionInput: UserDefinedFunctionInput | undefined; + Name: string | undefined; /** - *

                      The name of the catalog database in which to create the function.

                      + *

                      A description of the table.

                      */ - DatabaseName: string | undefined; + Description?: string; /** - *

                      The ID of the Data Catalog in which to create the function. If none is provided, the AWS - * account ID is used by default.

                      + *

                      The table owner.

                      */ - CatalogId?: string; -} - -export namespace CreateUserDefinedFunctionRequest { - export const filterSensitiveLog = (obj: CreateUserDefinedFunctionRequest): any => ({ - ...obj, - }); -} - -export interface CreateUserDefinedFunctionResponse {} - -export namespace CreateUserDefinedFunctionResponse { - export const filterSensitiveLog = (obj: CreateUserDefinedFunctionResponse): any => ({ - ...obj, - }); -} + Owner?: string; -export interface CreateWorkflowRequest { /** - *

                      A description of the workflow.

                      + *

                      The last time that the table was accessed.

                      */ - Description?: string; + LastAccessTime?: Date; /** - *

                      The name to be assigned to the workflow. It should be unique within your account.

                      + *

                      The last time that column statistics were computed for this table.

                      */ - Name: string | undefined; + LastAnalyzedTime?: Date; /** - *

                      You can use this parameter to prevent unwanted multiple updates to data, to control costs, or in some cases, to prevent exceeding the maximum number of concurrent runs of any of the component jobs. If you leave this parameter blank, there is no limit to the number of concurrent workflow runs.

                      + *

                      The retention time for this table.

                      */ - MaxConcurrentRuns?: number; + Retention?: number; /** - *

                      A collection of properties to be used as part of each execution of the workflow.

                      + *

                      A storage descriptor containing information about the physical storage + * of this table.

                      */ - DefaultRunProperties?: { [key: string]: string }; + StorageDescriptor?: StorageDescriptor; /** - *

                      The tags to be used with this workflow.

                      + *

                      A list of columns by which the table is partitioned. Only primitive + * types are supported as partition keys.

                      + *

                      When you create a table used by Amazon Athena, and you do not specify any + * partitionKeys, you must at least set the value of partitionKeys to + * an empty list. For example:

                      + *

                      + * "PartitionKeys": [] + *

                      */ - Tags?: { [key: string]: string }; -} + PartitionKeys?: Column[]; -export namespace CreateWorkflowRequest { - export const filterSensitiveLog = (obj: CreateWorkflowRequest): any => ({ - ...obj, - }); -} + /** + *

                      If the table is a view, the original text of the view; otherwise null.

                      + */ + ViewOriginalText?: string; -export interface CreateWorkflowResponse { /** - *

                      The name of the workflow which was provided as part of the request.

                      + *

                      If the table is a view, the expanded text of the view; otherwise null.

                      */ - Name?: string; -} + ViewExpandedText?: string; -export namespace CreateWorkflowResponse { - export const filterSensitiveLog = (obj: CreateWorkflowResponse): any => ({ - ...obj, - }); -} + /** + *

                      The type of this table (EXTERNAL_TABLE, VIRTUAL_VIEW, etc.).

                      + */ + TableType?: string; -export interface DeleteClassifierRequest { /** - *

                      Name of the classifier to remove.

                      + *

                      These key-value pairs define properties associated with the table.

                      */ - Name: string | undefined; -} + Parameters?: { [key: string]: string }; -export namespace DeleteClassifierRequest { - export const filterSensitiveLog = (obj: DeleteClassifierRequest): any => ({ - ...obj, - }); + /** + *

                      A TableIdentifier structure that describes a target table for resource linking.

                      + */ + TargetTable?: TableIdentifier; } -export interface DeleteClassifierResponse {} - -export namespace DeleteClassifierResponse { - export const filterSensitiveLog = (obj: DeleteClassifierResponse): any => ({ +export namespace TableInput { + export const filterSensitiveLog = (obj: TableInput): any => ({ ...obj, }); } -export interface DeleteColumnStatisticsForPartitionRequest { +export interface CreateTableRequest { /** - *

                      A list of partition values identifying the partition.

                      + *

                      The ID of the Data Catalog in which to create the Table. + * If none is supplied, the AWS account ID is used by default.

                      */ - PartitionValues: string[] | undefined; + CatalogId?: string; /** - *

                      The name of the catalog database where the partitions reside.

                      + *

                      The catalog database in which to create the new table. For Hive + * compatibility, this name is entirely lowercase.

                      */ DatabaseName: string | undefined; /** - *

                      The ID of the Data Catalog where the partitions in question reside. - * If none is supplied, the AWS account ID is used by default.

                      - */ - CatalogId?: string; - - /** - *

                      Name of the column.

                      + *

                      The TableInput object that defines the metadata table + * to create in the catalog.

                      */ - ColumnName: string | undefined; + TableInput: TableInput | undefined; /** - *

                      The name of the partitions' table.

                      + *

                      A list of partition indexes, PartitionIndex structures, to create in the table.

                      */ - TableName: string | undefined; + PartitionIndexes?: PartitionIndex[]; } -export namespace DeleteColumnStatisticsForPartitionRequest { - export const filterSensitiveLog = (obj: DeleteColumnStatisticsForPartitionRequest): any => ({ +export namespace CreateTableRequest { + export const filterSensitiveLog = (obj: CreateTableRequest): any => ({ ...obj, }); } -export interface DeleteColumnStatisticsForPartitionResponse {} +export interface CreateTableResponse {} -export namespace DeleteColumnStatisticsForPartitionResponse { - export const filterSensitiveLog = (obj: DeleteColumnStatisticsForPartitionResponse): any => ({ +export namespace CreateTableResponse { + export const filterSensitiveLog = (obj: CreateTableResponse): any => ({ ...obj, }); } -export interface DeleteColumnStatisticsForTableRequest { +export interface CreateTriggerRequest { /** - *

                      The ID of the Data Catalog where the partitions in question reside. - * If none is supplied, the AWS account ID is used by default.

                      + *

                      The name of the trigger.

                      */ - CatalogId?: string; + Name: string | undefined; /** - *

                      The name of the partitions' table.

                      + *

                      The name of the workflow associated with the trigger.

                      */ - TableName: string | undefined; + WorkflowName?: string; /** - *

                      The name of the column.

                      + *

                      The type of the new trigger.

                      */ - ColumnName: string | undefined; + Type: TriggerType | string | undefined; /** - *

                      The name of the catalog database where the partitions reside.

                      + *

                      A cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run + * something every day at 12:15 UTC, you would specify: + * cron(15 12 * * ? *).

                      + *

                      This field is required when the trigger type is SCHEDULED.

                      */ - DatabaseName: string | undefined; -} + Schedule?: string; -export namespace DeleteColumnStatisticsForTableRequest { - export const filterSensitiveLog = (obj: DeleteColumnStatisticsForTableRequest): any => ({ - ...obj, - }); -} + /** + *

                      A predicate to specify when the new trigger should fire.

                      + *

                      This field is required when the trigger type is CONDITIONAL.

                      + */ + Predicate?: Predicate; -export interface DeleteColumnStatisticsForTableResponse {} + /** + *

                      The actions initiated by this trigger when it fires.

                      + */ + Actions: Action[] | undefined; -export namespace DeleteColumnStatisticsForTableResponse { - export const filterSensitiveLog = (obj: DeleteColumnStatisticsForTableResponse): any => ({ - ...obj, - }); -} + /** + *

                      A description of the new trigger.

                      + */ + Description?: string; -export interface DeleteConnectionRequest { /** - *

                      The ID of the Data Catalog in which the connection resides. If none is provided, the AWS - * account ID is used by default.

                      + *

                      Set to true to start SCHEDULED and CONDITIONAL + * triggers when created. True is not supported for ON_DEMAND triggers.

                      */ - CatalogId?: string; + StartOnCreation?: boolean; /** - *

                      The name of the connection to delete.

                      + *

                      The tags to use with this trigger. You may use tags to limit access to the trigger. + * For more information about tags in AWS Glue, see + * AWS Tags in AWS + * Glue in the developer guide.

                      */ - ConnectionName: string | undefined; + Tags?: { [key: string]: string }; } -export namespace DeleteConnectionRequest { - export const filterSensitiveLog = (obj: DeleteConnectionRequest): any => ({ +export namespace CreateTriggerRequest { + export const filterSensitiveLog = (obj: CreateTriggerRequest): any => ({ ...obj, }); } -export interface DeleteConnectionResponse {} +export interface CreateTriggerResponse { + /** + *

                      The name of the trigger.

                      + */ + Name?: string; +} -export namespace DeleteConnectionResponse { - export const filterSensitiveLog = (obj: DeleteConnectionResponse): any => ({ +export namespace CreateTriggerResponse { + export const filterSensitiveLog = (obj: CreateTriggerResponse): any => ({ ...obj, }); } +export enum PrincipalType { + GROUP = "GROUP", + ROLE = "ROLE", + USER = "USER", +} + +export enum ResourceType { + ARCHIVE = "ARCHIVE", + FILE = "FILE", + JAR = "JAR", +} + /** - *

                      The operation cannot be performed because the crawler is already running.

                      + *

                      The URIs for function resources.

                      */ -export interface CrawlerRunningException extends __SmithyException, $MetadataBearer { - name: "CrawlerRunningException"; - $fault: "client"; +export interface ResourceUri { /** - *

                      A message describing the problem.

                      + *

                      The type of the resource.

                      */ - Message?: string; + ResourceType?: ResourceType | string; + + /** + *

                      The URI for accessing the resource.

                      + */ + Uri?: string; } -export namespace CrawlerRunningException { - export const filterSensitiveLog = (obj: CrawlerRunningException): any => ({ +export namespace ResourceUri { + export const filterSensitiveLog = (obj: ResourceUri): any => ({ ...obj, }); } -export interface DeleteCrawlerRequest { +/** + *

                      A structure used to create or update a user-defined function.

                      + */ +export interface UserDefinedFunctionInput { /** - *

                      The name of the crawler to remove.

                      + *

                      The name of the function.

                      */ - Name: string | undefined; -} + FunctionName?: string; -export namespace DeleteCrawlerRequest { - export const filterSensitiveLog = (obj: DeleteCrawlerRequest): any => ({ - ...obj, - }); -} + /** + *

                      The Java class that contains the function code.

                      + */ + ClassName?: string; -export interface DeleteCrawlerResponse {} + /** + *

                      The owner of the function.

                      + */ + OwnerName?: string; -export namespace DeleteCrawlerResponse { - export const filterSensitiveLog = (obj: DeleteCrawlerResponse): any => ({ - ...obj, - }); -} + /** + *

                      The owner type.

                      + */ + OwnerType?: PrincipalType | string; -/** - *

                      The specified scheduler is transitioning.

                      - */ -export interface SchedulerTransitioningException extends __SmithyException, $MetadataBearer { - name: "SchedulerTransitioningException"; - $fault: "client"; /** - *

                      A message describing the problem.

                      + *

                      The resource URIs for the function.

                      */ - Message?: string; + ResourceUris?: ResourceUri[]; } -export namespace SchedulerTransitioningException { - export const filterSensitiveLog = (obj: SchedulerTransitioningException): any => ({ +export namespace UserDefinedFunctionInput { + export const filterSensitiveLog = (obj: UserDefinedFunctionInput): any => ({ ...obj, }); } -export interface DeleteDatabaseRequest { +export interface CreateUserDefinedFunctionRequest { /** - *

                      The ID of the Data Catalog in which the database resides. If none is provided, the AWS + *

                      The ID of the Data Catalog in which to create the function. If none is provided, the AWS * account ID is used by default.

                      */ CatalogId?: string; /** - *

                      The name of the database to delete. For Hive compatibility, this must be all - * lowercase.

                      + *

                      The name of the catalog database in which to create the function.

                      */ - Name: string | undefined; + DatabaseName: string | undefined; + + /** + *

                      A FunctionInput object that defines the function + * to create in the Data Catalog.

                      + */ + FunctionInput: UserDefinedFunctionInput | undefined; } -export namespace DeleteDatabaseRequest { - export const filterSensitiveLog = (obj: DeleteDatabaseRequest): any => ({ +export namespace CreateUserDefinedFunctionRequest { + export const filterSensitiveLog = (obj: CreateUserDefinedFunctionRequest): any => ({ ...obj, }); } -export interface DeleteDatabaseResponse {} +export interface CreateUserDefinedFunctionResponse {} -export namespace DeleteDatabaseResponse { - export const filterSensitiveLog = (obj: DeleteDatabaseResponse): any => ({ +export namespace CreateUserDefinedFunctionResponse { + export const filterSensitiveLog = (obj: CreateUserDefinedFunctionResponse): any => ({ ...obj, }); } -export interface DeleteDevEndpointRequest { +export interface CreateWorkflowRequest { /** - *

                      The name of the DevEndpoint.

                      + *

                      The name to be assigned to the workflow. It should be unique within your account.

                      */ - EndpointName: string | undefined; -} + Name: string | undefined; -export namespace DeleteDevEndpointRequest { - export const filterSensitiveLog = (obj: DeleteDevEndpointRequest): any => ({ - ...obj, - }); -} + /** + *

                      A description of the workflow.

                      + */ + Description?: string; -export interface DeleteDevEndpointResponse {} + /** + *

                      A collection of properties to be used as part of each execution of the workflow.

                      + */ + DefaultRunProperties?: { [key: string]: string }; -export namespace DeleteDevEndpointResponse { - export const filterSensitiveLog = (obj: DeleteDevEndpointResponse): any => ({ - ...obj, - }); -} + /** + *

                      The tags to be used with this workflow.

                      + */ + Tags?: { [key: string]: string }; -export interface DeleteJobRequest { /** - *

                      The name of the job definition to delete.

                      + *

                      You can use this parameter to prevent unwanted multiple updates to data, to control costs, or in some cases, to prevent exceeding the maximum number of concurrent runs of any of the component jobs. If you leave this parameter blank, there is no limit to the number of concurrent workflow runs.

                      */ - JobName: string | undefined; + MaxConcurrentRuns?: number; } -export namespace DeleteJobRequest { - export const filterSensitiveLog = (obj: DeleteJobRequest): any => ({ +export namespace CreateWorkflowRequest { + export const filterSensitiveLog = (obj: CreateWorkflowRequest): any => ({ ...obj, }); } -export interface DeleteJobResponse { +export interface CreateWorkflowResponse { /** - *

                      The name of the job definition that was deleted.

                      + *

                      The name of the workflow which was provided as part of the request.

                      */ - JobName?: string; + Name?: string; } -export namespace DeleteJobResponse { - export const filterSensitiveLog = (obj: DeleteJobResponse): any => ({ +export namespace CreateWorkflowResponse { + export const filterSensitiveLog = (obj: CreateWorkflowResponse): any => ({ ...obj, }); } -export interface DeleteMLTransformRequest { +export interface DeleteClassifierRequest { /** - *

                      The unique identifier of the transform to delete.

                      + *

                      Name of the classifier to remove.

                      */ - TransformId: string | undefined; + Name: string | undefined; } -export namespace DeleteMLTransformRequest { - export const filterSensitiveLog = (obj: DeleteMLTransformRequest): any => ({ +export namespace DeleteClassifierRequest { + export const filterSensitiveLog = (obj: DeleteClassifierRequest): any => ({ ...obj, }); } -export interface DeleteMLTransformResponse { - /** - *

                      The unique identifier of the transform that was deleted.

                      - */ - TransformId?: string; -} +export interface DeleteClassifierResponse {} -export namespace DeleteMLTransformResponse { - export const filterSensitiveLog = (obj: DeleteMLTransformResponse): any => ({ +export namespace DeleteClassifierResponse { + export const filterSensitiveLog = (obj: DeleteClassifierResponse): any => ({ ...obj, }); } -export interface DeletePartitionRequest { +export interface DeleteColumnStatisticsForPartitionRequest { /** - *

                      The ID of the Data Catalog where the partition to be deleted resides. If none is provided, - * the AWS account ID is used by default.

                      + *

                      The ID of the Data Catalog where the partitions in question reside. + * If none is supplied, the AWS account ID is used by default.

                      */ CatalogId?: string; /** - *

                      The values that define the partition.

                      - */ - PartitionValues: string[] | undefined; - - /** - *

                      The name of the catalog database in which the table in question - * resides.

                      + *

                      The name of the catalog database where the partitions reside.

                      */ DatabaseName: string | undefined; /** - *

                      The name of the table that contains the partition to be deleted.

                      + *

                      The name of the partitions' table.

                      */ TableName: string | undefined; -} -export namespace DeletePartitionRequest { - export const filterSensitiveLog = (obj: DeletePartitionRequest): any => ({ + /** + *

                      A list of partition values identifying the partition.

                      + */ + PartitionValues: string[] | undefined; + + /** + *

                      Name of the column.

                      + */ + ColumnName: string | undefined; +} + +export namespace DeleteColumnStatisticsForPartitionRequest { + export const filterSensitiveLog = (obj: DeleteColumnStatisticsForPartitionRequest): any => ({ ...obj, }); } -export interface DeletePartitionResponse {} +export interface DeleteColumnStatisticsForPartitionResponse {} -export namespace DeletePartitionResponse { - export const filterSensitiveLog = (obj: DeletePartitionResponse): any => ({ +export namespace DeleteColumnStatisticsForPartitionResponse { + export const filterSensitiveLog = (obj: DeleteColumnStatisticsForPartitionResponse): any => ({ ...obj, }); } -/** - *

                      A specified condition was not satisfied.

                      - */ -export interface ConditionCheckFailureException extends __SmithyException, $MetadataBearer { - name: "ConditionCheckFailureException"; - $fault: "client"; +export interface DeleteColumnStatisticsForTableRequest { /** - *

                      A message describing the problem.

                      + *

                      The ID of the Data Catalog where the partitions in question reside. + * If none is supplied, the AWS account ID is used by default.

                      */ - Message?: string; -} + CatalogId?: string; -export namespace ConditionCheckFailureException { - export const filterSensitiveLog = (obj: ConditionCheckFailureException): any => ({ - ...obj, - }); -} + /** + *

                      The name of the catalog database where the partitions reside.

                      + */ + DatabaseName: string | undefined; -export interface DeleteResourcePolicyRequest { /** - *

                      The hash value returned when this policy was set.

                      + *

                      The name of the partitions' table.

                      */ - PolicyHashCondition?: string; + TableName: string | undefined; /** - *

                      The ARN of the AWS Glue resource for the resource policy to be deleted.

                      + *

                      The name of the column.

                      */ - ResourceArn?: string; + ColumnName: string | undefined; } -export namespace DeleteResourcePolicyRequest { - export const filterSensitiveLog = (obj: DeleteResourcePolicyRequest): any => ({ +export namespace DeleteColumnStatisticsForTableRequest { + export const filterSensitiveLog = (obj: DeleteColumnStatisticsForTableRequest): any => ({ ...obj, }); } -export interface DeleteResourcePolicyResponse {} +export interface DeleteColumnStatisticsForTableResponse {} -export namespace DeleteResourcePolicyResponse { - export const filterSensitiveLog = (obj: DeleteResourcePolicyResponse): any => ({ +export namespace DeleteColumnStatisticsForTableResponse { + export const filterSensitiveLog = (obj: DeleteColumnStatisticsForTableResponse): any => ({ ...obj, }); } -export interface DeleteSecurityConfigurationRequest { +export interface DeleteConnectionRequest { /** - *

                      The name of the security configuration to delete.

                      + *

                      The ID of the Data Catalog in which the connection resides. If none is provided, the AWS + * account ID is used by default.

                      */ - Name: string | undefined; + CatalogId?: string; + + /** + *

                      The name of the connection to delete.

                      + */ + ConnectionName: string | undefined; } -export namespace DeleteSecurityConfigurationRequest { - export const filterSensitiveLog = (obj: DeleteSecurityConfigurationRequest): any => ({ +export namespace DeleteConnectionRequest { + export const filterSensitiveLog = (obj: DeleteConnectionRequest): any => ({ ...obj, }); } -export interface DeleteSecurityConfigurationResponse {} +export interface DeleteConnectionResponse {} -export namespace DeleteSecurityConfigurationResponse { - export const filterSensitiveLog = (obj: DeleteSecurityConfigurationResponse): any => ({ +export namespace DeleteConnectionResponse { + export const filterSensitiveLog = (obj: DeleteConnectionResponse): any => ({ ...obj, }); } -export interface DeleteTableRequest { +/** + *

                      The operation cannot be performed because the crawler is already running.

                      + */ +export interface CrawlerRunningException extends __SmithyException, $MetadataBearer { + name: "CrawlerRunningException"; + $fault: "client"; /** - *

                      The ID of the Data Catalog where the table resides. If none is provided, the AWS account - * ID is used by default.

                      + *

                      A message describing the problem.

                      */ - CatalogId?: string; + Message?: string; +} - /** - *

                      The name of the table to be deleted. For Hive - * compatibility, this name is entirely lowercase.

                      - */ - Name: string | undefined; +export namespace CrawlerRunningException { + export const filterSensitiveLog = (obj: CrawlerRunningException): any => ({ + ...obj, + }); +} +export interface DeleteCrawlerRequest { /** - *

                      The name of the catalog database in which the table resides. For Hive - * compatibility, this name is entirely lowercase.

                      + *

                      The name of the crawler to remove.

                      */ - DatabaseName: string | undefined; + Name: string | undefined; } -export namespace DeleteTableRequest { - export const filterSensitiveLog = (obj: DeleteTableRequest): any => ({ +export namespace DeleteCrawlerRequest { + export const filterSensitiveLog = (obj: DeleteCrawlerRequest): any => ({ ...obj, }); } -export interface DeleteTableResponse {} +export interface DeleteCrawlerResponse {} -export namespace DeleteTableResponse { - export const filterSensitiveLog = (obj: DeleteTableResponse): any => ({ +export namespace DeleteCrawlerResponse { + export const filterSensitiveLog = (obj: DeleteCrawlerResponse): any => ({ ...obj, }); } -export interface DeleteTableVersionRequest { +/** + *

                      The specified scheduler is transitioning.

                      + */ +export interface SchedulerTransitioningException extends __SmithyException, $MetadataBearer { + name: "SchedulerTransitioningException"; + $fault: "client"; /** - *

                      The name of the table. For Hive compatibility, - * this name is entirely lowercase.

                      + *

                      A message describing the problem.

                      */ - TableName: string | undefined; + Message?: string; +} - /** - *

                      The ID of the Data Catalog where the tables reside. If none is provided, the AWS account - * ID is used by default.

                      - */ - CatalogId?: string; +export namespace SchedulerTransitioningException { + export const filterSensitiveLog = (obj: SchedulerTransitioningException): any => ({ + ...obj, + }); +} +export interface DeleteDatabaseRequest { /** - *

                      The database in the catalog in which the table resides. For Hive - * compatibility, this name is entirely lowercase.

                      + *

                      The ID of the Data Catalog in which the database resides. If none is provided, the AWS + * account ID is used by default.

                      */ - DatabaseName: string | undefined; + CatalogId?: string; /** - *

                      The ID of the table version to be deleted. A VersionID is a string representation of an integer. Each version is incremented by 1.

                      + *

                      The name of the database to delete. For Hive compatibility, this must be all + * lowercase.

                      */ - VersionId: string | undefined; + Name: string | undefined; } -export namespace DeleteTableVersionRequest { - export const filterSensitiveLog = (obj: DeleteTableVersionRequest): any => ({ +export namespace DeleteDatabaseRequest { + export const filterSensitiveLog = (obj: DeleteDatabaseRequest): any => ({ ...obj, }); } -export interface DeleteTableVersionResponse {} +export interface DeleteDatabaseResponse {} -export namespace DeleteTableVersionResponse { - export const filterSensitiveLog = (obj: DeleteTableVersionResponse): any => ({ +export namespace DeleteDatabaseResponse { + export const filterSensitiveLog = (obj: DeleteDatabaseResponse): any => ({ ...obj, }); } -export interface DeleteTriggerRequest { +export interface DeleteDevEndpointRequest { /** - *

                      The name of the trigger to delete.

                      + *

                      The name of the DevEndpoint.

                      */ - Name: string | undefined; + EndpointName: string | undefined; } -export namespace DeleteTriggerRequest { - export const filterSensitiveLog = (obj: DeleteTriggerRequest): any => ({ +export namespace DeleteDevEndpointRequest { + export const filterSensitiveLog = (obj: DeleteDevEndpointRequest): any => ({ ...obj, }); } -export interface DeleteTriggerResponse { - /** - *

                      The name of the trigger that was deleted.

                      - */ - Name?: string; -} +export interface DeleteDevEndpointResponse {} -export namespace DeleteTriggerResponse { - export const filterSensitiveLog = (obj: DeleteTriggerResponse): any => ({ +export namespace DeleteDevEndpointResponse { + export const filterSensitiveLog = (obj: DeleteDevEndpointResponse): any => ({ ...obj, }); } -export interface DeleteUserDefinedFunctionRequest { - /** - *

                      The name of the function definition to be deleted.

                      - */ - FunctionName: string | undefined; - - /** - *

                      The name of the catalog database where the function is located.

                      - */ - DatabaseName: string | undefined; - +export interface DeleteJobRequest { /** - *

                      The ID of the Data Catalog where the function to be deleted is - * located. If none is supplied, the AWS account ID is used by default.

                      + *

                      The name of the job definition to delete.

                      */ - CatalogId?: string; -} - -export namespace DeleteUserDefinedFunctionRequest { - export const filterSensitiveLog = (obj: DeleteUserDefinedFunctionRequest): any => ({ - ...obj, - }); + JobName: string | undefined; } -export interface DeleteUserDefinedFunctionResponse {} - -export namespace DeleteUserDefinedFunctionResponse { - export const filterSensitiveLog = (obj: DeleteUserDefinedFunctionResponse): any => ({ +export namespace DeleteJobRequest { + export const filterSensitiveLog = (obj: DeleteJobRequest): any => ({ ...obj, }); } -export interface DeleteWorkflowRequest { +export interface DeleteJobResponse { /** - *

                      Name of the workflow to be deleted.

                      + *

                      The name of the job definition that was deleted.

                      */ - Name: string | undefined; + JobName?: string; } -export namespace DeleteWorkflowRequest { - export const filterSensitiveLog = (obj: DeleteWorkflowRequest): any => ({ +export namespace DeleteJobResponse { + export const filterSensitiveLog = (obj: DeleteJobResponse): any => ({ ...obj, }); } -export interface DeleteWorkflowResponse { +export interface DeleteMLTransformRequest { /** - *

                      Name of the workflow specified in input.

                      + *

                      The unique identifier of the transform to delete.

                      */ - Name?: string; + TransformId: string | undefined; } -export namespace DeleteWorkflowResponse { - export const filterSensitiveLog = (obj: DeleteWorkflowResponse): any => ({ +export namespace DeleteMLTransformRequest { + export const filterSensitiveLog = (obj: DeleteMLTransformRequest): any => ({ ...obj, }); } -export interface GetCatalogImportStatusRequest { +export interface DeleteMLTransformResponse { /** - *

                      The ID of the catalog to migrate. Currently, this should be the AWS account ID.

                      + *

                      The unique identifier of the transform that was deleted.

                      */ - CatalogId?: string; + TransformId?: string; } -export namespace GetCatalogImportStatusRequest { - export const filterSensitiveLog = (obj: GetCatalogImportStatusRequest): any => ({ +export namespace DeleteMLTransformResponse { + export const filterSensitiveLog = (obj: DeleteMLTransformResponse): any => ({ ...obj, }); } -/** - *

                      A structure containing migration status information.

                      - */ -export interface CatalogImportStatus { +export interface DeletePartitionRequest { /** - *

                      - * True if the migration has completed, or False otherwise.

                      - */ - ImportCompleted?: boolean; + *

                      The ID of the Data Catalog where the partition to be deleted resides. If none is provided, + * the AWS account ID is used by default.

                      + */ + CatalogId?: string; /** - *

                      The name of the person who initiated the migration.

                      + *

                      The name of the catalog database in which the table in question + * resides.

                      */ - ImportedBy?: string; + DatabaseName: string | undefined; /** - *

                      The time that the migration was started.

                      + *

                      The name of the table that contains the partition to be deleted.

                      */ - ImportTime?: Date; + TableName: string | undefined; + + /** + *

                      The values that define the partition.

                      + */ + PartitionValues: string[] | undefined; } -export namespace CatalogImportStatus { - export const filterSensitiveLog = (obj: CatalogImportStatus): any => ({ +export namespace DeletePartitionRequest { + export const filterSensitiveLog = (obj: DeletePartitionRequest): any => ({ ...obj, }); } -export interface GetCatalogImportStatusResponse { - /** - *

                      The status of the specified catalog migration.

                      - */ - ImportStatus?: CatalogImportStatus; -} +export interface DeletePartitionResponse {} -export namespace GetCatalogImportStatusResponse { - export const filterSensitiveLog = (obj: GetCatalogImportStatusResponse): any => ({ +export namespace DeletePartitionResponse { + export const filterSensitiveLog = (obj: DeletePartitionResponse): any => ({ ...obj, }); } -export interface GetClassifierRequest { +export interface DeleteRegistryInput { /** - *

                      Name of the classifier to retrieve.

                      + *

                      This is a wrapper structure that may contain the registry name and Amazon Resource Name (ARN).

                      */ - Name: string | undefined; + RegistryId: RegistryId | undefined; } -export namespace GetClassifierRequest { - export const filterSensitiveLog = (obj: GetClassifierRequest): any => ({ +export namespace DeleteRegistryInput { + export const filterSensitiveLog = (obj: DeleteRegistryInput): any => ({ ...obj, }); } -/** - *

                      A classifier for custom CSV content.

                      - */ -export interface CsvClassifier { - /** - *

                      A custom symbol to denote what separates each column entry in the row.

                      - */ - Delimiter?: string; - - /** - *

                      Enables the processing of files that contain only one column.

                      - */ - AllowSingleColumn?: boolean; +export enum RegistryStatus { + AVAILABLE = "AVAILABLE", + DELETING = "DELETING", +} +export interface DeleteRegistryResponse { /** - *

                      The time that this classifier was last updated.

                      + *

                      The name of the registry being deleted.

                      */ - LastUpdated?: Date; + RegistryName?: string; /** - *

                      A custom symbol to denote what combines content into a single column value. It must be - * different from the column delimiter.

                      + *

                      The Amazon Resource Name (ARN) of the registry being deleted.

                      */ - QuoteSymbol?: string; + RegistryArn?: string; /** - *

                      The version of this classifier.

                      + *

                      The status of the registry. A successful operation will return the Deleting status.

                      */ - Version?: number; + Status?: RegistryStatus | string; +} - /** - *

                      Specifies not to trim values before identifying the type of column values. The default - * value is true.

                      - */ - DisableValueTrimming?: boolean; +export namespace DeleteRegistryResponse { + export const filterSensitiveLog = (obj: DeleteRegistryResponse): any => ({ + ...obj, + }); +} +/** + *

                      A specified condition was not satisfied.

                      + */ +export interface ConditionCheckFailureException extends __SmithyException, $MetadataBearer { + name: "ConditionCheckFailureException"; + $fault: "client"; /** - *

                      A list of strings representing column names.

                      + *

                      A message describing the problem.

                      */ - Header?: string[]; + Message?: string; +} - /** - *

                      Indicates whether the CSV file contains a header.

                      - */ - ContainsHeader?: CsvHeaderOption | string; +export namespace ConditionCheckFailureException { + export const filterSensitiveLog = (obj: ConditionCheckFailureException): any => ({ + ...obj, + }); +} +export interface DeleteResourcePolicyRequest { /** - *

                      The time that this classifier was registered.

                      + *

                      The hash value returned when this policy was set.

                      */ - CreationTime?: Date; + PolicyHashCondition?: string; /** - *

                      The name of the classifier.

                      + *

                      The ARN of the AWS Glue resource for the resource policy to be deleted.

                      */ - Name: string | undefined; + ResourceArn?: string; } -export namespace CsvClassifier { - export const filterSensitiveLog = (obj: CsvClassifier): any => ({ +export namespace DeleteResourcePolicyRequest { + export const filterSensitiveLog = (obj: DeleteResourcePolicyRequest): any => ({ ...obj, }); } -/** - *

                      A classifier that uses grok patterns.

                      - */ -export interface GrokClassifier { - /** - *

                      The time that this classifier was last updated.

                      - */ - LastUpdated?: Date; +export interface DeleteResourcePolicyResponse {} - /** - *

                      The name of the classifier.

                      - */ - Name: string | undefined; +export namespace DeleteResourcePolicyResponse { + export const filterSensitiveLog = (obj: DeleteResourcePolicyResponse): any => ({ + ...obj, + }); +} +export interface DeleteSchemaInput { /** - *

                      The time that this classifier was registered.

                      + *

                      This is a wrapper structure that may contain the schema name and Amazon Resource Name (ARN).

                      */ - CreationTime?: Date; + SchemaId: SchemaId | undefined; +} - /** - *

                      An identifier of the data format that the classifier matches, such as Twitter, JSON, Omniture logs, and - * so on.

                      - */ - Classification: string | undefined; +export namespace DeleteSchemaInput { + export const filterSensitiveLog = (obj: DeleteSchemaInput): any => ({ + ...obj, + }); +} +export interface DeleteSchemaResponse { /** - *

                      The version of this classifier.

                      + *

                      The Amazon Resource Name (ARN) of the schema being deleted.

                      */ - Version?: number; + SchemaArn?: string; /** - *

                      The grok pattern applied to a data store by this classifier. - * For more information, see built-in patterns in Writing Custom Classifiers.

                      + *

                      The name of the schema being deleted.

                      */ - GrokPattern: string | undefined; + SchemaName?: string; /** - *

                      Optional custom grok patterns defined by this classifier. - * For more information, see custom patterns in Writing Custom Classifiers.

                      + *

                      The status of the schema.

                      */ - CustomPatterns?: string; + Status?: SchemaStatus | string; } -export namespace GrokClassifier { - export const filterSensitiveLog = (obj: GrokClassifier): any => ({ +export namespace DeleteSchemaResponse { + export const filterSensitiveLog = (obj: DeleteSchemaResponse): any => ({ ...obj, }); } -/** - *

                      A classifier for JSON content.

                      - */ -export interface JsonClassifier { +export interface DeleteSchemaVersionsInput { /** - *

                      The time that this classifier was registered.

                      + *

                      This is a wrapper structure that may contain the schema name and Amazon Resource Name (ARN).

                      */ - CreationTime?: Date; + SchemaId: SchemaId | undefined; /** - *

                      The time that this classifier was last updated.

                      + *

                      A version range may be supplied which may be of the format:

                      + *
                        + *
                      • + *

                        a single version number, 5

                        + *
                      • + *
                      • + *

                        a range, 5-8 : deletes versions 5, 6, 7, 8

                        + *
                      • + *
                      */ - LastUpdated?: Date; + Versions: string | undefined; +} - /** - *

                      The name of the classifier.

                      - */ - Name: string | undefined; +export namespace DeleteSchemaVersionsInput { + export const filterSensitiveLog = (obj: DeleteSchemaVersionsInput): any => ({ + ...obj, + }); +} +/** + *

                      An object containing error details.

                      + */ +export interface ErrorDetails { /** - *

                      A JsonPath string defining the JSON data for the classifier to classify. - * AWS Glue supports a subset of JsonPath, as described in Writing JsonPath Custom Classifiers.

                      + *

                      The error code for an error.

                      */ - JsonPath: string | undefined; + ErrorCode?: string; /** - *

                      The version of this classifier.

                      + *

                      The error message for an error.

                      */ - Version?: number; + ErrorMessage?: string; } -export namespace JsonClassifier { - export const filterSensitiveLog = (obj: JsonClassifier): any => ({ +export namespace ErrorDetails { + export const filterSensitiveLog = (obj: ErrorDetails): any => ({ ...obj, }); } /** - *

                      A classifier for XML content.

                      + *

                      An object that contains the error details for an operation on a schema version.

                      */ -export interface XMLClassifier { +export interface SchemaVersionErrorItem { /** - *

                      The version of this classifier.

                      + *

                      The version number of the schema.

                      */ - Version?: number; + VersionNumber?: number; /** - *

                      The time that this classifier was last updated.

                      + *

                      The details of the error for the schema version.

                      */ - LastUpdated?: Date; + ErrorDetails?: ErrorDetails; +} - /** - *

                      The XML tag designating the element that contains each record in an XML document being - * parsed. This can't identify a self-closing element (closed by />). An empty - * row element that contains only attributes can be parsed as long as it ends with a closing tag - * (for example, is okay, but - * is not).

                      - */ - RowTag?: string; +export namespace SchemaVersionErrorItem { + export const filterSensitiveLog = (obj: SchemaVersionErrorItem): any => ({ + ...obj, + }); +} +export interface DeleteSchemaVersionsResponse { /** - *

                      The name of the classifier.

                      + *

                      A list of SchemaVersionErrorItem objects, each containing an error and schema version.

                      */ - Name: string | undefined; + SchemaVersionErrors?: SchemaVersionErrorItem[]; +} - /** - *

                      The time that this classifier was registered.

                      - */ - CreationTime?: Date; +export namespace DeleteSchemaVersionsResponse { + export const filterSensitiveLog = (obj: DeleteSchemaVersionsResponse): any => ({ + ...obj, + }); +} +export interface DeleteSecurityConfigurationRequest { /** - *

                      An identifier of the data format that the classifier matches.

                      + *

                      The name of the security configuration to delete.

                      */ - Classification: string | undefined; + Name: string | undefined; } -export namespace XMLClassifier { - export const filterSensitiveLog = (obj: XMLClassifier): any => ({ +export namespace DeleteSecurityConfigurationRequest { + export const filterSensitiveLog = (obj: DeleteSecurityConfigurationRequest): any => ({ ...obj, }); } -/** - *

                      Classifiers are triggered during a crawl task. A classifier checks whether a given file is - * in a format it can handle. If it is, the classifier creates a schema in the form of a - * StructType object that matches that data format.

                      - *

                      You can use the standard classifiers that AWS Glue provides, or you can write your own - * classifiers to best categorize your data sources and specify the appropriate schemas to use - * for them. A classifier can be a grok classifier, an XML classifier, - * a JSON classifier, or a custom CSV classifier, as specified in one - * of the fields in the Classifier object.

                      - */ -export interface Classifier { - /** - *

                      A classifier for XML content.

                      - */ - XMLClassifier?: XMLClassifier; +export interface DeleteSecurityConfigurationResponse {} + +export namespace DeleteSecurityConfigurationResponse { + export const filterSensitiveLog = (obj: DeleteSecurityConfigurationResponse): any => ({ + ...obj, + }); +} +export interface DeleteTableRequest { /** - *

                      A classifier for comma-separated values (CSV).

                      + *

                      The ID of the Data Catalog where the table resides. If none is provided, the AWS account + * ID is used by default.

                      */ - CsvClassifier?: CsvClassifier; + CatalogId?: string; /** - *

                      A classifier for JSON content.

                      + *

                      The name of the catalog database in which the table resides. For Hive + * compatibility, this name is entirely lowercase.

                      */ - JsonClassifier?: JsonClassifier; + DatabaseName: string | undefined; /** - *

                      A classifier that uses grok.

                      + *

                      The name of the table to be deleted. For Hive + * compatibility, this name is entirely lowercase.

                      */ - GrokClassifier?: GrokClassifier; + Name: string | undefined; } -export namespace Classifier { - export const filterSensitiveLog = (obj: Classifier): any => ({ +export namespace DeleteTableRequest { + export const filterSensitiveLog = (obj: DeleteTableRequest): any => ({ ...obj, }); } -export interface GetClassifierResponse { - /** - *

                      The requested classifier.

                      - */ - Classifier?: Classifier; -} +export interface DeleteTableResponse {} -export namespace GetClassifierResponse { - export const filterSensitiveLog = (obj: GetClassifierResponse): any => ({ +export namespace DeleteTableResponse { + export const filterSensitiveLog = (obj: DeleteTableResponse): any => ({ ...obj, }); } -export interface GetClassifiersRequest { +export interface DeleteTableVersionRequest { /** - *

                      The size of the list to return (optional).

                      + *

                      The ID of the Data Catalog where the tables reside. If none is provided, the AWS account + * ID is used by default.

                      */ - MaxResults?: number; + CatalogId?: string; /** - *

                      An optional continuation token.

                      + *

                      The database in the catalog in which the table resides. For Hive + * compatibility, this name is entirely lowercase.

                      */ - NextToken?: string; + DatabaseName: string | undefined; + + /** + *

                      The name of the table. For Hive compatibility, + * this name is entirely lowercase.

                      + */ + TableName: string | undefined; + + /** + *

                      The ID of the table version to be deleted. A VersionID is a string representation of an integer. Each version is incremented by 1.

                      + */ + VersionId: string | undefined; } -export namespace GetClassifiersRequest { - export const filterSensitiveLog = (obj: GetClassifiersRequest): any => ({ +export namespace DeleteTableVersionRequest { + export const filterSensitiveLog = (obj: DeleteTableVersionRequest): any => ({ ...obj, }); } -export interface GetClassifiersResponse { - /** - *

                      A continuation token.

                      - */ - NextToken?: string; +export interface DeleteTableVersionResponse {} + +export namespace DeleteTableVersionResponse { + export const filterSensitiveLog = (obj: DeleteTableVersionResponse): any => ({ + ...obj, + }); +} +export interface DeleteTriggerRequest { /** - *

                      The requested list of classifier - * objects.

                      + *

                      The name of the trigger to delete.

                      */ - Classifiers?: Classifier[]; + Name: string | undefined; } -export namespace GetClassifiersResponse { - export const filterSensitiveLog = (obj: GetClassifiersResponse): any => ({ +export namespace DeleteTriggerRequest { + export const filterSensitiveLog = (obj: DeleteTriggerRequest): any => ({ ...obj, }); } -export interface GetColumnStatisticsForPartitionRequest { +export interface DeleteTriggerResponse { /** - *

                      A list of the column names.

                      + *

                      The name of the trigger that was deleted.

                      */ - ColumnNames: string[] | undefined; + Name?: string; +} - /** - *

                      The name of the partitions' table.

                      - */ - TableName: string | undefined; +export namespace DeleteTriggerResponse { + export const filterSensitiveLog = (obj: DeleteTriggerResponse): any => ({ + ...obj, + }); +} +export interface DeleteUserDefinedFunctionRequest { /** - *

                      The name of the catalog database where the partitions reside.

                      + *

                      The ID of the Data Catalog where the function to be deleted is + * located. If none is supplied, the AWS account ID is used by default.

                      */ - DatabaseName: string | undefined; + CatalogId?: string; /** - *

                      A list of partition values identifying the partition.

                      + *

                      The name of the catalog database where the function is located.

                      */ - PartitionValues: string[] | undefined; + DatabaseName: string | undefined; /** - *

                      The ID of the Data Catalog where the partitions in question reside. - * If none is supplied, the AWS account ID is used by default.

                      + *

                      The name of the function definition to be deleted.

                      */ - CatalogId?: string; + FunctionName: string | undefined; } -export namespace GetColumnStatisticsForPartitionRequest { - export const filterSensitiveLog = (obj: GetColumnStatisticsForPartitionRequest): any => ({ +export namespace DeleteUserDefinedFunctionRequest { + export const filterSensitiveLog = (obj: DeleteUserDefinedFunctionRequest): any => ({ ...obj, }); } -/** - *

                      Defines column statistics supported for bit sequence data values.

                      - */ -export interface BinaryColumnStatisticsData { - /** - *

                      The average bit sequence length in the column.

                      - */ - AverageLength: number | undefined; +export interface DeleteUserDefinedFunctionResponse {} - /** - *

                      The number of null values in the column.

                      - */ - NumberOfNulls: number | undefined; +export namespace DeleteUserDefinedFunctionResponse { + export const filterSensitiveLog = (obj: DeleteUserDefinedFunctionResponse): any => ({ + ...obj, + }); +} +export interface DeleteWorkflowRequest { /** - *

                      The size of the longest bit sequence in the column.

                      + *

                      Name of the workflow to be deleted.

                      */ - MaximumLength: number | undefined; + Name: string | undefined; } -export namespace BinaryColumnStatisticsData { - export const filterSensitiveLog = (obj: BinaryColumnStatisticsData): any => ({ +export namespace DeleteWorkflowRequest { + export const filterSensitiveLog = (obj: DeleteWorkflowRequest): any => ({ ...obj, }); } -/** - *

                      Defines column statistics supported for Boolean data columns.

                      - */ -export interface BooleanColumnStatisticsData { +export interface DeleteWorkflowResponse { /** - *

                      The number of false values in the column.

                      + *

                      Name of the workflow specified in input.

                      */ - NumberOfFalses: number | undefined; + Name?: string; +} - /** - *

                      The number of true values in the column.

                      - */ - NumberOfTrues: number | undefined; +export namespace DeleteWorkflowResponse { + export const filterSensitiveLog = (obj: DeleteWorkflowResponse): any => ({ + ...obj, + }); +} +export interface GetCatalogImportStatusRequest { /** - *

                      The number of null values in the column.

                      + *

                      The ID of the catalog to migrate. Currently, this should be the AWS account ID.

                      */ - NumberOfNulls: number | undefined; + CatalogId?: string; } -export namespace BooleanColumnStatisticsData { - export const filterSensitiveLog = (obj: BooleanColumnStatisticsData): any => ({ +export namespace GetCatalogImportStatusRequest { + export const filterSensitiveLog = (obj: GetCatalogImportStatusRequest): any => ({ ...obj, }); } /** - *

                      Defines column statistics supported for timestamp data columns.

                      + *

                      A structure containing migration status information.

                      */ -export interface DateColumnStatisticsData { - /** - *

                      The number of distinct values in a column.

                      - */ - NumberOfDistinctValues: number | undefined; - +export interface CatalogImportStatus { /** - *

                      The lowest value in the column.

                      + *

                      + * True if the migration has completed, or False otherwise.

                      */ - MinimumValue?: Date; + ImportCompleted?: boolean; /** - *

                      The highest value in the column.

                      + *

                      The time that the migration was started.

                      */ - MaximumValue?: Date; + ImportTime?: Date; /** - *

                      The number of null values in the column.

                      + *

                      The name of the person who initiated the migration.

                      */ - NumberOfNulls: number | undefined; + ImportedBy?: string; } -export namespace DateColumnStatisticsData { - export const filterSensitiveLog = (obj: DateColumnStatisticsData): any => ({ +export namespace CatalogImportStatus { + export const filterSensitiveLog = (obj: CatalogImportStatus): any => ({ ...obj, }); } -/** - *

                      Contains a numeric value in decimal format.

                      - */ -export interface DecimalNumber { +export interface GetCatalogImportStatusResponse { /** - *

                      The unscaled numeric value.

                      + *

                      The status of the specified catalog migration.

                      */ - UnscaledValue: Uint8Array | undefined; + ImportStatus?: CatalogImportStatus; +} +export namespace GetCatalogImportStatusResponse { + export const filterSensitiveLog = (obj: GetCatalogImportStatusResponse): any => ({ + ...obj, + }); +} + +export interface GetClassifierRequest { /** - *

                      The scale that determines where the decimal point falls in the - * unscaled value.

                      + *

                      Name of the classifier to retrieve.

                      */ - Scale: number | undefined; + Name: string | undefined; } -export namespace DecimalNumber { - export const filterSensitiveLog = (obj: DecimalNumber): any => ({ +export namespace GetClassifierRequest { + export const filterSensitiveLog = (obj: GetClassifierRequest): any => ({ ...obj, }); } /** - *

                      Defines column statistics supported for fixed-point number data columns.

                      + *

                      A classifier for custom CSV content.

                      */ -export interface DecimalColumnStatisticsData { +export interface CsvClassifier { /** - *

                      The highest value in the column.

                      + *

                      The name of the classifier.

                      */ - MaximumValue?: DecimalNumber; + Name: string | undefined; /** - *

                      The lowest value in the column.

                      + *

                      The time that this classifier was registered.

                      */ - MinimumValue?: DecimalNumber; + CreationTime?: Date; /** - *

                      The number of null values in the column.

                      + *

                      The time that this classifier was last updated.

                      */ - NumberOfNulls: number | undefined; + LastUpdated?: Date; /** - *

                      The number of distinct values in a column.

                      + *

                      The version of this classifier.

                      */ - NumberOfDistinctValues: number | undefined; -} + Version?: number; -export namespace DecimalColumnStatisticsData { - export const filterSensitiveLog = (obj: DecimalColumnStatisticsData): any => ({ - ...obj, - }); -} + /** + *

                      A custom symbol to denote what separates each column entry in the row.

                      + */ + Delimiter?: string; -/** - *

                      Defines column statistics supported for floating-point number data columns.

                      - */ -export interface DoubleColumnStatisticsData { /** - *

                      The number of distinct values in a column.

                      + *

                      A custom symbol to denote what combines content into a single column value. It must be + * different from the column delimiter.

                      */ - NumberOfDistinctValues: number | undefined; + QuoteSymbol?: string; /** - *

                      The number of null values in the column.

                      + *

                      Indicates whether the CSV file contains a header.

                      */ - NumberOfNulls: number | undefined; + ContainsHeader?: CsvHeaderOption | string; /** - *

                      The highest value in the column.

                      + *

                      A list of strings representing column names.

                      */ - MaximumValue?: number; + Header?: string[]; /** - *

                      The lowest value in the column.

                      + *

                      Specifies not to trim values before identifying the type of column values. The default + * value is true.

                      */ - MinimumValue?: number; -} + DisableValueTrimming?: boolean; -export namespace DoubleColumnStatisticsData { - export const filterSensitiveLog = (obj: DoubleColumnStatisticsData): any => ({ - ...obj, + /** + *

                      Enables the processing of files that contain only one column.

                      + */ + AllowSingleColumn?: boolean; +} + +export namespace CsvClassifier { + export const filterSensitiveLog = (obj: CsvClassifier): any => ({ + ...obj, }); } /** - *

                      Defines column statistics supported for integer data columns.

                      + *

                      A classifier that uses grok patterns.

                      */ -export interface LongColumnStatisticsData { +export interface GrokClassifier { /** - *

                      The number of distinct values in a column.

                      + *

                      The name of the classifier.

                      */ - NumberOfDistinctValues: number | undefined; + Name: string | undefined; /** - *

                      The highest value in the column.

                      + *

                      An identifier of the data format that the classifier matches, such as Twitter, JSON, Omniture logs, and + * so on.

                      */ - MaximumValue?: number; + Classification: string | undefined; /** - *

                      The number of null values in the column.

                      + *

                      The time that this classifier was registered.

                      */ - NumberOfNulls: number | undefined; + CreationTime?: Date; /** - *

                      The lowest value in the column.

                      + *

                      The time that this classifier was last updated.

                      */ - MinimumValue?: number; + LastUpdated?: Date; + + /** + *

                      The version of this classifier.

                      + */ + Version?: number; + + /** + *

                      The grok pattern applied to a data store by this classifier. + * For more information, see built-in patterns in Writing Custom Classifiers.

                      + */ + GrokPattern: string | undefined; + + /** + *

                      Optional custom grok patterns defined by this classifier. + * For more information, see custom patterns in Writing Custom Classifiers.

                      + */ + CustomPatterns?: string; } -export namespace LongColumnStatisticsData { - export const filterSensitiveLog = (obj: LongColumnStatisticsData): any => ({ +export namespace GrokClassifier { + export const filterSensitiveLog = (obj: GrokClassifier): any => ({ ...obj, }); } /** - *

                      Defines column statistics supported for character sequence data values.

                      + *

                      A classifier for JSON content.

                      */ -export interface StringColumnStatisticsData { +export interface JsonClassifier { /** - *

                      The number of distinct values in a column.

                      + *

                      The name of the classifier.

                      */ - NumberOfDistinctValues: number | undefined; + Name: string | undefined; /** - *

                      The size of the longest string in the column.

                      + *

                      The time that this classifier was registered.

                      */ - MaximumLength: number | undefined; + CreationTime?: Date; /** - *

                      The average string length in the column.

                      + *

                      The time that this classifier was last updated.

                      */ - AverageLength: number | undefined; + LastUpdated?: Date; /** - *

                      The number of null values in the column.

                      + *

                      The version of this classifier.

                      */ - NumberOfNulls: number | undefined; + Version?: number; + + /** + *

                      A JsonPath string defining the JSON data for the classifier to classify. + * AWS Glue supports a subset of JsonPath, as described in Writing JsonPath Custom Classifiers.

                      + */ + JsonPath: string | undefined; } -export namespace StringColumnStatisticsData { - export const filterSensitiveLog = (obj: StringColumnStatisticsData): any => ({ +export namespace JsonClassifier { + export const filterSensitiveLog = (obj: JsonClassifier): any => ({ ...obj, }); } -export enum ColumnStatisticsType { - BINARY = "BINARY", - BOOLEAN = "BOOLEAN", - DATE = "DATE", - DECIMAL = "DECIMAL", - DOUBLE = "DOUBLE", - LONG = "LONG", - STRING = "STRING", -} - /** - *

                      Contains the individual types of column statistics data. Only one data object should be set and indicated by the Type attribute.

                      + *

                      A classifier for XML content.

                      */ -export interface ColumnStatisticsData { - /** - *

                      Boolean column statistics data.

                      - */ - BooleanColumnStatisticsData?: BooleanColumnStatisticsData; - - /** - *

                      Decimal column statistics data.

                      - */ - DecimalColumnStatisticsData?: DecimalColumnStatisticsData; - +export interface XMLClassifier { /** - *

                      Binary column statistics data.

                      + *

                      The name of the classifier.

                      */ - BinaryColumnStatisticsData?: BinaryColumnStatisticsData; + Name: string | undefined; /** - *

                      Double column statistics data.

                      + *

                      An identifier of the data format that the classifier matches.

                      */ - DoubleColumnStatisticsData?: DoubleColumnStatisticsData; + Classification: string | undefined; /** - *

                      Long column statistics data.

                      + *

                      The time that this classifier was registered.

                      */ - LongColumnStatisticsData?: LongColumnStatisticsData; + CreationTime?: Date; /** - *

                      The type of column statistics data.

                      + *

                      The time that this classifier was last updated.

                      */ - Type: ColumnStatisticsType | string | undefined; + LastUpdated?: Date; /** - *

                      String column statistics data.

                      + *

                      The version of this classifier.

                      */ - StringColumnStatisticsData?: StringColumnStatisticsData; + Version?: number; /** - *

                      Date column statistics data.

                      + *

                      The XML tag designating the element that contains each record in an XML document being + * parsed. This can't identify a self-closing element (closed by />). An empty + * row element that contains only attributes can be parsed as long as it ends with a closing tag + * (for example, is okay, but + * is not).

                      */ - DateColumnStatisticsData?: DateColumnStatisticsData; + RowTag?: string; } -export namespace ColumnStatisticsData { - export const filterSensitiveLog = (obj: ColumnStatisticsData): any => ({ +export namespace XMLClassifier { + export const filterSensitiveLog = (obj: XMLClassifier): any => ({ ...obj, }); } /** - *

                      Represents the generated column-level statistics for a table or partition.

                      + *

                      Classifiers are triggered during a crawl task. A classifier checks whether a given file is + * in a format it can handle. If it is, the classifier creates a schema in the form of a + * StructType object that matches that data format.

                      + *

                      You can use the standard classifiers that AWS Glue provides, or you can write your own + * classifiers to best categorize your data sources and specify the appropriate schemas to use + * for them. A classifier can be a grok classifier, an XML classifier, + * a JSON classifier, or a custom CSV classifier, as specified in one + * of the fields in the Classifier object.

                      */ -export interface ColumnStatistics { +export interface Classifier { /** - *

                      Name of column which statistics belong to.

                      + *

                      A classifier that uses grok.

                      */ - ColumnName: string | undefined; + GrokClassifier?: GrokClassifier; /** - *

                      A ColumnStatisticData object that contains the statistics data values.

                      + *

                      A classifier for XML content.

                      */ - StatisticsData: ColumnStatisticsData | undefined; + XMLClassifier?: XMLClassifier; /** - *

                      The timestamp of when column statistics were generated.

                      + *

                      A classifier for JSON content.

                      */ - AnalyzedTime: Date | undefined; + JsonClassifier?: JsonClassifier; /** - *

                      The data type of the column.

                      + *

                      A classifier for comma-separated values (CSV).

                      */ - ColumnType: string | undefined; + CsvClassifier?: CsvClassifier; } -export namespace ColumnStatistics { - export const filterSensitiveLog = (obj: ColumnStatistics): any => ({ +export namespace Classifier { + export const filterSensitiveLog = (obj: Classifier): any => ({ ...obj, }); } -/** - *

                      Encapsulates a column name that failed and the reason for failure.

                      - */ -export interface ColumnError { +export interface GetClassifierResponse { /** - *

                      The name of the column that failed.

                      + *

                      The requested classifier.

                      */ - ColumnName?: string; + Classifier?: Classifier; +} + +export namespace GetClassifierResponse { + export const filterSensitiveLog = (obj: GetClassifierResponse): any => ({ + ...obj, + }); +} +export interface GetClassifiersRequest { /** - *

                      An error message with the reason for the failure of an operation.

                      + *

                      The size of the list to return (optional).

                      */ - Error?: ErrorDetail; + MaxResults?: number; + + /** + *

                      An optional continuation token.

                      + */ + NextToken?: string; } -export namespace ColumnError { - export const filterSensitiveLog = (obj: ColumnError): any => ({ +export namespace GetClassifiersRequest { + export const filterSensitiveLog = (obj: GetClassifiersRequest): any => ({ ...obj, }); } -export interface GetColumnStatisticsForPartitionResponse { +export interface GetClassifiersResponse { /** - *

                      Error occurred during retrieving column statistics data.

                      + *

                      The requested list of classifier + * objects.

                      */ - Errors?: ColumnError[]; + Classifiers?: Classifier[]; /** - *

                      List of ColumnStatistics that failed to be retrieved.

                      + *

                      A continuation token.

                      */ - ColumnStatisticsList?: ColumnStatistics[]; + NextToken?: string; } -export namespace GetColumnStatisticsForPartitionResponse { - export const filterSensitiveLog = (obj: GetColumnStatisticsForPartitionResponse): any => ({ +export namespace GetClassifiersResponse { + export const filterSensitiveLog = (obj: GetClassifiersResponse): any => ({ ...obj, }); } -export interface GetColumnStatisticsForTableRequest { +export interface GetColumnStatisticsForPartitionRequest { /** *

                      The ID of the Data Catalog where the partitions in question reside. * If none is supplied, the AWS account ID is used by default.

                      @@ -6158,1590 +6259,1430 @@ export interface GetColumnStatisticsForTableRequest { */ TableName: string | undefined; + /** + *

                      A list of partition values identifying the partition.

                      + */ + PartitionValues: string[] | undefined; + /** *

                      A list of the column names.

                      */ ColumnNames: string[] | undefined; } -export namespace GetColumnStatisticsForTableRequest { - export const filterSensitiveLog = (obj: GetColumnStatisticsForTableRequest): any => ({ +export namespace GetColumnStatisticsForPartitionRequest { + export const filterSensitiveLog = (obj: GetColumnStatisticsForPartitionRequest): any => ({ ...obj, }); } -export interface GetColumnStatisticsForTableResponse { +/** + *

                      Defines column statistics supported for bit sequence data values.

                      + */ +export interface BinaryColumnStatisticsData { /** - *

                      List of ColumnStatistics that failed to be retrieved.

                      + *

                      The size of the longest bit sequence in the column.

                      */ - Errors?: ColumnError[]; + MaximumLength: number | undefined; /** - *

                      List of ColumnStatistics that failed to be retrieved.

                      + *

                      The average bit sequence length in the column.

                      */ - ColumnStatisticsList?: ColumnStatistics[]; + AverageLength: number | undefined; + + /** + *

                      The number of null values in the column.

                      + */ + NumberOfNulls: number | undefined; } -export namespace GetColumnStatisticsForTableResponse { - export const filterSensitiveLog = (obj: GetColumnStatisticsForTableResponse): any => ({ +export namespace BinaryColumnStatisticsData { + export const filterSensitiveLog = (obj: BinaryColumnStatisticsData): any => ({ ...obj, }); } -export interface GetConnectionRequest { +/** + *

                      Defines column statistics supported for Boolean data columns.

                      + */ +export interface BooleanColumnStatisticsData { /** - *

                      The ID of the Data Catalog in which the connection resides. If none is provided, the AWS - * account ID is used by default.

                      + *

                      The number of true values in the column.

                      */ - CatalogId?: string; + NumberOfTrues: number | undefined; /** - *

                      The name of the connection definition to retrieve.

                      + *

                      The number of false values in the column.

                      */ - Name: string | undefined; + NumberOfFalses: number | undefined; /** - *

                      Allows you to retrieve the connection metadata without returning the password. For - * instance, the AWS Glue console uses this flag to retrieve the connection, and does not display - * the password. Set this parameter when the caller might not have permission to use the AWS KMS - * key to decrypt the password, but it does have permission to access the rest of the connection - * properties.

                      + *

                      The number of null values in the column.

                      */ - HidePassword?: boolean; + NumberOfNulls: number | undefined; } -export namespace GetConnectionRequest { - export const filterSensitiveLog = (obj: GetConnectionRequest): any => ({ +export namespace BooleanColumnStatisticsData { + export const filterSensitiveLog = (obj: BooleanColumnStatisticsData): any => ({ ...obj, }); } /** - *

                      Defines a connection to a data source.

                      + *

                      Defines column statistics supported for timestamp data columns.

                      */ -export interface Connection { +export interface DateColumnStatisticsData { /** - *

                      The user, group, or role that last updated this connection definition.

                      + *

                      The lowest value in the column.

                      */ - LastUpdatedBy?: string; + MinimumValue?: Date; /** - *

                      A map of physical connection requirements, such as virtual private cloud (VPC) and - * SecurityGroup, that are needed to make this connection successfully.

                      + *

                      The highest value in the column.

                      */ - PhysicalConnectionRequirements?: PhysicalConnectionRequirements; + MaximumValue?: Date; /** - *

                      The type of the connection. Currently, SFTP is not supported.

                      + *

                      The number of null values in the column.

                      */ - ConnectionType?: ConnectionType | string; + NumberOfNulls: number | undefined; /** - *

                      A list of criteria that can be used in selecting this connection.

                      + *

                      The number of distinct values in a column.

                      */ - MatchCriteria?: string[]; + NumberOfDistinctValues: number | undefined; +} + +export namespace DateColumnStatisticsData { + export const filterSensitiveLog = (obj: DateColumnStatisticsData): any => ({ + ...obj, + }); +} +/** + *

                      Contains a numeric value in decimal format.

                      + */ +export interface DecimalNumber { /** - *

                      The time that this connection definition was created.

                      + *

                      The unscaled numeric value.

                      */ - CreationTime?: Date; + UnscaledValue: Uint8Array | undefined; /** - *

                      The last time that this connection definition was updated.

                      + *

                      The scale that determines where the decimal point falls in the + * unscaled value.

                      */ - LastUpdatedTime?: Date; + Scale: number | undefined; +} + +export namespace DecimalNumber { + export const filterSensitiveLog = (obj: DecimalNumber): any => ({ + ...obj, + }); +} +/** + *

                      Defines column statistics supported for fixed-point number data columns.

                      + */ +export interface DecimalColumnStatisticsData { /** - *

                      The name of the connection definition.

                      + *

                      The lowest value in the column.

                      */ - Name?: string; + MinimumValue?: DecimalNumber; /** - *

                      These key-value pairs define parameters for the connection:

                      - *
                        - *
                      • - *

                        - * HOST - The host URI: either the - * fully qualified domain name (FQDN) or the IPv4 address of - * the database host.

                        - *
                      • - *
                      • - *

                        - * PORT - The port number, between - * 1024 and 65535, of the port on which the database host is - * listening for database connections.

                        - *
                      • - *
                      • - *

                        - * USER_NAME - The name under which - * to log in to the database. The value string for USER_NAME is "USERNAME".

                        - *
                      • - *
                      • - *

                        - * PASSWORD - A password, - * if one is used, for the user name.

                        - *
                      • - *
                      • - *

                        - * ENCRYPTED_PASSWORD - When you enable connection password protection by setting ConnectionPasswordEncryption in the Data Catalog encryption settings, this field stores the encrypted password.

                        - *
                      • - *
                      • - *

                        - * JDBC_DRIVER_JAR_URI - The Amazon Simple Storage Service (Amazon S3) path of the - * JAR file that contains the JDBC driver to use.

                        - *
                      • - *
                      • - *

                        - * JDBC_DRIVER_CLASS_NAME - The class name of the JDBC driver to use.

                        - *
                      • - *
                      • - *

                        - * JDBC_ENGINE - The name of the JDBC engine to use.

                        - *
                      • - *
                      • - *

                        - * JDBC_ENGINE_VERSION - The version of the JDBC engine to use.

                        - *
                      • - *
                      • - *

                        - * CONFIG_FILES - (Reserved for future use.)

                        - *
                      • - *
                      • - *

                        - * INSTANCE_ID - The instance ID to use.

                        - *
                      • - *
                      • - *

                        - * JDBC_CONNECTION_URL - The URL for connecting to a JDBC data source.

                        - *
                      • - *
                      • - *

                        - * JDBC_ENFORCE_SSL - A Boolean string (true, false) specifying whether Secure - * Sockets Layer (SSL) with hostname matching is enforced for the JDBC connection on the - * client. The default is false.

                        - *
                      • - *
                      • - *

                        - * CUSTOM_JDBC_CERT - An Amazon S3 location specifying the customer's root certificate. AWS Glue uses this root certificate to validate the customer’s certificate when connecting to the customer database. AWS Glue only handles X.509 certificates. The certificate provided must be DER-encoded and supplied in Base64 encoding PEM format.

                        - *
                      • - *
                      • - *

                        - * SKIP_CUSTOM_JDBC_CERT_VALIDATION - By default, this is false. AWS Glue validates the Signature algorithm and Subject Public Key Algorithm for the customer certificate. The only permitted algorithms for the Signature algorithm are SHA256withRSA, SHA384withRSA or SHA512withRSA. For the Subject Public Key Algorithm, the key length must be at least 2048. You can set the value of this property to true to skip AWS Glue’s validation of the customer certificate.

                        - *
                      • - *
                      • - *

                        - * CUSTOM_JDBC_CERT_STRING - A custom JDBC certificate string which is used for domain match or distinguished name match to prevent a man-in-the-middle attack. In Oracle database, this is used as the SSL_SERVER_CERT_DN; in Microsoft SQL Server, this is used as the hostNameInCertificate.

                        - *
                      • - *
                      • - *

                        - * CONNECTION_URL - The URL for connecting to a general (non-JDBC) data source.

                        - *
                      • - *
                      • - *

                        - * KAFKA_BOOTSTRAP_SERVERS - A comma-separated list of host and port pairs that are the addresses of the Apache Kafka brokers in a Kafka cluster to which a Kafka client will connect to and bootstrap itself.

                        - *
                      • - *
                      • - *

                        - * KAFKA_SSL_ENABLED - Whether to enable or disable SSL on an Apache Kafka connection. Default value is "true".

                        - *
                      • - *
                      • - *

                        - * KAFKA_CUSTOM_CERT - The Amazon S3 URL for the private CA cert file (.pem format). The default is an empty string.

                        - *
                      • - *
                      • - *

                        - * KAFKA_SKIP_CUSTOM_CERT_VALIDATION - Whether to skip the validation of the CA cert file or not. AWS Glue validates for three algorithms: SHA256withRSA, SHA384withRSA and SHA512withRSA. Default value is "false".

                        - *
                      • - *
                      + *

                      The highest value in the column.

                      */ - ConnectionProperties?: { [key: string]: string }; + MaximumValue?: DecimalNumber; /** - *

                      The description of the connection.

                      + *

                      The number of null values in the column.

                      */ - Description?: string; -} - -export namespace Connection { - export const filterSensitiveLog = (obj: Connection): any => ({ - ...obj, - }); -} + NumberOfNulls: number | undefined; -export interface GetConnectionResponse { /** - *

                      The requested connection definition.

                      + *

                      The number of distinct values in a column.

                      */ - Connection?: Connection; + NumberOfDistinctValues: number | undefined; } -export namespace GetConnectionResponse { - export const filterSensitiveLog = (obj: GetConnectionResponse): any => ({ +export namespace DecimalColumnStatisticsData { + export const filterSensitiveLog = (obj: DecimalColumnStatisticsData): any => ({ ...obj, }); } /** - *

                      Filters the connection definitions that are returned by the GetConnections - * API operation.

                      + *

                      Defines column statistics supported for floating-point number data columns.

                      */ -export interface GetConnectionsFilter { +export interface DoubleColumnStatisticsData { /** - *

                      A criteria string that must match the criteria recorded in the - * connection definition for that connection definition to be returned.

                      + *

                      The lowest value in the column.

                      */ - MatchCriteria?: string[]; + MinimumValue?: number; /** - *

                      The type of connections to return. Currently, SFTP is not supported.

                      + *

                      The highest value in the column.

                      */ - ConnectionType?: ConnectionType | string; + MaximumValue?: number; + + /** + *

                      The number of null values in the column.

                      + */ + NumberOfNulls: number | undefined; + + /** + *

                      The number of distinct values in a column.

                      + */ + NumberOfDistinctValues: number | undefined; } -export namespace GetConnectionsFilter { - export const filterSensitiveLog = (obj: GetConnectionsFilter): any => ({ +export namespace DoubleColumnStatisticsData { + export const filterSensitiveLog = (obj: DoubleColumnStatisticsData): any => ({ ...obj, }); } -export interface GetConnectionsRequest { - /** - *

                      The ID of the Data Catalog in which the connections reside. If none is provided, the AWS - * account ID is used by default.

                      - */ - CatalogId?: string; - +/** + *

                      Defines column statistics supported for integer data columns.

                      + */ +export interface LongColumnStatisticsData { /** - *

                      Allows you to retrieve the connection metadata without returning the password. For - * instance, the AWS Glue console uses this flag to retrieve the connection, and does not display - * the password. Set this parameter when the caller might not have permission to use the AWS KMS - * key to decrypt the password, but it does have permission to access the rest of the connection - * properties.

                      + *

                      The lowest value in the column.

                      */ - HidePassword?: boolean; + MinimumValue?: number; /** - *

                      A filter that controls which connections are returned.

                      + *

                      The highest value in the column.

                      */ - Filter?: GetConnectionsFilter; + MaximumValue?: number; /** - *

                      The maximum number of connections to return in one response.

                      + *

                      The number of null values in the column.

                      */ - MaxResults?: number; + NumberOfNulls: number | undefined; /** - *

                      A continuation token, if this is a continuation call.

                      + *

                      The number of distinct values in a column.

                      */ - NextToken?: string; + NumberOfDistinctValues: number | undefined; } -export namespace GetConnectionsRequest { - export const filterSensitiveLog = (obj: GetConnectionsRequest): any => ({ +export namespace LongColumnStatisticsData { + export const filterSensitiveLog = (obj: LongColumnStatisticsData): any => ({ ...obj, }); } -export interface GetConnectionsResponse { - /** - *

                      A list of requested connection definitions.

                      +/** + *

                      Defines column statistics supported for character sequence data values.

                      + */ +export interface StringColumnStatisticsData { + /** + *

                      The size of the longest string in the column.

                      */ - ConnectionList?: Connection[]; + MaximumLength: number | undefined; /** - *

                      A continuation token, if the list of connections returned does not - * include the last of the filtered connections.

                      + *

                      The average string length in the column.

                      */ - NextToken?: string; -} - -export namespace GetConnectionsResponse { - export const filterSensitiveLog = (obj: GetConnectionsResponse): any => ({ - ...obj, - }); -} + AverageLength: number | undefined; -export interface GetCrawlerRequest { /** - *

                      The name of the crawler to retrieve metadata for.

                      + *

                      The number of null values in the column.

                      */ - Name: string | undefined; -} - -export namespace GetCrawlerRequest { - export const filterSensitiveLog = (obj: GetCrawlerRequest): any => ({ - ...obj, - }); -} + NumberOfNulls: number | undefined; -export interface GetCrawlerResponse { /** - *

                      The metadata for the specified crawler.

                      + *

                      The number of distinct values in a column.

                      */ - Crawler?: Crawler; + NumberOfDistinctValues: number | undefined; } -export namespace GetCrawlerResponse { - export const filterSensitiveLog = (obj: GetCrawlerResponse): any => ({ +export namespace StringColumnStatisticsData { + export const filterSensitiveLog = (obj: StringColumnStatisticsData): any => ({ ...obj, }); } -export interface GetCrawlerMetricsRequest { - /** - *

                      The maximum size of a list to return.

                      - */ - MaxResults?: number; - - /** - *

                      A continuation token, if this is a continuation call.

                      - */ - NextToken?: string; - - /** - *

                      A list of the names of crawlers about which to retrieve metrics.

                      - */ - CrawlerNameList?: string[]; -} - -export namespace GetCrawlerMetricsRequest { - export const filterSensitiveLog = (obj: GetCrawlerMetricsRequest): any => ({ - ...obj, - }); +export enum ColumnStatisticsType { + BINARY = "BINARY", + BOOLEAN = "BOOLEAN", + DATE = "DATE", + DECIMAL = "DECIMAL", + DOUBLE = "DOUBLE", + LONG = "LONG", + STRING = "STRING", } /** - *

                      Metrics for a specified crawler.

                      + *

                      Contains the individual types of column statistics data. Only one data object should be set and indicated by the Type attribute.

                      */ -export interface CrawlerMetrics { +export interface ColumnStatisticsData { /** - *

                      The estimated time left to complete a running crawl.

                      + *

                      The type of column statistics data.

                      */ - TimeLeftSeconds?: number; + Type: ColumnStatisticsType | string | undefined; /** - *

                      The median duration of this crawler's runs, in seconds.

                      + *

                      Boolean column statistics data.

                      */ - MedianRuntimeSeconds?: number; + BooleanColumnStatisticsData?: BooleanColumnStatisticsData; /** - *

                      The number of tables deleted by this crawler.

                      + *

                      Date column statistics data.

                      */ - TablesDeleted?: number; + DateColumnStatisticsData?: DateColumnStatisticsData; /** - *

                      The number of tables created by this crawler.

                      + *

                      Decimal column statistics data.

                      */ - TablesCreated?: number; + DecimalColumnStatisticsData?: DecimalColumnStatisticsData; /** - *

                      True if the crawler is still estimating how long it will take to complete this run.

                      + *

                      Double column statistics data.

                      */ - StillEstimating?: boolean; + DoubleColumnStatisticsData?: DoubleColumnStatisticsData; /** - *

                      The duration of the crawler's most recent run, in seconds.

                      + *

                      Long column statistics data.

                      */ - LastRuntimeSeconds?: number; + LongColumnStatisticsData?: LongColumnStatisticsData; /** - *

                      The number of tables updated by this crawler.

                      + *

                      String column statistics data.

                      */ - TablesUpdated?: number; + StringColumnStatisticsData?: StringColumnStatisticsData; /** - *

                      The name of the crawler.

                      + *

                      Binary column statistics data.

                      */ - CrawlerName?: string; + BinaryColumnStatisticsData?: BinaryColumnStatisticsData; } -export namespace CrawlerMetrics { - export const filterSensitiveLog = (obj: CrawlerMetrics): any => ({ +export namespace ColumnStatisticsData { + export const filterSensitiveLog = (obj: ColumnStatisticsData): any => ({ ...obj, }); } -export interface GetCrawlerMetricsResponse { +/** + *

                      Represents the generated column-level statistics for a table or partition.

                      + */ +export interface ColumnStatistics { /** - *

                      A continuation token, if the returned list does not contain the - * last metric available.

                      + *

                      Name of column which statistics belong to.

                      */ - NextToken?: string; + ColumnName: string | undefined; /** - *

                      A list of metrics for the specified crawler.

                      + *

                      The data type of the column.

                      */ - CrawlerMetricsList?: CrawlerMetrics[]; -} - -export namespace GetCrawlerMetricsResponse { - export const filterSensitiveLog = (obj: GetCrawlerMetricsResponse): any => ({ - ...obj, - }); -} + ColumnType: string | undefined; -export interface GetCrawlersRequest { /** - *

                      A continuation token, if this is a continuation request.

                      + *

                      The timestamp of when column statistics were generated.

                      */ - NextToken?: string; + AnalyzedTime: Date | undefined; /** - *

                      The number of crawlers to return on each call.

                      + *

                      A ColumnStatisticData object that contains the statistics data values.

                      */ - MaxResults?: number; + StatisticsData: ColumnStatisticsData | undefined; } -export namespace GetCrawlersRequest { - export const filterSensitiveLog = (obj: GetCrawlersRequest): any => ({ +export namespace ColumnStatistics { + export const filterSensitiveLog = (obj: ColumnStatistics): any => ({ ...obj, }); } -export interface GetCrawlersResponse { +/** + *

                      Encapsulates a column name that failed and the reason for failure.

                      + */ +export interface ColumnError { /** - *

                      A continuation token, if the returned list has not reached the end - * of those defined in this customer account.

                      + *

                      The name of the column that failed.

                      */ - NextToken?: string; + ColumnName?: string; /** - *

                      A list of crawler metadata.

                      + *

                      An error message with the reason for the failure of an operation.

                      */ - Crawlers?: Crawler[]; + Error?: ErrorDetail; } -export namespace GetCrawlersResponse { - export const filterSensitiveLog = (obj: GetCrawlersResponse): any => ({ +export namespace ColumnError { + export const filterSensitiveLog = (obj: ColumnError): any => ({ ...obj, }); } -export interface GetDatabaseRequest { +export interface GetColumnStatisticsForPartitionResponse { /** - *

                      The ID of the Data Catalog in which the database resides. If none is provided, the AWS - * account ID is used by default.

                      + *

                      List of ColumnStatistics that failed to be retrieved.

                      */ - CatalogId?: string; + ColumnStatisticsList?: ColumnStatistics[]; /** - *

                      The name of the database to retrieve. For Hive compatibility, this - * should be all lowercase.

                      + *

                      Error occurred during retrieving column statistics data.

                      */ - Name: string | undefined; + Errors?: ColumnError[]; } -export namespace GetDatabaseRequest { - export const filterSensitiveLog = (obj: GetDatabaseRequest): any => ({ +export namespace GetColumnStatisticsForPartitionResponse { + export const filterSensitiveLog = (obj: GetColumnStatisticsForPartitionResponse): any => ({ ...obj, }); } -/** - *

                      The Database object represents a logical grouping of tables that might reside - * in a Hive metastore or an RDBMS.

                      - */ -export interface Database { +export interface GetColumnStatisticsForTableRequest { /** - *

                      The location of the database (for example, an HDFS path).

                      + *

                      The ID of the Data Catalog where the partitions in question reside. + * If none is supplied, the AWS account ID is used by default.

                      */ - LocationUri?: string; + CatalogId?: string; /** - *

                      A DatabaseIdentifier structure that describes a target database for resource linking.

                      + *

                      The name of the catalog database where the partitions reside.

                      */ - TargetDatabase?: DatabaseIdentifier; + DatabaseName: string | undefined; /** - *

                      These key-value pairs define parameters and properties - * of the database.

                      + *

                      The name of the partitions' table.

                      */ - Parameters?: { [key: string]: string }; + TableName: string | undefined; /** - *

                      The time at which the metadata database was created in the catalog.

                      + *

                      A list of the column names.

                      */ - CreateTime?: Date; + ColumnNames: string[] | undefined; +} +export namespace GetColumnStatisticsForTableRequest { + export const filterSensitiveLog = (obj: GetColumnStatisticsForTableRequest): any => ({ + ...obj, + }); +} + +export interface GetColumnStatisticsForTableResponse { /** - *

                      The ID of the Data Catalog in which the database resides.

                      + *

                      List of ColumnStatistics that failed to be retrieved.

                      */ - CatalogId?: string; + ColumnStatisticsList?: ColumnStatistics[]; /** - *

                      A description of the database.

                      + *

                      List of ColumnStatistics that failed to be retrieved.

                      */ - Description?: string; + Errors?: ColumnError[]; +} +export namespace GetColumnStatisticsForTableResponse { + export const filterSensitiveLog = (obj: GetColumnStatisticsForTableResponse): any => ({ + ...obj, + }); +} + +export interface GetConnectionRequest { /** - *

                      Creates a set of default permissions on the table for principals.

                      + *

                      The ID of the Data Catalog in which the connection resides. If none is provided, the AWS + * account ID is used by default.

                      */ - CreateTableDefaultPermissions?: PrincipalPermissions[]; + CatalogId?: string; /** - *

                      The name of the database. For Hive compatibility, this is folded to lowercase when it is - * stored.

                      + *

                      The name of the connection definition to retrieve.

                      */ Name: string | undefined; + + /** + *

                      Allows you to retrieve the connection metadata without returning the password. For + * instance, the AWS Glue console uses this flag to retrieve the connection, and does not display + * the password. Set this parameter when the caller might not have permission to use the AWS KMS + * key to decrypt the password, but it does have permission to access the rest of the connection + * properties.

                      + */ + HidePassword?: boolean; } -export namespace Database { - export const filterSensitiveLog = (obj: Database): any => ({ +export namespace GetConnectionRequest { + export const filterSensitiveLog = (obj: GetConnectionRequest): any => ({ ...obj, }); } -export interface GetDatabaseResponse { +/** + *

                      Defines a connection to a data source.

                      + */ +export interface Connection { /** - *

                      The definition of the specified database in the Data Catalog.

                      + *

                      The name of the connection definition.

                      */ - Database?: Database; -} + Name?: string; -export namespace GetDatabaseResponse { - export const filterSensitiveLog = (obj: GetDatabaseResponse): any => ({ - ...obj, - }); -} + /** + *

                      The description of the connection.

                      + */ + Description?: string; -export enum ResourceShareType { - ALL = "ALL", - FOREIGN = "FOREIGN", -} + /** + *

                      The type of the connection. Currently, SFTP is not supported.

                      + */ + ConnectionType?: ConnectionType | string; -export interface GetDatabasesRequest { /** - *

                      Allows you to specify that you want to list the databases shared with your account. The allowable values are FOREIGN or ALL.

                      - * - *
                        + *

                        A list of criteria that can be used in selecting this connection.

                        + */ + MatchCriteria?: string[]; + + /** + *

                        These key-value pairs define parameters for the connection:

                        + *
                          *
                        • - *

                          If set to FOREIGN, will list the databases shared with your account.

                          + *

                          + * HOST - The host URI: either the + * fully qualified domain name (FQDN) or the IPv4 address of + * the database host.

                          *
                        • *
                        • - *

                          If set to ALL, will list the databases shared with your account, as well as the databases in yor local account.

                          + *

                          + * PORT - The port number, between + * 1024 and 65535, of the port on which the database host is + * listening for database connections.

                          + *
                        • + *
                        • + *

                          + * USER_NAME - The name under which + * to log in to the database. The value string for USER_NAME is "USERNAME".

                          + *
                        • + *
                        • + *

                          + * PASSWORD - A password, + * if one is used, for the user name.

                          + *
                        • + *
                        • + *

                          + * ENCRYPTED_PASSWORD - When you enable connection password protection by setting ConnectionPasswordEncryption in the Data Catalog encryption settings, this field stores the encrypted password.

                          + *
                        • + *
                        • + *

                          + * JDBC_DRIVER_JAR_URI - The Amazon Simple Storage Service (Amazon S3) path of the + * JAR file that contains the JDBC driver to use.

                          + *
                        • + *
                        • + *

                          + * JDBC_DRIVER_CLASS_NAME - The class name of the JDBC driver to use.

                          + *
                        • + *
                        • + *

                          + * JDBC_ENGINE - The name of the JDBC engine to use.

                          + *
                        • + *
                        • + *

                          + * JDBC_ENGINE_VERSION - The version of the JDBC engine to use.

                          + *
                        • + *
                        • + *

                          + * CONFIG_FILES - (Reserved for future use.)

                          + *
                        • + *
                        • + *

                          + * INSTANCE_ID - The instance ID to use.

                          + *
                        • + *
                        • + *

                          + * JDBC_CONNECTION_URL - The URL for connecting to a JDBC data source.

                          + *
                        • + *
                        • + *

                          + * JDBC_ENFORCE_SSL - A Boolean string (true, false) specifying whether Secure + * Sockets Layer (SSL) with hostname matching is enforced for the JDBC connection on the + * client. The default is false.

                          + *
                        • + *
                        • + *

                          + * CUSTOM_JDBC_CERT - An Amazon S3 location specifying the customer's root certificate. AWS Glue uses this root certificate to validate the customer’s certificate when connecting to the customer database. AWS Glue only handles X.509 certificates. The certificate provided must be DER-encoded and supplied in Base64 encoding PEM format.

                          + *
                        • + *
                        • + *

                          + * SKIP_CUSTOM_JDBC_CERT_VALIDATION - By default, this is false. AWS Glue validates the Signature algorithm and Subject Public Key Algorithm for the customer certificate. The only permitted algorithms for the Signature algorithm are SHA256withRSA, SHA384withRSA or SHA512withRSA. For the Subject Public Key Algorithm, the key length must be at least 2048. You can set the value of this property to true to skip AWS Glue’s validation of the customer certificate.

                          + *
                        • + *
                        • + *

                          + * CUSTOM_JDBC_CERT_STRING - A custom JDBC certificate string which is used for domain match or distinguished name match to prevent a man-in-the-middle attack. In Oracle database, this is used as the SSL_SERVER_CERT_DN; in Microsoft SQL Server, this is used as the hostNameInCertificate.

                          + *
                        • + *
                        • + *

                          + * CONNECTION_URL - The URL for connecting to a general (non-JDBC) data source.

                          + *
                        • + *
                        • + *

                          + * KAFKA_BOOTSTRAP_SERVERS - A comma-separated list of host and port pairs that are the addresses of the Apache Kafka brokers in a Kafka cluster to which a Kafka client will connect to and bootstrap itself.

                          + *
                        • + *
                        • + *

                          + * KAFKA_SSL_ENABLED - Whether to enable or disable SSL on an Apache Kafka connection. Default value is "true".

                          + *
                        • + *
                        • + *

                          + * KAFKA_CUSTOM_CERT - The Amazon S3 URL for the private CA cert file (.pem format). The default is an empty string.

                          + *
                        • + *
                        • + *

                          + * KAFKA_SKIP_CUSTOM_CERT_VALIDATION - Whether to skip the validation of the CA cert file or not. AWS Glue validates for three algorithms: SHA256withRSA, SHA384withRSA and SHA512withRSA. Default value is "false".

                          *
                        • *
                        */ - ResourceShareType?: ResourceShareType | string; - - /** - *

                        A continuation token, if this is a continuation call.

                        - */ - NextToken?: string; + ConnectionProperties?: { [key: string]: string }; /** - *

                        The maximum number of databases to return in one response.

                        + *

                        A map of physical connection requirements, such as virtual private cloud (VPC) and + * SecurityGroup, that are needed to make this connection successfully.

                        */ - MaxResults?: number; + PhysicalConnectionRequirements?: PhysicalConnectionRequirements; /** - *

                        The ID of the Data Catalog from which to retrieve Databases. If none is - * provided, the AWS account ID is used by default.

                        + *

                        The time that this connection definition was created.

                        */ - CatalogId?: string; -} - -export namespace GetDatabasesRequest { - export const filterSensitiveLog = (obj: GetDatabasesRequest): any => ({ - ...obj, - }); -} + CreationTime?: Date; -export interface GetDatabasesResponse { /** - *

                        A continuation token for paginating the returned list of tokens, - * returned if the current segment of the list is not the last.

                        + *

                        The last time that this connection definition was updated.

                        */ - NextToken?: string; + LastUpdatedTime?: Date; /** - *

                        A list of Database objects from the specified catalog.

                        + *

                        The user, group, or role that last updated this connection definition.

                        */ - DatabaseList: Database[] | undefined; + LastUpdatedBy?: string; } -export namespace GetDatabasesResponse { - export const filterSensitiveLog = (obj: GetDatabasesResponse): any => ({ +export namespace Connection { + export const filterSensitiveLog = (obj: Connection): any => ({ ...obj, }); } -export interface GetDataCatalogEncryptionSettingsRequest { +export interface GetConnectionResponse { /** - *

                        The ID of the Data Catalog to retrieve the security configuration for. If none is - * provided, the AWS account ID is used by default.

                        + *

                        The requested connection definition.

                        */ - CatalogId?: string; + Connection?: Connection; } -export namespace GetDataCatalogEncryptionSettingsRequest { - export const filterSensitiveLog = (obj: GetDataCatalogEncryptionSettingsRequest): any => ({ +export namespace GetConnectionResponse { + export const filterSensitiveLog = (obj: GetConnectionResponse): any => ({ ...obj, }); } /** - *

                        The data structure used by the Data Catalog to encrypt the password as part of - * CreateConnection or UpdateConnection and store it in the - * ENCRYPTED_PASSWORD field in the connection properties. You can enable catalog - * encryption or only password encryption.

                        - * - *

                        When a CreationConnection request arrives containing a password, the Data - * Catalog first encrypts the password using your AWS KMS key. It then encrypts the whole - * connection object again if catalog encryption is also enabled.

                        - * - *

                        This encryption requires that you set AWS KMS key permissions to enable or restrict access - * on the password key according to your security requirements. For example, you might want only - * administrators to have decrypt permission on the password key.

                        + *

                        Filters the connection definitions that are returned by the GetConnections + * API operation.

                        */ -export interface ConnectionPasswordEncryption { +export interface GetConnectionsFilter { /** - *

                        An AWS KMS key that is used to encrypt the connection password.

                        - * - *

                        If connection password protection is enabled, the caller of CreateConnection - * and UpdateConnection needs at least kms:Encrypt permission on the - * specified AWS KMS key, to encrypt passwords before storing them in the Data Catalog.

                        - * - *

                        You can set the decrypt permission to enable or restrict access on the password key according to your security requirements.

                        + *

                        A criteria string that must match the criteria recorded in the + * connection definition for that connection definition to be returned.

                        */ - AwsKmsKeyId?: string; + MatchCriteria?: string[]; /** - *

                        When the ReturnConnectionPasswordEncrypted flag is set to "true", passwords remain encrypted in the responses of GetConnection and GetConnections. This encryption takes effect independently from catalog encryption.

                        + *

                        The type of connections to return. Currently, SFTP is not supported.

                        */ - ReturnConnectionPasswordEncrypted: boolean | undefined; + ConnectionType?: ConnectionType | string; } -export namespace ConnectionPasswordEncryption { - export const filterSensitiveLog = (obj: ConnectionPasswordEncryption): any => ({ +export namespace GetConnectionsFilter { + export const filterSensitiveLog = (obj: GetConnectionsFilter): any => ({ ...obj, }); } -export enum CatalogEncryptionMode { - DISABLED = "DISABLED", - SSEKMS = "SSE-KMS", -} +export interface GetConnectionsRequest { + /** + *

                        The ID of the Data Catalog in which the connections reside. If none is provided, the AWS + * account ID is used by default.

                        + */ + CatalogId?: string; -/** - *

                        Specifies the encryption-at-rest configuration for the Data Catalog.

                        - */ -export interface EncryptionAtRest { /** - *

                        The encryption-at-rest mode for encrypting Data Catalog data.

                        + *

                        A filter that controls which connections are returned.

                        */ - CatalogEncryptionMode: CatalogEncryptionMode | string | undefined; + Filter?: GetConnectionsFilter; /** - *

                        The ID of the AWS KMS key to use for encryption at rest.

                        + *

                        Allows you to retrieve the connection metadata without returning the password. For + * instance, the AWS Glue console uses this flag to retrieve the connection, and does not display + * the password. Set this parameter when the caller might not have permission to use the AWS KMS + * key to decrypt the password, but it does have permission to access the rest of the connection + * properties.

                        */ - SseAwsKmsKeyId?: string; + HidePassword?: boolean; + + /** + *

                        A continuation token, if this is a continuation call.

                        + */ + NextToken?: string; + + /** + *

                        The maximum number of connections to return in one response.

                        + */ + MaxResults?: number; } -export namespace EncryptionAtRest { - export const filterSensitiveLog = (obj: EncryptionAtRest): any => ({ +export namespace GetConnectionsRequest { + export const filterSensitiveLog = (obj: GetConnectionsRequest): any => ({ ...obj, }); } -/** - *

                        Contains configuration information for maintaining Data Catalog security.

                        - */ -export interface DataCatalogEncryptionSettings { +export interface GetConnectionsResponse { /** - *

                        When connection password protection is enabled, the Data Catalog uses a customer-provided - * key to encrypt the password as part of CreateConnection or - * UpdateConnection and store it in the ENCRYPTED_PASSWORD field in - * the connection properties. You can enable catalog encryption or only password - * encryption.

                        + *

                        A list of requested connection definitions.

                        */ - ConnectionPasswordEncryption?: ConnectionPasswordEncryption; + ConnectionList?: Connection[]; /** - *

                        Specifies the encryption-at-rest configuration for the Data Catalog.

                        + *

                        A continuation token, if the list of connections returned does not + * include the last of the filtered connections.

                        */ - EncryptionAtRest?: EncryptionAtRest; + NextToken?: string; } -export namespace DataCatalogEncryptionSettings { - export const filterSensitiveLog = (obj: DataCatalogEncryptionSettings): any => ({ +export namespace GetConnectionsResponse { + export const filterSensitiveLog = (obj: GetConnectionsResponse): any => ({ ...obj, }); } -export interface GetDataCatalogEncryptionSettingsResponse { +export interface GetCrawlerRequest { /** - *

                        The requested security configuration.

                        + *

                        The name of the crawler to retrieve metadata for.

                        */ - DataCatalogEncryptionSettings?: DataCatalogEncryptionSettings; + Name: string | undefined; } -export namespace GetDataCatalogEncryptionSettingsResponse { - export const filterSensitiveLog = (obj: GetDataCatalogEncryptionSettingsResponse): any => ({ +export namespace GetCrawlerRequest { + export const filterSensitiveLog = (obj: GetCrawlerRequest): any => ({ ...obj, }); } -export interface GetDataflowGraphRequest { +export interface GetCrawlerResponse { /** - *

                        The Python script to transform.

                        + *

                        The metadata for the specified crawler.

                        */ - PythonScript?: string; + Crawler?: Crawler; } -export namespace GetDataflowGraphRequest { - export const filterSensitiveLog = (obj: GetDataflowGraphRequest): any => ({ +export namespace GetCrawlerResponse { + export const filterSensitiveLog = (obj: GetCrawlerResponse): any => ({ ...obj, }); } -export interface GetDataflowGraphResponse { +export interface GetCrawlerMetricsRequest { /** - *

                        A list of the edges in the resulting DAG.

                        + *

                        A list of the names of crawlers about which to retrieve metrics.

                        */ - DagEdges?: CodeGenEdge[]; + CrawlerNameList?: string[]; /** - *

                        A list of the nodes in the resulting DAG.

                        + *

                        The maximum size of a list to return.

                        */ - DagNodes?: CodeGenNode[]; + MaxResults?: number; + + /** + *

                        A continuation token, if this is a continuation call.

                        + */ + NextToken?: string; } -export namespace GetDataflowGraphResponse { - export const filterSensitiveLog = (obj: GetDataflowGraphResponse): any => ({ +export namespace GetCrawlerMetricsRequest { + export const filterSensitiveLog = (obj: GetCrawlerMetricsRequest): any => ({ ...obj, }); } -export interface GetDevEndpointRequest { +/** + *

                        Metrics for a specified crawler.

                        + */ +export interface CrawlerMetrics { /** - *

                        Name of the DevEndpoint to retrieve information for.

                        + *

                        The name of the crawler.

                        */ - EndpointName: string | undefined; -} + CrawlerName?: string; -export namespace GetDevEndpointRequest { - export const filterSensitiveLog = (obj: GetDevEndpointRequest): any => ({ - ...obj, - }); -} + /** + *

                        The estimated time left to complete a running crawl.

                        + */ + TimeLeftSeconds?: number; -export interface GetDevEndpointResponse { /** - *

                        A DevEndpoint definition.

                        + *

                        True if the crawler is still estimating how long it will take to complete this run.

                        */ - DevEndpoint?: DevEndpoint; -} + StillEstimating?: boolean; -export namespace GetDevEndpointResponse { - export const filterSensitiveLog = (obj: GetDevEndpointResponse): any => ({ - ...obj, - }); -} + /** + *

                        The duration of the crawler's most recent run, in seconds.

                        + */ + LastRuntimeSeconds?: number; -export interface GetDevEndpointsRequest { /** - *

                        The maximum size of information to return.

                        + *

                        The median duration of this crawler's runs, in seconds.

                        */ - MaxResults?: number; + MedianRuntimeSeconds?: number; /** - *

                        A continuation token, if this is a continuation call.

                        + *

                        The number of tables created by this crawler.

                        */ - NextToken?: string; + TablesCreated?: number; + + /** + *

                        The number of tables updated by this crawler.

                        + */ + TablesUpdated?: number; + + /** + *

                        The number of tables deleted by this crawler.

                        + */ + TablesDeleted?: number; } -export namespace GetDevEndpointsRequest { - export const filterSensitiveLog = (obj: GetDevEndpointsRequest): any => ({ +export namespace CrawlerMetrics { + export const filterSensitiveLog = (obj: CrawlerMetrics): any => ({ ...obj, }); } -export interface GetDevEndpointsResponse { +export interface GetCrawlerMetricsResponse { /** - *

                        A list of DevEndpoint definitions.

                        + *

                        A list of metrics for the specified crawler.

                        */ - DevEndpoints?: DevEndpoint[]; + CrawlerMetricsList?: CrawlerMetrics[]; /** - *

                        A continuation token, if not all DevEndpoint definitions have yet been - * returned.

                        + *

                        A continuation token, if the returned list does not contain the + * last metric available.

                        */ NextToken?: string; } -export namespace GetDevEndpointsResponse { - export const filterSensitiveLog = (obj: GetDevEndpointsResponse): any => ({ +export namespace GetCrawlerMetricsResponse { + export const filterSensitiveLog = (obj: GetCrawlerMetricsResponse): any => ({ ...obj, }); } -export interface GetJobRequest { +export interface GetCrawlersRequest { /** - *

                        The name of the job definition to retrieve.

                        + *

                        The number of crawlers to return on each call.

                        */ - JobName: string | undefined; + MaxResults?: number; + + /** + *

                        A continuation token, if this is a continuation request.

                        + */ + NextToken?: string; } -export namespace GetJobRequest { - export const filterSensitiveLog = (obj: GetJobRequest): any => ({ +export namespace GetCrawlersRequest { + export const filterSensitiveLog = (obj: GetCrawlersRequest): any => ({ ...obj, }); } -export interface GetJobResponse { +export interface GetCrawlersResponse { /** - *

                        The requested job definition.

                        + *

                        A list of crawler metadata.

                        + */ + Crawlers?: Crawler[]; + + /** + *

                        A continuation token, if the returned list has not reached the end + * of those defined in this customer account.

                        */ - Job?: Job; + NextToken?: string; } -export namespace GetJobResponse { - export const filterSensitiveLog = (obj: GetJobResponse): any => ({ +export namespace GetCrawlersResponse { + export const filterSensitiveLog = (obj: GetCrawlersResponse): any => ({ ...obj, }); } -export interface GetJobBookmarkRequest { +export interface GetDatabaseRequest { /** - *

                        The name of the job in question.

                        + *

                        The ID of the Data Catalog in which the database resides. If none is provided, the AWS + * account ID is used by default.

                        */ - JobName: string | undefined; + CatalogId?: string; /** - *

                        The unique run identifier associated with this job run.

                        + *

                        The name of the database to retrieve. For Hive compatibility, this + * should be all lowercase.

                        */ - RunId?: string; + Name: string | undefined; } -export namespace GetJobBookmarkRequest { - export const filterSensitiveLog = (obj: GetJobBookmarkRequest): any => ({ +export namespace GetDatabaseRequest { + export const filterSensitiveLog = (obj: GetDatabaseRequest): any => ({ ...obj, }); } /** - *

                        Defines a point that a job can resume processing.

                        + *

                        The Database object represents a logical grouping of tables that might reside + * in a Hive metastore or an RDBMS.

                        */ -export interface JobBookmarkEntry { +export interface Database { /** - *

                        The unique run identifier associated with the previous job run.

                        + *

                        The name of the database. For Hive compatibility, this is folded to lowercase when it is + * stored.

                        */ - PreviousRunId?: string; + Name: string | undefined; /** - *

                        The name of the job in question.

                        + *

                        A description of the database.

                        */ - JobName?: string; + Description?: string; /** - *

                        The run ID number.

                        + *

                        The location of the database (for example, an HDFS path).

                        */ - RunId?: string; + LocationUri?: string; /** - *

                        The bookmark itself.

                        + *

                        These key-value pairs define parameters and properties + * of the database.

                        */ - JobBookmark?: string; + Parameters?: { [key: string]: string }; /** - *

                        The run ID number.

                        + *

                        The time at which the metadata database was created in the catalog.

                        */ - Run?: number; + CreateTime?: Date; /** - *

                        The attempt ID number.

                        + *

                        Creates a set of default permissions on the table for principals.

                        */ - Attempt?: number; + CreateTableDefaultPermissions?: PrincipalPermissions[]; /** - *

                        The version of the job.

                        + *

                        A DatabaseIdentifier structure that describes a target database for resource linking.

                        */ - Version?: number; -} - -export namespace JobBookmarkEntry { - export const filterSensitiveLog = (obj: JobBookmarkEntry): any => ({ - ...obj, - }); -} + TargetDatabase?: DatabaseIdentifier; -export interface GetJobBookmarkResponse { /** - *

                        A structure that defines a point that a job can resume processing.

                        + *

                        The ID of the Data Catalog in which the database resides.

                        */ - JobBookmarkEntry?: JobBookmarkEntry; + CatalogId?: string; } -export namespace GetJobBookmarkResponse { - export const filterSensitiveLog = (obj: GetJobBookmarkResponse): any => ({ +export namespace Database { + export const filterSensitiveLog = (obj: Database): any => ({ ...obj, }); } -export interface GetJobRunRequest { - /** - *

                        The ID of the job run.

                        - */ - RunId: string | undefined; - - /** - *

                        True if a list of predecessor runs should be returned.

                        - */ - PredecessorsIncluded?: boolean; - +export interface GetDatabaseResponse { /** - *

                        Name of the job definition being run.

                        + *

                        The definition of the specified database in the Data Catalog.

                        */ - JobName: string | undefined; + Database?: Database; } -export namespace GetJobRunRequest { - export const filterSensitiveLog = (obj: GetJobRunRequest): any => ({ +export namespace GetDatabaseResponse { + export const filterSensitiveLog = (obj: GetDatabaseResponse): any => ({ ...obj, }); } -export interface GetJobRunResponse { - /** - *

                        The requested job-run metadata.

                        - */ - JobRun?: JobRun; -} - -export namespace GetJobRunResponse { - export const filterSensitiveLog = (obj: GetJobRunResponse): any => ({ - ...obj, - }); +export enum ResourceShareType { + ALL = "ALL", + FOREIGN = "FOREIGN", } -export interface GetJobRunsRequest { - /** - *

                        The maximum size of the response.

                        - */ - MaxResults?: number; - +export interface GetDatabasesRequest { /** - *

                        The name of the job definition for which to retrieve all job runs.

                        + *

                        The ID of the Data Catalog from which to retrieve Databases. If none is + * provided, the AWS account ID is used by default.

                        */ - JobName: string | undefined; + CatalogId?: string; /** *

                        A continuation token, if this is a continuation call.

                        */ NextToken?: string; -} -export namespace GetJobRunsRequest { - export const filterSensitiveLog = (obj: GetJobRunsRequest): any => ({ - ...obj, - }); -} - -export interface GetJobRunsResponse { /** - *

                        A continuation token, if not all requested job runs have been returned.

                        + *

                        The maximum number of databases to return in one response.

                        */ - NextToken?: string; + MaxResults?: number; /** - *

                        A list of job-run metadata objects.

                        + *

                        Allows you to specify that you want to list the databases shared with your account. The allowable values are FOREIGN or ALL.

                        + * + *
                          + *
                        • + *

                          If set to FOREIGN, will list the databases shared with your account.

                          + *
                        • + *
                        • + *

                          If set to ALL, will list the databases shared with your account, as well as the databases in yor local account.

                          + *
                        • + *
                        */ - JobRuns?: JobRun[]; + ResourceShareType?: ResourceShareType | string; } -export namespace GetJobRunsResponse { - export const filterSensitiveLog = (obj: GetJobRunsResponse): any => ({ +export namespace GetDatabasesRequest { + export const filterSensitiveLog = (obj: GetDatabasesRequest): any => ({ ...obj, }); } -export interface GetJobsRequest { +export interface GetDatabasesResponse { /** - *

                        The maximum size of the response.

                        + *

                        A list of Database objects from the specified catalog.

                        */ - MaxResults?: number; + DatabaseList: Database[] | undefined; /** - *

                        A continuation token, if this is a continuation call.

                        + *

                        A continuation token for paginating the returned list of tokens, + * returned if the current segment of the list is not the last.

                        */ NextToken?: string; } -export namespace GetJobsRequest { - export const filterSensitiveLog = (obj: GetJobsRequest): any => ({ +export namespace GetDatabasesResponse { + export const filterSensitiveLog = (obj: GetDatabasesResponse): any => ({ ...obj, }); } -export interface GetJobsResponse { - /** - *

                        A continuation token, if not all job definitions have yet been returned.

                        - */ - NextToken?: string; - +export interface GetDataCatalogEncryptionSettingsRequest { /** - *

                        A list of job definitions.

                        + *

                        The ID of the Data Catalog to retrieve the security configuration for. If none is + * provided, the AWS account ID is used by default.

                        */ - Jobs?: Job[]; + CatalogId?: string; } -export namespace GetJobsResponse { - export const filterSensitiveLog = (obj: GetJobsResponse): any => ({ +export namespace GetDataCatalogEncryptionSettingsRequest { + export const filterSensitiveLog = (obj: GetDataCatalogEncryptionSettingsRequest): any => ({ ...obj, }); } /** - *

                        The location of resources.

                        + *

                        The data structure used by the Data Catalog to encrypt the password as part of + * CreateConnection or UpdateConnection and store it in the + * ENCRYPTED_PASSWORD field in the connection properties. You can enable catalog + * encryption or only password encryption.

                        + * + *

                        When a CreationConnection request arrives containing a password, the Data + * Catalog first encrypts the password using your AWS KMS key. It then encrypts the whole + * connection object again if catalog encryption is also enabled.

                        + * + *

                        This encryption requires that you set AWS KMS key permissions to enable or restrict access + * on the password key according to your security requirements. For example, you might want only + * administrators to have decrypt permission on the password key.

                        */ -export interface Location { - /** - *

                        An Amazon Simple Storage Service (Amazon S3) location.

                        - */ - S3?: CodeGenNodeArg[]; - +export interface ConnectionPasswordEncryption { /** - *

                        A JDBC location.

                        + *

                        When the ReturnConnectionPasswordEncrypted flag is set to "true", passwords remain encrypted in the responses of GetConnection and GetConnections. This encryption takes effect independently from catalog encryption.

                        */ - Jdbc?: CodeGenNodeArg[]; + ReturnConnectionPasswordEncrypted: boolean | undefined; /** - *

                        An Amazon DynamoDB table location.

                        + *

                        An AWS KMS key that is used to encrypt the connection password.

                        + * + *

                        If connection password protection is enabled, the caller of CreateConnection + * and UpdateConnection needs at least kms:Encrypt permission on the + * specified AWS KMS key, to encrypt passwords before storing them in the Data Catalog.

                        + * + *

                        You can set the decrypt permission to enable or restrict access on the password key according to your security requirements.

                        */ - DynamoDB?: CodeGenNodeArg[]; + AwsKmsKeyId?: string; } -export namespace Location { - export const filterSensitiveLog = (obj: Location): any => ({ +export namespace ConnectionPasswordEncryption { + export const filterSensitiveLog = (obj: ConnectionPasswordEncryption): any => ({ ...obj, }); } +export enum CatalogEncryptionMode { + DISABLED = "DISABLED", + SSEKMS = "SSE-KMS", +} + /** - *

                        Specifies a table definition in the AWS Glue Data Catalog.

                        + *

                        Specifies the encryption-at-rest configuration for the Data Catalog.

                        */ -export interface CatalogEntry { +export interface EncryptionAtRest { /** - *

                        The database in which the table metadata resides.

                        + *

                        The encryption-at-rest mode for encrypting Data Catalog data.

                        */ - DatabaseName: string | undefined; + CatalogEncryptionMode: CatalogEncryptionMode | string | undefined; /** - *

                        The name of the table in question.

                        + *

                        The ID of the AWS KMS key to use for encryption at rest.

                        */ - TableName: string | undefined; + SseAwsKmsKeyId?: string; } -export namespace CatalogEntry { - export const filterSensitiveLog = (obj: CatalogEntry): any => ({ +export namespace EncryptionAtRest { + export const filterSensitiveLog = (obj: EncryptionAtRest): any => ({ ...obj, }); } -export interface GetMappingRequest { - /** - *

                        Parameters for the mapping.

                        - */ - Location?: Location; - +/** + *

                        Contains configuration information for maintaining Data Catalog security.

                        + */ +export interface DataCatalogEncryptionSettings { /** - *

                        Specifies the source table.

                        + *

                        Specifies the encryption-at-rest configuration for the Data Catalog.

                        */ - Source: CatalogEntry | undefined; + EncryptionAtRest?: EncryptionAtRest; /** - *

                        A list of target tables.

                        + *

                        When connection password protection is enabled, the Data Catalog uses a customer-provided + * key to encrypt the password as part of CreateConnection or + * UpdateConnection and store it in the ENCRYPTED_PASSWORD field in + * the connection properties. You can enable catalog encryption or only password + * encryption.

                        */ - Sinks?: CatalogEntry[]; + ConnectionPasswordEncryption?: ConnectionPasswordEncryption; } -export namespace GetMappingRequest { - export const filterSensitiveLog = (obj: GetMappingRequest): any => ({ +export namespace DataCatalogEncryptionSettings { + export const filterSensitiveLog = (obj: DataCatalogEncryptionSettings): any => ({ ...obj, }); -} - -/** - *

                        Defines a mapping.

                        - */ -export interface MappingEntry { - /** - *

                        The source type.

                        - */ - SourceType?: string; - - /** - *

                        The source path.

                        - */ - SourcePath?: string; - - /** - *

                        The name of the source table.

                        - */ - SourceTable?: string; - - /** - *

                        The target type.

                        - */ - TargetType?: string; - - /** - *

                        The target table.

                        - */ - TargetTable?: string; +} +export interface GetDataCatalogEncryptionSettingsResponse { /** - *

                        The target path.

                        + *

                        The requested security configuration.

                        */ - TargetPath?: string; + DataCatalogEncryptionSettings?: DataCatalogEncryptionSettings; } -export namespace MappingEntry { - export const filterSensitiveLog = (obj: MappingEntry): any => ({ +export namespace GetDataCatalogEncryptionSettingsResponse { + export const filterSensitiveLog = (obj: GetDataCatalogEncryptionSettingsResponse): any => ({ ...obj, }); } -export interface GetMappingResponse { +export interface GetDataflowGraphRequest { /** - *

                        A list of mappings to the specified targets.

                        + *

                        The Python script to transform.

                        */ - Mapping: MappingEntry[] | undefined; + PythonScript?: string; } -export namespace GetMappingResponse { - export const filterSensitiveLog = (obj: GetMappingResponse): any => ({ +export namespace GetDataflowGraphRequest { + export const filterSensitiveLog = (obj: GetDataflowGraphRequest): any => ({ ...obj, }); } -export interface GetMLTaskRunRequest { +export interface GetDataflowGraphResponse { /** - *

                        The unique identifier of the machine learning transform.

                        + *

                        A list of the nodes in the resulting DAG.

                        */ - TransformId: string | undefined; + DagNodes?: CodeGenNode[]; /** - *

                        The unique identifier of the task run.

                        + *

                        A list of the edges in the resulting DAG.

                        */ - TaskRunId: string | undefined; + DagEdges?: CodeGenEdge[]; } -export namespace GetMLTaskRunRequest { - export const filterSensitiveLog = (obj: GetMLTaskRunRequest): any => ({ +export namespace GetDataflowGraphResponse { + export const filterSensitiveLog = (obj: GetDataflowGraphResponse): any => ({ ...obj, }); } -/** - *

                        Specifies configuration properties for an exporting labels task run.

                        - */ -export interface ExportLabelsTaskRunProperties { +export interface GetDevEndpointRequest { /** - *

                        The Amazon Simple Storage Service (Amazon S3) path where you will export the - * labels.

                        + *

                        Name of the DevEndpoint to retrieve information for.

                        */ - OutputS3Path?: string; + EndpointName: string | undefined; } -export namespace ExportLabelsTaskRunProperties { - export const filterSensitiveLog = (obj: ExportLabelsTaskRunProperties): any => ({ +export namespace GetDevEndpointRequest { + export const filterSensitiveLog = (obj: GetDevEndpointRequest): any => ({ ...obj, }); } -/** - *

                        Specifies configuration properties for a Find Matches task run.

                        - */ -export interface FindMatchesTaskRunProperties { +export interface GetDevEndpointResponse { /** - *

                        The job run ID for the Find Matches task run.

                        + *

                        A DevEndpoint definition.

                        */ - JobRunId?: string; + DevEndpoint?: DevEndpoint; +} + +export namespace GetDevEndpointResponse { + export const filterSensitiveLog = (obj: GetDevEndpointResponse): any => ({ + ...obj, + }); +} +export interface GetDevEndpointsRequest { /** - *

                        The name assigned to the job for the Find Matches task run.

                        + *

                        The maximum size of information to return.

                        */ - JobName?: string; + MaxResults?: number; /** - *

                        The job ID for the Find Matches task run.

                        + *

                        A continuation token, if this is a continuation call.

                        */ - JobId?: string; + NextToken?: string; } -export namespace FindMatchesTaskRunProperties { - export const filterSensitiveLog = (obj: FindMatchesTaskRunProperties): any => ({ +export namespace GetDevEndpointsRequest { + export const filterSensitiveLog = (obj: GetDevEndpointsRequest): any => ({ ...obj, }); } -/** - *

                        Specifies configuration properties for an importing labels task run.

                        - */ -export interface ImportLabelsTaskRunProperties { +export interface GetDevEndpointsResponse { /** - *

                        Indicates whether to overwrite your existing labels.

                        + *

                        A list of DevEndpoint definitions.

                        */ - Replace?: boolean; + DevEndpoints?: DevEndpoint[]; /** - *

                        The Amazon Simple Storage Service (Amazon S3) path from where you will import the - * labels.

                        + *

                        A continuation token, if not all DevEndpoint definitions have yet been + * returned.

                        */ - InputS3Path?: string; + NextToken?: string; } -export namespace ImportLabelsTaskRunProperties { - export const filterSensitiveLog = (obj: ImportLabelsTaskRunProperties): any => ({ +export namespace GetDevEndpointsResponse { + export const filterSensitiveLog = (obj: GetDevEndpointsResponse): any => ({ ...obj, }); } -/** - *

                        Specifies configuration properties for a labeling set generation task run.

                        - */ -export interface LabelingSetGenerationTaskRunProperties { +export interface GetJobRequest { /** - *

                        The Amazon Simple Storage Service (Amazon S3) path where you will generate the labeling - * set.

                        + *

                        The name of the job definition to retrieve.

                        */ - OutputS3Path?: string; + JobName: string | undefined; } -export namespace LabelingSetGenerationTaskRunProperties { - export const filterSensitiveLog = (obj: LabelingSetGenerationTaskRunProperties): any => ({ +export namespace GetJobRequest { + export const filterSensitiveLog = (obj: GetJobRequest): any => ({ ...obj, }); } -export enum TaskType { - EVALUATION = "EVALUATION", - EXPORT_LABELS = "EXPORT_LABELS", - FIND_MATCHES = "FIND_MATCHES", - IMPORT_LABELS = "IMPORT_LABELS", - LABELING_SET_GENERATION = "LABELING_SET_GENERATION", -} - -/** - *

                        The configuration properties for the task run.

                        - */ -export interface TaskRunProperties { - /** - *

                        The configuration properties for a find matches task run.

                        - */ - FindMatchesTaskRunProperties?: FindMatchesTaskRunProperties; - +export interface GetJobResponse { /** - *

                        The configuration properties for an exporting labels task run.

                        + *

                        The requested job definition.

                        */ - ExportLabelsTaskRunProperties?: ExportLabelsTaskRunProperties; + Job?: Job; +} - /** - *

                        The configuration properties for a labeling set generation task run.

                        - */ - LabelingSetGenerationTaskRunProperties?: LabelingSetGenerationTaskRunProperties; +export namespace GetJobResponse { + export const filterSensitiveLog = (obj: GetJobResponse): any => ({ + ...obj, + }); +} +export interface GetJobBookmarkRequest { /** - *

                        The configuration properties for an importing labels task run.

                        + *

                        The name of the job in question.

                        */ - ImportLabelsTaskRunProperties?: ImportLabelsTaskRunProperties; + JobName: string | undefined; /** - *

                        The type of task run.

                        + *

                        The unique run identifier associated with this job run.

                        */ - TaskType?: TaskType | string; + RunId?: string; } -export namespace TaskRunProperties { - export const filterSensitiveLog = (obj: TaskRunProperties): any => ({ +export namespace GetJobBookmarkRequest { + export const filterSensitiveLog = (obj: GetJobBookmarkRequest): any => ({ ...obj, }); } -export interface GetMLTaskRunResponse { - /** - *

                        The unique identifier of the task run.

                        - */ - TransformId?: string; - +/** + *

                        Defines a point that a job can resume processing.

                        + */ +export interface JobBookmarkEntry { /** - *

                        The date and time when this task run was last modified.

                        + *

                        The name of the job in question.

                        */ - LastModifiedOn?: Date; + JobName?: string; /** - *

                        The unique run identifier associated with this run.

                        + *

                        The version of the job.

                        */ - TaskRunId?: string; + Version?: number; /** - *

                        The names of the log groups that are associated with the task run.

                        + *

                        The run ID number.

                        */ - LogGroupName?: string; + Run?: number; /** - *

                        The status for this task run.

                        + *

                        The attempt ID number.

                        */ - Status?: TaskStatusType | string; + Attempt?: number; /** - *

                        The error strings that are associated with the task run.

                        + *

                        The unique run identifier associated with the previous job run.

                        */ - ErrorString?: string; + PreviousRunId?: string; /** - *

                        The list of properties that are associated with the task run.

                        + *

                        The run ID number.

                        */ - Properties?: TaskRunProperties; + RunId?: string; /** - *

                        The date and time when this task run started.

                        + *

                        The bookmark itself.

                        */ - StartedOn?: Date; + JobBookmark?: string; +} - /** - *

                        The amount of time (in seconds) that the task run consumed resources.

                        - */ - ExecutionTime?: number; +export namespace JobBookmarkEntry { + export const filterSensitiveLog = (obj: JobBookmarkEntry): any => ({ + ...obj, + }); +} +export interface GetJobBookmarkResponse { /** - *

                        The date and time when this task run was completed.

                        + *

                        A structure that defines a point that a job can resume processing.

                        */ - CompletedOn?: Date; + JobBookmarkEntry?: JobBookmarkEntry; } -export namespace GetMLTaskRunResponse { - export const filterSensitiveLog = (obj: GetMLTaskRunResponse): any => ({ +export namespace GetJobBookmarkResponse { + export const filterSensitiveLog = (obj: GetJobBookmarkResponse): any => ({ ...obj, }); } -/** - *

                        The criteria that are used to filter the task runs for the machine learning - * transform.

                        - */ -export interface TaskRunFilterCriteria { - /** - *

                        Filter on task runs started after this date.

                        - */ - StartedAfter?: Date; - +export interface GetJobRunRequest { /** - *

                        The current status of the task run.

                        + *

                        Name of the job definition being run.

                        */ - Status?: TaskStatusType | string; + JobName: string | undefined; /** - *

                        Filter on task runs started before this date.

                        + *

                        The ID of the job run.

                        */ - StartedBefore?: Date; + RunId: string | undefined; /** - *

                        The type of task run.

                        + *

                        True if a list of predecessor runs should be returned.

                        */ - TaskRunType?: TaskType | string; + PredecessorsIncluded?: boolean; } -export namespace TaskRunFilterCriteria { - export const filterSensitiveLog = (obj: TaskRunFilterCriteria): any => ({ +export namespace GetJobRunRequest { + export const filterSensitiveLog = (obj: GetJobRunRequest): any => ({ ...obj, }); } -export enum TaskRunSortColumnType { - STARTED = "STARTED", - STATUS = "STATUS", - TASK_RUN_TYPE = "TASK_RUN_TYPE", -} - -export enum SortDirectionType { - ASCENDING = "ASCENDING", - DESCENDING = "DESCENDING", -} - -/** - *

                        The sorting criteria that are used to sort the list of task runs for the machine learning - * transform.

                        - */ -export interface TaskRunSortCriteria { - /** - *

                        The sort direction to be used to sort the list of task runs for the machine learning - * transform.

                        - */ - SortDirection: SortDirectionType | string | undefined; - +export interface GetJobRunResponse { /** - *

                        The column to be used to sort the list of task runs for the machine learning - * transform.

                        + *

                        The requested job-run metadata.

                        */ - Column: TaskRunSortColumnType | string | undefined; + JobRun?: JobRun; } -export namespace TaskRunSortCriteria { - export const filterSensitiveLog = (obj: TaskRunSortCriteria): any => ({ +export namespace GetJobRunResponse { + export const filterSensitiveLog = (obj: GetJobRunResponse): any => ({ ...obj, }); } -export interface GetMLTaskRunsRequest { +export interface GetJobRunsRequest { /** - *

                        The maximum number of results to return.

                        + *

                        The name of the job definition for which to retrieve all job runs.

                        */ - MaxResults?: number; + JobName: string | undefined; /** - *

                        A token for pagination of the results. The default is empty.

                        + *

                        A continuation token, if this is a continuation call.

                        */ NextToken?: string; /** - *

                        The sorting criteria, in the TaskRunSortCriteria structure, for the task run.

                        - */ - Sort?: TaskRunSortCriteria; - - /** - *

                        The filter criteria, in the TaskRunFilterCriteria structure, for the task run.

                        - */ - Filter?: TaskRunFilterCriteria; - - /** - *

                        The unique identifier of the machine learning transform.

                        + *

                        The maximum size of the response.

                        */ - TransformId: string | undefined; + MaxResults?: number; } -export namespace GetMLTaskRunsRequest { - export const filterSensitiveLog = (obj: GetMLTaskRunsRequest): any => ({ +export namespace GetJobRunsRequest { + export const filterSensitiveLog = (obj: GetJobRunsRequest): any => ({ ...obj, }); } -/** - *

                        The sampling parameters that are associated with the machine learning transform.

                        - */ -export interface TaskRun { - /** - *

                        The unique identifier for the transform.

                        - */ - TransformId?: string; - - /** - *

                        The amount of time (in seconds) that the task run consumed resources.

                        - */ - ExecutionTime?: number; - - /** - *

                        Specifies configuration properties associated with this task run.

                        - */ - Properties?: TaskRunProperties; - - /** - *

                        The list of error strings associated with this task run.

                        - */ - ErrorString?: string; - - /** - *

                        The date and time that this task run started.

                        - */ - StartedOn?: Date; - - /** - *

                        The last point in time that the requested task run was completed.

                        - */ - CompletedOn?: Date; - - /** - *

                        The current status of the requested task run.

                        - */ - Status?: TaskStatusType | string; - - /** - *

                        The last point in time that the requested task run was updated.

                        - */ - LastModifiedOn?: Date; - +export interface GetJobRunsResponse { /** - *

                        The unique identifier for this task run.

                        + *

                        A list of job-run metadata objects.

                        */ - TaskRunId?: string; + JobRuns?: JobRun[]; /** - *

                        The names of the log group for secure logging, associated with this task run.

                        + *

                        A continuation token, if not all requested job runs have been returned.

                        */ - LogGroupName?: string; + NextToken?: string; } -export namespace TaskRun { - export const filterSensitiveLog = (obj: TaskRun): any => ({ +export namespace GetJobRunsResponse { + export const filterSensitiveLog = (obj: GetJobRunsResponse): any => ({ ...obj, }); } -export interface GetMLTaskRunsResponse { - /** - *

                        A list of task runs that are associated with the transform.

                        - */ - TaskRuns?: TaskRun[]; - +export interface GetJobsRequest { /** - *

                        A pagination token, if more results are available.

                        + *

                        A continuation token, if this is a continuation call.

                        */ NextToken?: string; -} - -export namespace GetMLTaskRunsResponse { - export const filterSensitiveLog = (obj: GetMLTaskRunsResponse): any => ({ - ...obj, - }); -} -export interface GetMLTransformRequest { /** - *

                        The unique identifier of the transform, generated at the time that the transform was - * created.

                        + *

                        The maximum size of the response.

                        */ - TransformId: string | undefined; + MaxResults?: number; } -export namespace GetMLTransformRequest { - export const filterSensitiveLog = (obj: GetMLTransformRequest): any => ({ +export namespace GetJobsRequest { + export const filterSensitiveLog = (obj: GetJobsRequest): any => ({ ...obj, }); } -/** - *

                        The confusion matrix shows you what your transform is predicting accurately and what types of errors it is making.

                        - * - *

                        For more information, see Confusion matrix in Wikipedia.

                        - */ -export interface ConfusionMatrix { - /** - *

                        The number of nonmatches in the data that the transform correctly rejected, in the - * confusion matrix for your transform.

                        - */ - NumTrueNegatives?: number; - - /** - *

                        The number of nonmatches in the data that the transform incorrectly classified as a match, - * in the confusion matrix for your transform.

                        - */ - NumFalsePositives?: number; - +export interface GetJobsResponse { /** - *

                        The number of matches in the data that the transform correctly found, in the confusion matrix for your transform.

                        + *

                        A list of job definitions.

                        */ - NumTruePositives?: number; + Jobs?: Job[]; /** - *

                        The number of matches in the data that the transform didn't find, in the confusion matrix for your transform.

                        + *

                        A continuation token, if not all job definitions have yet been returned.

                        */ - NumFalseNegatives?: number; + NextToken?: string; } -export namespace ConfusionMatrix { - export const filterSensitiveLog = (obj: ConfusionMatrix): any => ({ +export namespace GetJobsResponse { + export const filterSensitiveLog = (obj: GetJobsResponse): any => ({ ...obj, }); } diff --git a/clients/client-glue/models/models_1.ts b/clients/client-glue/models/models_1.ts index e3d00dd00700..fdcab982b99b 100644 --- a/clients/client-glue/models/models_1.ts +++ b/clients/client-glue/models/models_1.ts @@ -1,14 +1,15 @@ import { Action, - CatalogEntry, + CodeGenNodeArg, Column, ColumnStatistics, - ConfusionMatrix, + Compatibility, ConnectionInput, ConnectionsList, CrawlerTargets, CsvHeaderOption, DataCatalogEncryptionSettings, + DataFormat, DatabaseInput, EncryptionConfiguration, ErrorDetail, @@ -17,21 +18,24 @@ import { JobBookmarkEntry, JobCommand, Language, - Location, - MappingEntry, NotificationProperty, Partition, PartitionInput, Predicate, PrincipalType, RecrawlPolicy, + RegistryId, + RegistryStatus, ResourceShareType, ResourceUri, SchemaChangePolicy, - SortDirectionType, + SchemaId, + SchemaStatus, + SchemaVersionStatus, StorageDescriptor, TableIdentifier, TableInput, + TaskStatusType, TransformEncryption, TransformParameters, TransformType, @@ -45,2289 +49,3738 @@ import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; /** - *

                        The evaluation metrics for the find matches algorithm. The quality of your machine - * learning transform is measured by getting your transform to predict some matches and comparing - * the results to known matches from the same dataset. The quality metrics are based on a subset - * of your data, so they are not precise.

                        + *

                        The location of resources.

                        */ -export interface FindMatchesMetrics { +export interface Location { /** - *

                        The area under the precision/recall curve (AUPRC) is a single number measuring the overall - * quality of the transform, that is independent of the choice made for precision vs. recall. - * Higher values indicate that you have a more attractive precision vs. recall tradeoff.

                        - *

                        For more information, see Precision and recall in Wikipedia.

                        + *

                        A JDBC location.

                        */ - AreaUnderPRCurve?: number; + Jdbc?: CodeGenNodeArg[]; /** - *

                        The recall metric indicates that for an actual match, how often your transform predicts - * the match. Specifically, it measures how well the transform finds true positives from the - * total records in the source data.

                        - *

                        For more information, see Precision and recall in Wikipedia.

                        + *

                        An Amazon Simple Storage Service (Amazon S3) location.

                        */ - Recall?: number; + S3?: CodeGenNodeArg[]; /** - *

                        The precision metric indicates when often your transform is correct when it predicts a match. Specifically, it measures how well the transform finds true positives from the total true positives possible.

                        - *

                        For more information, see Precision and recall in Wikipedia.

                        + *

                        An Amazon DynamoDB table location.

                        */ - Precision?: number; + DynamoDB?: CodeGenNodeArg[]; +} + +export namespace Location { + export const filterSensitiveLog = (obj: Location): any => ({ + ...obj, + }); +} +/** + *

                        Specifies a table definition in the AWS Glue Data Catalog.

                        + */ +export interface CatalogEntry { /** - *

                        The maximum F1 metric indicates the transform's accuracy between 0 and 1, where 1 is the best accuracy.

                        - *

                        For more information, see F1 score in Wikipedia.

                        + *

                        The database in which the table metadata resides.

                        */ - F1?: number; + DatabaseName: string | undefined; /** - *

                        The confusion matrix shows you what your transform is predicting accurately and what types of errors it is making.

                        - *

                        For more information, see Confusion matrix in Wikipedia.

                        + *

                        The name of the table in question.

                        */ - ConfusionMatrix?: ConfusionMatrix; + TableName: string | undefined; } -export namespace FindMatchesMetrics { - export const filterSensitiveLog = (obj: FindMatchesMetrics): any => ({ +export namespace CatalogEntry { + export const filterSensitiveLog = (obj: CatalogEntry): any => ({ ...obj, }); } -/** - *

                        Evaluation metrics provide an estimate of the quality of your machine learning transform.

                        - */ -export interface EvaluationMetrics { +export interface GetMappingRequest { /** - *

                        The evaluation metrics for the find matches algorithm.

                        + *

                        Specifies the source table.

                        */ - FindMatchesMetrics?: FindMatchesMetrics; + Source: CatalogEntry | undefined; /** - *

                        The type of machine learning transform.

                        + *

                        A list of target tables.

                        */ - TransformType: TransformType | string | undefined; + Sinks?: CatalogEntry[]; + + /** + *

                        Parameters for the mapping.

                        + */ + Location?: Location; } -export namespace EvaluationMetrics { - export const filterSensitiveLog = (obj: EvaluationMetrics): any => ({ +export namespace GetMappingRequest { + export const filterSensitiveLog = (obj: GetMappingRequest): any => ({ ...obj, }); } /** - *

                        A key-value pair representing a column and data type that this transform can - * run against. The Schema parameter of the MLTransform may contain up to 100 of these structures.

                        + *

                        Defines a mapping.

                        */ -export interface SchemaColumn { +export interface MappingEntry { /** - *

                        The type of data in the column.

                        + *

                        The name of the source table.

                        */ - DataType?: string; + SourceTable?: string; /** - *

                        The name of the column.

                        + *

                        The source path.

                        */ - Name?: string; + SourcePath?: string; + + /** + *

                        The source type.

                        + */ + SourceType?: string; + + /** + *

                        The target table.

                        + */ + TargetTable?: string; + + /** + *

                        The target path.

                        + */ + TargetPath?: string; + + /** + *

                        The target type.

                        + */ + TargetType?: string; } -export namespace SchemaColumn { - export const filterSensitiveLog = (obj: SchemaColumn): any => ({ +export namespace MappingEntry { + export const filterSensitiveLog = (obj: MappingEntry): any => ({ ...obj, }); } -export enum TransformStatusType { - DELETING = "DELETING", - NOT_READY = "NOT_READY", - READY = "READY", +export interface GetMappingResponse { + /** + *

                        A list of mappings to the specified targets.

                        + */ + Mapping: MappingEntry[] | undefined; } -export interface GetMLTransformResponse { +export namespace GetMappingResponse { + export const filterSensitiveLog = (obj: GetMappingResponse): any => ({ + ...obj, + }); +} + +export interface GetMLTaskRunRequest { /** - *

                        The configuration parameters that are specific to the algorithm used.

                        + *

                        The unique identifier of the machine learning transform.

                        */ - Parameters?: TransformParameters; + TransformId: string | undefined; /** - *

                        The maximum number of times to retry a task for this transform after a task run fails.

                        + *

                        The unique identifier of the task run.

                        */ - MaxRetries?: number; + TaskRunId: string | undefined; +} + +export namespace GetMLTaskRunRequest { + export const filterSensitiveLog = (obj: GetMLTaskRunRequest): any => ({ + ...obj, + }); +} +/** + *

                        Specifies configuration properties for an exporting labels task run.

                        + */ +export interface ExportLabelsTaskRunProperties { /** - *

                        The last known status of the transform (to indicate whether it can be used or not). One of "NOT_READY", "READY", or "DELETING".

                        + *

                        The Amazon Simple Storage Service (Amazon S3) path where you will export the + * labels.

                        */ - Status?: TransformStatusType | string; + OutputS3Path?: string; +} + +export namespace ExportLabelsTaskRunProperties { + export const filterSensitiveLog = (obj: ExportLabelsTaskRunProperties): any => ({ + ...obj, + }); +} +/** + *

                        Specifies configuration properties for a Find Matches task run.

                        + */ +export interface FindMatchesTaskRunProperties { /** - *

                        A list of AWS Glue table definitions used by the transform.

                        + *

                        The job ID for the Find Matches task run.

                        */ - InputRecordTables?: GlueTable[]; + JobId?: string; /** - *

                        The number of AWS Glue data processing units (DPUs) that are allocated to task runs for this transform. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of - * processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more - * information, see the AWS Glue pricing - * page.

                        - * - *

                        When the WorkerType field is set to a value other than Standard, the MaxCapacity field is set automatically and becomes read-only.

                        + *

                        The name assigned to the job for the Find Matches task run.

                        */ - MaxCapacity?: number; + JobName?: string; /** - *

                        The latest evaluation metrics.

                        + *

                        The job run ID for the Find Matches task run.

                        */ - EvaluationMetrics?: EvaluationMetrics; + JobRunId?: string; +} + +export namespace FindMatchesTaskRunProperties { + export const filterSensitiveLog = (obj: FindMatchesTaskRunProperties): any => ({ + ...obj, + }); +} +/** + *

                        Specifies configuration properties for an importing labels task run.

                        + */ +export interface ImportLabelsTaskRunProperties { /** - *

                        The timeout for a task run for this transform in minutes. This is the maximum time that a task run for this transform can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

                        + *

                        The Amazon Simple Storage Service (Amazon S3) path from where you will import the + * labels.

                        */ - Timeout?: number; + InputS3Path?: string; /** - *

                        The Map object that represents the schema that this - * transform accepts. Has an upper bound of 100 columns.

                        + *

                        Indicates whether to overwrite your existing labels.

                        */ - Schema?: SchemaColumn[]; + Replace?: boolean; +} + +export namespace ImportLabelsTaskRunProperties { + export const filterSensitiveLog = (obj: ImportLabelsTaskRunProperties): any => ({ + ...obj, + }); +} +/** + *

                        Specifies configuration properties for a labeling set generation task run.

                        + */ +export interface LabelingSetGenerationTaskRunProperties { /** - *

                        The unique name given to the transform when it was created.

                        + *

                        The Amazon Simple Storage Service (Amazon S3) path where you will generate the labeling + * set.

                        */ - Name?: string; + OutputS3Path?: string; +} + +export namespace LabelingSetGenerationTaskRunProperties { + export const filterSensitiveLog = (obj: LabelingSetGenerationTaskRunProperties): any => ({ + ...obj, + }); +} + +export enum TaskType { + EVALUATION = "EVALUATION", + EXPORT_LABELS = "EXPORT_LABELS", + FIND_MATCHES = "FIND_MATCHES", + IMPORT_LABELS = "IMPORT_LABELS", + LABELING_SET_GENERATION = "LABELING_SET_GENERATION", +} +/** + *

                        The configuration properties for the task run.

                        + */ +export interface TaskRunProperties { /** - *

                        The number of labels available for this transform.

                        + *

                        The type of task run.

                        */ - LabelCount?: number; + TaskType?: TaskType | string; /** - *

                        The name or Amazon Resource Name (ARN) of the IAM role with the required - * permissions.

                        + *

                        The configuration properties for an importing labels task run.

                        */ - Role?: string; + ImportLabelsTaskRunProperties?: ImportLabelsTaskRunProperties; /** - *

                        This value determines which version of AWS Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see AWS Glue Versions in the developer guide.

                        + *

                        The configuration properties for an exporting labels task run.

                        */ - GlueVersion?: string; + ExportLabelsTaskRunProperties?: ExportLabelsTaskRunProperties; /** - *

                        The unique identifier of the transform, generated at the time that the transform was - * created.

                        + *

                        The configuration properties for a labeling set generation task run.

                        */ - TransformId?: string; + LabelingSetGenerationTaskRunProperties?: LabelingSetGenerationTaskRunProperties; /** - *

                        The date and time when the transform was created.

                        + *

                        The configuration properties for a find matches task run.

                        */ - CreatedOn?: Date; + FindMatchesTaskRunProperties?: FindMatchesTaskRunProperties; +} + +export namespace TaskRunProperties { + export const filterSensitiveLog = (obj: TaskRunProperties): any => ({ + ...obj, + }); +} +export interface GetMLTaskRunResponse { /** - *

                        The type of predefined worker that is allocated when this task runs. Accepts a value of Standard, G.1X, or G.2X.

                        - *
                          - *
                        • - *

                          For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

                          - *
                        • - *
                        • - *

                          For the G.1X worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker.

                          - *
                        • - *
                        • - *

                          For the G.2X worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker.

                          - *
                        • - *
                        + *

                        The unique identifier of the task run.

                        */ - WorkerType?: WorkerType | string; + TransformId?: string; /** - *

                        The date and time when the transform was last modified.

                        + *

                        The unique run identifier associated with this run.

                        */ - LastModifiedOn?: Date; + TaskRunId?: string; /** - *

                        The number of workers of a defined workerType that are allocated when this task runs.

                        + *

                        The status for this task run.

                        */ - NumberOfWorkers?: number; + Status?: TaskStatusType | string; /** - *

                        A description of the transform.

                        + *

                        The names of the log groups that are associated with the task run.

                        */ - Description?: string; + LogGroupName?: string; /** - *

                        The encryption-at-rest settings of the transform that apply to accessing user data. Machine learning transforms can access user data encrypted in Amazon S3 using KMS.

                        + *

                        The list of properties that are associated with the task run.

                        */ - TransformEncryption?: TransformEncryption; -} - -export namespace GetMLTransformResponse { - export const filterSensitiveLog = (obj: GetMLTransformResponse): any => ({ - ...obj, - }); -} + Properties?: TaskRunProperties; -/** - *

                        The criteria used to filter the machine learning transforms.

                        - */ -export interface TransformFilterCriteria { /** - *

                        This value determines which version of AWS Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see AWS Glue Versions in the developer guide.

                        + *

                        The error strings that are associated with the task run.

                        */ - GlueVersion?: string; + ErrorString?: string; /** - *

                        The time and date after which the transforms were created.

                        + *

                        The date and time when this task run started.

                        */ - CreatedAfter?: Date; + StartedOn?: Date; /** - *

                        The type of machine learning transform that is used to filter the machine learning - * transforms.

                        + *

                        The date and time when this task run was last modified.

                        */ - TransformType?: TransformType | string; + LastModifiedOn?: Date; /** - *

                        Filters on datasets with a specific schema. The Map - * object is an array of key-value pairs representing the schema this transform accepts, where - * Column is the name of a column, and Type is the type of the data - * such as an integer or string. Has an upper bound of 100 columns.

                        + *

                        The date and time when this task run was completed.

                        */ - Schema?: SchemaColumn[]; + CompletedOn?: Date; /** - *

                        The time and date before which the transforms were created.

                        + *

                        The amount of time (in seconds) that the task run consumed resources.

                        */ - CreatedBefore?: Date; + ExecutionTime?: number; +} + +export namespace GetMLTaskRunResponse { + export const filterSensitiveLog = (obj: GetMLTaskRunResponse): any => ({ + ...obj, + }); +} +/** + *

                        The criteria that are used to filter the task runs for the machine learning + * transform.

                        + */ +export interface TaskRunFilterCriteria { /** - *

                        Filter on transforms last modified before this date.

                        + *

                        The type of task run.

                        */ - LastModifiedBefore?: Date; + TaskRunType?: TaskType | string; /** - *

                        Filters the list of machine learning transforms by the last known status of the transforms (to indicate whether a transform can be used or not). One of "NOT_READY", "READY", or "DELETING".

                        + *

                        The current status of the task run.

                        */ - Status?: TransformStatusType | string; + Status?: TaskStatusType | string; /** - *

                        Filter on transforms last modified after this date.

                        + *

                        Filter on task runs started before this date.

                        */ - LastModifiedAfter?: Date; + StartedBefore?: Date; /** - *

                        A unique transform name that is used to filter the machine learning transforms.

                        + *

                        Filter on task runs started after this date.

                        */ - Name?: string; + StartedAfter?: Date; } -export namespace TransformFilterCriteria { - export const filterSensitiveLog = (obj: TransformFilterCriteria): any => ({ +export namespace TaskRunFilterCriteria { + export const filterSensitiveLog = (obj: TaskRunFilterCriteria): any => ({ ...obj, }); } -export enum TransformSortColumnType { - CREATED = "CREATED", - LAST_MODIFIED = "LAST_MODIFIED", - NAME = "NAME", +export enum TaskRunSortColumnType { + STARTED = "STARTED", STATUS = "STATUS", - TRANSFORM_TYPE = "TRANSFORM_TYPE", + TASK_RUN_TYPE = "TASK_RUN_TYPE", +} + +export enum SortDirectionType { + ASCENDING = "ASCENDING", + DESCENDING = "DESCENDING", } /** - *

                        The sorting criteria that are associated with the machine learning transform.

                        + *

                        The sorting criteria that are used to sort the list of task runs for the machine learning + * transform.

                        */ -export interface TransformSortCriteria { +export interface TaskRunSortCriteria { /** - *

                        The sort direction to be used in the sorting criteria that are associated with the machine - * learning transform.

                        + *

                        The column to be used to sort the list of task runs for the machine learning + * transform.

                        */ - SortDirection: SortDirectionType | string | undefined; + Column: TaskRunSortColumnType | string | undefined; /** - *

                        The column to be used in the sorting criteria that are associated with the machine - * learning transform.

                        + *

                        The sort direction to be used to sort the list of task runs for the machine learning + * transform.

                        */ - Column: TransformSortColumnType | string | undefined; + SortDirection: SortDirectionType | string | undefined; } -export namespace TransformSortCriteria { - export const filterSensitiveLog = (obj: TransformSortCriteria): any => ({ +export namespace TaskRunSortCriteria { + export const filterSensitiveLog = (obj: TaskRunSortCriteria): any => ({ ...obj, }); } -export interface GetMLTransformsRequest { +export interface GetMLTaskRunsRequest { /** - *

                        The sorting criteria.

                        + *

                        The unique identifier of the machine learning transform.

                        */ - Sort?: TransformSortCriteria; + TransformId: string | undefined; /** - *

                        The filter transformation criteria.

                        + *

                        A token for pagination of the results. The default is empty.

                        */ - Filter?: TransformFilterCriteria; + NextToken?: string; /** - *

                        A paginated token to offset the results.

                        + *

                        The maximum number of results to return.

                        */ - NextToken?: string; + MaxResults?: number; /** - *

                        The maximum number of results to return.

                        + *

                        The filter criteria, in the TaskRunFilterCriteria structure, for the task run.

                        */ - MaxResults?: number; + Filter?: TaskRunFilterCriteria; + + /** + *

                        The sorting criteria, in the TaskRunSortCriteria structure, for the task run.

                        + */ + Sort?: TaskRunSortCriteria; } -export namespace GetMLTransformsRequest { - export const filterSensitiveLog = (obj: GetMLTransformsRequest): any => ({ +export namespace GetMLTaskRunsRequest { + export const filterSensitiveLog = (obj: GetMLTaskRunsRequest): any => ({ ...obj, }); } /** - *

                        A structure for a machine learning transform.

                        + *

                        The sampling parameters that are associated with the machine learning transform.

                        */ -export interface MLTransform { +export interface TaskRun { /** - *

                        A list of AWS Glue table definitions used by the transform.

                        + *

                        The unique identifier for the transform.

                        */ - InputRecordTables?: GlueTable[]; + TransformId?: string; /** - *

                        The encryption-at-rest settings of the transform that apply to accessing user data. Machine learning transforms can access user data encrypted in Amazon S3 using KMS.

                        + *

                        The unique identifier for this task run.

                        */ - TransformEncryption?: TransformEncryption; + TaskRunId?: string; /** - *

                        A TransformParameters object. You can use parameters to tune (customize) the - * behavior of the machine learning transform by specifying what data it learns from and your - * preference on various tradeoffs (such as precious vs. recall, or accuracy vs. cost).

                        + *

                        The current status of the requested task run.

                        */ - Parameters?: TransformParameters; + Status?: TaskStatusType | string; /** - *

                        A timestamp. The last point in time when this machine learning transform was modified.

                        + *

                        The names of the log group for secure logging, associated with this task run.

                        */ - LastModifiedOn?: Date; + LogGroupName?: string; /** - *

                        The maximum number of times to retry after an MLTaskRun of the machine - * learning transform fails.

                        + *

                        Specifies configuration properties associated with this task run.

                        */ - MaxRetries?: number; + Properties?: TaskRunProperties; /** - *

                        The current status of the machine learning transform.

                        + *

                        The list of error strings associated with this task run.

                        */ - Status?: TransformStatusType | string; + ErrorString?: string; /** - *

                        A map of key-value pairs representing the columns and data types that this transform can - * run against. Has an upper bound of 100 columns.

                        + *

                        The date and time that this task run started.

                        */ - Schema?: SchemaColumn[]; + StartedOn?: Date; /** - *

                        A timestamp. The time and date that this machine learning transform was created.

                        + *

                        The last point in time that the requested task run was updated.

                        */ - CreatedOn?: Date; + LastModifiedOn?: Date; /** - *

                        The unique transform ID that is generated for the machine learning transform. The ID is - * guaranteed to be unique and does not change.

                        + *

                        The last point in time that the requested task run was completed.

                        */ - TransformId?: string; + CompletedOn?: Date; /** - *

                        A user-defined, long-form description text for the machine learning transform. - * Descriptions are not guaranteed to be unique and can be changed at any time.

                        + *

                        The amount of time (in seconds) that the task run consumed resources.

                        */ - Description?: string; + ExecutionTime?: number; +} - /** - *

                        The type of predefined worker that is allocated when a task of this transform runs. Accepts a value of Standard, G.1X, or G.2X.

                        - *
                          - *
                        • - *

                          For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

                          - *
                        • - *
                        • - *

                          For the G.1X worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker.

                          - *
                        • - *
                        • - *

                          For the G.2X worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker.

                          - *
                        • - *
                        - * - *

                        - * MaxCapacity is a mutually exclusive option with NumberOfWorkers and WorkerType.

                        - *
                          - *
                        • - *

                          If either NumberOfWorkers or WorkerType is set, then MaxCapacity cannot be set.

                          - *
                        • - *
                        • - *

                          If MaxCapacity is set then neither NumberOfWorkers or WorkerType can be set.

                          - *
                        • - *
                        • - *

                          If WorkerType is set, then NumberOfWorkers is required (and vice versa).

                          - *
                        • - *
                        • - *

                          - * MaxCapacity and NumberOfWorkers must both be at least 1.

                          - *
                        • - *
                        - */ - WorkerType?: WorkerType | string; +export namespace TaskRun { + export const filterSensitiveLog = (obj: TaskRun): any => ({ + ...obj, + }); +} +export interface GetMLTaskRunsResponse { /** - *

                        The name or Amazon Resource Name (ARN) of the IAM role with the required permissions. The required permissions include both AWS Glue service role permissions to AWS Glue resources, and Amazon S3 permissions required by the transform.

                        - * - *
                          - *
                        • - *

                          This role needs AWS Glue service role permissions to allow access to resources in AWS Glue. See Attach a Policy to IAM Users That Access AWS Glue.

                          - *
                        • - *
                        • - *

                          This role needs permission to your Amazon Simple Storage Service (Amazon S3) sources, targets, temporary directory, scripts, and any libraries used by the task run for this transform.

                          - *
                        • - *
                        + *

                        A list of task runs that are associated with the transform.

                        */ - Role?: string; + TaskRuns?: TaskRun[]; /** - *

                        The number of workers of a defined workerType that are allocated when a task of the transform runs.

                        - * - *

                        If WorkerType is set, then NumberOfWorkers is required (and vice versa).

                        + *

                        A pagination token, if more results are available.

                        */ - NumberOfWorkers?: number; + NextToken?: string; +} - /** - *

                        The number of AWS Glue data processing units (DPUs) that are allocated to task runs for this transform. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of - * processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more - * information, see the AWS Glue pricing - * page.

                        - * - *

                        - * MaxCapacity is a mutually exclusive option with NumberOfWorkers and WorkerType.

                        - *
                          - *
                        • - *

                          If either NumberOfWorkers or WorkerType is set, then MaxCapacity cannot be set.

                          - *
                        • - *
                        • - *

                          If MaxCapacity is set then neither NumberOfWorkers or WorkerType can be set.

                          - *
                        • - *
                        • - *

                          If WorkerType is set, then NumberOfWorkers is required (and vice versa).

                          - *
                        • - *
                        • - *

                          - * MaxCapacity and NumberOfWorkers must both be at least 1.

                          - *
                        • - *
                        - * - *

                        When the WorkerType field is set to a value other than Standard, the MaxCapacity field is set automatically and becomes read-only.

                        - */ - MaxCapacity?: number; +export namespace GetMLTaskRunsResponse { + export const filterSensitiveLog = (obj: GetMLTaskRunsResponse): any => ({ + ...obj, + }); +} +export interface GetMLTransformRequest { /** - *

                        This value determines which version of AWS Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see AWS Glue Versions in the developer guide.

                        + *

                        The unique identifier of the transform, generated at the time that the transform was + * created.

                        */ - GlueVersion?: string; + TransformId: string | undefined; +} + +export namespace GetMLTransformRequest { + export const filterSensitiveLog = (obj: GetMLTransformRequest): any => ({ + ...obj, + }); +} +/** + *

                        The confusion matrix shows you what your transform is predicting accurately and what types of errors it is making.

                        + * + *

                        For more information, see Confusion matrix in Wikipedia.

                        + */ +export interface ConfusionMatrix { /** - *

                        The timeout in minutes of the machine learning transform.

                        + *

                        The number of matches in the data that the transform correctly found, in the confusion matrix for your transform.

                        */ - Timeout?: number; + NumTruePositives?: number; /** - *

                        An EvaluationMetrics object. Evaluation metrics provide an estimate of the quality of your machine learning transform.

                        + *

                        The number of nonmatches in the data that the transform incorrectly classified as a match, + * in the confusion matrix for your transform.

                        */ - EvaluationMetrics?: EvaluationMetrics; + NumFalsePositives?: number; /** - *

                        A user-defined name for the machine learning transform. Names are not guaranteed unique - * and can be changed at any time.

                        + *

                        The number of nonmatches in the data that the transform correctly rejected, in the + * confusion matrix for your transform.

                        */ - Name?: string; + NumTrueNegatives?: number; /** - *

                        A count identifier for the labeling files generated by AWS Glue for this transform. As you create a better transform, you can iteratively download, label, and upload the labeling file.

                        + *

                        The number of matches in the data that the transform didn't find, in the confusion matrix for your transform.

                        */ - LabelCount?: number; + NumFalseNegatives?: number; } -export namespace MLTransform { - export const filterSensitiveLog = (obj: MLTransform): any => ({ +export namespace ConfusionMatrix { + export const filterSensitiveLog = (obj: ConfusionMatrix): any => ({ ...obj, }); } -export interface GetMLTransformsResponse { - /** - *

                        A pagination token, if more results are available.

                        - */ - NextToken?: string; - +/** + *

                        The evaluation metrics for the find matches algorithm. The quality of your machine + * learning transform is measured by getting your transform to predict some matches and comparing + * the results to known matches from the same dataset. The quality metrics are based on a subset + * of your data, so they are not precise.

                        + */ +export interface FindMatchesMetrics { /** - *

                        A list of machine learning transforms.

                        + *

                        The area under the precision/recall curve (AUPRC) is a single number measuring the overall + * quality of the transform, that is independent of the choice made for precision vs. recall. + * Higher values indicate that you have a more attractive precision vs. recall tradeoff.

                        + *

                        For more information, see Precision and recall in Wikipedia.

                        */ - Transforms: MLTransform[] | undefined; -} - -export namespace GetMLTransformsResponse { - export const filterSensitiveLog = (obj: GetMLTransformsResponse): any => ({ - ...obj, - }); -} + AreaUnderPRCurve?: number; -export interface GetPartitionRequest { /** - *

                        The name of the partition's table.

                        + *

                        The precision metric indicates when often your transform is correct when it predicts a match. Specifically, it measures how well the transform finds true positives from the total true positives possible.

                        + *

                        For more information, see Precision and recall in Wikipedia.

                        */ - TableName: string | undefined; + Precision?: number; /** - *

                        The name of the catalog database where the partition resides.

                        + *

                        The recall metric indicates that for an actual match, how often your transform predicts + * the match. Specifically, it measures how well the transform finds true positives from the + * total records in the source data.

                        + *

                        For more information, see Precision and recall in Wikipedia.

                        */ - DatabaseName: string | undefined; + Recall?: number; /** - *

                        The values that define the partition.

                        + *

                        The maximum F1 metric indicates the transform's accuracy between 0 and 1, where 1 is the best accuracy.

                        + *

                        For more information, see F1 score in Wikipedia.

                        */ - PartitionValues: string[] | undefined; + F1?: number; /** - *

                        The ID of the Data Catalog where the partition in question resides. If none is provided, - * the AWS account ID is used by default.

                        + *

                        The confusion matrix shows you what your transform is predicting accurately and what types of errors it is making.

                        + *

                        For more information, see Confusion matrix in Wikipedia.

                        */ - CatalogId?: string; + ConfusionMatrix?: ConfusionMatrix; } -export namespace GetPartitionRequest { - export const filterSensitiveLog = (obj: GetPartitionRequest): any => ({ +export namespace FindMatchesMetrics { + export const filterSensitiveLog = (obj: FindMatchesMetrics): any => ({ ...obj, }); } -export interface GetPartitionResponse { +/** + *

                        Evaluation metrics provide an estimate of the quality of your machine learning transform.

                        + */ +export interface EvaluationMetrics { /** - *

                        The requested information, in the form of a Partition - * object.

                        + *

                        The type of machine learning transform.

                        */ - Partition?: Partition; + TransformType: TransformType | string | undefined; + + /** + *

                        The evaluation metrics for the find matches algorithm.

                        + */ + FindMatchesMetrics?: FindMatchesMetrics; } -export namespace GetPartitionResponse { - export const filterSensitiveLog = (obj: GetPartitionResponse): any => ({ +export namespace EvaluationMetrics { + export const filterSensitiveLog = (obj: EvaluationMetrics): any => ({ ...obj, }); } /** - *

                        The CreatePartitions API was called on a table that has indexes enabled.

                        + *

                        A key-value pair representing a column and data type that this transform can + * run against. The Schema parameter of the MLTransform may contain up to 100 of these structures.

                        */ -export interface ConflictException extends __SmithyException, $MetadataBearer { - name: "ConflictException"; - $fault: "client"; +export interface SchemaColumn { /** - *

                        A message describing the problem.

                        + *

                        The name of the column.

                        */ - Message?: string; + Name?: string; + + /** + *

                        The type of data in the column.

                        + */ + DataType?: string; } -export namespace ConflictException { - export const filterSensitiveLog = (obj: ConflictException): any => ({ +export namespace SchemaColumn { + export const filterSensitiveLog = (obj: SchemaColumn): any => ({ ...obj, }); } -export interface GetPartitionIndexesRequest { - /** - *

                        A continuation token, included if this is a continuation call.

                        - */ - NextToken?: string; - - /** - *

                        Specifies the name of a table for which you want to retrieve the partition indexes.

                        +export enum TransformStatusType { + DELETING = "DELETING", + NOT_READY = "NOT_READY", + READY = "READY", +} + +export interface GetMLTransformResponse { + /** + *

                        The unique identifier of the transform, generated at the time that the transform was + * created.

                        */ - TableName: string | undefined; + TransformId?: string; /** - *

                        Specifies the name of a database from which you want to retrieve partition indexes.

                        + *

                        The unique name given to the transform when it was created.

                        */ - DatabaseName: string | undefined; + Name?: string; /** - *

                        The catalog ID where the table resides.

                        + *

                        A description of the transform.

                        */ - CatalogId?: string; -} + Description?: string; -export namespace GetPartitionIndexesRequest { - export const filterSensitiveLog = (obj: GetPartitionIndexesRequest): any => ({ - ...obj, - }); -} + /** + *

                        The last known status of the transform (to indicate whether it can be used or not). One of "NOT_READY", "READY", or "DELETING".

                        + */ + Status?: TransformStatusType | string; -export enum PartitionIndexStatus { - ACTIVE = "ACTIVE", -} + /** + *

                        The date and time when the transform was created.

                        + */ + CreatedOn?: Date; -/** - *

                        A partition key pair consisting of a name and a type.

                        - */ -export interface KeySchemaElement { /** - *

                        The type of a partition key.

                        + *

                        The date and time when the transform was last modified.

                        */ - Type: string | undefined; + LastModifiedOn?: Date; /** - *

                        The name of a partition key.

                        + *

                        A list of AWS Glue table definitions used by the transform.

                        */ - Name: string | undefined; + InputRecordTables?: GlueTable[]; + + /** + *

                        The configuration parameters that are specific to the algorithm used.

                        + */ + Parameters?: TransformParameters; + + /** + *

                        The latest evaluation metrics.

                        + */ + EvaluationMetrics?: EvaluationMetrics; + + /** + *

                        The number of labels available for this transform.

                        + */ + LabelCount?: number; + + /** + *

                        The Map object that represents the schema that this + * transform accepts. Has an upper bound of 100 columns.

                        + */ + Schema?: SchemaColumn[]; + + /** + *

                        The name or Amazon Resource Name (ARN) of the IAM role with the required + * permissions.

                        + */ + Role?: string; + + /** + *

                        This value determines which version of AWS Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see AWS Glue Versions in the developer guide.

                        + */ + GlueVersion?: string; + + /** + *

                        The number of AWS Glue data processing units (DPUs) that are allocated to task runs for this transform. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of + * processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more + * information, see the AWS Glue pricing + * page.

                        + * + *

                        When the WorkerType field is set to a value other than Standard, the MaxCapacity field is set automatically and becomes read-only.

                        + */ + MaxCapacity?: number; + + /** + *

                        The type of predefined worker that is allocated when this task runs. Accepts a value of Standard, G.1X, or G.2X.

                        + *
                          + *
                        • + *

                          For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

                          + *
                        • + *
                        • + *

                          For the G.1X worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker.

                          + *
                        • + *
                        • + *

                          For the G.2X worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker.

                          + *
                        • + *
                        + */ + WorkerType?: WorkerType | string; + + /** + *

                        The number of workers of a defined workerType that are allocated when this task runs.

                        + */ + NumberOfWorkers?: number; + + /** + *

                        The timeout for a task run for this transform in minutes. This is the maximum time that a task run for this transform can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

                        + */ + Timeout?: number; + + /** + *

                        The maximum number of times to retry a task for this transform after a task run fails.

                        + */ + MaxRetries?: number; + + /** + *

                        The encryption-at-rest settings of the transform that apply to accessing user data. Machine learning transforms can access user data encrypted in Amazon S3 using KMS.

                        + */ + TransformEncryption?: TransformEncryption; } -export namespace KeySchemaElement { - export const filterSensitiveLog = (obj: KeySchemaElement): any => ({ +export namespace GetMLTransformResponse { + export const filterSensitiveLog = (obj: GetMLTransformResponse): any => ({ ...obj, }); } /** - *

                        A descriptor for a partition index in a table.

                        + *

                        The criteria used to filter the machine learning transforms.

                        */ -export interface PartitionIndexDescriptor { +export interface TransformFilterCriteria { /** - *

                        The status of the partition index.

                        + *

                        A unique transform name that is used to filter the machine learning transforms.

                        */ - IndexStatus: PartitionIndexStatus | string | undefined; + Name?: string; /** - *

                        A list of one or more keys, as KeySchemaElement structures, for the partition index.

                        + *

                        The type of machine learning transform that is used to filter the machine learning + * transforms.

                        */ - Keys: KeySchemaElement[] | undefined; + TransformType?: TransformType | string; /** - *

                        The name of the partition index.

                        + *

                        Filters the list of machine learning transforms by the last known status of the transforms (to indicate whether a transform can be used or not). One of "NOT_READY", "READY", or "DELETING".

                        */ - IndexName: string | undefined; -} + Status?: TransformStatusType | string; -export namespace PartitionIndexDescriptor { - export const filterSensitiveLog = (obj: PartitionIndexDescriptor): any => ({ - ...obj, - }); -} + /** + *

                        This value determines which version of AWS Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see AWS Glue Versions in the developer guide.

                        + */ + GlueVersion?: string; -export interface GetPartitionIndexesResponse { /** - *

                        A list of index descriptors.

                        + *

                        The time and date before which the transforms were created.

                        */ - PartitionIndexDescriptorList?: PartitionIndexDescriptor[]; + CreatedBefore?: Date; /** - *

                        A continuation token, present if the current list segment is not the last.

                        + *

                        The time and date after which the transforms were created.

                        */ - NextToken?: string; + CreatedAfter?: Date; + + /** + *

                        Filter on transforms last modified before this date.

                        + */ + LastModifiedBefore?: Date; + + /** + *

                        Filter on transforms last modified after this date.

                        + */ + LastModifiedAfter?: Date; + + /** + *

                        Filters on datasets with a specific schema. The Map + * object is an array of key-value pairs representing the schema this transform accepts, where + * Column is the name of a column, and Type is the type of the data + * such as an integer or string. Has an upper bound of 100 columns.

                        + */ + Schema?: SchemaColumn[]; } -export namespace GetPartitionIndexesResponse { - export const filterSensitiveLog = (obj: GetPartitionIndexesResponse): any => ({ +export namespace TransformFilterCriteria { + export const filterSensitiveLog = (obj: TransformFilterCriteria): any => ({ ...obj, }); } +export enum TransformSortColumnType { + CREATED = "CREATED", + LAST_MODIFIED = "LAST_MODIFIED", + NAME = "NAME", + STATUS = "STATUS", + TRANSFORM_TYPE = "TRANSFORM_TYPE", +} + /** - *

                        Defines a non-overlapping region of a table's partitions, allowing - * multiple requests to be executed in parallel.

                        + *

                        The sorting criteria that are associated with the machine learning transform.

                        */ -export interface Segment { +export interface TransformSortCriteria { /** - *

                        The zero-based index number of the segment. For example, if the total number of segments - * is 4, SegmentNumber values range from 0 through 3.

                        + *

                        The column to be used in the sorting criteria that are associated with the machine + * learning transform.

                        */ - SegmentNumber: number | undefined; + Column: TransformSortColumnType | string | undefined; /** - *

                        The total number of segments.

                        + *

                        The sort direction to be used in the sorting criteria that are associated with the machine + * learning transform.

                        */ - TotalSegments: number | undefined; + SortDirection: SortDirectionType | string | undefined; } -export namespace Segment { - export const filterSensitiveLog = (obj: Segment): any => ({ +export namespace TransformSortCriteria { + export const filterSensitiveLog = (obj: TransformSortCriteria): any => ({ ...obj, }); } -export interface GetPartitionsRequest { +export interface GetMLTransformsRequest { /** - *

                        The ID of the Data Catalog where the partitions in question reside. If none is provided, - * the AWS account ID is used by default.

                        + *

                        A paginated token to offset the results.

                        */ - CatalogId?: string; + NextToken?: string; /** - *

                        The name of the partitions' table.

                        + *

                        The maximum number of results to return.

                        */ - TableName: string | undefined; + MaxResults?: number; /** - *

                        The segment of the table's partitions to scan in this request.

                        + *

                        The filter transformation criteria.

                        */ - Segment?: Segment; + Filter?: TransformFilterCriteria; /** - *

                        The name of the catalog database where the partitions reside.

                        + *

                        The sorting criteria.

                        */ - DatabaseName: string | undefined; + Sort?: TransformSortCriteria; +} + +export namespace GetMLTransformsRequest { + export const filterSensitiveLog = (obj: GetMLTransformsRequest): any => ({ + ...obj, + }); +} +/** + *

                        A structure for a machine learning transform.

                        + */ +export interface MLTransform { /** - *

                        An expression that filters the partitions to be returned.

                        - *

                        The expression uses SQL syntax similar to the SQL WHERE filter clause. The - * SQL statement parser JSQLParser parses the expression.

                        - *

                        - * Operators: The following are the operators that you can use in the - * Expression API call:

                        - *
                        - *
                        =
                        - *
                        - *

                        Checks whether the values of the two operands are equal; if yes, then the condition becomes - * true.

                        - *

                        Example: Assume 'variable a' holds 10 and 'variable b' holds 20.

                        - *

                        (a = b) is not true.

                        - *
                        - *
                        < >
                        - *
                        - *

                        Checks whether the values of two operands are equal; if the values are not equal, - * then the condition becomes true.

                        - *

                        Example: (a < > b) is true.

                        - *
                        - *
                        >
                        - *
                        - *

                        Checks whether the value of the left operand is greater than the value of the right - * operand; if yes, then the condition becomes true.

                        - *

                        Example: (a > b) is not true.

                        - *
                        - *
                        <
                        - *
                        - *

                        Checks whether the value of the left operand is less than the value of the right - * operand; if yes, then the condition becomes true.

                        - *

                        Example: (a < b) is true.

                        - *
                        - *
                        >=
                        - *
                        - *

                        Checks whether the value of the left operand is greater than or equal to the value - * of the right operand; if yes, then the condition becomes true.

                        - *

                        Example: (a >= b) is not true.

                        - *
                        - *
                        <=
                        - *
                        - *

                        Checks whether the value of the left operand is less than or equal to the value of - * the right operand; if yes, then the condition becomes true.

                        - *

                        Example: (a <= b) is true.

                        - *
                        - *
                        AND, OR, IN, BETWEEN, LIKE, NOT, IS NULL
                        - *
                        - *

                        Logical operators.

                        - *
                        - *
                        - *

                        - * Supported Partition Key Types: The following are the supported - * partition keys.

                        - *
                          + *

                          The unique transform ID that is generated for the machine learning transform. The ID is + * guaranteed to be unique and does not change.

                          + */ + TransformId?: string; + + /** + *

                          A user-defined name for the machine learning transform. Names are not guaranteed unique + * and can be changed at any time.

                          + */ + Name?: string; + + /** + *

                          A user-defined, long-form description text for the machine learning transform. + * Descriptions are not guaranteed to be unique and can be changed at any time.

                          + */ + Description?: string; + + /** + *

                          The current status of the machine learning transform.

                          + */ + Status?: TransformStatusType | string; + + /** + *

                          A timestamp. The time and date that this machine learning transform was created.

                          + */ + CreatedOn?: Date; + + /** + *

                          A timestamp. The last point in time when this machine learning transform was modified.

                          + */ + LastModifiedOn?: Date; + + /** + *

                          A list of AWS Glue table definitions used by the transform.

                          + */ + InputRecordTables?: GlueTable[]; + + /** + *

                          A TransformParameters object. You can use parameters to tune (customize) the + * behavior of the machine learning transform by specifying what data it learns from and your + * preference on various tradeoffs (such as precious vs. recall, or accuracy vs. cost).

                          + */ + Parameters?: TransformParameters; + + /** + *

                          An EvaluationMetrics object. Evaluation metrics provide an estimate of the quality of your machine learning transform.

                          + */ + EvaluationMetrics?: EvaluationMetrics; + + /** + *

                          A count identifier for the labeling files generated by AWS Glue for this transform. As you create a better transform, you can iteratively download, label, and upload the labeling file.

                          + */ + LabelCount?: number; + + /** + *

                          A map of key-value pairs representing the columns and data types that this transform can + * run against. Has an upper bound of 100 columns.

                          + */ + Schema?: SchemaColumn[]; + + /** + *

                          The name or Amazon Resource Name (ARN) of the IAM role with the required permissions. The required permissions include both AWS Glue service role permissions to AWS Glue resources, and Amazon S3 permissions required by the transform.

                          + * + *
                            *
                          • - *

                            - * string - *

                            + *

                            This role needs AWS Glue service role permissions to allow access to resources in AWS Glue. See Attach a Policy to IAM Users That Access AWS Glue.

                            *
                          • *
                          • - *

                            - * date - *

                            + *

                            This role needs permission to your Amazon Simple Storage Service (Amazon S3) sources, targets, temporary directory, scripts, and any libraries used by the task run for this transform.

                            + *
                          • + *
                          + */ + Role?: string; + + /** + *

                          This value determines which version of AWS Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see AWS Glue Versions in the developer guide.

                          + */ + GlueVersion?: string; + + /** + *

                          The number of AWS Glue data processing units (DPUs) that are allocated to task runs for this transform. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of + * processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more + * information, see the AWS Glue pricing + * page.

                          + * + *

                          + * MaxCapacity is a mutually exclusive option with NumberOfWorkers and WorkerType.

                          + *
                            + *
                          • + *

                            If either NumberOfWorkers or WorkerType is set, then MaxCapacity cannot be set.

                            *
                          • *
                          • - *

                            - * timestamp - *

                            + *

                            If MaxCapacity is set then neither NumberOfWorkers or WorkerType can be set.

                            *
                          • *
                          • - *

                            - * int - *

                            + *

                            If WorkerType is set, then NumberOfWorkers is required (and vice versa).

                            *
                          • *
                          • *

                            - * bigint - *

                            + * MaxCapacity and NumberOfWorkers must both be at least 1.

                            *
                          • + *
                          + * + *

                          When the WorkerType field is set to a value other than Standard, the MaxCapacity field is set automatically and becomes read-only.

                          + */ + MaxCapacity?: number; + + /** + *

                          The type of predefined worker that is allocated when a task of this transform runs. Accepts a value of Standard, G.1X, or G.2X.

                          + *
                            *
                          • - *

                            - * long - *

                            + *

                            For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

                            *
                          • *
                          • - *

                            - * tinyint - *

                            + *

                            For the G.1X worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker.

                            *
                          • *
                          • - *

                            - * smallint - *

                            + *

                            For the G.2X worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker.

                            + *
                          • + *
                          + * + *

                          + * MaxCapacity is a mutually exclusive option with NumberOfWorkers and WorkerType.

                          + *
                            + *
                          • + *

                            If either NumberOfWorkers or WorkerType is set, then MaxCapacity cannot be set.

                            + *
                          • + *
                          • + *

                            If MaxCapacity is set then neither NumberOfWorkers or WorkerType can be set.

                            + *
                          • + *
                          • + *

                            If WorkerType is set, then NumberOfWorkers is required (and vice versa).

                            *
                          • *
                          • *

                            - * decimal - *

                            + * MaxCapacity and NumberOfWorkers must both be at least 1.

                            *
                          • *
                          - *

                          If an invalid type is encountered, an exception is thrown.

                          - *

                          The following list shows the valid operators on each type. When you define a crawler, the - * partitionKey type is created as a STRING, to be compatible with the catalog - * partitions.

                          + */ + WorkerType?: WorkerType | string; + + /** + *

                          The number of workers of a defined workerType that are allocated when a task of the transform runs.

                          * - *

                          - * Sample API Call:

                          + *

                          If WorkerType is set, then NumberOfWorkers is required (and vice versa).

                          */ - Expression?: string; + NumberOfWorkers?: number; /** - *

                          The maximum number of partitions to return in a single response.

                          + *

                          The timeout in minutes of the machine learning transform.

                          */ - MaxResults?: number; + Timeout?: number; /** - *

                          A continuation token, if this is not the first call to retrieve - * these partitions.

                          + *

                          The maximum number of times to retry after an MLTaskRun of the machine + * learning transform fails.

                          */ - NextToken?: string; + MaxRetries?: number; + + /** + *

                          The encryption-at-rest settings of the transform that apply to accessing user data. Machine learning transforms can access user data encrypted in Amazon S3 using KMS.

                          + */ + TransformEncryption?: TransformEncryption; } -export namespace GetPartitionsRequest { - export const filterSensitiveLog = (obj: GetPartitionsRequest): any => ({ +export namespace MLTransform { + export const filterSensitiveLog = (obj: MLTransform): any => ({ ...obj, }); } -export interface GetPartitionsResponse { +export interface GetMLTransformsResponse { /** - *

                          A continuation token, if the returned list of partitions does not include the last - * one.

                          + *

                          A list of machine learning transforms.

                          */ - NextToken?: string; + Transforms: MLTransform[] | undefined; /** - *

                          A list of requested partitions.

                          + *

                          A pagination token, if more results are available.

                          */ - Partitions?: Partition[]; + NextToken?: string; } -export namespace GetPartitionsResponse { - export const filterSensitiveLog = (obj: GetPartitionsResponse): any => ({ +export namespace GetMLTransformsResponse { + export const filterSensitiveLog = (obj: GetMLTransformsResponse): any => ({ ...obj, }); } -export interface GetPlanRequest { +export interface GetPartitionRequest { /** - *

                          The source table.

                          + *

                          The ID of the Data Catalog where the partition in question resides. If none is provided, + * the AWS account ID is used by default.

                          */ - Source: CatalogEntry | undefined; + CatalogId?: string; /** - *

                          The list of mappings from a source table to target tables.

                          + *

                          The name of the catalog database where the partition resides.

                          */ - Mapping: MappingEntry[] | undefined; + DatabaseName: string | undefined; /** - *

                          The programming language of the code to perform the mapping.

                          + *

                          The name of the partition's table.

                          */ - Language?: Language | string; + TableName: string | undefined; /** - *

                          The parameters for the mapping.

                          + *

                          The values that define the partition.

                          */ - Location?: Location; + PartitionValues: string[] | undefined; +} - /** - *

                          The target tables.

                          +export namespace GetPartitionRequest { + export const filterSensitiveLog = (obj: GetPartitionRequest): any => ({ + ...obj, + }); +} + +export interface GetPartitionResponse { + /** + *

                          The requested information, in the form of a Partition + * object.

                          */ - Sinks?: CatalogEntry[]; + Partition?: Partition; +} + +export namespace GetPartitionResponse { + export const filterSensitiveLog = (obj: GetPartitionResponse): any => ({ + ...obj, + }); +} +/** + *

                          The CreatePartitions API was called on a table that has indexes enabled.

                          + */ +export interface ConflictException extends __SmithyException, $MetadataBearer { + name: "ConflictException"; + $fault: "client"; /** - *

                          A map to hold additional optional key-value parameters.

                          - * - *

                          Currently, these key-value pairs are supported:

                          - * - *
                            + *

                            A message describing the problem.

                            + */ + Message?: string; +} + +export namespace ConflictException { + export const filterSensitiveLog = (obj: ConflictException): any => ({ + ...obj, + }); +} + +export interface GetPartitionIndexesRequest { + /** + *

                            The catalog ID where the table resides.

                            + */ + CatalogId?: string; + + /** + *

                            Specifies the name of a database from which you want to retrieve partition indexes.

                            + */ + DatabaseName: string | undefined; + + /** + *

                            Specifies the name of a table for which you want to retrieve the partition indexes.

                            + */ + TableName: string | undefined; + + /** + *

                            A continuation token, included if this is a continuation call.

                            + */ + NextToken?: string; +} + +export namespace GetPartitionIndexesRequest { + export const filterSensitiveLog = (obj: GetPartitionIndexesRequest): any => ({ + ...obj, + }); +} + +export enum PartitionIndexStatus { + ACTIVE = "ACTIVE", +} + +/** + *

                            A partition key pair consisting of a name and a type.

                            + */ +export interface KeySchemaElement { + /** + *

                            The name of a partition key.

                            + */ + Name: string | undefined; + + /** + *

                            The type of a partition key.

                            + */ + Type: string | undefined; +} + +export namespace KeySchemaElement { + export const filterSensitiveLog = (obj: KeySchemaElement): any => ({ + ...obj, + }); +} + +/** + *

                            A descriptor for a partition index in a table.

                            + */ +export interface PartitionIndexDescriptor { + /** + *

                            The name of the partition index.

                            + */ + IndexName: string | undefined; + + /** + *

                            A list of one or more keys, as KeySchemaElement structures, for the partition index.

                            + */ + Keys: KeySchemaElement[] | undefined; + + /** + *

                            The status of the partition index.

                            + */ + IndexStatus: PartitionIndexStatus | string | undefined; +} + +export namespace PartitionIndexDescriptor { + export const filterSensitiveLog = (obj: PartitionIndexDescriptor): any => ({ + ...obj, + }); +} + +export interface GetPartitionIndexesResponse { + /** + *

                            A list of index descriptors.

                            + */ + PartitionIndexDescriptorList?: PartitionIndexDescriptor[]; + + /** + *

                            A continuation token, present if the current list segment is not the last.

                            + */ + NextToken?: string; +} + +export namespace GetPartitionIndexesResponse { + export const filterSensitiveLog = (obj: GetPartitionIndexesResponse): any => ({ + ...obj, + }); +} + +/** + *

                            Defines a non-overlapping region of a table's partitions, allowing + * multiple requests to be executed in parallel.

                            + */ +export interface Segment { + /** + *

                            The zero-based index number of the segment. For example, if the total number of segments + * is 4, SegmentNumber values range from 0 through 3.

                            + */ + SegmentNumber: number | undefined; + + /** + *

                            The total number of segments.

                            + */ + TotalSegments: number | undefined; +} + +export namespace Segment { + export const filterSensitiveLog = (obj: Segment): any => ({ + ...obj, + }); +} + +export interface GetPartitionsRequest { + /** + *

                            The ID of the Data Catalog where the partitions in question reside. If none is provided, + * the AWS account ID is used by default.

                            + */ + CatalogId?: string; + + /** + *

                            The name of the catalog database where the partitions reside.

                            + */ + DatabaseName: string | undefined; + + /** + *

                            The name of the partitions' table.

                            + */ + TableName: string | undefined; + + /** + *

                            An expression that filters the partitions to be returned.

                            + *

                            The expression uses SQL syntax similar to the SQL WHERE filter clause. The + * SQL statement parser JSQLParser parses the expression.

                            + *

                            + * Operators: The following are the operators that you can use in the + * Expression API call:

                            + *
                            + *
                            =
                            + *
                            + *

                            Checks whether the values of the two operands are equal; if yes, then the condition becomes + * true.

                            + *

                            Example: Assume 'variable a' holds 10 and 'variable b' holds 20.

                            + *

                            (a = b) is not true.

                            + *
                            + *
                            < >
                            + *
                            + *

                            Checks whether the values of two operands are equal; if the values are not equal, + * then the condition becomes true.

                            + *

                            Example: (a < > b) is true.

                            + *
                            + *
                            >
                            + *
                            + *

                            Checks whether the value of the left operand is greater than the value of the right + * operand; if yes, then the condition becomes true.

                            + *

                            Example: (a > b) is not true.

                            + *
                            + *
                            <
                            + *
                            + *

                            Checks whether the value of the left operand is less than the value of the right + * operand; if yes, then the condition becomes true.

                            + *

                            Example: (a < b) is true.

                            + *
                            + *
                            >=
                            + *
                            + *

                            Checks whether the value of the left operand is greater than or equal to the value + * of the right operand; if yes, then the condition becomes true.

                            + *

                            Example: (a >= b) is not true.

                            + *
                            + *
                            <=
                            + *
                            + *

                            Checks whether the value of the left operand is less than or equal to the value of + * the right operand; if yes, then the condition becomes true.

                            + *

                            Example: (a <= b) is true.

                            + *
                            + *
                            AND, OR, IN, BETWEEN, LIKE, NOT, IS NULL
                            + *
                            + *

                            Logical operators.

                            + *
                            + *
                            + *

                            + * Supported Partition Key Types: The following are the supported + * partition keys.

                            + *
                              *
                            • *

                              - * inferSchema  —  Specifies whether to set inferSchema to true or false for the default script generated by an AWS Glue job. For example, to set inferSchema to true, pass the following key value pair:

                              - *

                              - * --additional-plan-options-map '{"inferSchema":"true"}' + * string *

                              - *
                            • - *
                            + * + *
                          • + *

                            + * date + *

                            + *
                          • + *
                          • + *

                            + * timestamp + *

                            + *
                          • + *
                          • + *

                            + * int + *

                            + *
                          • + *
                          • + *

                            + * bigint + *

                            + *
                          • + *
                          • + *

                            + * long + *

                            + *
                          • + *
                          • + *

                            + * tinyint + *

                            + *
                          • + *
                          • + *

                            + * smallint + *

                            + *
                          • + *
                          • + *

                            + * decimal + *

                            + *
                          • + *
                          + *

                          If an invalid type is encountered, an exception is thrown.

                          + *

                          The following list shows the valid operators on each type. When you define a crawler, the + * partitionKey type is created as a STRING, to be compatible with the catalog + * partitions.

                          + * + *

                          + * Sample API Call:

                          + */ + Expression?: string; + + /** + *

                          A continuation token, if this is not the first call to retrieve + * these partitions.

                          + */ + NextToken?: string; + + /** + *

                          The segment of the table's partitions to scan in this request.

                          + */ + Segment?: Segment; + + /** + *

                          The maximum number of partitions to return in a single response.

                          + */ + MaxResults?: number; +} + +export namespace GetPartitionsRequest { + export const filterSensitiveLog = (obj: GetPartitionsRequest): any => ({ + ...obj, + }); +} + +export interface GetPartitionsResponse { + /** + *

                          A list of requested partitions.

                          + */ + Partitions?: Partition[]; + + /** + *

                          A continuation token, if the returned list of partitions does not include the last + * one.

                          + */ + NextToken?: string; +} + +export namespace GetPartitionsResponse { + export const filterSensitiveLog = (obj: GetPartitionsResponse): any => ({ + ...obj, + }); +} + +export interface GetPlanRequest { + /** + *

                          The list of mappings from a source table to target tables.

                          + */ + Mapping: MappingEntry[] | undefined; + + /** + *

                          The source table.

                          + */ + Source: CatalogEntry | undefined; + + /** + *

                          The target tables.

                          + */ + Sinks?: CatalogEntry[]; + + /** + *

                          The parameters for the mapping.

                          + */ + Location?: Location; + + /** + *

                          The programming language of the code to perform the mapping.

                          + */ + Language?: Language | string; + + /** + *

                          A map to hold additional optional key-value parameters.

                          + * + *

                          Currently, these key-value pairs are supported:

                          + * + *
                            + *
                          • + *

                            + * inferSchema  —  Specifies whether to set inferSchema to true or false for the default script generated by an AWS Glue job. For example, to set inferSchema to true, pass the following key value pair:

                            + *

                            + * --additional-plan-options-map '{"inferSchema":"true"}' + *

                            + *
                          • + *
                          + */ + AdditionalPlanOptionsMap?: { [key: string]: string }; +} + +export namespace GetPlanRequest { + export const filterSensitiveLog = (obj: GetPlanRequest): any => ({ + ...obj, + }); +} + +export interface GetPlanResponse { + /** + *

                          A Python script to perform the mapping.

                          + */ + PythonScript?: string; + + /** + *

                          The Scala code to perform the mapping.

                          + */ + ScalaCode?: string; +} + +export namespace GetPlanResponse { + export const filterSensitiveLog = (obj: GetPlanResponse): any => ({ + ...obj, + }); +} + +export interface GetRegistryInput { + /** + *

                          This is a wrapper structure that may contain the registry name and Amazon Resource Name (ARN).

                          + */ + RegistryId: RegistryId | undefined; +} + +export namespace GetRegistryInput { + export const filterSensitiveLog = (obj: GetRegistryInput): any => ({ + ...obj, + }); +} + +export interface GetRegistryResponse { + /** + *

                          The name of the registry.

                          + */ + RegistryName?: string; + + /** + *

                          The Amazon Resource Name (ARN) of the registry.

                          + */ + RegistryArn?: string; + + /** + *

                          A description of the registry.

                          + */ + Description?: string; + + /** + *

                          The status of the registry.

                          + */ + Status?: RegistryStatus | string; + + /** + *

                          The date and time the registry was created.

                          + */ + CreatedTime?: string; + + /** + *

                          The date and time the registry was updated.

                          + */ + UpdatedTime?: string; +} + +export namespace GetRegistryResponse { + export const filterSensitiveLog = (obj: GetRegistryResponse): any => ({ + ...obj, + }); +} + +export interface GetResourcePoliciesRequest { + /** + *

                          A continuation token, if this is a continuation request.

                          + */ + NextToken?: string; + + /** + *

                          The maximum size of a list to return.

                          + */ + MaxResults?: number; +} + +export namespace GetResourcePoliciesRequest { + export const filterSensitiveLog = (obj: GetResourcePoliciesRequest): any => ({ + ...obj, + }); +} + +/** + *

                          A structure for returning a resource policy.

                          + */ +export interface GluePolicy { + /** + *

                          Contains the requested policy document, in JSON format.

                          + */ + PolicyInJson?: string; + + /** + *

                          Contains the hash value associated with this policy.

                          + */ + PolicyHash?: string; + + /** + *

                          The date and time at which the policy was created.

                          + */ + CreateTime?: Date; + + /** + *

                          The date and time at which the policy was last updated.

                          + */ + UpdateTime?: Date; +} + +export namespace GluePolicy { + export const filterSensitiveLog = (obj: GluePolicy): any => ({ + ...obj, + }); +} + +export interface GetResourcePoliciesResponse { + /** + *

                          A list of the individual resource policies and the account-level resource policy.

                          + */ + GetResourcePoliciesResponseList?: GluePolicy[]; + + /** + *

                          A continuation token, if the returned list does not contain the last resource policy available.

                          + */ + NextToken?: string; +} + +export namespace GetResourcePoliciesResponse { + export const filterSensitiveLog = (obj: GetResourcePoliciesResponse): any => ({ + ...obj, + }); +} + +export interface GetResourcePolicyRequest { + /** + *

                          The ARN of the AWS Glue resource for the resource policy to be retrieved. For more + * information about AWS Glue resource ARNs, see the AWS Glue ARN string pattern + *

                          + */ + ResourceArn?: string; +} + +export namespace GetResourcePolicyRequest { + export const filterSensitiveLog = (obj: GetResourcePolicyRequest): any => ({ + ...obj, + }); +} + +export interface GetResourcePolicyResponse { + /** + *

                          Contains the requested policy document, in JSON format.

                          + */ + PolicyInJson?: string; + + /** + *

                          Contains the hash value associated with this policy.

                          + */ + PolicyHash?: string; + + /** + *

                          The date and time at which the policy was created.

                          + */ + CreateTime?: Date; + + /** + *

                          The date and time at which the policy was last updated.

                          + */ + UpdateTime?: Date; +} + +export namespace GetResourcePolicyResponse { + export const filterSensitiveLog = (obj: GetResourcePolicyResponse): any => ({ + ...obj, + }); +} + +export interface GetSchemaInput { + /** + *

                          This is a wrapper structure to contain schema identity fields. The structure contains:

                          + *
                            + *
                          • + *

                            SchemaId$SchemaArn: The Amazon Resource Name (ARN) of the schema. Either SchemaArn or SchemaName and RegistryName has to be provided.

                            + *
                          • + *
                          • + *

                            SchemaId$SchemaName: The name of the schema. Either SchemaArn or SchemaName and RegistryName has to be provided.

                            + *
                          • + *
                          + */ + SchemaId: SchemaId | undefined; +} + +export namespace GetSchemaInput { + export const filterSensitiveLog = (obj: GetSchemaInput): any => ({ + ...obj, + }); +} + +export interface GetSchemaResponse { + /** + *

                          The name of the registry.

                          + */ + RegistryName?: string; + + /** + *

                          The Amazon Resource Name (ARN) of the registry.

                          + */ + RegistryArn?: string; + + /** + *

                          The name of the schema.

                          + */ + SchemaName?: string; + + /** + *

                          The Amazon Resource Name (ARN) of the schema.

                          + */ + SchemaArn?: string; + + /** + *

                          A description of schema if specified when created

                          + */ + Description?: string; + + /** + *

                          The data format of the schema definition. Currently only AVRO is supported.

                          + */ + DataFormat?: DataFormat | string; + + /** + *

                          The compatibility mode of the schema.

                          + */ + Compatibility?: Compatibility | string; + + /** + *

                          The version number of the checkpoint (the last time the compatibility mode was changed).

                          + */ + SchemaCheckpoint?: number; + + /** + *

                          The latest version of the schema associated with the returned schema definition.

                          + */ + LatestSchemaVersion?: number; + + /** + *

                          The next version of the schema associated with the returned schema definition.

                          + */ + NextSchemaVersion?: number; + + /** + *

                          The status of the schema.

                          + */ + SchemaStatus?: SchemaStatus | string; + + /** + *

                          The date and time the schema was created.

                          + */ + CreatedTime?: string; + + /** + *

                          The date and time the schema was updated.

                          + */ + UpdatedTime?: string; +} + +export namespace GetSchemaResponse { + export const filterSensitiveLog = (obj: GetSchemaResponse): any => ({ + ...obj, + }); +} + +export interface GetSchemaByDefinitionInput { + /** + *

                          This is a wrapper structure to contain schema identity fields. The structure contains:

                          + *
                            + *
                          • + *

                            SchemaId$SchemaArn: The Amazon Resource Name (ARN) of the schema. One of SchemaArn or SchemaName has to be provided.

                            + *
                          • + *
                          • + *

                            SchemaId$SchemaName: The name of the schema. One of SchemaArn or SchemaName has to be provided.

                            + *
                          • + *
                          + */ + SchemaId: SchemaId | undefined; + + /** + *

                          The definition of the schema for which schema details are required.

                          + */ + SchemaDefinition: string | undefined; +} + +export namespace GetSchemaByDefinitionInput { + export const filterSensitiveLog = (obj: GetSchemaByDefinitionInput): any => ({ + ...obj, + }); +} + +export interface GetSchemaByDefinitionResponse { + /** + *

                          The schema ID of the schema version.

                          + */ + SchemaVersionId?: string; + + /** + *

                          The Amazon Resource Name (ARN) of the schema.

                          + */ + SchemaArn?: string; + + /** + *

                          The data format of the schema definition. Currently only AVRO is supported.

                          + */ + DataFormat?: DataFormat | string; + + /** + *

                          The status of the schema version.

                          + */ + Status?: SchemaVersionStatus | string; + + /** + *

                          The date and time the schema was created.

                          + */ + CreatedTime?: string; +} + +export namespace GetSchemaByDefinitionResponse { + export const filterSensitiveLog = (obj: GetSchemaByDefinitionResponse): any => ({ + ...obj, + }); +} + +export interface SchemaVersionNumber { + LatestVersion?: boolean; + VersionNumber?: number; +} + +export namespace SchemaVersionNumber { + export const filterSensitiveLog = (obj: SchemaVersionNumber): any => ({ + ...obj, + }); +} + +export interface GetSchemaVersionInput { + /** + *

                          This is a wrapper structure to contain schema identity fields. The structure contains:

                          + *
                            + *
                          • + *

                            SchemaId$SchemaArn: The Amazon Resource Name (ARN) of the schema. Either SchemaArn or SchemaName and RegistryName has to be provided.

                            + *
                          • + *
                          • + *

                            SchemaId$SchemaName: The name of the schema. Either SchemaArn or SchemaName and RegistryName has to be provided.

                            + *
                          • + *
                          + */ + SchemaId?: SchemaId; + + /** + *

                          The SchemaVersionId of the schema version. This field is required for fetching by schema ID. Either this or the SchemaId wrapper has to be provided.

                          + */ + SchemaVersionId?: string; + + /** + *

                          The version number of the schema.

                          + */ + SchemaVersionNumber?: SchemaVersionNumber; +} + +export namespace GetSchemaVersionInput { + export const filterSensitiveLog = (obj: GetSchemaVersionInput): any => ({ + ...obj, + }); +} + +export interface GetSchemaVersionResponse { + /** + *

                          The SchemaVersionId of the schema version.

                          + */ + SchemaVersionId?: string; + + /** + *

                          The schema definition for the schema ID.

                          + */ + SchemaDefinition?: string; + + /** + *

                          The data format of the schema definition. Currently only AVRO is supported.

                          + */ + DataFormat?: DataFormat | string; + + /** + *

                          The Amazon Resource Name (ARN) of the schema.

                          + */ + SchemaArn?: string; + + /** + *

                          The version number of the schema.

                          + */ + VersionNumber?: number; + + /** + *

                          The status of the schema version.

                          + */ + Status?: SchemaVersionStatus | string; + + /** + *

                          The date and time the schema version was created.

                          + */ + CreatedTime?: string; +} + +export namespace GetSchemaVersionResponse { + export const filterSensitiveLog = (obj: GetSchemaVersionResponse): any => ({ + ...obj, + }); +} + +export enum SchemaDiffType { + SYNTAX_DIFF = "SYNTAX_DIFF", +} + +export interface GetSchemaVersionsDiffInput { + /** + *

                          This is a wrapper structure to contain schema identity fields. The structure contains:

                          + *
                            + *
                          • + *

                            SchemaId$SchemaArn: The Amazon Resource Name (ARN) of the schema. One of SchemaArn or SchemaName has to be provided.

                            + *
                          • + *
                          • + *

                            SchemaId$SchemaName: The name of the schema. One of SchemaArn or SchemaName has to be provided.

                            + *
                          • + *
                          + */ + SchemaId: SchemaId | undefined; + + /** + *

                          The first of the two schema versions to be compared.

                          + */ + FirstSchemaVersionNumber: SchemaVersionNumber | undefined; + + /** + *

                          The second of the two schema versions to be compared.

                          + */ + SecondSchemaVersionNumber: SchemaVersionNumber | undefined; + + /** + *

                          Refers to SYNTAX_DIFF, which is the currently supported diff type.

                          + */ + SchemaDiffType: SchemaDiffType | string | undefined; +} + +export namespace GetSchemaVersionsDiffInput { + export const filterSensitiveLog = (obj: GetSchemaVersionsDiffInput): any => ({ + ...obj, + }); +} + +export interface GetSchemaVersionsDiffResponse { + /** + *

                          The difference between schemas as a string in JsonPatch format.

                          + */ + Diff?: string; +} + +export namespace GetSchemaVersionsDiffResponse { + export const filterSensitiveLog = (obj: GetSchemaVersionsDiffResponse): any => ({ + ...obj, + }); +} + +export interface GetSecurityConfigurationRequest { + /** + *

                          The name of the security configuration to retrieve.

                          + */ + Name: string | undefined; +} + +export namespace GetSecurityConfigurationRequest { + export const filterSensitiveLog = (obj: GetSecurityConfigurationRequest): any => ({ + ...obj, + }); +} + +/** + *

                          Specifies a security configuration.

                          + */ +export interface SecurityConfiguration { + /** + *

                          The name of the security configuration.

                          + */ + Name?: string; + + /** + *

                          The time at which this security configuration was created.

                          + */ + CreatedTimeStamp?: Date; + + /** + *

                          The encryption configuration associated with this security configuration.

                          + */ + EncryptionConfiguration?: EncryptionConfiguration; +} + +export namespace SecurityConfiguration { + export const filterSensitiveLog = (obj: SecurityConfiguration): any => ({ + ...obj, + }); +} + +export interface GetSecurityConfigurationResponse { + /** + *

                          The requested security configuration.

                          + */ + SecurityConfiguration?: SecurityConfiguration; +} + +export namespace GetSecurityConfigurationResponse { + export const filterSensitiveLog = (obj: GetSecurityConfigurationResponse): any => ({ + ...obj, + }); +} + +export interface GetSecurityConfigurationsRequest { + /** + *

                          The maximum number of results to return.

                          + */ + MaxResults?: number; + + /** + *

                          A continuation token, if this is a continuation call.

                          + */ + NextToken?: string; +} + +export namespace GetSecurityConfigurationsRequest { + export const filterSensitiveLog = (obj: GetSecurityConfigurationsRequest): any => ({ + ...obj, + }); +} + +export interface GetSecurityConfigurationsResponse { + /** + *

                          A list of security configurations.

                          + */ + SecurityConfigurations?: SecurityConfiguration[]; + + /** + *

                          A continuation token, if there are more security + * configurations to return.

                          + */ + NextToken?: string; +} + +export namespace GetSecurityConfigurationsResponse { + export const filterSensitiveLog = (obj: GetSecurityConfigurationsResponse): any => ({ + ...obj, + }); +} + +export interface GetTableRequest { + /** + *

                          The ID of the Data Catalog where the table resides. If none is provided, the AWS account + * ID is used by default.

                          + */ + CatalogId?: string; + + /** + *

                          The name of the database in the catalog in which the table resides. + * For Hive compatibility, this name is entirely lowercase.

                          + */ + DatabaseName: string | undefined; + + /** + *

                          The name of the table for which to retrieve the definition. For Hive + * compatibility, this name is entirely lowercase.

                          + */ + Name: string | undefined; +} + +export namespace GetTableRequest { + export const filterSensitiveLog = (obj: GetTableRequest): any => ({ + ...obj, + }); +} + +/** + *

                          Represents a collection of related data organized in columns and rows.

                          + */ +export interface Table { + /** + *

                          The table name. For Hive compatibility, this must be entirely + * lowercase.

                          + */ + Name: string | undefined; + + /** + *

                          The name of the database where the table metadata resides. + * For Hive compatibility, this must be all lowercase.

                          + */ + DatabaseName?: string; + + /** + *

                          A description of the table.

                          + */ + Description?: string; + + /** + *

                          The owner of the table.

                          + */ + Owner?: string; + + /** + *

                          The time when the table definition was created in the Data Catalog.

                          + */ + CreateTime?: Date; + + /** + *

                          The last time that the table was updated.

                          + */ + UpdateTime?: Date; + + /** + *

                          The last time that the table was accessed. This is usually taken from HDFS, and might not + * be reliable.

                          + */ + LastAccessTime?: Date; + + /** + *

                          The last time that column statistics were computed for this table.

                          + */ + LastAnalyzedTime?: Date; + + /** + *

                          The retention time for this table.

                          + */ + Retention?: number; + + /** + *

                          A storage descriptor containing information about the physical storage + * of this table.

                          + */ + StorageDescriptor?: StorageDescriptor; + + /** + *

                          A list of columns by which the table is partitioned. Only primitive + * types are supported as partition keys.

                          + *

                          When you create a table used by Amazon Athena, and you do not specify any + * partitionKeys, you must at least set the value of partitionKeys to + * an empty list. For example:

                          + *

                          + * "PartitionKeys": [] + *

                          + */ + PartitionKeys?: Column[]; + + /** + *

                          If the table is a view, the original text of the view; otherwise null.

                          + */ + ViewOriginalText?: string; + + /** + *

                          If the table is a view, the expanded text of the view; otherwise null.

                          + */ + ViewExpandedText?: string; + + /** + *

                          The type of this table (EXTERNAL_TABLE, VIRTUAL_VIEW, etc.).

                          + */ + TableType?: string; + + /** + *

                          These key-value pairs define properties associated with the table.

                          + */ + Parameters?: { [key: string]: string }; + + /** + *

                          The person or entity who created the table.

                          + */ + CreatedBy?: string; + + /** + *

                          Indicates whether the table has been registered with AWS Lake Formation.

                          + */ + IsRegisteredWithLakeFormation?: boolean; + + /** + *

                          A TableIdentifier structure that describes a target table for resource linking.

                          + */ + TargetTable?: TableIdentifier; + + /** + *

                          The ID of the Data Catalog in which the table resides.

                          + */ + CatalogId?: string; +} + +export namespace Table { + export const filterSensitiveLog = (obj: Table): any => ({ + ...obj, + }); +} + +export interface GetTableResponse { + /** + *

                          The Table object that defines the specified table.

                          + */ + Table?: Table; +} + +export namespace GetTableResponse { + export const filterSensitiveLog = (obj: GetTableResponse): any => ({ + ...obj, + }); +} + +export interface GetTablesRequest { + /** + *

                          The ID of the Data Catalog where the tables reside. If none is provided, the AWS account + * ID is used by default.

                          + */ + CatalogId?: string; + + /** + *

                          The database in the catalog whose tables to list. For Hive + * compatibility, this name is entirely lowercase.

                          + */ + DatabaseName: string | undefined; + + /** + *

                          A regular expression pattern. If present, only those tables + * whose names match the pattern are returned.

                          + */ + Expression?: string; + + /** + *

                          A continuation token, included if this is a continuation call.

                          + */ + NextToken?: string; + + /** + *

                          The maximum number of tables to return in a single response.

                          + */ + MaxResults?: number; +} + +export namespace GetTablesRequest { + export const filterSensitiveLog = (obj: GetTablesRequest): any => ({ + ...obj, + }); +} + +export interface GetTablesResponse { + /** + *

                          A list of the requested Table objects.

                          + */ + TableList?: Table[]; + + /** + *

                          A continuation token, present if the current list segment is + * not the last.

                          + */ + NextToken?: string; +} + +export namespace GetTablesResponse { + export const filterSensitiveLog = (obj: GetTablesResponse): any => ({ + ...obj, + }); +} + +export interface GetTableVersionRequest { + /** + *

                          The ID of the Data Catalog where the tables reside. If none is provided, the AWS account + * ID is used by default.

                          + */ + CatalogId?: string; + + /** + *

                          The database in the catalog in which the table resides. For Hive + * compatibility, this name is entirely lowercase.

                          + */ + DatabaseName: string | undefined; + + /** + *

                          The name of the table. For Hive compatibility, + * this name is entirely lowercase.

                          */ - AdditionalPlanOptionsMap?: { [key: string]: string }; + TableName: string | undefined; + + /** + *

                          The ID value of the table version to be retrieved. A VersionID is a string representation of an integer. Each version is incremented by 1.

                          + */ + VersionId?: string; } -export namespace GetPlanRequest { - export const filterSensitiveLog = (obj: GetPlanRequest): any => ({ +export namespace GetTableVersionRequest { + export const filterSensitiveLog = (obj: GetTableVersionRequest): any => ({ ...obj, }); } -export interface GetPlanResponse { +/** + *

                          Specifies a version of a table.

                          + */ +export interface TableVersion { /** - *

                          The Scala code to perform the mapping.

                          + *

                          The table in question.

                          */ - ScalaCode?: string; + Table?: Table; /** - *

                          A Python script to perform the mapping.

                          + *

                          The ID value that identifies this table version. A VersionId is a string representation of an integer. Each version is incremented by 1.

                          */ - PythonScript?: string; + VersionId?: string; } -export namespace GetPlanResponse { - export const filterSensitiveLog = (obj: GetPlanResponse): any => ({ +export namespace TableVersion { + export const filterSensitiveLog = (obj: TableVersion): any => ({ ...obj, }); } -export interface GetResourcePoliciesRequest { - /** - *

                          A continuation token, if this is a continuation request.

                          - */ - NextToken?: string; - +export interface GetTableVersionResponse { /** - *

                          The maximum size of a list to return.

                          + *

                          The requested table version.

                          */ - MaxResults?: number; + TableVersion?: TableVersion; } -export namespace GetResourcePoliciesRequest { - export const filterSensitiveLog = (obj: GetResourcePoliciesRequest): any => ({ +export namespace GetTableVersionResponse { + export const filterSensitiveLog = (obj: GetTableVersionResponse): any => ({ ...obj, }); } -/** - *

                          A structure for returning a resource policy.

                          - */ -export interface GluePolicy { +export interface GetTableVersionsRequest { /** - *

                          Contains the requested policy document, in JSON format.

                          + *

                          The ID of the Data Catalog where the tables reside. If none is provided, the AWS account + * ID is used by default.

                          */ - PolicyInJson?: string; + CatalogId?: string; /** - *

                          The date and time at which the policy was created.

                          + *

                          The database in the catalog in which the table resides. For Hive + * compatibility, this name is entirely lowercase.

                          */ - CreateTime?: Date; + DatabaseName: string | undefined; /** - *

                          Contains the hash value associated with this policy.

                          + *

                          The name of the table. For Hive + * compatibility, this name is entirely lowercase.

                          */ - PolicyHash?: string; + TableName: string | undefined; /** - *

                          The date and time at which the policy was last updated.

                          + *

                          A continuation token, if this is not the first call.

                          */ - UpdateTime?: Date; + NextToken?: string; + + /** + *

                          The maximum number of table versions to return in one response.

                          + */ + MaxResults?: number; } -export namespace GluePolicy { - export const filterSensitiveLog = (obj: GluePolicy): any => ({ +export namespace GetTableVersionsRequest { + export const filterSensitiveLog = (obj: GetTableVersionsRequest): any => ({ ...obj, }); } -export interface GetResourcePoliciesResponse { +export interface GetTableVersionsResponse { /** - *

                          A continuation token, if the returned list does not contain the last resource policy available.

                          + *

                          A list of strings identifying available versions of the + * specified table.

                          */ - NextToken?: string; + TableVersions?: TableVersion[]; /** - *

                          A list of the individual resource policies and the account-level resource policy.

                          + *

                          A continuation token, if the list of available versions does + * not include the last one.

                          */ - GetResourcePoliciesResponseList?: GluePolicy[]; + NextToken?: string; } -export namespace GetResourcePoliciesResponse { - export const filterSensitiveLog = (obj: GetResourcePoliciesResponse): any => ({ +export namespace GetTableVersionsResponse { + export const filterSensitiveLog = (obj: GetTableVersionsResponse): any => ({ ...obj, }); } -export interface GetResourcePolicyRequest { +export interface GetTagsRequest { /** - *

                          The ARN of the AWS Glue resource for the resource policy to be retrieved. For more - * information about AWS Glue resource ARNs, see the AWS Glue ARN string pattern - *

                          + *

                          The Amazon Resource Name (ARN) of the resource for which to retrieve tags.

                          */ - ResourceArn?: string; + ResourceArn: string | undefined; } -export namespace GetResourcePolicyRequest { - export const filterSensitiveLog = (obj: GetResourcePolicyRequest): any => ({ +export namespace GetTagsRequest { + export const filterSensitiveLog = (obj: GetTagsRequest): any => ({ ...obj, }); } -export interface GetResourcePolicyResponse { - /** - *

                          The date and time at which the policy was created.

                          - */ - CreateTime?: Date; - +export interface GetTagsResponse { /** - *

                          Contains the requested policy document, in JSON format.

                          + *

                          The requested tags.

                          */ - PolicyInJson?: string; + Tags?: { [key: string]: string }; +} - /** - *

                          Contains the hash value associated with this policy.

                          - */ - PolicyHash?: string; +export namespace GetTagsResponse { + export const filterSensitiveLog = (obj: GetTagsResponse): any => ({ + ...obj, + }); +} +export interface GetTriggerRequest { /** - *

                          The date and time at which the policy was last updated.

                          + *

                          The name of the trigger to retrieve.

                          */ - UpdateTime?: Date; + Name: string | undefined; } -export namespace GetResourcePolicyResponse { - export const filterSensitiveLog = (obj: GetResourcePolicyResponse): any => ({ +export namespace GetTriggerRequest { + export const filterSensitiveLog = (obj: GetTriggerRequest): any => ({ ...obj, }); } -export interface GetSecurityConfigurationRequest { +export interface GetTriggerResponse { /** - *

                          The name of the security configuration to retrieve.

                          + *

                          The requested trigger definition.

                          */ - Name: string | undefined; + Trigger?: Trigger; } -export namespace GetSecurityConfigurationRequest { - export const filterSensitiveLog = (obj: GetSecurityConfigurationRequest): any => ({ +export namespace GetTriggerResponse { + export const filterSensitiveLog = (obj: GetTriggerResponse): any => ({ ...obj, }); } -/** - *

                          Specifies a security configuration.

                          - */ -export interface SecurityConfiguration { +export interface GetTriggersRequest { /** - *

                          The name of the security configuration.

                          + *

                          A continuation token, if this is a continuation call.

                          */ - Name?: string; + NextToken?: string; /** - *

                          The time at which this security configuration was created.

                          + *

                          The name of the job to retrieve triggers for. The trigger that can start this job is + * returned, and if there is no such trigger, all triggers are returned.

                          */ - CreatedTimeStamp?: Date; + DependentJobName?: string; /** - *

                          The encryption configuration associated with this security configuration.

                          + *

                          The maximum size of the response.

                          */ - EncryptionConfiguration?: EncryptionConfiguration; + MaxResults?: number; } -export namespace SecurityConfiguration { - export const filterSensitiveLog = (obj: SecurityConfiguration): any => ({ +export namespace GetTriggersRequest { + export const filterSensitiveLog = (obj: GetTriggersRequest): any => ({ ...obj, }); } -export interface GetSecurityConfigurationResponse { +export interface GetTriggersResponse { /** - *

                          The requested security configuration.

                          + *

                          A list of triggers for the specified job.

                          */ - SecurityConfiguration?: SecurityConfiguration; + Triggers?: Trigger[]; + + /** + *

                          A continuation token, if not all the requested triggers + * have yet been returned.

                          + */ + NextToken?: string; } -export namespace GetSecurityConfigurationResponse { - export const filterSensitiveLog = (obj: GetSecurityConfigurationResponse): any => ({ +export namespace GetTriggersResponse { + export const filterSensitiveLog = (obj: GetTriggersResponse): any => ({ ...obj, }); } -export interface GetSecurityConfigurationsRequest { +export interface GetUserDefinedFunctionRequest { /** - *

                          A continuation token, if this is a continuation call.

                          + *

                          The ID of the Data Catalog where the function to be retrieved is located. If none is + * provided, the AWS account ID is used by default.

                          */ - NextToken?: string; + CatalogId?: string; /** - *

                          The maximum number of results to return.

                          + *

                          The name of the catalog database where the function is located.

                          */ - MaxResults?: number; + DatabaseName: string | undefined; + + /** + *

                          The name of the function.

                          + */ + FunctionName: string | undefined; } -export namespace GetSecurityConfigurationsRequest { - export const filterSensitiveLog = (obj: GetSecurityConfigurationsRequest): any => ({ +export namespace GetUserDefinedFunctionRequest { + export const filterSensitiveLog = (obj: GetUserDefinedFunctionRequest): any => ({ ...obj, }); } -export interface GetSecurityConfigurationsResponse { +/** + *

                          Represents the equivalent of a Hive user-defined function + * (UDF) definition.

                          + */ +export interface UserDefinedFunction { /** - *

                          A continuation token, if there are more security - * configurations to return.

                          + *

                          The name of the function.

                          */ - NextToken?: string; + FunctionName?: string; /** - *

                          A list of security configurations.

                          + *

                          The name of the catalog database that contains the function.

                          */ - SecurityConfigurations?: SecurityConfiguration[]; -} + DatabaseName?: string; -export namespace GetSecurityConfigurationsResponse { - export const filterSensitiveLog = (obj: GetSecurityConfigurationsResponse): any => ({ - ...obj, - }); -} + /** + *

                          The Java class that contains the function code.

                          + */ + ClassName?: string; -export interface GetTableRequest { /** - *

                          The name of the table for which to retrieve the definition. For Hive - * compatibility, this name is entirely lowercase.

                          + *

                          The owner of the function.

                          */ - Name: string | undefined; + OwnerName?: string; /** - *

                          The name of the database in the catalog in which the table resides. - * For Hive compatibility, this name is entirely lowercase.

                          + *

                          The owner type.

                          */ - DatabaseName: string | undefined; + OwnerType?: PrincipalType | string; /** - *

                          The ID of the Data Catalog where the table resides. If none is provided, the AWS account - * ID is used by default.

                          + *

                          The time at which the function was created.

                          + */ + CreateTime?: Date; + + /** + *

                          The resource URIs for the function.

                          + */ + ResourceUris?: ResourceUri[]; + + /** + *

                          The ID of the Data Catalog in which the function resides.

                          */ CatalogId?: string; } -export namespace GetTableRequest { - export const filterSensitiveLog = (obj: GetTableRequest): any => ({ +export namespace UserDefinedFunction { + export const filterSensitiveLog = (obj: UserDefinedFunction): any => ({ ...obj, }); } -/** - *

                          Represents a collection of related data organized in columns and rows.

                          - */ -export interface Table { +export interface GetUserDefinedFunctionResponse { /** - *

                          A TableIdentifier structure that describes a target table for resource linking.

                          + *

                          The requested function definition.

                          */ - TargetTable?: TableIdentifier; + UserDefinedFunction?: UserDefinedFunction; +} + +export namespace GetUserDefinedFunctionResponse { + export const filterSensitiveLog = (obj: GetUserDefinedFunctionResponse): any => ({ + ...obj, + }); +} +export interface GetUserDefinedFunctionsRequest { /** - *

                          The ID of the Data Catalog in which the table resides.

                          + *

                          The ID of the Data Catalog where the functions to be retrieved are located. If none is + * provided, the AWS account ID is used by default.

                          */ CatalogId?: string; /** - *

                          Indicates whether the table has been registered with AWS Lake Formation.

                          + *

                          The name of the catalog database where the functions are located. If none is provided, functions from all the + * databases across the catalog will be returned.

                          */ - IsRegisteredWithLakeFormation?: boolean; + DatabaseName?: string; /** - *

                          The last time that column statistics were computed for this table.

                          + *

                          An optional function-name pattern string that filters the function + * definitions returned.

                          */ - LastAnalyzedTime?: Date; + Pattern: string | undefined; /** - *

                          If the table is a view, the expanded text of the view; otherwise null.

                          + *

                          A continuation token, if this is a continuation call.

                          */ - ViewExpandedText?: string; + NextToken?: string; /** - *

                          The owner of the table.

                          + *

                          The maximum number of functions to return in one response.

                          */ - Owner?: string; + MaxResults?: number; +} - /** - *

                          A list of columns by which the table is partitioned. Only primitive - * types are supported as partition keys.

                          - *

                          When you create a table used by Amazon Athena, and you do not specify any - * partitionKeys, you must at least set the value of partitionKeys to - * an empty list. For example:

                          - *

                          - * "PartitionKeys": [] - *

                          - */ - PartitionKeys?: Column[]; +export namespace GetUserDefinedFunctionsRequest { + export const filterSensitiveLog = (obj: GetUserDefinedFunctionsRequest): any => ({ + ...obj, + }); +} +export interface GetUserDefinedFunctionsResponse { /** - *

                          The last time that the table was updated.

                          + *

                          A list of requested function definitions.

                          */ - UpdateTime?: Date; + UserDefinedFunctions?: UserDefinedFunction[]; /** - *

                          If the table is a view, the original text of the view; otherwise null.

                          + *

                          A continuation token, if the list of functions returned does + * not include the last requested function.

                          */ - ViewOriginalText?: string; + NextToken?: string; +} + +export namespace GetUserDefinedFunctionsResponse { + export const filterSensitiveLog = (obj: GetUserDefinedFunctionsResponse): any => ({ + ...obj, + }); +} +export interface GetWorkflowRequest { /** - *

                          The table name. For Hive compatibility, this must be entirely - * lowercase.

                          + *

                          The name of the workflow to retrieve.

                          */ Name: string | undefined; /** - *

                          The person or entity who created the table.

                          + *

                          Specifies whether to include a graph when returning the workflow resource metadata.

                          */ - CreatedBy?: string; + IncludeGraph?: boolean; +} - /** - *

                          A storage descriptor containing information about the physical storage - * of this table.

                          - */ - StorageDescriptor?: StorageDescriptor; +export namespace GetWorkflowRequest { + export const filterSensitiveLog = (obj: GetWorkflowRequest): any => ({ + ...obj, + }); +} +export interface GetWorkflowResponse { /** - *

                          A description of the table.

                          + *

                          The resource metadata for the workflow.

                          */ - Description?: string; + Workflow?: Workflow; +} + +export namespace GetWorkflowResponse { + export const filterSensitiveLog = (obj: GetWorkflowResponse): any => ({ + ...obj, + }); +} +export interface GetWorkflowRunRequest { /** - *

                          The last time that the table was accessed. This is usually taken from HDFS, and might not - * be reliable.

                          + *

                          Name of the workflow being run.

                          */ - LastAccessTime?: Date; + Name: string | undefined; /** - *

                          The retention time for this table.

                          + *

                          The ID of the workflow run.

                          */ - Retention?: number; + RunId: string | undefined; /** - *

                          The time when the table definition was created in the Data Catalog.

                          + *

                          Specifies whether to include the workflow graph in response or not.

                          */ - CreateTime?: Date; + IncludeGraph?: boolean; +} + +export namespace GetWorkflowRunRequest { + export const filterSensitiveLog = (obj: GetWorkflowRunRequest): any => ({ + ...obj, + }); +} +export interface GetWorkflowRunResponse { /** - *

                          These key-value pairs define properties associated with the table.

                          + *

                          The requested workflow run metadata.

                          */ - Parameters?: { [key: string]: string }; + Run?: WorkflowRun; +} + +export namespace GetWorkflowRunResponse { + export const filterSensitiveLog = (obj: GetWorkflowRunResponse): any => ({ + ...obj, + }); +} +export interface GetWorkflowRunPropertiesRequest { /** - *

                          The type of this table (EXTERNAL_TABLE, VIRTUAL_VIEW, etc.).

                          + *

                          Name of the workflow which was run.

                          */ - TableType?: string; + Name: string | undefined; /** - *

                          The name of the database where the table metadata resides. - * For Hive compatibility, this must be all lowercase.

                          + *

                          The ID of the workflow run whose run properties should be returned.

                          */ - DatabaseName?: string; + RunId: string | undefined; } -export namespace Table { - export const filterSensitiveLog = (obj: Table): any => ({ +export namespace GetWorkflowRunPropertiesRequest { + export const filterSensitiveLog = (obj: GetWorkflowRunPropertiesRequest): any => ({ ...obj, }); } -export interface GetTableResponse { +export interface GetWorkflowRunPropertiesResponse { /** - *

                          The Table object that defines the specified table.

                          + *

                          The workflow run properties which were set during the specified run.

                          */ - Table?: Table; + RunProperties?: { [key: string]: string }; } -export namespace GetTableResponse { - export const filterSensitiveLog = (obj: GetTableResponse): any => ({ +export namespace GetWorkflowRunPropertiesResponse { + export const filterSensitiveLog = (obj: GetWorkflowRunPropertiesResponse): any => ({ ...obj, }); } -export interface GetTablesRequest { - /** - *

                          A regular expression pattern. If present, only those tables - * whose names match the pattern are returned.

                          - */ - Expression?: string; - +export interface GetWorkflowRunsRequest { /** - *

                          The ID of the Data Catalog where the tables reside. If none is provided, the AWS account - * ID is used by default.

                          + *

                          Name of the workflow whose metadata of runs should be returned.

                          */ - CatalogId?: string; + Name: string | undefined; /** - *

                          The maximum number of tables to return in a single response.

                          + *

                          Specifies whether to include the workflow graph in response or not.

                          */ - MaxResults?: number; + IncludeGraph?: boolean; /** - *

                          A continuation token, included if this is a continuation call.

                          + *

                          The maximum size of the response.

                          */ NextToken?: string; /** - *

                          The database in the catalog whose tables to list. For Hive - * compatibility, this name is entirely lowercase.

                          + *

                          The maximum number of workflow runs to be included in the response.

                          */ - DatabaseName: string | undefined; + MaxResults?: number; } -export namespace GetTablesRequest { - export const filterSensitiveLog = (obj: GetTablesRequest): any => ({ +export namespace GetWorkflowRunsRequest { + export const filterSensitiveLog = (obj: GetWorkflowRunsRequest): any => ({ ...obj, }); } -export interface GetTablesResponse { +export interface GetWorkflowRunsResponse { /** - *

                          A list of the requested Table objects.

                          + *

                          A list of workflow run metadata objects.

                          */ - TableList?: Table[]; + Runs?: WorkflowRun[]; /** - *

                          A continuation token, present if the current list segment is - * not the last.

                          + *

                          A continuation token, if not all requested workflow runs have been returned.

                          */ NextToken?: string; } -export namespace GetTablesResponse { - export const filterSensitiveLog = (obj: GetTablesResponse): any => ({ +export namespace GetWorkflowRunsResponse { + export const filterSensitiveLog = (obj: GetWorkflowRunsResponse): any => ({ ...obj, }); } -export interface GetTableVersionRequest { - /** - *

                          The name of the table. For Hive compatibility, - * this name is entirely lowercase.

                          - */ - TableName: string | undefined; - - /** - *

                          The ID value of the table version to be retrieved. A VersionID is a string representation of an integer. Each version is incremented by 1.

                          - */ - VersionId?: string; - +export interface ImportCatalogToGlueRequest { /** - *

                          The ID of the Data Catalog where the tables reside. If none is provided, the AWS account - * ID is used by default.

                          + *

                          The ID of the catalog to import. Currently, this should be the AWS account ID.

                          */ CatalogId?: string; +} - /** - *

                          The database in the catalog in which the table resides. For Hive - * compatibility, this name is entirely lowercase.

                          - */ - DatabaseName: string | undefined; +export namespace ImportCatalogToGlueRequest { + export const filterSensitiveLog = (obj: ImportCatalogToGlueRequest): any => ({ + ...obj, + }); } -export namespace GetTableVersionRequest { - export const filterSensitiveLog = (obj: GetTableVersionRequest): any => ({ +export interface ImportCatalogToGlueResponse {} + +export namespace ImportCatalogToGlueResponse { + export const filterSensitiveLog = (obj: ImportCatalogToGlueResponse): any => ({ ...obj, }); } -/** - *

                          Specifies a version of a table.

                          - */ -export interface TableVersion { +export interface ListCrawlersRequest { /** - *

                          The table in question.

                          + *

                          The maximum size of a list to return.

                          */ - Table?: Table; + MaxResults?: number; /** - *

                          The ID value that identifies this table version. A VersionId is a string representation of an integer. Each version is incremented by 1.

                          - */ - VersionId?: string; -} - -export namespace TableVersion { - export const filterSensitiveLog = (obj: TableVersion): any => ({ - ...obj, - }); -} + *

                          A continuation token, if this is a continuation request.

                          + */ + NextToken?: string; -export interface GetTableVersionResponse { /** - *

                          The requested table version.

                          + *

                          Specifies to return only these tagged resources.

                          */ - TableVersion?: TableVersion; + Tags?: { [key: string]: string }; } -export namespace GetTableVersionResponse { - export const filterSensitiveLog = (obj: GetTableVersionResponse): any => ({ +export namespace ListCrawlersRequest { + export const filterSensitiveLog = (obj: ListCrawlersRequest): any => ({ ...obj, }); } -export interface GetTableVersionsRequest { +export interface ListCrawlersResponse { /** - *

                          A continuation token, if this is not the first call.

                          + *

                          The names of all crawlers in the account, or the crawlers with the specified tags.

                          */ - NextToken?: string; + CrawlerNames?: string[]; /** - *

                          The name of the table. For Hive - * compatibility, this name is entirely lowercase.

                          + *

                          A continuation token, if the returned list does not contain the + * last metric available.

                          */ - TableName: string | undefined; + NextToken?: string; +} + +export namespace ListCrawlersResponse { + export const filterSensitiveLog = (obj: ListCrawlersResponse): any => ({ + ...obj, + }); +} +export interface ListDevEndpointsRequest { /** - *

                          The database in the catalog in which the table resides. For Hive - * compatibility, this name is entirely lowercase.

                          + *

                          A continuation token, if this is a continuation request.

                          */ - DatabaseName: string | undefined; + NextToken?: string; /** - *

                          The maximum number of table versions to return in one response.

                          + *

                          The maximum size of a list to return.

                          */ MaxResults?: number; /** - *

                          The ID of the Data Catalog where the tables reside. If none is provided, the AWS account - * ID is used by default.

                          + *

                          Specifies to return only these tagged resources.

                          */ - CatalogId?: string; + Tags?: { [key: string]: string }; } -export namespace GetTableVersionsRequest { - export const filterSensitiveLog = (obj: GetTableVersionsRequest): any => ({ +export namespace ListDevEndpointsRequest { + export const filterSensitiveLog = (obj: ListDevEndpointsRequest): any => ({ ...obj, }); } -export interface GetTableVersionsResponse { +export interface ListDevEndpointsResponse { /** - *

                          A list of strings identifying available versions of the - * specified table.

                          + *

                          The names of all the DevEndpoints in the account, or the + * DevEndpoints with the specified tags.

                          */ - TableVersions?: TableVersion[]; + DevEndpointNames?: string[]; /** - *

                          A continuation token, if the list of available versions does - * not include the last one.

                          + *

                          A continuation token, if the returned list does not contain the + * last metric available.

                          */ NextToken?: string; } -export namespace GetTableVersionsResponse { - export const filterSensitiveLog = (obj: GetTableVersionsResponse): any => ({ +export namespace ListDevEndpointsResponse { + export const filterSensitiveLog = (obj: ListDevEndpointsResponse): any => ({ ...obj, }); } -export interface GetTagsRequest { +export interface ListJobsRequest { /** - *

                          The Amazon Resource Name (ARN) of the resource for which to retrieve tags.

                          + *

                          A continuation token, if this is a continuation request.

                          */ - ResourceArn: string | undefined; -} + NextToken?: string; -export namespace GetTagsRequest { - export const filterSensitiveLog = (obj: GetTagsRequest): any => ({ - ...obj, - }); -} + /** + *

                          The maximum size of a list to return.

                          + */ + MaxResults?: number; -export interface GetTagsResponse { /** - *

                          The requested tags.

                          + *

                          Specifies to return only these tagged resources.

                          */ Tags?: { [key: string]: string }; } -export namespace GetTagsResponse { - export const filterSensitiveLog = (obj: GetTagsResponse): any => ({ +export namespace ListJobsRequest { + export const filterSensitiveLog = (obj: ListJobsRequest): any => ({ ...obj, }); } -export interface GetTriggerRequest { +export interface ListJobsResponse { /** - *

                          The name of the trigger to retrieve.

                          + *

                          The names of all jobs in the account, or the jobs with the specified tags.

                          */ - Name: string | undefined; -} - -export namespace GetTriggerRequest { - export const filterSensitiveLog = (obj: GetTriggerRequest): any => ({ - ...obj, - }); -} + JobNames?: string[]; -export interface GetTriggerResponse { /** - *

                          The requested trigger definition.

                          + *

                          A continuation token, if the returned list does not contain the + * last metric available.

                          */ - Trigger?: Trigger; + NextToken?: string; } -export namespace GetTriggerResponse { - export const filterSensitiveLog = (obj: GetTriggerResponse): any => ({ +export namespace ListJobsResponse { + export const filterSensitiveLog = (obj: ListJobsResponse): any => ({ ...obj, }); } -export interface GetTriggersRequest { +export interface ListMLTransformsRequest { /** - *

                          The name of the job to retrieve triggers for. The trigger that can start this job is - * returned, and if there is no such trigger, all triggers are returned.

                          + *

                          A continuation token, if this is a continuation request.

                          */ - DependentJobName?: string; + NextToken?: string; /** - *

                          The maximum size of the response.

                          + *

                          The maximum size of a list to return.

                          */ MaxResults?: number; /** - *

                          A continuation token, if this is a continuation call.

                          + *

                          A TransformFilterCriteria used to filter the machine learning transforms.

                          */ - NextToken?: string; + Filter?: TransformFilterCriteria; + + /** + *

                          A TransformSortCriteria used to sort the machine learning transforms.

                          + */ + Sort?: TransformSortCriteria; + + /** + *

                          Specifies to return only these tagged resources.

                          + */ + Tags?: { [key: string]: string }; } -export namespace GetTriggersRequest { - export const filterSensitiveLog = (obj: GetTriggersRequest): any => ({ +export namespace ListMLTransformsRequest { + export const filterSensitiveLog = (obj: ListMLTransformsRequest): any => ({ ...obj, }); } -export interface GetTriggersResponse { +export interface ListMLTransformsResponse { /** - *

                          A continuation token, if not all the requested triggers - * have yet been returned.

                          + *

                          The identifiers of all the machine learning transforms in the account, or the + * machine learning transforms with the specified tags.

                          */ - NextToken?: string; + TransformIds: string[] | undefined; /** - *

                          A list of triggers for the specified job.

                          + *

                          A continuation token, if the returned list does not contain the + * last metric available.

                          */ - Triggers?: Trigger[]; + NextToken?: string; } -export namespace GetTriggersResponse { - export const filterSensitiveLog = (obj: GetTriggersResponse): any => ({ +export namespace ListMLTransformsResponse { + export const filterSensitiveLog = (obj: ListMLTransformsResponse): any => ({ ...obj, }); } -export interface GetUserDefinedFunctionRequest { - /** - *

                          The name of the function.

                          - */ - FunctionName: string | undefined; - +export interface ListRegistriesInput { /** - *

                          The name of the catalog database where the function is located.

                          + *

                          Maximum number of results required per page. If the value is not supplied, this will be defaulted to 25 per page.

                          */ - DatabaseName: string | undefined; + MaxResults?: number; /** - *

                          The ID of the Data Catalog where the function to be retrieved is located. If none is - * provided, the AWS account ID is used by default.

                          + *

                          A continuation token, if this is a continuation call.

                          */ - CatalogId?: string; + NextToken?: string; } -export namespace GetUserDefinedFunctionRequest { - export const filterSensitiveLog = (obj: GetUserDefinedFunctionRequest): any => ({ +export namespace ListRegistriesInput { + export const filterSensitiveLog = (obj: ListRegistriesInput): any => ({ ...obj, }); } /** - *

                          Represents the equivalent of a Hive user-defined function - * (UDF) definition.

                          + *

                          A structure containing the details for a registry.

                          */ -export interface UserDefinedFunction { +export interface RegistryListItem { /** - *

                          The resource URIs for the function.

                          + *

                          The name of the registry.

                          */ - ResourceUris?: ResourceUri[]; + RegistryName?: string; /** - *

                          The owner of the function.

                          + *

                          The Amazon Resource Name (ARN) of the registry.

                          */ - OwnerName?: string; + RegistryArn?: string; /** - *

                          The name of the function.

                          + *

                          A description of the registry.

                          */ - FunctionName?: string; + Description?: string; /** - *

                          The ID of the Data Catalog in which the function resides.

                          + *

                          The status of the registry.

                          */ - CatalogId?: string; + Status?: RegistryStatus | string; /** - *

                          The time at which the function was created.

                          + *

                          The data the registry was created.

                          */ - CreateTime?: Date; + CreatedTime?: string; /** - *

                          The name of the catalog database that contains the function.

                          + *

                          The date the registry was updated.

                          */ - DatabaseName?: string; + UpdatedTime?: string; +} + +export namespace RegistryListItem { + export const filterSensitiveLog = (obj: RegistryListItem): any => ({ + ...obj, + }); +} +export interface ListRegistriesResponse { /** - *

                          The Java class that contains the function code.

                          + *

                          An array of RegistryDetailedListItem objects containing minimal details of each registry.

                          */ - ClassName?: string; + Registries?: RegistryListItem[]; /** - *

                          The owner type.

                          + *

                          A continuation token for paginating the returned list of tokens, returned if the current segment of the list is not the last.

                          */ - OwnerType?: PrincipalType | string; + NextToken?: string; } -export namespace UserDefinedFunction { - export const filterSensitiveLog = (obj: UserDefinedFunction): any => ({ +export namespace ListRegistriesResponse { + export const filterSensitiveLog = (obj: ListRegistriesResponse): any => ({ ...obj, }); } -export interface GetUserDefinedFunctionResponse { +export interface ListSchemasInput { /** - *

                          The requested function definition.

                          + *

                          A wrapper structure that may contain the registry name and Amazon Resource Name (ARN).

                          */ - UserDefinedFunction?: UserDefinedFunction; -} - -export namespace GetUserDefinedFunctionResponse { - export const filterSensitiveLog = (obj: GetUserDefinedFunctionResponse): any => ({ - ...obj, - }); -} + RegistryId?: RegistryId; -export interface GetUserDefinedFunctionsRequest { /** - *

                          An optional function-name pattern string that filters the function - * definitions returned.

                          + *

                          Maximum number of results required per page. If the value is not supplied, this will be defaulted to 25 per page.

                          */ - Pattern: string | undefined; + MaxResults?: number; /** *

                          A continuation token, if this is a continuation call.

                          */ NextToken?: string; +} + +export namespace ListSchemasInput { + export const filterSensitiveLog = (obj: ListSchemasInput): any => ({ + ...obj, + }); +} +/** + *

                          An object that contains minimal details for a schema.

                          + */ +export interface SchemaListItem { /** - *

                          The maximum number of functions to return in one response.

                          + *

                          the name of the registry where the schema resides.

                          */ - MaxResults?: number; + RegistryName?: string; /** - *

                          The name of the catalog database where the functions are located. If none is provided, functions from all the - * databases across the catalog will be returned.

                          + *

                          The name of the schema.

                          */ - DatabaseName?: string; + SchemaName?: string; /** - *

                          The ID of the Data Catalog where the functions to be retrieved are located. If none is - * provided, the AWS account ID is used by default.

                          + *

                          The Amazon Resource Name (ARN) for the schema.

                          */ - CatalogId?: string; -} - -export namespace GetUserDefinedFunctionsRequest { - export const filterSensitiveLog = (obj: GetUserDefinedFunctionsRequest): any => ({ - ...obj, - }); -} + SchemaArn?: string; -export interface GetUserDefinedFunctionsResponse { /** - *

                          A continuation token, if the list of functions returned does - * not include the last requested function.

                          + *

                          A description for the schema.

                          */ - NextToken?: string; + Description?: string; /** - *

                          A list of requested function definitions.

                          + *

                          The status of the schema.

                          */ - UserDefinedFunctions?: UserDefinedFunction[]; -} - -export namespace GetUserDefinedFunctionsResponse { - export const filterSensitiveLog = (obj: GetUserDefinedFunctionsResponse): any => ({ - ...obj, - }); -} + SchemaStatus?: SchemaStatus | string; -export interface GetWorkflowRequest { /** - *

                          Specifies whether to include a graph when returning the workflow resource metadata.

                          + *

                          The date and time that a schema was created.

                          */ - IncludeGraph?: boolean; + CreatedTime?: string; /** - *

                          The name of the workflow to retrieve.

                          + *

                          The date and time that a schema was updated.

                          */ - Name: string | undefined; + UpdatedTime?: string; } -export namespace GetWorkflowRequest { - export const filterSensitiveLog = (obj: GetWorkflowRequest): any => ({ +export namespace SchemaListItem { + export const filterSensitiveLog = (obj: SchemaListItem): any => ({ ...obj, }); } -export interface GetWorkflowResponse { +export interface ListSchemasResponse { /** - *

                          The resource metadata for the workflow.

                          + *

                          An array of SchemaListItem objects containing details of each schema.

                          */ - Workflow?: Workflow; + Schemas?: SchemaListItem[]; + + /** + *

                          A continuation token for paginating the returned list of tokens, returned if the current segment of the list is not the last.

                          + */ + NextToken?: string; } -export namespace GetWorkflowResponse { - export const filterSensitiveLog = (obj: GetWorkflowResponse): any => ({ +export namespace ListSchemasResponse { + export const filterSensitiveLog = (obj: ListSchemasResponse): any => ({ ...obj, }); } -export interface GetWorkflowRunRequest { +export interface ListSchemaVersionsInput { /** - *

                          Name of the workflow being run.

                          + *

                          This is a wrapper structure to contain schema identity fields. The structure contains:

                          + *
                            + *
                          • + *

                            SchemaId$SchemaArn: The Amazon Resource Name (ARN) of the schema. Either SchemaArn or SchemaName and RegistryName has to be provided.

                            + *
                          • + *
                          • + *

                            SchemaId$SchemaName: The name of the schema. Either SchemaArn or SchemaName and RegistryName has to be provided.

                            + *
                          • + *
                          */ - Name: string | undefined; + SchemaId: SchemaId | undefined; /** - *

                          Specifies whether to include the workflow graph in response or not.

                          + *

                          Maximum number of results required per page. If the value is not supplied, this will be defaulted to 25 per page.

                          */ - IncludeGraph?: boolean; + MaxResults?: number; /** - *

                          The ID of the workflow run.

                          + *

                          A continuation token, if this is a continuation call.

                          */ - RunId: string | undefined; + NextToken?: string; } -export namespace GetWorkflowRunRequest { - export const filterSensitiveLog = (obj: GetWorkflowRunRequest): any => ({ +export namespace ListSchemaVersionsInput { + export const filterSensitiveLog = (obj: ListSchemaVersionsInput): any => ({ ...obj, }); } -export interface GetWorkflowRunResponse { +/** + *

                          An object containing the details about a schema version.

                          + */ +export interface SchemaVersionListItem { /** - *

                          The requested workflow run metadata.

                          + *

                          The Amazon Resource Name (ARN) of the schema.

                          */ - Run?: WorkflowRun; -} + SchemaArn?: string; -export namespace GetWorkflowRunResponse { - export const filterSensitiveLog = (obj: GetWorkflowRunResponse): any => ({ - ...obj, - }); -} + /** + *

                          The unique identifier of the schema version.

                          + */ + SchemaVersionId?: string; -export interface GetWorkflowRunPropertiesRequest { /** - *

                          Name of the workflow which was run.

                          + *

                          The version number of the schema.

                          */ - Name: string | undefined; + VersionNumber?: number; /** - *

                          The ID of the workflow run whose run properties should be returned.

                          + *

                          The status of the schema version.

                          */ - RunId: string | undefined; + Status?: SchemaVersionStatus | string; + + /** + *

                          The date and time the schema version was created.

                          + */ + CreatedTime?: string; } -export namespace GetWorkflowRunPropertiesRequest { - export const filterSensitiveLog = (obj: GetWorkflowRunPropertiesRequest): any => ({ +export namespace SchemaVersionListItem { + export const filterSensitiveLog = (obj: SchemaVersionListItem): any => ({ ...obj, }); } -export interface GetWorkflowRunPropertiesResponse { +export interface ListSchemaVersionsResponse { /** - *

                          The workflow run properties which were set during the specified run.

                          + *

                          An array of SchemaVersionList objects containing details of each schema version.

                          */ - RunProperties?: { [key: string]: string }; + Schemas?: SchemaVersionListItem[]; + + /** + *

                          A continuation token for paginating the returned list of tokens, returned if the current segment of the list is not the last.

                          + */ + NextToken?: string; } -export namespace GetWorkflowRunPropertiesResponse { - export const filterSensitiveLog = (obj: GetWorkflowRunPropertiesResponse): any => ({ +export namespace ListSchemaVersionsResponse { + export const filterSensitiveLog = (obj: ListSchemaVersionsResponse): any => ({ ...obj, }); } -export interface GetWorkflowRunsRequest { +export interface ListTriggersRequest { /** - *

                          The maximum size of the response.

                          + *

                          A continuation token, if this is a continuation request.

                          */ NextToken?: string; /** - *

                          Specifies whether to include the workflow graph in response or not.

                          + *

                          The name of the job for which to retrieve triggers. The trigger that can start this job + * is returned. If there is no such trigger, all triggers are returned.

                          */ - IncludeGraph?: boolean; + DependentJobName?: string; /** - *

                          The maximum number of workflow runs to be included in the response.

                          + *

                          The maximum size of a list to return.

                          */ MaxResults?: number; /** - *

                          Name of the workflow whose metadata of runs should be returned.

                          + *

                          Specifies to return only these tagged resources.

                          */ - Name: string | undefined; + Tags?: { [key: string]: string }; } -export namespace GetWorkflowRunsRequest { - export const filterSensitiveLog = (obj: GetWorkflowRunsRequest): any => ({ +export namespace ListTriggersRequest { + export const filterSensitiveLog = (obj: ListTriggersRequest): any => ({ ...obj, }); } -export interface GetWorkflowRunsResponse { +export interface ListTriggersResponse { /** - *

                          A continuation token, if not all requested workflow runs have been returned.

                          + *

                          The names of all triggers in the account, or the triggers with the specified tags.

                          */ - NextToken?: string; + TriggerNames?: string[]; /** - *

                          A list of workflow run metadata objects.

                          + *

                          A continuation token, if the returned list does not contain the + * last metric available.

                          */ - Runs?: WorkflowRun[]; + NextToken?: string; } -export namespace GetWorkflowRunsResponse { - export const filterSensitiveLog = (obj: GetWorkflowRunsResponse): any => ({ +export namespace ListTriggersResponse { + export const filterSensitiveLog = (obj: ListTriggersResponse): any => ({ ...obj, }); } -export interface ImportCatalogToGlueRequest { +export interface ListWorkflowsRequest { /** - *

                          The ID of the catalog to import. Currently, this should be the AWS account ID.

                          + *

                          A continuation token, if this is a continuation request.

                          */ - CatalogId?: string; -} + NextToken?: string; -export namespace ImportCatalogToGlueRequest { - export const filterSensitiveLog = (obj: ImportCatalogToGlueRequest): any => ({ - ...obj, - }); + /** + *

                          The maximum size of a list to return.

                          + */ + MaxResults?: number; } -export interface ImportCatalogToGlueResponse {} - -export namespace ImportCatalogToGlueResponse { - export const filterSensitiveLog = (obj: ImportCatalogToGlueResponse): any => ({ +export namespace ListWorkflowsRequest { + export const filterSensitiveLog = (obj: ListWorkflowsRequest): any => ({ ...obj, }); } -export interface ListCrawlersRequest { +export interface ListWorkflowsResponse { /** - *

                          Specifies to return only these tagged resources.

                          + *

                          List of names of workflows in the account.

                          */ - Tags?: { [key: string]: string }; + Workflows?: string[]; /** - *

                          A continuation token, if this is a continuation request.

                          + *

                          A continuation token, if not all workflow names have been returned.

                          */ NextToken?: string; - - /** - *

                          The maximum size of a list to return.

                          - */ - MaxResults?: number; } -export namespace ListCrawlersRequest { - export const filterSensitiveLog = (obj: ListCrawlersRequest): any => ({ +export namespace ListWorkflowsResponse { + export const filterSensitiveLog = (obj: ListWorkflowsResponse): any => ({ ...obj, }); } -export interface ListCrawlersResponse { +export interface PutDataCatalogEncryptionSettingsRequest { /** - *

                          A continuation token, if the returned list does not contain the - * last metric available.

                          + *

                          The ID of the Data Catalog to set the security configuration for. If none is provided, the + * AWS account ID is used by default.

                          */ - NextToken?: string; + CatalogId?: string; /** - *

                          The names of all crawlers in the account, or the crawlers with the specified tags.

                          + *

                          The security configuration to set.

                          */ - CrawlerNames?: string[]; + DataCatalogEncryptionSettings: DataCatalogEncryptionSettings | undefined; } -export namespace ListCrawlersResponse { - export const filterSensitiveLog = (obj: ListCrawlersResponse): any => ({ +export namespace PutDataCatalogEncryptionSettingsRequest { + export const filterSensitiveLog = (obj: PutDataCatalogEncryptionSettingsRequest): any => ({ ...obj, }); } -export interface ListDevEndpointsRequest { +export interface PutDataCatalogEncryptionSettingsResponse {} + +export namespace PutDataCatalogEncryptionSettingsResponse { + export const filterSensitiveLog = (obj: PutDataCatalogEncryptionSettingsResponse): any => ({ + ...obj, + }); +} + +export enum EnableHybridValues { + FALSE = "FALSE", + TRUE = "TRUE", +} + +export enum ExistCondition { + MUST_EXIST = "MUST_EXIST", + NONE = "NONE", + NOT_EXIST = "NOT_EXIST", +} + +export interface PutResourcePolicyRequest { /** - *

                          The maximum size of a list to return.

                          + *

                          Contains the policy document to set, in JSON format.

                          */ - MaxResults?: number; + PolicyInJson: string | undefined; /** - *

                          A continuation token, if this is a continuation request.

                          + *

                          The ARN of the AWS Glue resource for the resource policy to be set. For more + * information about AWS Glue resource ARNs, see the AWS Glue ARN string pattern + *

                          */ - NextToken?: string; + ResourceArn?: string; /** - *

                          Specifies to return only these tagged resources.

                          + *

                          The hash value returned when the previous policy was set using + * PutResourcePolicy. Its purpose is to prevent concurrent modifications of a + * policy. Do not use this parameter if no previous policy has been set.

                          */ - Tags?: { [key: string]: string }; + PolicyHashCondition?: string; + + /** + *

                          A value of MUST_EXIST is used to update a policy. A value of + * NOT_EXIST is used to create a new policy. If a value of NONE or a + * null value is used, the call will not depend on the existence of a policy.

                          + */ + PolicyExistsCondition?: ExistCondition | string; + + /** + *

                          Allows you to specify if you want to use both resource-level and account/catalog-level resource policies. A resource-level policy is a policy attached to an individual resource such as a database or a table.

                          + * + *

                          The default value of NO indicates that resource-level policies cannot co-exist with an account-level policy. A value of YES means the use of both resource-level and account/catalog-level resource policies is allowed.

                          + */ + EnableHybrid?: EnableHybridValues | string; } -export namespace ListDevEndpointsRequest { - export const filterSensitiveLog = (obj: ListDevEndpointsRequest): any => ({ +export namespace PutResourcePolicyRequest { + export const filterSensitiveLog = (obj: PutResourcePolicyRequest): any => ({ ...obj, }); } -export interface ListDevEndpointsResponse { +export interface PutResourcePolicyResponse { /** - *

                          The names of all the DevEndpoints in the account, or the - * DevEndpoints with the specified tags.

                          + *

                          A hash of the policy that has just been set. This must + * be included in a subsequent call that overwrites or updates + * this policy.

                          */ - DevEndpointNames?: string[]; + PolicyHash?: string; +} + +export namespace PutResourcePolicyResponse { + export const filterSensitiveLog = (obj: PutResourcePolicyResponse): any => ({ + ...obj, + }); +} +/** + *

                          A structure containing a key value pair for metadata.

                          + */ +export interface MetadataKeyValuePair { /** - *

                          A continuation token, if the returned list does not contain the - * last metric available.

                          + *

                          A metadata key.

                          */ - NextToken?: string; + MetadataKey?: string; + + /** + *

                          A metadata key’s corresponding value.

                          + */ + MetadataValue?: string; } -export namespace ListDevEndpointsResponse { - export const filterSensitiveLog = (obj: ListDevEndpointsResponse): any => ({ +export namespace MetadataKeyValuePair { + export const filterSensitiveLog = (obj: MetadataKeyValuePair): any => ({ ...obj, }); } -export interface ListJobsRequest { +export interface PutSchemaVersionMetadataInput { /** - *

                          Specifies to return only these tagged resources.

                          + *

                          The unique ID for the schema.

                          */ - Tags?: { [key: string]: string }; + SchemaId?: SchemaId; /** - *

                          A continuation token, if this is a continuation request.

                          + *

                          The version number of the schema.

                          */ - NextToken?: string; + SchemaVersionNumber?: SchemaVersionNumber; /** - *

                          The maximum size of a list to return.

                          + *

                          The unique version ID of the schema version.

                          */ - MaxResults?: number; + SchemaVersionId?: string; + + /** + *

                          The metadata key's corresponding value.

                          + */ + MetadataKeyValue: MetadataKeyValuePair | undefined; } -export namespace ListJobsRequest { - export const filterSensitiveLog = (obj: ListJobsRequest): any => ({ +export namespace PutSchemaVersionMetadataInput { + export const filterSensitiveLog = (obj: PutSchemaVersionMetadataInput): any => ({ ...obj, }); } -export interface ListJobsResponse { +export interface PutSchemaVersionMetadataResponse { /** - *

                          The names of all jobs in the account, or the jobs with the specified tags.

                          + *

                          The Amazon Resource Name (ARN) for the schema.

                          */ - JobNames?: string[]; + SchemaArn?: string; /** - *

                          A continuation token, if the returned list does not contain the - * last metric available.

                          + *

                          The name for the schema.

                          */ - NextToken?: string; -} + SchemaName?: string; -export namespace ListJobsResponse { - export const filterSensitiveLog = (obj: ListJobsResponse): any => ({ - ...obj, - }); -} + /** + *

                          The name for the registry.

                          + */ + RegistryName?: string; -export interface ListMLTransformsRequest { /** - *

                          A continuation token, if this is a continuation request.

                          + *

                          The latest version of the schema.

                          */ - NextToken?: string; + LatestVersion?: boolean; /** - *

                          A TransformSortCriteria used to sort the machine learning transforms.

                          + *

                          The version number of the schema.

                          */ - Sort?: TransformSortCriteria; + VersionNumber?: number; /** - *

                          The maximum size of a list to return.

                          + *

                          The unique version ID of the schema version.

                          */ - MaxResults?: number; + SchemaVersionId?: string; /** - *

                          A TransformFilterCriteria used to filter the machine learning transforms.

                          + *

                          The metadata key.

                          */ - Filter?: TransformFilterCriteria; + MetadataKey?: string; /** - *

                          Specifies to return only these tagged resources.

                          + *

                          The value of the metadata key.

                          */ - Tags?: { [key: string]: string }; + MetadataValue?: string; } -export namespace ListMLTransformsRequest { - export const filterSensitiveLog = (obj: ListMLTransformsRequest): any => ({ +export namespace PutSchemaVersionMetadataResponse { + export const filterSensitiveLog = (obj: PutSchemaVersionMetadataResponse): any => ({ ...obj, }); } -export interface ListMLTransformsResponse { +export interface PutWorkflowRunPropertiesRequest { /** - *

                          The identifiers of all the machine learning transforms in the account, or the - * machine learning transforms with the specified tags.

                          + *

                          Name of the workflow which was run.

                          */ - TransformIds: string[] | undefined; + Name: string | undefined; /** - *

                          A continuation token, if the returned list does not contain the - * last metric available.

                          + *

                          The ID of the workflow run for which the run properties should be updated.

                          */ - NextToken?: string; + RunId: string | undefined; + + /** + *

                          The properties to put for the specified run.

                          + */ + RunProperties: { [key: string]: string } | undefined; } -export namespace ListMLTransformsResponse { - export const filterSensitiveLog = (obj: ListMLTransformsResponse): any => ({ +export namespace PutWorkflowRunPropertiesRequest { + export const filterSensitiveLog = (obj: PutWorkflowRunPropertiesRequest): any => ({ ...obj, }); } -export interface ListTriggersRequest { +export interface PutWorkflowRunPropertiesResponse {} + +export namespace PutWorkflowRunPropertiesResponse { + export const filterSensitiveLog = (obj: PutWorkflowRunPropertiesResponse): any => ({ + ...obj, + }); +} + +export interface QuerySchemaVersionMetadataInput { /** - *

                          Specifies to return only these tagged resources.

                          + *

                          A wrapper structure that may contain the schema name and Amazon Resource Name (ARN).

                          */ - Tags?: { [key: string]: string }; + SchemaId?: SchemaId; /** - *

                          The maximum size of a list to return.

                          + *

                          The version number of the schema.

                          */ - MaxResults?: number; + SchemaVersionNumber?: SchemaVersionNumber; /** - *

                          A continuation token, if this is a continuation request.

                          + *

                          The unique version ID of the schema version.

                          */ - NextToken?: string; + SchemaVersionId?: string; /** - *

                          The name of the job for which to retrieve triggers. The trigger that can start this job - * is returned. If there is no such trigger, all triggers are returned.

                          + *

                          Search key-value pairs for metadata, if they are not provided all the metadata information will be fetched.

                          */ - DependentJobName?: string; -} - -export namespace ListTriggersRequest { - export const filterSensitiveLog = (obj: ListTriggersRequest): any => ({ - ...obj, - }); -} + MetadataList?: MetadataKeyValuePair[]; -export interface ListTriggersResponse { /** - *

                          The names of all triggers in the account, or the triggers with the specified tags.

                          + *

                          Maximum number of results required per page. If the value is not supplied, this will be defaulted to 25 per page.

                          */ - TriggerNames?: string[]; + MaxResults?: number; /** - *

                          A continuation token, if the returned list does not contain the - * last metric available.

                          + *

                          A continuation token, if this is a continuation call.

                          */ NextToken?: string; } -export namespace ListTriggersResponse { - export const filterSensitiveLog = (obj: ListTriggersResponse): any => ({ +export namespace QuerySchemaVersionMetadataInput { + export const filterSensitiveLog = (obj: QuerySchemaVersionMetadataInput): any => ({ ...obj, }); } -export interface ListWorkflowsRequest { +/** + *

                          A structure containing metadata information for a schema version.

                          + */ +export interface MetadataInfo { /** - *

                          A continuation token, if this is a continuation request.

                          + *

                          The metadata key’s corresponding value.

                          */ - NextToken?: string; + MetadataValue?: string; /** - *

                          The maximum size of a list to return.

                          + *

                          The time at which the entry was created.

                          */ - MaxResults?: number; + CreatedTime?: string; } -export namespace ListWorkflowsRequest { - export const filterSensitiveLog = (obj: ListWorkflowsRequest): any => ({ +export namespace MetadataInfo { + export const filterSensitiveLog = (obj: MetadataInfo): any => ({ ...obj, }); } -export interface ListWorkflowsResponse { +export interface QuerySchemaVersionMetadataResponse { /** - *

                          List of names of workflows in the account.

                          + *

                          A map of a metadata key and associated values.

                          */ - Workflows?: string[]; + MetadataInfoMap?: { [key: string]: MetadataInfo }; /** - *

                          A continuation token, if not all workflow names have been returned.

                          + *

                          The unique version ID of the schema version.

                          + */ + SchemaVersionId?: string; + + /** + *

                          A continuation token for paginating the returned list of tokens, returned if the current segment of the list is not the last.

                          */ NextToken?: string; } -export namespace ListWorkflowsResponse { - export const filterSensitiveLog = (obj: ListWorkflowsResponse): any => ({ +export namespace QuerySchemaVersionMetadataResponse { + export const filterSensitiveLog = (obj: QuerySchemaVersionMetadataResponse): any => ({ ...obj, }); } -export interface PutDataCatalogEncryptionSettingsRequest { +export interface RegisterSchemaVersionInput { /** - *

                          The ID of the Data Catalog to set the security configuration for. If none is provided, the - * AWS account ID is used by default.

                          + *

                          This is a wrapper structure to contain schema identity fields. The structure contains:

                          + *
                            + *
                          • + *

                            SchemaId$SchemaArn: The Amazon Resource Name (ARN) of the schema. Either SchemaArn or SchemaName and RegistryName has to be provided.

                            + *
                          • + *
                          • + *

                            SchemaId$SchemaName: The name of the schema. Either SchemaArn or SchemaName and RegistryName has to be provided.

                            + *
                          • + *
                          */ - CatalogId?: string; + SchemaId: SchemaId | undefined; /** - *

                          The security configuration to set.

                          + *

                          The schema definition using the DataFormat setting for the SchemaName.

                          */ - DataCatalogEncryptionSettings: DataCatalogEncryptionSettings | undefined; + SchemaDefinition: string | undefined; } -export namespace PutDataCatalogEncryptionSettingsRequest { - export const filterSensitiveLog = (obj: PutDataCatalogEncryptionSettingsRequest): any => ({ +export namespace RegisterSchemaVersionInput { + export const filterSensitiveLog = (obj: RegisterSchemaVersionInput): any => ({ ...obj, }); } -export interface PutDataCatalogEncryptionSettingsResponse {} +export interface RegisterSchemaVersionResponse { + /** + *

                          The unique ID that represents the version of this schema.

                          + */ + SchemaVersionId?: string; -export namespace PutDataCatalogEncryptionSettingsResponse { - export const filterSensitiveLog = (obj: PutDataCatalogEncryptionSettingsResponse): any => ({ - ...obj, - }); -} + /** + *

                          The version of this schema (for sync flow only, in case this is the first version).

                          + */ + VersionNumber?: number; -export enum EnableHybridValues { - FALSE = "FALSE", - TRUE = "TRUE", + /** + *

                          The status of the schema version.

                          + */ + Status?: SchemaVersionStatus | string; } -export enum ExistCondition { - MUST_EXIST = "MUST_EXIST", - NONE = "NONE", - NOT_EXIST = "NOT_EXIST", +export namespace RegisterSchemaVersionResponse { + export const filterSensitiveLog = (obj: RegisterSchemaVersionResponse): any => ({ + ...obj, + }); } -export interface PutResourcePolicyRequest { - /** - *

                          The ARN of the AWS Glue resource for the resource policy to be set. For more - * information about AWS Glue resource ARNs, see the AWS Glue ARN string pattern - *

                          - */ - ResourceArn?: string; - +export interface RemoveSchemaVersionMetadataInput { /** - *

                          A value of MUST_EXIST is used to update a policy. A value of - * NOT_EXIST is used to create a new policy. If a value of NONE or a - * null value is used, the call will not depend on the existence of a policy.

                          + *

                          A wrapper structure that may contain the schema name and Amazon Resource Name (ARN).

                          */ - PolicyExistsCondition?: ExistCondition | string; + SchemaId?: SchemaId; /** - *

                          The hash value returned when the previous policy was set using - * PutResourcePolicy. Its purpose is to prevent concurrent modifications of a - * policy. Do not use this parameter if no previous policy has been set.

                          + *

                          The version number of the schema.

                          */ - PolicyHashCondition?: string; + SchemaVersionNumber?: SchemaVersionNumber; /** - *

                          Allows you to specify if you want to use both resource-level and account/catalog-level resource policies. A resource-level policy is a policy attached to an individual resource such as a database or a table.

                          - * - *

                          The default value of NO indicates that resource-level policies cannot co-exist with an account-level policy. A value of YES means the use of both resource-level and account/catalog-level resource policies is allowed.

                          + *

                          The unique version ID of the schema version.

                          */ - EnableHybrid?: EnableHybridValues | string; + SchemaVersionId?: string; /** - *

                          Contains the policy document to set, in JSON format.

                          + *

                          The value of the metadata key.

                          */ - PolicyInJson: string | undefined; + MetadataKeyValue: MetadataKeyValuePair | undefined; } -export namespace PutResourcePolicyRequest { - export const filterSensitiveLog = (obj: PutResourcePolicyRequest): any => ({ +export namespace RemoveSchemaVersionMetadataInput { + export const filterSensitiveLog = (obj: RemoveSchemaVersionMetadataInput): any => ({ ...obj, }); } -export interface PutResourcePolicyResponse { +export interface RemoveSchemaVersionMetadataResponse { /** - *

                          A hash of the policy that has just been set. This must - * be included in a subsequent call that overwrites or updates - * this policy.

                          + *

                          The Amazon Resource Name (ARN) of the schema.

                          */ - PolicyHash?: string; -} + SchemaArn?: string; -export namespace PutResourcePolicyResponse { - export const filterSensitiveLog = (obj: PutResourcePolicyResponse): any => ({ - ...obj, - }); -} + /** + *

                          The name of the schema.

                          + */ + SchemaName?: string; -export interface PutWorkflowRunPropertiesRequest { /** - *

                          The ID of the workflow run for which the run properties should be updated.

                          + *

                          The name of the registry.

                          */ - RunId: string | undefined; + RegistryName?: string; /** - *

                          Name of the workflow which was run.

                          + *

                          The latest version of the schema.

                          */ - Name: string | undefined; + LatestVersion?: boolean; /** - *

                          The properties to put for the specified run.

                          + *

                          The version number of the schema.

                          */ - RunProperties: { [key: string]: string } | undefined; -} + VersionNumber?: number; -export namespace PutWorkflowRunPropertiesRequest { - export const filterSensitiveLog = (obj: PutWorkflowRunPropertiesRequest): any => ({ - ...obj, - }); -} + /** + *

                          The version ID for the schema version.

                          + */ + SchemaVersionId?: string; -export interface PutWorkflowRunPropertiesResponse {} + /** + *

                          The metadata key.

                          + */ + MetadataKey?: string; -export namespace PutWorkflowRunPropertiesResponse { - export const filterSensitiveLog = (obj: PutWorkflowRunPropertiesResponse): any => ({ + /** + *

                          The value of the metadata key.

                          + */ + MetadataValue?: string; +} + +export namespace RemoveSchemaVersionMetadataResponse { + export const filterSensitiveLog = (obj: RemoveSchemaVersionMetadataResponse): any => ({ ...obj, }); } export interface ResetJobBookmarkRequest { /** - *

                          The unique run identifier associated with this job run.

                          + *

                          The name of the job in question.

                          */ - RunId?: string; + JobName: string | undefined; /** - *

                          The name of the job in question.

                          + *

                          The unique run identifier associated with this job run.

                          */ - JobName: string | undefined; + RunId?: string; } export namespace ResetJobBookmarkRequest { @@ -2386,11 +3839,6 @@ export namespace IllegalWorkflowStateException { } export interface ResumeWorkflowRunRequest { - /** - *

                          A list of the node IDs for the nodes you want to restart. The nodes that are to be restarted must have a run attempt in the original run.

                          - */ - NodeIds: string[] | undefined; - /** *

                          The name of the workflow to resume.

                          */ @@ -2400,6 +3848,11 @@ export interface ResumeWorkflowRunRequest { *

                          The ID of the workflow run to resume.

                          */ RunId: string | undefined; + + /** + *

                          A list of the node IDs for the nodes you want to restart. The nodes that are to be restarted must have a run attempt in the original run.

                          + */ + NodeIds: string[] | undefined; } export namespace ResumeWorkflowRunRequest { @@ -2439,14 +3892,14 @@ export enum Comparator { */ export interface PropertyPredicate { /** - *

                          The value of the property.

                          + *

                          The key of the property.

                          */ - Value?: string; + Key?: string; /** - *

                          The key of the property.

                          + *

                          The value of the property.

                          */ - Key?: string; + Value?: string; /** *

                          The comparator used to compare this property to others.

                          @@ -2470,14 +3923,14 @@ export enum Sort { */ export interface SortCriterion { /** - *

                          An ascending or descending sort.

                          + *

                          The name of the field on which to sort.

                          */ - Sort?: Sort | string; + FieldName?: string; /** - *

                          The name of the field on which to sort.

                          + *

                          An ascending or descending sort.

                          */ - FieldName?: string; + Sort?: Sort | string; } export namespace SortCriterion { @@ -2495,24 +3948,9 @@ export interface SearchTablesRequest { CatalogId?: string; /** - *

                          Allows you to specify that you want to search the tables shared with your account. The allowable values are FOREIGN or ALL.

                          - * - *
                            - *
                          • - *

                            If set to FOREIGN, will search the tables shared with your account.

                            - *
                          • - *
                          • - *

                            If set to ALL, will search the tables shared with your account, as well as the tables in yor local account.

                            - *
                          • - *
                          - */ - ResourceShareType?: ResourceShareType | string; - - /** - *

                          A string used for a text search.

                          - *

                          Specifying a value in quotes filters based on an exact match to the value.

                          + *

                          A continuation token, included if this is a continuation call.

                          */ - SearchText?: string; + NextToken?: string; /** *

                          A list of key-value pairs, and a comparator used to filter the search results. Returns all entities matching the predicate.

                          @@ -2522,9 +3960,15 @@ export interface SearchTablesRequest { Filters?: PropertyPredicate[]; /** - *

                          A continuation token, included if this is a continuation call.

                          + *

                          A string used for a text search.

                          + *

                          Specifying a value in quotes filters based on an exact match to the value.

                          */ - NextToken?: string; + SearchText?: string; + + /** + *

                          A list of criteria for sorting the results by a field name, in an ascending or descending order.

                          + */ + SortCriteria?: SortCriterion[]; /** *

                          The maximum number of tables to return in a single response.

                          @@ -2532,9 +3976,18 @@ export interface SearchTablesRequest { MaxResults?: number; /** - *

                          A list of criteria for sorting the results by a field name, in an ascending or descending order.

                          + *

                          Allows you to specify that you want to search the tables shared with your account. The allowable values are FOREIGN or ALL.

                          + * + *
                            + *
                          • + *

                            If set to FOREIGN, will search the tables shared with your account.

                            + *
                          • + *
                          • + *

                            If set to ALL, will search the tables shared with your account, as well as the tables in yor local account.

                            + *
                          • + *
                          */ - SortCriteria?: SortCriterion[]; + ResourceShareType?: ResourceShareType | string; } export namespace SearchTablesRequest { @@ -2545,14 +3998,14 @@ export namespace SearchTablesRequest { export interface SearchTablesResponse { /** - *

                          A list of the requested Table objects. The SearchTables response returns only the tables that you have access to.

                          + *

                          A continuation token, present if the current list segment is not the last.

                          */ - TableList?: Table[]; + NextToken?: string; /** - *

                          A continuation token, present if the current list segment is not the last.

                          + *

                          A list of the requested Table objects. The SearchTables response returns only the tables that you have access to.

                          */ - NextToken?: string; + TableList?: Table[]; } export namespace SearchTablesResponse { @@ -2708,6 +4161,43 @@ export namespace StartImportLabelsTaskRunResponse { } export interface StartJobRunRequest { + /** + *

                          The name of the job definition to use.

                          + */ + JobName: string | undefined; + + /** + *

                          The ID of a previous JobRun to retry.

                          + */ + JobRunId?: string; + + /** + *

                          The job arguments specifically for this run. For this job run, they replace the default arguments set in the job definition itself.

                          + *

                          You can specify arguments here that your own job-execution script + * consumes, as well as arguments that AWS Glue itself consumes.

                          + *

                          For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

                          + *

                          For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

                          + */ + Arguments?: { [key: string]: string }; + + /** + *

                          This field is deprecated. Use MaxCapacity instead.

                          + * + *

                          The number of AWS Glue data processing units (DPUs) to allocate to this JobRun. + * From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure + * of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. + * For more information, see the AWS Glue + * pricing page.

                          + */ + AllocatedCapacity?: number; + + /** + *

                          The JobRun timeout in minutes. This is the maximum time that a job run can + * consume resources before it is terminated and enters TIMEOUT status. The default + * is 2,880 minutes (48 hours). This overrides the timeout value set in the parent job.

                          + */ + Timeout?: number; + /** *

                          The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure * of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. @@ -2730,6 +4220,17 @@ export interface StartJobRunRequest { */ MaxCapacity?: number; + /** + *

                          The name of the SecurityConfiguration structure to be used with this job + * run.

                          + */ + SecurityConfiguration?: string; + + /** + *

                          Specifies configuration properties of a job run notification.

                          + */ + NotificationProperty?: NotificationProperty; + /** *

                          The type of predefined worker that is allocated when a job runs. Accepts a value of Standard, G.1X, or G.2X.

                          *
                            @@ -2746,54 +4247,6 @@ export interface StartJobRunRequest { */ WorkerType?: WorkerType | string; - /** - *

                            Specifies configuration properties of a job run notification.

                            - */ - NotificationProperty?: NotificationProperty; - - /** - *

                            The name of the SecurityConfiguration structure to be used with this job - * run.

                            - */ - SecurityConfiguration?: string; - - /** - *

                            The job arguments specifically for this run. For this job run, they replace the default arguments set in the job definition itself.

                            - *

                            You can specify arguments here that your own job-execution script - * consumes, as well as arguments that AWS Glue itself consumes.

                            - *

                            For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

                            - *

                            For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

                            - */ - Arguments?: { [key: string]: string }; - - /** - *

                            The name of the job definition to use.

                            - */ - JobName: string | undefined; - - /** - *

                            The JobRun timeout in minutes. This is the maximum time that a job run can - * consume resources before it is terminated and enters TIMEOUT status. The default - * is 2,880 minutes (48 hours). This overrides the timeout value set in the parent job.

                            - */ - Timeout?: number; - - /** - *

                            The ID of a previous JobRun to retry.

                            - */ - JobRunId?: string; - - /** - *

                            This field is deprecated. Use MaxCapacity instead.

                            - * - *

                            The number of AWS Glue data processing units (DPUs) to allocate to this JobRun. - * From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure - * of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. - * For more information, see the AWS Glue - * pricing page.

                            - */ - AllocatedCapacity?: number; - /** *

                            The number of workers of a defined workerType that are allocated when a job runs.

                            * @@ -2867,15 +4320,15 @@ export namespace StartMLEvaluationTaskRunResponse { export interface StartMLLabelingSetGenerationTaskRunRequest { /** - *

                            The Amazon Simple Storage Service (Amazon S3) path where you generate the labeling - * set.

                            + *

                            The unique identifier of the machine learning transform.

                            */ - OutputS3Path: string | undefined; + TransformId: string | undefined; /** - *

                            The unique identifier of the machine learning transform.

                            + *

                            The Amazon Simple Storage Service (Amazon S3) path where you generate the labeling + * set.

                            */ - TransformId: string | undefined; + OutputS3Path: string | undefined; } export namespace StartMLLabelingSetGenerationTaskRunRequest { @@ -3073,14 +4526,14 @@ export namespace StopTriggerResponse { export interface StopWorkflowRunRequest { /** - *

                            The ID of the workflow run to stop.

                            + *

                            The name of the workflow to stop.

                            */ - RunId: string | undefined; + Name: string | undefined; /** - *

                            The name of the workflow to stop.

                            + *

                            The ID of the workflow run to stop.

                            */ - Name: string | undefined; + RunId: string | undefined; } export namespace StopWorkflowRunRequest { @@ -3160,35 +4613,35 @@ export interface UpdateCsvClassifierRequest { Name: string | undefined; /** - *

                            Indicates whether the CSV file contains a header.

                            + *

                            A custom symbol to denote what separates each column entry in the row.

                            */ - ContainsHeader?: CsvHeaderOption | string; + Delimiter?: string; /** - *

                            Specifies not to trim values before identifying the type of column values. The default value is true.

                            + *

                            A custom symbol to denote what combines content into a single column value. It must be + * different from the column delimiter.

                            */ - DisableValueTrimming?: boolean; + QuoteSymbol?: string; /** - *

                            A list of strings representing column names.

                            + *

                            Indicates whether the CSV file contains a header.

                            */ - Header?: string[]; + ContainsHeader?: CsvHeaderOption | string; /** - *

                            Enables the processing of files that contain only one column.

                            + *

                            A list of strings representing column names.

                            */ - AllowSingleColumn?: boolean; + Header?: string[]; /** - *

                            A custom symbol to denote what separates each column entry in the row.

                            + *

                            Specifies not to trim values before identifying the type of column values. The default value is true.

                            */ - Delimiter?: string; + DisableValueTrimming?: boolean; /** - *

                            A custom symbol to denote what combines content into a single column value. It must be - * different from the column delimiter.

                            + *

                            Enables the processing of files that contain only one column.

                            */ - QuoteSymbol?: string; + AllowSingleColumn?: boolean; } export namespace UpdateCsvClassifierRequest { @@ -3207,17 +4660,17 @@ export interface UpdateGrokClassifierRequest { */ Name: string | undefined; - /** - *

                            The grok pattern used by this classifier.

                            - */ - GrokPattern?: string; - /** *

                            An identifier of the data format that the classifier matches, such as Twitter, JSON, Omniture logs, * Amazon CloudWatch Logs, and so on.

                            */ Classification?: string; + /** + *

                            The grok pattern used by this classifier.

                            + */ + GrokPattern?: string; + /** *

                            Optional custom grok patterns used by this classifier.

                            */ @@ -3256,6 +4709,11 @@ export namespace UpdateJsonClassifierRequest { *

                            Specifies an XML classifier to be updated.

                            */ export interface UpdateXMLClassifierRequest { + /** + *

                            The name of the classifier.

                            + */ + Name: string | undefined; + /** *

                            An identifier of the data format that the classifier matches.

                            */ @@ -3269,11 +4727,6 @@ export interface UpdateXMLClassifierRequest { * is not).

                            */ RowTag?: string; - - /** - *

                            The name of the classifier.

                            - */ - Name: string | undefined; } export namespace UpdateXMLClassifierRequest { @@ -3283,25 +4736,25 @@ export namespace UpdateXMLClassifierRequest { } export interface UpdateClassifierRequest { - /** - *

                            An XMLClassifier object with updated fields.

                            - */ - XMLClassifier?: UpdateXMLClassifierRequest; - /** *

                            A GrokClassifier object with updated fields.

                            */ GrokClassifier?: UpdateGrokClassifierRequest; /** - *

                            A CsvClassifier object with updated fields.

                            + *

                            An XMLClassifier object with updated fields.

                            */ - CsvClassifier?: UpdateCsvClassifierRequest; + XMLClassifier?: UpdateXMLClassifierRequest; /** *

                            A JsonClassifier object with updated fields.

                            */ JsonClassifier?: UpdateJsonClassifierRequest; + + /** + *

                            A CsvClassifier object with updated fields.

                            + */ + CsvClassifier?: UpdateCsvClassifierRequest; } export namespace UpdateClassifierRequest { @@ -3338,30 +4791,30 @@ export namespace VersionMismatchException { export interface UpdateColumnStatisticsForPartitionRequest { /** - *

                            The name of the partitions' table.

                            + *

                            The ID of the Data Catalog where the partitions in question reside. + * If none is supplied, the AWS account ID is used by default.

                            */ - TableName: string | undefined; + CatalogId?: string; /** - *

                            A list of the column statistics.

                            + *

                            The name of the catalog database where the partitions reside.

                            */ - ColumnStatisticsList: ColumnStatistics[] | undefined; + DatabaseName: string | undefined; /** - *

                            A list of partition values identifying the partition.

                            + *

                            The name of the partitions' table.

                            */ - PartitionValues: string[] | undefined; + TableName: string | undefined; /** - *

                            The name of the catalog database where the partitions reside.

                            + *

                            A list of partition values identifying the partition.

                            */ - DatabaseName: string | undefined; + PartitionValues: string[] | undefined; /** - *

                            The ID of the Data Catalog where the partitions in question reside. - * If none is supplied, the AWS account ID is used by default.

                            + *

                            A list of the column statistics.

                            */ - CatalogId?: string; + ColumnStatisticsList: ColumnStatistics[] | undefined; } export namespace UpdateColumnStatisticsForPartitionRequest { @@ -3375,14 +4828,14 @@ export namespace UpdateColumnStatisticsForPartitionRequest { */ export interface ColumnStatisticsError { /** - *

                            An error message with the reason for the failure of an operation.

                            + *

                            The ColumnStatistics of the column.

                            */ - Error?: ErrorDetail; + ColumnStatistics?: ColumnStatistics; /** - *

                            The ColumnStatistics of the column.

                            + *

                            An error message with the reason for the failure of an operation.

                            */ - ColumnStatistics?: ColumnStatistics; + Error?: ErrorDetail; } export namespace ColumnStatisticsError { @@ -3405,11 +4858,6 @@ export namespace UpdateColumnStatisticsForPartitionResponse { } export interface UpdateColumnStatisticsForTableRequest { - /** - *

                            The name of the partitions' table.

                            - */ - TableName: string | undefined; - /** *

                            The ID of the Data Catalog where the partitions in question reside. * If none is supplied, the AWS account ID is used by default.

                            @@ -3417,14 +4865,19 @@ export interface UpdateColumnStatisticsForTableRequest { CatalogId?: string; /** - *

                            A list of the column statistics.

                            + *

                            The name of the catalog database where the partitions reside.

                            */ - ColumnStatisticsList: ColumnStatistics[] | undefined; + DatabaseName: string | undefined; /** - *

                            The name of the catalog database where the partitions reside.

                            + *

                            The name of the partitions' table.

                            */ - DatabaseName: string | undefined; + TableName: string | undefined; + + /** + *

                            A list of the column statistics.

                            + */ + ColumnStatisticsList: ColumnStatistics[] | undefined; } export namespace UpdateColumnStatisticsForTableRequest { @@ -3448,10 +4901,10 @@ export namespace UpdateColumnStatisticsForTableResponse { export interface UpdateConnectionRequest { /** - *

                            A ConnectionInput object that redefines the connection - * in question.

                            + *

                            The ID of the Data Catalog in which the connection resides. If none is provided, the AWS + * account ID is used by default.

                            */ - ConnectionInput: ConnectionInput | undefined; + CatalogId?: string; /** *

                            The name of the connection definition to update.

                            @@ -3459,10 +4912,10 @@ export interface UpdateConnectionRequest { Name: string | undefined; /** - *

                            The ID of the Data Catalog in which the connection resides. If none is provided, the AWS - * account ID is used by default.

                            + *

                            A ConnectionInput object that redefines the connection + * in question.

                            */ - CatalogId?: string; + ConnectionInput: ConnectionInput | undefined; } export namespace UpdateConnectionRequest { @@ -3476,34 +4929,20 @@ export interface UpdateConnectionResponse {} export namespace UpdateConnectionResponse { export const filterSensitiveLog = (obj: UpdateConnectionResponse): any => ({ ...obj, - }); -} - -export interface UpdateCrawlerRequest { - /** - *

                            The IAM role or Amazon Resource Name (ARN) of an IAM role that is used by the new crawler - * to access customer resources.

                            - */ - Role?: string; - - /** - *

                            The table prefix used for catalog tables that are created.

                            - */ - TablePrefix?: string; + }); +} +export interface UpdateCrawlerRequest { /** - *

                            A list of custom classifiers that the user - * has registered. By default, all built-in classifiers are included in a crawl, - * but these custom classifiers always override the default classifiers - * for a given classification.

                            + *

                            Name of the new crawler.

                            */ - Classifiers?: string[]; + Name: string | undefined; /** - *

                            The name of the SecurityConfiguration structure to be used by this - * crawler.

                            + *

                            The IAM role or Amazon Resource Name (ARN) of an IAM role that is used by the new crawler + * to access customer resources.

                            */ - CrawlerSecurityConfiguration?: string; + Role?: string; /** *

                            The AWS Glue database where results are stored, such as: @@ -3512,9 +4951,14 @@ export interface UpdateCrawlerRequest { DatabaseName?: string; /** - *

                            Name of the new crawler.

                            + *

                            A description of the new crawler.

                            */ - Name: string | undefined; + Description?: string; + + /** + *

                            A list of targets to crawl.

                            + */ + Targets?: CrawlerTargets; /** *

                            A cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run @@ -3524,15 +4968,28 @@ export interface UpdateCrawlerRequest { Schedule?: string; /** - *

                            A policy that specifies whether to crawl the entire dataset again, or to crawl only folders that were added since the last crawler run.

                            + *

                            A list of custom classifiers that the user + * has registered. By default, all built-in classifiers are included in a crawl, + * but these custom classifiers always override the default classifiers + * for a given classification.

                            */ - RecrawlPolicy?: RecrawlPolicy; + Classifiers?: string[]; + + /** + *

                            The table prefix used for catalog tables that are created.

                            + */ + TablePrefix?: string; /** *

                            The policy for the crawler's update and deletion behavior.

                            */ SchemaChangePolicy?: SchemaChangePolicy; + /** + *

                            A policy that specifies whether to crawl the entire dataset again, or to crawl only folders that were added since the last crawler run.

                            + */ + RecrawlPolicy?: RecrawlPolicy; + /** *

                            Crawler configuration information. This versioned JSON string allows users * to specify aspects of a crawler's behavior. @@ -3541,14 +4998,10 @@ export interface UpdateCrawlerRequest { Configuration?: string; /** - *

                            A list of targets to crawl.

                            - */ - Targets?: CrawlerTargets; - - /** - *

                            A description of the new crawler.

                            + *

                            The name of the SecurityConfiguration structure to be used by this + * crawler.

                            */ - Description?: string; + CrawlerSecurityConfiguration?: string; } export namespace UpdateCrawlerRequest { @@ -3566,17 +5019,17 @@ export namespace UpdateCrawlerResponse { } export interface UpdateCrawlerScheduleRequest { + /** + *

                            The name of the crawler whose schedule to update.

                            + */ + CrawlerName: string | undefined; + /** *

                            The updated cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run * something every day at 12:15 UTC, you would specify: * cron(15 12 * * ? *).

                            */ Schedule?: string; - - /** - *

                            The name of the crawler whose schedule to update.

                            - */ - CrawlerName: string | undefined; } export namespace UpdateCrawlerScheduleRequest { @@ -3595,10 +5048,10 @@ export namespace UpdateCrawlerScheduleResponse { export interface UpdateDatabaseRequest { /** - *

                            A DatabaseInput object specifying the new definition - * of the metadata database in the catalog.

                            + *

                            The ID of the Data Catalog in which the metadata database resides. If none is provided, + * the AWS account ID is used by default.

                            */ - DatabaseInput: DatabaseInput | undefined; + CatalogId?: string; /** *

                            The name of the database to update in the catalog. For Hive @@ -3607,10 +5060,10 @@ export interface UpdateDatabaseRequest { Name: string | undefined; /** - *

                            The ID of the Data Catalog in which the metadata database resides. If none is provided, - * the AWS account ID is used by default.

                            + *

                            A DatabaseInput object specifying the new definition + * of the metadata database in the catalog.

                            */ - CatalogId?: string; + DatabaseInput: DatabaseInput | undefined; } export namespace UpdateDatabaseRequest { @@ -3631,15 +5084,6 @@ export namespace UpdateDatabaseResponse { *

                            Custom libraries to be loaded into a development endpoint.

                            */ export interface DevEndpointCustomLibraries { - /** - *

                            The path to one or more Java .jar files in an S3 bucket that should be loaded - * in your DevEndpoint.

                            - * - *

                            You can only use pure Java/Scala libraries with a DevEndpoint.

                            - *
                            - */ - ExtraJarsS3Path?: string; - /** *

                            The paths to one or more Python libraries in an Amazon Simple Storage Service (Amazon S3) * bucket that should be loaded in your DevEndpoint. Multiple values must be @@ -3651,6 +5095,15 @@ export interface DevEndpointCustomLibraries { * */ ExtraPythonLibsS3Path?: string; + + /** + *

                            The path to one or more Java .jar files in an S3 bucket that should be loaded + * in your DevEndpoint.

                            + * + *

                            You can only use pure Java/Scala libraries with a DevEndpoint.

                            + *
                            + */ + ExtraJarsS3Path?: string; } export namespace DevEndpointCustomLibraries { @@ -3661,56 +5114,29 @@ export namespace DevEndpointCustomLibraries { export interface UpdateDevEndpointRequest { /** - *

                            The map of arguments to add the map of arguments used to configure the - * DevEndpoint.

                            - * - *

                            Valid arguments are:

                            - *
                              - *
                            • - *

                              - * "--enable-glue-datacatalog": "" - *

                              - *
                            • - *
                            • - *

                              - * "GLUE_PYTHON_VERSION": "3" - *

                              - *
                            • - *
                            • - *

                              - * "GLUE_PYTHON_VERSION": "2" - *

                              - *
                            • - *
                            - * - *

                            You can specify a version of Python support for development endpoints by using the Arguments parameter in the CreateDevEndpoint or UpdateDevEndpoint APIs. If no arguments are provided, the version defaults to Python 2.

                            + *

                            The name of the DevEndpoint to be updated.

                            */ - AddArguments?: { [key: string]: string }; + EndpointName: string | undefined; /** *

                            The public key for the DevEndpoint to use.

                            */ PublicKey?: string; - /** - *

                            Custom Python or Java libraries to be loaded in the DevEndpoint.

                            - */ - CustomLibraries?: DevEndpointCustomLibraries; - /** *

                            The list of public keys for the DevEndpoint to use.

                            */ AddPublicKeys?: string[]; /** - *

                            The name of the DevEndpoint to be updated.

                            + *

                            The list of public keys to be deleted from the DevEndpoint.

                            */ - EndpointName: string | undefined; + DeletePublicKeys?: string[]; /** - *

                            The list of public keys to be deleted from the DevEndpoint.

                            + *

                            Custom Python or Java libraries to be loaded in the DevEndpoint.

                            */ - DeletePublicKeys?: string[]; + CustomLibraries?: DevEndpointCustomLibraries; /** *

                            @@ -3724,6 +5150,33 @@ export interface UpdateDevEndpointRequest { * DevEndpoint.

                            */ DeleteArguments?: string[]; + + /** + *

                            The map of arguments to add the map of arguments used to configure the + * DevEndpoint.

                            + * + *

                            Valid arguments are:

                            + *
                              + *
                            • + *

                              + * "--enable-glue-datacatalog": "" + *

                              + *
                            • + *
                            • + *

                              + * "GLUE_PYTHON_VERSION": "3" + *

                              + *
                            • + *
                            • + *

                              + * "GLUE_PYTHON_VERSION": "2" + *

                              + *
                            • + *
                            + * + *

                            You can specify a version of Python support for development endpoints by using the Arguments parameter in the CreateDevEndpoint or UpdateDevEndpoint APIs. If no arguments are provided, the version defaults to Python 2.

                            + */ + AddArguments?: { [key: string]: string }; } export namespace UpdateDevEndpointRequest { @@ -3746,25 +5199,20 @@ export namespace UpdateDevEndpointResponse { */ export interface JobUpdate { /** - *

                            The type of predefined worker that is allocated when a job runs. Accepts a value of Standard, G.1X, or G.2X.

                            - *
                              - *
                            • - *

                              For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

                              - *
                            • - *
                            • - *

                              For the G.1X worker type, each worker maps to 1 DPU (4 vCPU, 16 GB of memory, 64 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

                              - *
                            • - *
                            • - *

                              For the G.2X worker type, each worker maps to 2 DPU (8 vCPU, 32 GB of memory, 128 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

                              - *
                            • - *
                            + *

                            Description of the job being defined.

                            */ - WorkerType?: WorkerType | string; + Description?: string; /** - *

                            Specifies the configuration properties of a job notification.

                            + *

                            This field is reserved for future use.

                            */ - NotificationProperty?: NotificationProperty; + LogUri?: string; + + /** + *

                            The name or Amazon Resource Name (ARN) of the IAM role associated with this job + * (required).

                            + */ + Role?: string; /** *

                            An ExecutionProperty specifying the maximum number of concurrent runs allowed @@ -3773,11 +5221,51 @@ export interface JobUpdate { ExecutionProperty?: ExecutionProperty; /** - *

                            The number of workers of a defined workerType that are allocated when a job runs.

                            + *

                            The JobCommand that executes this job (required).

                            + */ + Command?: JobCommand; + + /** + *

                            The default arguments for this job.

                            + *

                            You can specify arguments here that your own job-execution script + * consumes, as well as arguments that AWS Glue itself consumes.

                            + *

                            For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

                            + *

                            For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

                            + */ + DefaultArguments?: { [key: string]: string }; + + /** + *

                            Non-overridable arguments for this job, specified as name-value pairs.

                            + */ + NonOverridableArguments?: { [key: string]: string }; + + /** + *

                            The connections used for this job.

                            + */ + Connections?: ConnectionsList; + + /** + *

                            The maximum number of times to retry this job if it fails.

                            + */ + MaxRetries?: number; + + /** + *

                            This field is deprecated. Use MaxCapacity instead.

                            * - *

                            The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

                            + *

                            The number of AWS Glue data processing units (DPUs) to allocate to this job. You can + * allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of processing + * power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, + * see the AWS Glue pricing + * page.

                            */ - NumberOfWorkers?: number; + AllocatedCapacity?: number; + + /** + *

                            The job timeout in minutes. This is the maximum time that a job run + * can consume resources before it is terminated and enters TIMEOUT + * status. The default is 2,880 minutes (48 hours).

                            + */ + Timeout?: number; /** *

                            The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure @@ -3803,41 +5291,27 @@ export interface JobUpdate { MaxCapacity?: number; /** - *

                            Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for jobs of type Spark.

                            - * - *

                            For more information about the available AWS Glue versions and corresponding Spark and Python versions, see Glue version in the developer guide.

                            - */ - GlueVersion?: string; - - /** - *

                            The name or Amazon Resource Name (ARN) of the IAM role associated with this job - * (required).

                            - */ - Role?: string; - - /** - *

                            The default arguments for this job.

                            - *

                            You can specify arguments here that your own job-execution script - * consumes, as well as arguments that AWS Glue itself consumes.

                            - *

                            For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

                            - *

                            For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

                            - */ - DefaultArguments?: { [key: string]: string }; - - /** - *

                            Description of the job being defined.

                            - */ - Description?: string; - - /** - *

                            Non-overridable arguments for this job, specified as name-value pairs.

                            + *

                            The type of predefined worker that is allocated when a job runs. Accepts a value of Standard, G.1X, or G.2X.

                            + *
                              + *
                            • + *

                              For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

                              + *
                            • + *
                            • + *

                              For the G.1X worker type, each worker maps to 1 DPU (4 vCPU, 16 GB of memory, 64 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

                              + *
                            • + *
                            • + *

                              For the G.2X worker type, each worker maps to 2 DPU (8 vCPU, 32 GB of memory, 128 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

                              + *
                            • + *
                            */ - NonOverridableArguments?: { [key: string]: string }; + WorkerType?: WorkerType | string; /** - *

                            The maximum number of times to retry this job if it fails.

                            + *

                            The number of workers of a defined workerType that are allocated when a job runs.

                            + * + *

                            The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

                            */ - MaxRetries?: number; + NumberOfWorkers?: number; /** *

                            The name of the SecurityConfiguration structure to be used with this @@ -3846,37 +5320,16 @@ export interface JobUpdate { SecurityConfiguration?: string; /** - *

                            This field is deprecated. Use MaxCapacity instead.

                            - * - *

                            The number of AWS Glue data processing units (DPUs) to allocate to this job. You can - * allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of processing - * power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, - * see the AWS Glue pricing - * page.

                            - */ - AllocatedCapacity?: number; - - /** - *

                            This field is reserved for future use.

                            - */ - LogUri?: string; - - /** - *

                            The job timeout in minutes. This is the maximum time that a job run - * can consume resources before it is terminated and enters TIMEOUT - * status. The default is 2,880 minutes (48 hours).

                            - */ - Timeout?: number; - - /** - *

                            The JobCommand that executes this job (required).

                            + *

                            Specifies the configuration properties of a job notification.

                            */ - Command?: JobCommand; + NotificationProperty?: NotificationProperty; /** - *

                            The connections used for this job.

                            + *

                            Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for jobs of type Spark.

                            + * + *

                            For more information about the available AWS Glue versions and corresponding Spark and Python versions, see Glue version in the developer guide.

                            */ - Connections?: ConnectionsList; + GlueVersion?: string; } export namespace JobUpdate { @@ -3887,14 +5340,14 @@ export namespace JobUpdate { export interface UpdateJobRequest { /** - *

                            Specifies the values with which to update the job definition.

                            + *

                            The name of the job definition to update.

                            */ - JobUpdate: JobUpdate | undefined; + JobName: string | undefined; /** - *

                            The name of the job definition to update.

                            + *

                            Specifies the values with which to update the job definition.

                            */ - JobName: string | undefined; + JobUpdate: JobUpdate | undefined; } export namespace UpdateJobRequest { @@ -3918,30 +5371,36 @@ export namespace UpdateJobResponse { export interface UpdateMLTransformRequest { /** - *

                            This value determines which version of AWS Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see AWS Glue Versions in the developer guide.

                            + *

                            A unique identifier that was generated when the transform was created.

                            */ - GlueVersion?: string; + TransformId: string | undefined; /** - *

                            The name or Amazon Resource Name (ARN) of the IAM role with the required - * permissions.

                            + *

                            The unique name that you gave the transform when you created it.

                            */ - Role?: string; + Name?: string; /** - *

                            The number of workers of a defined workerType that are allocated when this task runs.

                            + *

                            A description of the transform. The default is an empty string.

                            */ - NumberOfWorkers?: number; + Description?: string; /** - *

                            A description of the transform. The default is an empty string.

                            + *

                            The configuration parameters that are specific to the transform type (algorithm) used. + * Conditionally dependent on the transform type.

                            */ - Description?: string; + Parameters?: TransformParameters; /** - *

                            The timeout for a task run for this transform in minutes. This is the maximum time that a task run for this transform can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

                            + *

                            The name or Amazon Resource Name (ARN) of the IAM role with the required + * permissions.

                            */ - Timeout?: number; + Role?: string; + + /** + *

                            This value determines which version of AWS Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see AWS Glue Versions in the developer guide.

                            + */ + GlueVersion?: string; /** *

                            The number of AWS Glue data processing units (DPUs) that are allocated to task runs for this transform. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of @@ -3970,25 +5429,19 @@ export interface UpdateMLTransformRequest { WorkerType?: WorkerType | string; /** - *

                            The unique name that you gave the transform when you created it.

                            + *

                            The number of workers of a defined workerType that are allocated when this task runs.

                            */ - Name?: string; + NumberOfWorkers?: number; /** - *

                            A unique identifier that was generated when the transform was created.

                            + *

                            The timeout for a task run for this transform in minutes. This is the maximum time that a task run for this transform can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

                            */ - TransformId: string | undefined; + Timeout?: number; /** *

                            The maximum number of times to retry a task for this transform after a task run fails.

                            */ MaxRetries?: number; - - /** - *

                            The configuration parameters that are specific to the transform type (algorithm) used. - * Conditionally dependent on the transform type.

                            - */ - Parameters?: TransformParameters; } export namespace UpdateMLTransformRequest { @@ -4011,46 +5464,141 @@ export namespace UpdateMLTransformResponse { } export interface UpdatePartitionRequest { + /** + *

                            The ID of the Data Catalog where the partition to be updated resides. If none is provided, + * the AWS account ID is used by default.

                            + */ + CatalogId?: string; + + /** + *

                            The name of the catalog database in which the table in question + * resides.

                            + */ + DatabaseName: string | undefined; + /** *

                            The name of the table in which the partition to be updated is located.

                            */ TableName: string | undefined; + /** + *

                            List of partition key values that define the partition to update.

                            + */ + PartitionValueList: string[] | undefined; + /** *

                            The new partition object to update the partition to.

                            * *

                            The Values property can't be changed. If you want to change the partition key values for a partition, delete and recreate the partition.

                            */ PartitionInput: PartitionInput | undefined; +} + +export namespace UpdatePartitionRequest { + export const filterSensitiveLog = (obj: UpdatePartitionRequest): any => ({ + ...obj, + }); +} +export interface UpdatePartitionResponse {} + +export namespace UpdatePartitionResponse { + export const filterSensitiveLog = (obj: UpdatePartitionResponse): any => ({ + ...obj, + }); +} + +export interface UpdateRegistryInput { /** - *

                            List of partition key values that define the partition to update.

                            + *

                            This is a wrapper structure that may contain the registry name and Amazon Resource Name (ARN).

                            */ - PartitionValueList: string[] | undefined; + RegistryId: RegistryId | undefined; /** - *

                            The ID of the Data Catalog where the partition to be updated resides. If none is provided, - * the AWS account ID is used by default.

                            + *

                            A description of the registry. If description is not provided, this field will not be updated.

                            */ - CatalogId?: string; + Description: string | undefined; +} + +export namespace UpdateRegistryInput { + export const filterSensitiveLog = (obj: UpdateRegistryInput): any => ({ + ...obj, + }); +} +export interface UpdateRegistryResponse { /** - *

                            The name of the catalog database in which the table in question - * resides.

                            + *

                            The name of the updated registry.

                            */ - DatabaseName: string | undefined; + RegistryName?: string; + + /** + *

                            The Amazon Resource name (ARN) of the updated registry.

                            + */ + RegistryArn?: string; } -export namespace UpdatePartitionRequest { - export const filterSensitiveLog = (obj: UpdatePartitionRequest): any => ({ +export namespace UpdateRegistryResponse { + export const filterSensitiveLog = (obj: UpdateRegistryResponse): any => ({ ...obj, }); } -export interface UpdatePartitionResponse {} +export interface UpdateSchemaInput { + /** + *

                            This is a wrapper structure to contain schema identity fields. The structure contains:

                            + *
                              + *
                            • + *

                              SchemaId$SchemaArn: The Amazon Resource Name (ARN) of the schema. One of SchemaArn or SchemaName has to be provided.

                              + *
                            • + *
                            • + *

                              SchemaId$SchemaName: The name of the schema. One of SchemaArn or SchemaName has to be provided.

                              + *
                            • + *
                            + */ + SchemaId: SchemaId | undefined; -export namespace UpdatePartitionResponse { - export const filterSensitiveLog = (obj: UpdatePartitionResponse): any => ({ + /** + *

                            Version number required for check pointing. One of VersionNumber or Compatibility has to be provided.

                            + */ + SchemaVersionNumber?: SchemaVersionNumber; + + /** + *

                            The new compatibility setting for the schema.

                            + */ + Compatibility?: Compatibility | string; + + /** + *

                            The new description for the schema.

                            + */ + Description?: string; +} + +export namespace UpdateSchemaInput { + export const filterSensitiveLog = (obj: UpdateSchemaInput): any => ({ + ...obj, + }); +} + +export interface UpdateSchemaResponse { + /** + *

                            The Amazon Resource Name (ARN) of the schema.

                            + */ + SchemaArn?: string; + + /** + *

                            The name of the schema.

                            + */ + SchemaName?: string; + + /** + *

                            The name of the registry that contains the schema.

                            + */ + RegistryName?: string; +} + +export namespace UpdateSchemaResponse { + export const filterSensitiveLog = (obj: UpdateSchemaResponse): any => ({ ...obj, }); } @@ -4068,18 +5616,18 @@ export interface UpdateTableRequest { */ DatabaseName: string | undefined; + /** + *

                            An updated TableInput object to define the metadata table + * in the catalog.

                            + */ + TableInput: TableInput | undefined; + /** *

                            By default, UpdateTable always creates an archived version of the table * before updating it. However, if skipArchive is set to true, * UpdateTable does not create the archived version.

                            */ SkipArchive?: boolean; - - /** - *

                            An updated TableInput object to define the metadata table - * in the catalog.

                            - */ - TableInput: TableInput | undefined; } export namespace UpdateTableRequest { @@ -4101,6 +5649,16 @@ export namespace UpdateTableResponse { * previous trigger definition by overwriting it completely.

                            */ export interface TriggerUpdate { + /** + *

                            Reserved for future use.

                            + */ + Name?: string; + + /** + *

                            A description of this trigger.

                            + */ + Description?: string; + /** *

                            A cron expression used to specify the schedule (see Time-Based * Schedules for Jobs and Crawlers. For example, to run @@ -4109,21 +5667,11 @@ export interface TriggerUpdate { */ Schedule?: string; - /** - *

                            Reserved for future use.

                            - */ - Name?: string; - /** *

                            The actions initiated by this trigger.

                            */ Actions?: Action[]; - /** - *

                            A description of this trigger.

                            - */ - Description?: string; - /** *

                            The predicate of this trigger, which defines when it will fire.

                            */ @@ -4138,14 +5686,14 @@ export namespace TriggerUpdate { export interface UpdateTriggerRequest { /** - *

                            The new values with which to update the trigger.

                            + *

                            The name of the trigger to update.

                            */ - TriggerUpdate: TriggerUpdate | undefined; + Name: string | undefined; /** - *

                            The name of the trigger to update.

                            + *

                            The new values with which to update the trigger.

                            */ - Name: string | undefined; + TriggerUpdate: TriggerUpdate | undefined; } export namespace UpdateTriggerRequest { @@ -4169,9 +5717,10 @@ export namespace UpdateTriggerResponse { export interface UpdateUserDefinedFunctionRequest { /** - *

                            The name of the function.

                            + *

                            The ID of the Data Catalog where the function to be updated is located. If none is + * provided, the AWS account ID is used by default.

                            */ - FunctionName: string | undefined; + CatalogId?: string; /** *

                            The name of the catalog database where the function to be updated is @@ -4180,10 +5729,9 @@ export interface UpdateUserDefinedFunctionRequest { DatabaseName: string | undefined; /** - *

                            The ID of the Data Catalog where the function to be updated is located. If none is - * provided, the AWS account ID is used by default.

                            + *

                            The name of the function.

                            */ - CatalogId?: string; + FunctionName: string | undefined; /** *

                            A FunctionInput object that redefines the function in the Data @@ -4208,24 +5756,24 @@ export namespace UpdateUserDefinedFunctionResponse { export interface UpdateWorkflowRequest { /** - *

                            A collection of properties to be used as part of each execution of the workflow.

                            + *

                            Name of the workflow to be updated.

                            */ - DefaultRunProperties?: { [key: string]: string }; + Name: string | undefined; /** - *

                            Name of the workflow to be updated.

                            + *

                            The description of the workflow.

                            */ - Name: string | undefined; + Description?: string; /** - *

                            You can use this parameter to prevent unwanted multiple updates to data, to control costs, or in some cases, to prevent exceeding the maximum number of concurrent runs of any of the component jobs. If you leave this parameter blank, there is no limit to the number of concurrent workflow runs.

                            + *

                            A collection of properties to be used as part of each execution of the workflow.

                            */ - MaxConcurrentRuns?: number; + DefaultRunProperties?: { [key: string]: string }; /** - *

                            The description of the workflow.

                            + *

                            You can use this parameter to prevent unwanted multiple updates to data, to control costs, or in some cases, to prevent exceeding the maximum number of concurrent runs of any of the component jobs. If you leave this parameter blank, there is no limit to the number of concurrent workflow runs.

                            */ - Description?: string; + MaxConcurrentRuns?: number; } export namespace UpdateWorkflowRequest { diff --git a/clients/client-glue/pagination/GetResourcePoliciesPaginator.ts b/clients/client-glue/pagination/GetResourcePoliciesPaginator.ts new file mode 100644 index 000000000000..d5e2dca0a9a3 --- /dev/null +++ b/clients/client-glue/pagination/GetResourcePoliciesPaginator.ts @@ -0,0 +1,51 @@ +import { Glue } from "../Glue"; +import { GlueClient } from "../GlueClient"; +import { + GetResourcePoliciesCommand, + GetResourcePoliciesCommandInput, + GetResourcePoliciesCommandOutput, +} from "../commands/GetResourcePoliciesCommand"; +import { GluePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: GlueClient, + input: GetResourcePoliciesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetResourcePoliciesCommand(input), ...args); +}; +const makePagedRequest = async ( + client: Glue, + input: GetResourcePoliciesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getResourcePolicies(input, ...args); +}; +export async function* paginateGetResourcePolicies( + config: GluePaginationConfiguration, + input: GetResourcePoliciesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: GetResourcePoliciesCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Glue) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof GlueClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Glue | GlueClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-glue/pagination/ListRegistriesPaginator.ts b/clients/client-glue/pagination/ListRegistriesPaginator.ts new file mode 100644 index 000000000000..6336353f25e0 --- /dev/null +++ b/clients/client-glue/pagination/ListRegistriesPaginator.ts @@ -0,0 +1,51 @@ +import { Glue } from "../Glue"; +import { GlueClient } from "../GlueClient"; +import { + ListRegistriesCommand, + ListRegistriesCommandInput, + ListRegistriesCommandOutput, +} from "../commands/ListRegistriesCommand"; +import { GluePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: GlueClient, + input: ListRegistriesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListRegistriesCommand(input), ...args); +}; +const makePagedRequest = async ( + client: Glue, + input: ListRegistriesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listRegistries(input, ...args); +}; +export async function* paginateListRegistries( + config: GluePaginationConfiguration, + input: ListRegistriesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListRegistriesCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Glue) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof GlueClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Glue | GlueClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-glue/pagination/ListSchemaVersionsPaginator.ts b/clients/client-glue/pagination/ListSchemaVersionsPaginator.ts new file mode 100644 index 000000000000..d2893d1059c7 --- /dev/null +++ b/clients/client-glue/pagination/ListSchemaVersionsPaginator.ts @@ -0,0 +1,51 @@ +import { Glue } from "../Glue"; +import { GlueClient } from "../GlueClient"; +import { + ListSchemaVersionsCommand, + ListSchemaVersionsCommandInput, + ListSchemaVersionsCommandOutput, +} from "../commands/ListSchemaVersionsCommand"; +import { GluePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: GlueClient, + input: ListSchemaVersionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListSchemaVersionsCommand(input), ...args); +}; +const makePagedRequest = async ( + client: Glue, + input: ListSchemaVersionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listSchemaVersions(input, ...args); +}; +export async function* paginateListSchemaVersions( + config: GluePaginationConfiguration, + input: ListSchemaVersionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListSchemaVersionsCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Glue) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof GlueClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Glue | GlueClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-glue/pagination/ListSchemasPaginator.ts b/clients/client-glue/pagination/ListSchemasPaginator.ts new file mode 100644 index 000000000000..d862d842ca19 --- /dev/null +++ b/clients/client-glue/pagination/ListSchemasPaginator.ts @@ -0,0 +1,47 @@ +import { Glue } from "../Glue"; +import { GlueClient } from "../GlueClient"; +import { ListSchemasCommand, ListSchemasCommandInput, ListSchemasCommandOutput } from "../commands/ListSchemasCommand"; +import { GluePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: GlueClient, + input: ListSchemasCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListSchemasCommand(input), ...args); +}; +const makePagedRequest = async ( + client: Glue, + input: ListSchemasCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listSchemas(input, ...args); +}; +export async function* paginateListSchemas( + config: GluePaginationConfiguration, + input: ListSchemasCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListSchemasCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Glue) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof GlueClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Glue | GlueClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-glue/protocols/Aws_json1_1.ts b/clients/client-glue/protocols/Aws_json1_1.ts index c32f037479e2..eac2f65e37b7 100644 --- a/clients/client-glue/protocols/Aws_json1_1.ts +++ b/clients/client-glue/protocols/Aws_json1_1.ts @@ -30,6 +30,10 @@ import { BatchUpdatePartitionCommandOutput, } from "../commands/BatchUpdatePartitionCommand"; import { CancelMLTaskRunCommandInput, CancelMLTaskRunCommandOutput } from "../commands/CancelMLTaskRunCommand"; +import { + CheckSchemaVersionValidityCommandInput, + CheckSchemaVersionValidityCommandOutput, +} from "../commands/CheckSchemaVersionValidityCommand"; import { CreateClassifierCommandInput, CreateClassifierCommandOutput } from "../commands/CreateClassifierCommand"; import { CreateConnectionCommandInput, CreateConnectionCommandOutput } from "../commands/CreateConnectionCommand"; import { CreateCrawlerCommandInput, CreateCrawlerCommandOutput } from "../commands/CreateCrawlerCommand"; @@ -38,6 +42,8 @@ import { CreateDevEndpointCommandInput, CreateDevEndpointCommandOutput } from ". import { CreateJobCommandInput, CreateJobCommandOutput } from "../commands/CreateJobCommand"; import { CreateMLTransformCommandInput, CreateMLTransformCommandOutput } from "../commands/CreateMLTransformCommand"; import { CreatePartitionCommandInput, CreatePartitionCommandOutput } from "../commands/CreatePartitionCommand"; +import { CreateRegistryCommandInput, CreateRegistryCommandOutput } from "../commands/CreateRegistryCommand"; +import { CreateSchemaCommandInput, CreateSchemaCommandOutput } from "../commands/CreateSchemaCommand"; import { CreateScriptCommandInput, CreateScriptCommandOutput } from "../commands/CreateScriptCommand"; import { CreateSecurityConfigurationCommandInput, @@ -66,10 +72,16 @@ import { DeleteDevEndpointCommandInput, DeleteDevEndpointCommandOutput } from ". import { DeleteJobCommandInput, DeleteJobCommandOutput } from "../commands/DeleteJobCommand"; import { DeleteMLTransformCommandInput, DeleteMLTransformCommandOutput } from "../commands/DeleteMLTransformCommand"; import { DeletePartitionCommandInput, DeletePartitionCommandOutput } from "../commands/DeletePartitionCommand"; +import { DeleteRegistryCommandInput, DeleteRegistryCommandOutput } from "../commands/DeleteRegistryCommand"; import { DeleteResourcePolicyCommandInput, DeleteResourcePolicyCommandOutput, } from "../commands/DeleteResourcePolicyCommand"; +import { DeleteSchemaCommandInput, DeleteSchemaCommandOutput } from "../commands/DeleteSchemaCommand"; +import { + DeleteSchemaVersionsCommandInput, + DeleteSchemaVersionsCommandOutput, +} from "../commands/DeleteSchemaVersionsCommand"; import { DeleteSecurityConfigurationCommandInput, DeleteSecurityConfigurationCommandOutput, @@ -127,11 +139,22 @@ import { } from "../commands/GetPartitionIndexesCommand"; import { GetPartitionsCommandInput, GetPartitionsCommandOutput } from "../commands/GetPartitionsCommand"; import { GetPlanCommandInput, GetPlanCommandOutput } from "../commands/GetPlanCommand"; +import { GetRegistryCommandInput, GetRegistryCommandOutput } from "../commands/GetRegistryCommand"; import { GetResourcePoliciesCommandInput, GetResourcePoliciesCommandOutput, } from "../commands/GetResourcePoliciesCommand"; import { GetResourcePolicyCommandInput, GetResourcePolicyCommandOutput } from "../commands/GetResourcePolicyCommand"; +import { + GetSchemaByDefinitionCommandInput, + GetSchemaByDefinitionCommandOutput, +} from "../commands/GetSchemaByDefinitionCommand"; +import { GetSchemaCommandInput, GetSchemaCommandOutput } from "../commands/GetSchemaCommand"; +import { GetSchemaVersionCommandInput, GetSchemaVersionCommandOutput } from "../commands/GetSchemaVersionCommand"; +import { + GetSchemaVersionsDiffCommandInput, + GetSchemaVersionsDiffCommandOutput, +} from "../commands/GetSchemaVersionsDiffCommand"; import { GetSecurityConfigurationCommandInput, GetSecurityConfigurationCommandOutput, @@ -170,6 +193,9 @@ import { ListCrawlersCommandInput, ListCrawlersCommandOutput } from "../commands import { ListDevEndpointsCommandInput, ListDevEndpointsCommandOutput } from "../commands/ListDevEndpointsCommand"; import { ListJobsCommandInput, ListJobsCommandOutput } from "../commands/ListJobsCommand"; import { ListMLTransformsCommandInput, ListMLTransformsCommandOutput } from "../commands/ListMLTransformsCommand"; +import { ListRegistriesCommandInput, ListRegistriesCommandOutput } from "../commands/ListRegistriesCommand"; +import { ListSchemaVersionsCommandInput, ListSchemaVersionsCommandOutput } from "../commands/ListSchemaVersionsCommand"; +import { ListSchemasCommandInput, ListSchemasCommandOutput } from "../commands/ListSchemasCommand"; import { ListTriggersCommandInput, ListTriggersCommandOutput } from "../commands/ListTriggersCommand"; import { ListWorkflowsCommandInput, ListWorkflowsCommandOutput } from "../commands/ListWorkflowsCommand"; import { @@ -177,10 +203,26 @@ import { PutDataCatalogEncryptionSettingsCommandOutput, } from "../commands/PutDataCatalogEncryptionSettingsCommand"; import { PutResourcePolicyCommandInput, PutResourcePolicyCommandOutput } from "../commands/PutResourcePolicyCommand"; +import { + PutSchemaVersionMetadataCommandInput, + PutSchemaVersionMetadataCommandOutput, +} from "../commands/PutSchemaVersionMetadataCommand"; import { PutWorkflowRunPropertiesCommandInput, PutWorkflowRunPropertiesCommandOutput, } from "../commands/PutWorkflowRunPropertiesCommand"; +import { + QuerySchemaVersionMetadataCommandInput, + QuerySchemaVersionMetadataCommandOutput, +} from "../commands/QuerySchemaVersionMetadataCommand"; +import { + RegisterSchemaVersionCommandInput, + RegisterSchemaVersionCommandOutput, +} from "../commands/RegisterSchemaVersionCommand"; +import { + RemoveSchemaVersionMetadataCommandInput, + RemoveSchemaVersionMetadataCommandOutput, +} from "../commands/RemoveSchemaVersionMetadataCommand"; import { ResetJobBookmarkCommandInput, ResetJobBookmarkCommandOutput } from "../commands/ResetJobBookmarkCommand"; import { ResumeWorkflowRunCommandInput, ResumeWorkflowRunCommandOutput } from "../commands/ResumeWorkflowRunCommand"; import { SearchTablesCommandInput, SearchTablesCommandOutput } from "../commands/SearchTablesCommand"; @@ -237,6 +279,8 @@ import { UpdateDevEndpointCommandInput, UpdateDevEndpointCommandOutput } from ". import { UpdateJobCommandInput, UpdateJobCommandOutput } from "../commands/UpdateJobCommand"; import { UpdateMLTransformCommandInput, UpdateMLTransformCommandOutput } from "../commands/UpdateMLTransformCommand"; import { UpdatePartitionCommandInput, UpdatePartitionCommandOutput } from "../commands/UpdatePartitionCommand"; +import { UpdateRegistryCommandInput, UpdateRegistryCommandOutput } from "../commands/UpdateRegistryCommand"; +import { UpdateSchemaCommandInput, UpdateSchemaCommandOutput } from "../commands/UpdateSchemaCommand"; import { UpdateTableCommandInput, UpdateTableCommandOutput } from "../commands/UpdateTableCommand"; import { UpdateTriggerCommandInput, UpdateTriggerCommandOutput } from "../commands/UpdateTriggerCommand"; import { @@ -282,9 +326,10 @@ import { BooleanColumnStatisticsData, CancelMLTaskRunRequest, CancelMLTaskRunResponse, - CatalogEntry, CatalogImportStatus, CatalogTarget, + CheckSchemaVersionValidityInput, + CheckSchemaVersionValidityResponse, Classifier, CloudWatchEncryption, CodeGenEdge, @@ -297,7 +342,6 @@ import { ConcurrentModificationException, Condition, ConditionCheckFailureException, - ConfusionMatrix, Connection, ConnectionInput, ConnectionPasswordEncryption, @@ -328,6 +372,10 @@ import { CreateMLTransformResponse, CreatePartitionRequest, CreatePartitionResponse, + CreateRegistryInput, + CreateRegistryResponse, + CreateSchemaInput, + CreateSchemaResponse, CreateScriptRequest, CreateScriptResponse, CreateSecurityConfigurationRequest, @@ -370,8 +418,14 @@ import { DeleteMLTransformResponse, DeletePartitionRequest, DeletePartitionResponse, + DeleteRegistryInput, + DeleteRegistryResponse, DeleteResourcePolicyRequest, DeleteResourcePolicyResponse, + DeleteSchemaInput, + DeleteSchemaResponse, + DeleteSchemaVersionsInput, + DeleteSchemaVersionsResponse, DeleteSecurityConfigurationRequest, DeleteSecurityConfigurationResponse, DeleteTableRequest, @@ -392,10 +446,9 @@ import { EncryptionConfiguration, EntityNotFoundException, ErrorDetail, + ErrorDetails, ExecutionProperty, - ExportLabelsTaskRunProperties, FindMatchesParameters, - FindMatchesTaskRunProperties, GetCatalogImportStatusRequest, GetCatalogImportStatusResponse, GetClassifierRequest, @@ -439,18 +492,10 @@ import { GetJobRunsResponse, GetJobsRequest, GetJobsResponse, - GetMLTaskRunRequest, - GetMLTaskRunResponse, - GetMLTaskRunsRequest, - GetMLTaskRunsResponse, - GetMLTransformRequest, - GetMappingRequest, - GetMappingResponse, GlueEncryptionException, GlueTable, GrokClassifier, IdempotentParameterMismatchException, - ImportLabelsTaskRunProperties, InternalServiceException, InvalidInputException, JdbcTarget, @@ -461,12 +506,9 @@ import { JobNodeDetails, JobRun, JsonClassifier, - LabelingSetGenerationTaskRunProperties, LastCrawlInfo, - Location, LongColumnStatisticsData, MLUserDataEncryption, - MappingEntry, MongoDBTarget, Node, NotificationProperty, @@ -483,6 +525,7 @@ import { Predicate, PrincipalPermissions, RecrawlPolicy, + RegistryId, ResourceNumberLimitExceededException, ResourceUri, S3Encryption, @@ -490,6 +533,9 @@ import { Schedule, SchedulerTransitioningException, SchemaChangePolicy, + SchemaId, + SchemaReference, + SchemaVersionErrorItem, SerDeInfo, SkewedInfo, StorageDescriptor, @@ -498,10 +544,6 @@ import { TableIdentifier, TableInput, TableVersionError, - TaskRun, - TaskRunFilterCriteria, - TaskRunProperties, - TaskRunSortCriteria, TransformEncryption, TransformParameters, Trigger, @@ -515,17 +557,28 @@ import { XMLClassifier, } from "../models/models_0"; import { + CatalogEntry, ColumnStatisticsError, ConcurrentRunsExceededException, ConflictException, + ConfusionMatrix, CrawlerNotRunningException, CrawlerStoppingException, DevEndpointCustomLibraries, EvaluationMetrics, + ExportLabelsTaskRunProperties, FindMatchesMetrics, + FindMatchesTaskRunProperties, + GetMLTaskRunRequest, + GetMLTaskRunResponse, + GetMLTaskRunsRequest, + GetMLTaskRunsResponse, + GetMLTransformRequest, GetMLTransformResponse, GetMLTransformsRequest, GetMLTransformsResponse, + GetMappingRequest, + GetMappingResponse, GetPartitionIndexesRequest, GetPartitionIndexesResponse, GetPartitionRequest, @@ -534,10 +587,20 @@ import { GetPartitionsResponse, GetPlanRequest, GetPlanResponse, + GetRegistryInput, + GetRegistryResponse, GetResourcePoliciesRequest, GetResourcePoliciesResponse, GetResourcePolicyRequest, GetResourcePolicyResponse, + GetSchemaByDefinitionInput, + GetSchemaByDefinitionResponse, + GetSchemaInput, + GetSchemaResponse, + GetSchemaVersionInput, + GetSchemaVersionResponse, + GetSchemaVersionsDiffInput, + GetSchemaVersionsDiffResponse, GetSecurityConfigurationRequest, GetSecurityConfigurationResponse, GetSecurityConfigurationsRequest, @@ -572,8 +635,10 @@ import { IllegalWorkflowStateException, ImportCatalogToGlueRequest, ImportCatalogToGlueResponse, + ImportLabelsTaskRunProperties, JobUpdate, KeySchemaElement, + LabelingSetGenerationTaskRunProperties, ListCrawlersRequest, ListCrawlersResponse, ListDevEndpointsRequest, @@ -582,12 +647,22 @@ import { ListJobsResponse, ListMLTransformsRequest, ListMLTransformsResponse, + ListRegistriesInput, + ListRegistriesResponse, + ListSchemaVersionsInput, + ListSchemaVersionsResponse, + ListSchemasInput, + ListSchemasResponse, ListTriggersRequest, ListTriggersResponse, ListWorkflowsRequest, ListWorkflowsResponse, + Location, MLTransform, MLTransformNotReadyException, + MappingEntry, + MetadataInfo, + MetadataKeyValuePair, NoScheduleException, PartitionIndexDescriptor, PropertyPredicate, @@ -595,8 +670,17 @@ import { PutDataCatalogEncryptionSettingsResponse, PutResourcePolicyRequest, PutResourcePolicyResponse, + PutSchemaVersionMetadataInput, + PutSchemaVersionMetadataResponse, PutWorkflowRunPropertiesRequest, PutWorkflowRunPropertiesResponse, + QuerySchemaVersionMetadataInput, + QuerySchemaVersionMetadataResponse, + RegisterSchemaVersionInput, + RegisterSchemaVersionResponse, + RegistryListItem, + RemoveSchemaVersionMetadataInput, + RemoveSchemaVersionMetadataResponse, ResetJobBookmarkRequest, ResetJobBookmarkResponse, ResumeWorkflowRunRequest, @@ -604,6 +688,9 @@ import { SchedulerNotRunningException, SchedulerRunningException, SchemaColumn, + SchemaListItem, + SchemaVersionListItem, + SchemaVersionNumber, SearchTablesRequest, SearchTablesResponse, SecurityConfiguration, @@ -639,6 +726,10 @@ import { TableVersion, TagResourceRequest, TagResourceResponse, + TaskRun, + TaskRunFilterCriteria, + TaskRunProperties, + TaskRunSortCriteria, TransformFilterCriteria, TransformSortCriteria, TriggerUpdate, @@ -669,6 +760,10 @@ import { UpdateMLTransformResponse, UpdatePartitionRequest, UpdatePartitionResponse, + UpdateRegistryInput, + UpdateRegistryResponse, + UpdateSchemaInput, + UpdateSchemaResponse, UpdateTableRequest, UpdateTableResponse, UpdateTriggerRequest, @@ -873,6 +968,19 @@ export const serializeAws_json1_1CancelMLTaskRunCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1CheckSchemaVersionValidityCommand = async ( + input: CheckSchemaVersionValidityCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSGlue.CheckSchemaVersionValidity", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1CheckSchemaVersionValidityInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1CreateClassifierCommand = async ( input: CreateClassifierCommandInput, context: __SerdeContext @@ -977,6 +1085,32 @@ export const serializeAws_json1_1CreatePartitionCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1CreateRegistryCommand = async ( + input: CreateRegistryCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSGlue.CreateRegistry", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1CreateRegistryInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1CreateSchemaCommand = async ( + input: CreateSchemaCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSGlue.CreateSchema", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1CreateSchemaInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1CreateScriptCommand = async ( input: CreateScriptCommandInput, context: __SerdeContext @@ -1185,6 +1319,19 @@ export const serializeAws_json1_1DeletePartitionCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DeleteRegistryCommand = async ( + input: DeleteRegistryCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSGlue.DeleteRegistry", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DeleteRegistryInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DeleteResourcePolicyCommand = async ( input: DeleteResourcePolicyCommandInput, context: __SerdeContext @@ -1198,6 +1345,32 @@ export const serializeAws_json1_1DeleteResourcePolicyCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DeleteSchemaCommand = async ( + input: DeleteSchemaCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSGlue.DeleteSchema", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DeleteSchemaInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DeleteSchemaVersionsCommand = async ( + input: DeleteSchemaVersionsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSGlue.DeleteSchemaVersions", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DeleteSchemaVersionsInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DeleteSecurityConfigurationCommand = async ( input: DeleteSecurityConfigurationCommandInput, context: __SerdeContext @@ -1666,6 +1839,19 @@ export const serializeAws_json1_1GetPlanCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1GetRegistryCommand = async ( + input: GetRegistryCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSGlue.GetRegistry", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1GetRegistryInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1GetResourcePoliciesCommand = async ( input: GetResourcePoliciesCommandInput, context: __SerdeContext @@ -1692,6 +1878,58 @@ export const serializeAws_json1_1GetResourcePolicyCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1GetSchemaCommand = async ( + input: GetSchemaCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSGlue.GetSchema", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1GetSchemaInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1GetSchemaByDefinitionCommand = async ( + input: GetSchemaByDefinitionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSGlue.GetSchemaByDefinition", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1GetSchemaByDefinitionInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1GetSchemaVersionCommand = async ( + input: GetSchemaVersionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSGlue.GetSchemaVersion", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1GetSchemaVersionInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1GetSchemaVersionsDiffCommand = async ( + input: GetSchemaVersionsDiffCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSGlue.GetSchemaVersionsDiff", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1GetSchemaVersionsDiffInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1GetSecurityConfigurationCommand = async ( input: GetSecurityConfigurationCommandInput, context: __SerdeContext @@ -1952,6 +2190,45 @@ export const serializeAws_json1_1ListMLTransformsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1ListRegistriesCommand = async ( + input: ListRegistriesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSGlue.ListRegistries", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListRegistriesInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1ListSchemasCommand = async ( + input: ListSchemasCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSGlue.ListSchemas", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListSchemasInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1ListSchemaVersionsCommand = async ( + input: ListSchemaVersionsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSGlue.ListSchemaVersions", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListSchemaVersionsInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1ListTriggersCommand = async ( input: ListTriggersCommandInput, context: __SerdeContext @@ -2004,6 +2281,19 @@ export const serializeAws_json1_1PutResourcePolicyCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1PutSchemaVersionMetadataCommand = async ( + input: PutSchemaVersionMetadataCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSGlue.PutSchemaVersionMetadata", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1PutSchemaVersionMetadataInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1PutWorkflowRunPropertiesCommand = async ( input: PutWorkflowRunPropertiesCommandInput, context: __SerdeContext @@ -2017,6 +2307,45 @@ export const serializeAws_json1_1PutWorkflowRunPropertiesCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1QuerySchemaVersionMetadataCommand = async ( + input: QuerySchemaVersionMetadataCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSGlue.QuerySchemaVersionMetadata", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1QuerySchemaVersionMetadataInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1RegisterSchemaVersionCommand = async ( + input: RegisterSchemaVersionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSGlue.RegisterSchemaVersion", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1RegisterSchemaVersionInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1RemoveSchemaVersionMetadataCommand = async ( + input: RemoveSchemaVersionMetadataCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSGlue.RemoveSchemaVersionMetadata", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1RemoveSchemaVersionMetadataInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1ResetJobBookmarkCommand = async ( input: ResetJobBookmarkCommandInput, context: __SerdeContext @@ -2394,6 +2723,32 @@ export const serializeAws_json1_1UpdatePartitionCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1UpdateRegistryCommand = async ( + input: UpdateRegistryCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSGlue.UpdateRegistry", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1UpdateRegistryInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1UpdateSchemaCommand = async ( + input: UpdateSchemaCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSGlue.UpdateSchema", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1UpdateSchemaInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1UpdateTableCommand = async ( input: UpdateTableCommandInput, context: __SerdeContext @@ -3528,27 +3883,27 @@ const deserializeAws_json1_1CancelMLTaskRunCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1CreateClassifierCommand = async ( +export const deserializeAws_json1_1CheckSchemaVersionValidityCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1CreateClassifierCommandError(output, context); + return deserializeAws_json1_1CheckSchemaVersionValidityCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1CreateClassifierResponse(data, context); - const response: CreateClassifierCommandOutput = { + contents = deserializeAws_json1_1CheckSchemaVersionValidityResponse(data, context); + const response: CheckSchemaVersionValidityCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1CreateClassifierCommandError = async ( +const deserializeAws_json1_1CheckSchemaVersionValidityCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3558,26 +3913,26 @@ const deserializeAws_json1_1CreateClassifierCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { - case "AlreadyExistsException": - case "com.amazonaws.glue#AlreadyExistsException": + case "AccessDeniedException": + case "com.amazonaws.glue#AccessDeniedException": response = { - ...(await deserializeAws_json1_1AlreadyExistsExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "InvalidInputException": - case "com.amazonaws.glue#InvalidInputException": + case "InternalServiceException": + case "com.amazonaws.glue#InternalServiceException": response = { - ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1InternalServiceExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "OperationTimeoutException": - case "com.amazonaws.glue#OperationTimeoutException": + case "InvalidInputException": + case "com.amazonaws.glue#InvalidInputException": response = { - ...(await deserializeAws_json1_1OperationTimeoutExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -3599,12 +3954,83 @@ const deserializeAws_json1_1CreateClassifierCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1CreateConnectionCommand = async ( +export const deserializeAws_json1_1CreateClassifierCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1CreateConnectionCommandError(output, context); + return deserializeAws_json1_1CreateClassifierCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1CreateClassifierResponse(data, context); + const response: CreateClassifierCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1CreateClassifierCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "AlreadyExistsException": + case "com.amazonaws.glue#AlreadyExistsException": + response = { + ...(await deserializeAws_json1_1AlreadyExistsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidInputException": + case "com.amazonaws.glue#InvalidInputException": + response = { + ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OperationTimeoutException": + case "com.amazonaws.glue#OperationTimeoutException": + response = { + ...(await deserializeAws_json1_1OperationTimeoutExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1CreateConnectionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1CreateConnectionCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; @@ -4280,6 +4706,188 @@ const deserializeAws_json1_1CreatePartitionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1CreateRegistryCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1CreateRegistryCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1CreateRegistryResponse(data, context); + const response: CreateRegistryCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1CreateRegistryCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.glue#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "AlreadyExistsException": + case "com.amazonaws.glue#AlreadyExistsException": + response = { + ...(await deserializeAws_json1_1AlreadyExistsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServiceException": + case "com.amazonaws.glue#InternalServiceException": + response = { + ...(await deserializeAws_json1_1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidInputException": + case "com.amazonaws.glue#InvalidInputException": + response = { + ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNumberLimitExceededException": + case "com.amazonaws.glue#ResourceNumberLimitExceededException": + response = { + ...(await deserializeAws_json1_1ResourceNumberLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1CreateSchemaCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1CreateSchemaCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1CreateSchemaResponse(data, context); + const response: CreateSchemaCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1CreateSchemaCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.glue#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "AlreadyExistsException": + case "com.amazonaws.glue#AlreadyExistsException": + response = { + ...(await deserializeAws_json1_1AlreadyExistsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "EntityNotFoundException": + case "com.amazonaws.glue#EntityNotFoundException": + response = { + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServiceException": + case "com.amazonaws.glue#InternalServiceException": + response = { + ...(await deserializeAws_json1_1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidInputException": + case "com.amazonaws.glue#InvalidInputException": + response = { + ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNumberLimitExceededException": + case "com.amazonaws.glue#ResourceNumberLimitExceededException": + response = { + ...(await deserializeAws_json1_1ResourceNumberLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1CreateScriptCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -5616,27 +6224,27 @@ const deserializeAws_json1_1DeletePartitionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DeleteResourcePolicyCommand = async ( +export const deserializeAws_json1_1DeleteRegistryCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DeleteResourcePolicyCommandError(output, context); + return deserializeAws_json1_1DeleteRegistryCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DeleteResourcePolicyResponse(data, context); - const response: DeleteResourcePolicyCommandOutput = { + contents = deserializeAws_json1_1DeleteRegistryResponse(data, context); + const response: DeleteRegistryCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DeleteResourcePolicyCommandError = async ( +const deserializeAws_json1_1DeleteRegistryCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -5646,17 +6254,96 @@ const deserializeAws_json1_1DeleteResourcePolicyCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { - case "ConditionCheckFailureException": - case "com.amazonaws.glue#ConditionCheckFailureException": + case "AccessDeniedException": + case "com.amazonaws.glue#AccessDeniedException": response = { - ...(await deserializeAws_json1_1ConditionCheckFailureExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "EntityNotFoundException": - case "com.amazonaws.glue#EntityNotFoundException": - response = { + case "ConcurrentModificationException": + case "com.amazonaws.glue#ConcurrentModificationException": + response = { + ...(await deserializeAws_json1_1ConcurrentModificationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "EntityNotFoundException": + case "com.amazonaws.glue#EntityNotFoundException": + response = { + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidInputException": + case "com.amazonaws.glue#InvalidInputException": + response = { + ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1DeleteResourcePolicyCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DeleteResourcePolicyCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DeleteResourcePolicyResponse(data, context); + const response: DeleteResourcePolicyCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DeleteResourcePolicyCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "ConditionCheckFailureException": + case "com.amazonaws.glue#ConditionCheckFailureException": + response = { + ...(await deserializeAws_json1_1ConditionCheckFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "EntityNotFoundException": + case "com.amazonaws.glue#EntityNotFoundException": + response = { ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), @@ -5703,6 +6390,164 @@ const deserializeAws_json1_1DeleteResourcePolicyCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1DeleteSchemaCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DeleteSchemaCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DeleteSchemaResponse(data, context); + const response: DeleteSchemaCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DeleteSchemaCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.glue#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConcurrentModificationException": + case "com.amazonaws.glue#ConcurrentModificationException": + response = { + ...(await deserializeAws_json1_1ConcurrentModificationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "EntityNotFoundException": + case "com.amazonaws.glue#EntityNotFoundException": + response = { + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidInputException": + case "com.amazonaws.glue#InvalidInputException": + response = { + ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1DeleteSchemaVersionsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DeleteSchemaVersionsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DeleteSchemaVersionsResponse(data, context); + const response: DeleteSchemaVersionsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DeleteSchemaVersionsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.glue#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConcurrentModificationException": + case "com.amazonaws.glue#ConcurrentModificationException": + response = { + ...(await deserializeAws_json1_1ConcurrentModificationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "EntityNotFoundException": + case "com.amazonaws.glue#EntityNotFoundException": + response = { + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidInputException": + case "com.amazonaws.glue#InvalidInputException": + response = { + ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1DeleteSecurityConfigurationCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -8459,27 +9304,27 @@ const deserializeAws_json1_1GetPlanCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1GetResourcePoliciesCommand = async ( +export const deserializeAws_json1_1GetRegistryCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1GetResourcePoliciesCommandError(output, context); + return deserializeAws_json1_1GetRegistryCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1GetResourcePoliciesResponse(data, context); - const response: GetResourcePoliciesCommandOutput = { + contents = deserializeAws_json1_1GetRegistryResponse(data, context); + const response: GetRegistryCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1GetResourcePoliciesCommandError = async ( +const deserializeAws_json1_1GetRegistryCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -8489,10 +9334,18 @@ const deserializeAws_json1_1GetResourcePoliciesCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { - case "GlueEncryptionException": - case "com.amazonaws.glue#GlueEncryptionException": + case "AccessDeniedException": + case "com.amazonaws.glue#AccessDeniedException": response = { - ...(await deserializeAws_json1_1GlueEncryptionExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "EntityNotFoundException": + case "com.amazonaws.glue#EntityNotFoundException": + response = { + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -8513,14 +9366,6 @@ const deserializeAws_json1_1GetResourcePoliciesCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "OperationTimeoutException": - case "com.amazonaws.glue#OperationTimeoutException": - response = { - ...(await deserializeAws_json1_1OperationTimeoutExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -8538,27 +9383,27 @@ const deserializeAws_json1_1GetResourcePoliciesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1GetResourcePolicyCommand = async ( +export const deserializeAws_json1_1GetResourcePoliciesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1GetResourcePolicyCommandError(output, context); + return deserializeAws_json1_1GetResourcePoliciesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1GetResourcePolicyResponse(data, context); - const response: GetResourcePolicyCommandOutput = { + contents = deserializeAws_json1_1GetResourcePoliciesResponse(data, context); + const response: GetResourcePoliciesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1GetResourcePolicyCommandError = async ( +const deserializeAws_json1_1GetResourcePoliciesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -8568,10 +9413,10 @@ const deserializeAws_json1_1GetResourcePolicyCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { - case "EntityNotFoundException": - case "com.amazonaws.glue#EntityNotFoundException": + case "GlueEncryptionException": + case "com.amazonaws.glue#GlueEncryptionException": response = { - ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1GlueEncryptionExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -8617,27 +9462,27 @@ const deserializeAws_json1_1GetResourcePolicyCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1GetSecurityConfigurationCommand = async ( +export const deserializeAws_json1_1GetResourcePolicyCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1GetSecurityConfigurationCommandError(output, context); + return deserializeAws_json1_1GetResourcePolicyCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1GetSecurityConfigurationResponse(data, context); - const response: GetSecurityConfigurationCommandOutput = { + contents = deserializeAws_json1_1GetResourcePolicyResponse(data, context); + const response: GetResourcePolicyCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1GetSecurityConfigurationCommandError = async ( +const deserializeAws_json1_1GetResourcePolicyCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -8696,27 +9541,27 @@ const deserializeAws_json1_1GetSecurityConfigurationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1GetSecurityConfigurationsCommand = async ( +export const deserializeAws_json1_1GetSchemaCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1GetSecurityConfigurationsCommandError(output, context); + return deserializeAws_json1_1GetSchemaCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1GetSecurityConfigurationsResponse(data, context); - const response: GetSecurityConfigurationsCommandOutput = { + contents = deserializeAws_json1_1GetSchemaResponse(data, context); + const response: GetSchemaCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1GetSecurityConfigurationsCommandError = async ( +const deserializeAws_json1_1GetSchemaCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -8726,6 +9571,14 @@ const deserializeAws_json1_1GetSecurityConfigurationsCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.glue#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "EntityNotFoundException": case "com.amazonaws.glue#EntityNotFoundException": response = { @@ -8750,14 +9603,6 @@ const deserializeAws_json1_1GetSecurityConfigurationsCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "OperationTimeoutException": - case "com.amazonaws.glue#OperationTimeoutException": - response = { - ...(await deserializeAws_json1_1OperationTimeoutExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -8775,27 +9620,27 @@ const deserializeAws_json1_1GetSecurityConfigurationsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1GetTableCommand = async ( +export const deserializeAws_json1_1GetSchemaByDefinitionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1GetTableCommandError(output, context); + return deserializeAws_json1_1GetSchemaByDefinitionCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1GetTableResponse(data, context); - const response: GetTableCommandOutput = { + contents = deserializeAws_json1_1GetSchemaByDefinitionResponse(data, context); + const response: GetSchemaByDefinitionCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1GetTableCommandError = async ( +const deserializeAws_json1_1GetSchemaByDefinitionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -8805,18 +9650,18 @@ const deserializeAws_json1_1GetTableCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { - case "EntityNotFoundException": - case "com.amazonaws.glue#EntityNotFoundException": + case "AccessDeniedException": + case "com.amazonaws.glue#AccessDeniedException": response = { - ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "GlueEncryptionException": - case "com.amazonaws.glue#GlueEncryptionException": + case "EntityNotFoundException": + case "com.amazonaws.glue#EntityNotFoundException": response = { - ...(await deserializeAws_json1_1GlueEncryptionExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -8837,14 +9682,6 @@ const deserializeAws_json1_1GetTableCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "OperationTimeoutException": - case "com.amazonaws.glue#OperationTimeoutException": - response = { - ...(await deserializeAws_json1_1OperationTimeoutExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -8862,27 +9699,27 @@ const deserializeAws_json1_1GetTableCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1GetTablesCommand = async ( +export const deserializeAws_json1_1GetSchemaVersionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1GetTablesCommandError(output, context); + return deserializeAws_json1_1GetSchemaVersionCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1GetTablesResponse(data, context); - const response: GetTablesCommandOutput = { + contents = deserializeAws_json1_1GetSchemaVersionResponse(data, context); + const response: GetSchemaVersionCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1GetTablesCommandError = async ( +const deserializeAws_json1_1GetSchemaVersionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -8892,18 +9729,18 @@ const deserializeAws_json1_1GetTablesCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { - case "EntityNotFoundException": - case "com.amazonaws.glue#EntityNotFoundException": + case "AccessDeniedException": + case "com.amazonaws.glue#AccessDeniedException": response = { - ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "GlueEncryptionException": - case "com.amazonaws.glue#GlueEncryptionException": + case "EntityNotFoundException": + case "com.amazonaws.glue#EntityNotFoundException": response = { - ...(await deserializeAws_json1_1GlueEncryptionExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -8924,14 +9761,6 @@ const deserializeAws_json1_1GetTablesCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "OperationTimeoutException": - case "com.amazonaws.glue#OperationTimeoutException": - response = { - ...(await deserializeAws_json1_1OperationTimeoutExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -8949,27 +9778,27 @@ const deserializeAws_json1_1GetTablesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1GetTableVersionCommand = async ( +export const deserializeAws_json1_1GetSchemaVersionsDiffCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1GetTableVersionCommandError(output, context); + return deserializeAws_json1_1GetSchemaVersionsDiffCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1GetTableVersionResponse(data, context); - const response: GetTableVersionCommandOutput = { + contents = deserializeAws_json1_1GetSchemaVersionsDiffResponse(data, context); + const response: GetSchemaVersionsDiffCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1GetTableVersionCommandError = async ( +const deserializeAws_json1_1GetSchemaVersionsDiffCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -8979,18 +9808,18 @@ const deserializeAws_json1_1GetTableVersionCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { - case "EntityNotFoundException": - case "com.amazonaws.glue#EntityNotFoundException": + case "AccessDeniedException": + case "com.amazonaws.glue#AccessDeniedException": response = { - ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "GlueEncryptionException": - case "com.amazonaws.glue#GlueEncryptionException": + case "EntityNotFoundException": + case "com.amazonaws.glue#EntityNotFoundException": response = { - ...(await deserializeAws_json1_1GlueEncryptionExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -9011,14 +9840,6 @@ const deserializeAws_json1_1GetTableVersionCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "OperationTimeoutException": - case "com.amazonaws.glue#OperationTimeoutException": - response = { - ...(await deserializeAws_json1_1OperationTimeoutExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -9036,27 +9857,27 @@ const deserializeAws_json1_1GetTableVersionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1GetTableVersionsCommand = async ( +export const deserializeAws_json1_1GetSecurityConfigurationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1GetTableVersionsCommandError(output, context); + return deserializeAws_json1_1GetSecurityConfigurationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1GetTableVersionsResponse(data, context); - const response: GetTableVersionsCommandOutput = { + contents = deserializeAws_json1_1GetSecurityConfigurationResponse(data, context); + const response: GetSecurityConfigurationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1GetTableVersionsCommandError = async ( +const deserializeAws_json1_1GetSecurityConfigurationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -9074,14 +9895,6 @@ const deserializeAws_json1_1GetTableVersionsCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "GlueEncryptionException": - case "com.amazonaws.glue#GlueEncryptionException": - response = { - ...(await deserializeAws_json1_1GlueEncryptionExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InternalServiceException": case "com.amazonaws.glue#InternalServiceException": response = { @@ -9123,27 +9936,27 @@ const deserializeAws_json1_1GetTableVersionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1GetTagsCommand = async ( +export const deserializeAws_json1_1GetSecurityConfigurationsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1GetTagsCommandError(output, context); + return deserializeAws_json1_1GetSecurityConfigurationsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1GetTagsResponse(data, context); - const response: GetTagsCommandOutput = { + contents = deserializeAws_json1_1GetSecurityConfigurationsResponse(data, context); + const response: GetSecurityConfigurationsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1GetTagsCommandError = async ( +const deserializeAws_json1_1GetSecurityConfigurationsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -9202,27 +10015,27 @@ const deserializeAws_json1_1GetTagsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1GetTriggerCommand = async ( +export const deserializeAws_json1_1GetTableCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1GetTriggerCommandError(output, context); + return deserializeAws_json1_1GetTableCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1GetTriggerResponse(data, context); - const response: GetTriggerCommandOutput = { + contents = deserializeAws_json1_1GetTableResponse(data, context); + const response: GetTableCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1GetTriggerCommandError = async ( +const deserializeAws_json1_1GetTableCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -9240,6 +10053,14 @@ const deserializeAws_json1_1GetTriggerCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "GlueEncryptionException": + case "com.amazonaws.glue#GlueEncryptionException": + response = { + ...(await deserializeAws_json1_1GlueEncryptionExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InternalServiceException": case "com.amazonaws.glue#InternalServiceException": response = { @@ -9281,27 +10102,27 @@ const deserializeAws_json1_1GetTriggerCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1GetTriggersCommand = async ( +export const deserializeAws_json1_1GetTablesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1GetTriggersCommandError(output, context); + return deserializeAws_json1_1GetTablesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1GetTriggersResponse(data, context); - const response: GetTriggersCommandOutput = { + contents = deserializeAws_json1_1GetTablesResponse(data, context); + const response: GetTablesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1GetTriggersCommandError = async ( +const deserializeAws_json1_1GetTablesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -9319,6 +10140,14 @@ const deserializeAws_json1_1GetTriggersCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "GlueEncryptionException": + case "com.amazonaws.glue#GlueEncryptionException": + response = { + ...(await deserializeAws_json1_1GlueEncryptionExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InternalServiceException": case "com.amazonaws.glue#InternalServiceException": response = { @@ -9360,27 +10189,27 @@ const deserializeAws_json1_1GetTriggersCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1GetUserDefinedFunctionCommand = async ( +export const deserializeAws_json1_1GetTableVersionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1GetUserDefinedFunctionCommandError(output, context); + return deserializeAws_json1_1GetTableVersionCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1GetUserDefinedFunctionResponse(data, context); - const response: GetUserDefinedFunctionCommandOutput = { + contents = deserializeAws_json1_1GetTableVersionResponse(data, context); + const response: GetTableVersionCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1GetUserDefinedFunctionCommandError = async ( +const deserializeAws_json1_1GetTableVersionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -9447,27 +10276,27 @@ const deserializeAws_json1_1GetUserDefinedFunctionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1GetUserDefinedFunctionsCommand = async ( +export const deserializeAws_json1_1GetTableVersionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1GetUserDefinedFunctionsCommandError(output, context); + return deserializeAws_json1_1GetTableVersionsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1GetUserDefinedFunctionsResponse(data, context); - const response: GetUserDefinedFunctionsCommandOutput = { + contents = deserializeAws_json1_1GetTableVersionsResponse(data, context); + const response: GetTableVersionsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1GetUserDefinedFunctionsCommandError = async ( +const deserializeAws_json1_1GetTableVersionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -9534,27 +10363,27 @@ const deserializeAws_json1_1GetUserDefinedFunctionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1GetWorkflowCommand = async ( +export const deserializeAws_json1_1GetTagsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1GetWorkflowCommandError(output, context); + return deserializeAws_json1_1GetTagsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1GetWorkflowResponse(data, context); - const response: GetWorkflowCommandOutput = { + contents = deserializeAws_json1_1GetTagsResponse(data, context); + const response: GetTagsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1GetWorkflowCommandError = async ( +const deserializeAws_json1_1GetTagsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -9613,27 +10442,27 @@ const deserializeAws_json1_1GetWorkflowCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1GetWorkflowRunCommand = async ( +export const deserializeAws_json1_1GetTriggerCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1GetWorkflowRunCommandError(output, context); + return deserializeAws_json1_1GetTriggerCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1GetWorkflowRunResponse(data, context); - const response: GetWorkflowRunCommandOutput = { + contents = deserializeAws_json1_1GetTriggerResponse(data, context); + const response: GetTriggerCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1GetWorkflowRunCommandError = async ( +const deserializeAws_json1_1GetTriggerCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -9692,27 +10521,27 @@ const deserializeAws_json1_1GetWorkflowRunCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1GetWorkflowRunPropertiesCommand = async ( +export const deserializeAws_json1_1GetTriggersCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1GetWorkflowRunPropertiesCommandError(output, context); + return deserializeAws_json1_1GetTriggersCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1GetWorkflowRunPropertiesResponse(data, context); - const response: GetWorkflowRunPropertiesCommandOutput = { + contents = deserializeAws_json1_1GetTriggersResponse(data, context); + const response: GetTriggersCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1GetWorkflowRunPropertiesCommandError = async ( +const deserializeAws_json1_1GetTriggersCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -9771,27 +10600,27 @@ const deserializeAws_json1_1GetWorkflowRunPropertiesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1GetWorkflowRunsCommand = async ( +export const deserializeAws_json1_1GetUserDefinedFunctionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1GetWorkflowRunsCommandError(output, context); + return deserializeAws_json1_1GetUserDefinedFunctionCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1GetWorkflowRunsResponse(data, context); - const response: GetWorkflowRunsCommandOutput = { + contents = deserializeAws_json1_1GetUserDefinedFunctionResponse(data, context); + const response: GetUserDefinedFunctionCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1GetWorkflowRunsCommandError = async ( +const deserializeAws_json1_1GetUserDefinedFunctionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -9809,6 +10638,14 @@ const deserializeAws_json1_1GetWorkflowRunsCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "GlueEncryptionException": + case "com.amazonaws.glue#GlueEncryptionException": + response = { + ...(await deserializeAws_json1_1GlueEncryptionExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InternalServiceException": case "com.amazonaws.glue#InternalServiceException": response = { @@ -9850,27 +10687,27 @@ const deserializeAws_json1_1GetWorkflowRunsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ImportCatalogToGlueCommand = async ( +export const deserializeAws_json1_1GetUserDefinedFunctionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ImportCatalogToGlueCommandError(output, context); + return deserializeAws_json1_1GetUserDefinedFunctionsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ImportCatalogToGlueResponse(data, context); - const response: ImportCatalogToGlueCommandOutput = { + contents = deserializeAws_json1_1GetUserDefinedFunctionsResponse(data, context); + const response: GetUserDefinedFunctionsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ImportCatalogToGlueCommandError = async ( +const deserializeAws_json1_1GetUserDefinedFunctionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -9880,6 +10717,22 @@ const deserializeAws_json1_1ImportCatalogToGlueCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { + case "EntityNotFoundException": + case "com.amazonaws.glue#EntityNotFoundException": + response = { + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "GlueEncryptionException": + case "com.amazonaws.glue#GlueEncryptionException": + response = { + ...(await deserializeAws_json1_1GlueEncryptionExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InternalServiceException": case "com.amazonaws.glue#InternalServiceException": response = { @@ -9888,6 +10741,14 @@ const deserializeAws_json1_1ImportCatalogToGlueCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "InvalidInputException": + case "com.amazonaws.glue#InvalidInputException": + response = { + ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "OperationTimeoutException": case "com.amazonaws.glue#OperationTimeoutException": response = { @@ -9913,27 +10774,27 @@ const deserializeAws_json1_1ImportCatalogToGlueCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListCrawlersCommand = async ( +export const deserializeAws_json1_1GetWorkflowCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListCrawlersCommandError(output, context); + return deserializeAws_json1_1GetWorkflowCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListCrawlersResponse(data, context); - const response: ListCrawlersCommandOutput = { + contents = deserializeAws_json1_1GetWorkflowResponse(data, context); + const response: GetWorkflowCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListCrawlersCommandError = async ( +const deserializeAws_json1_1GetWorkflowCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -9943,6 +10804,30 @@ const deserializeAws_json1_1ListCrawlersCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { + case "EntityNotFoundException": + case "com.amazonaws.glue#EntityNotFoundException": + response = { + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServiceException": + case "com.amazonaws.glue#InternalServiceException": + response = { + ...(await deserializeAws_json1_1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidInputException": + case "com.amazonaws.glue#InvalidInputException": + response = { + ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "OperationTimeoutException": case "com.amazonaws.glue#OperationTimeoutException": response = { @@ -9968,27 +10853,27 @@ const deserializeAws_json1_1ListCrawlersCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListDevEndpointsCommand = async ( +export const deserializeAws_json1_1GetWorkflowRunCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListDevEndpointsCommandError(output, context); + return deserializeAws_json1_1GetWorkflowRunCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListDevEndpointsResponse(data, context); - const response: ListDevEndpointsCommandOutput = { + contents = deserializeAws_json1_1GetWorkflowRunResponse(data, context); + const response: GetWorkflowRunCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListDevEndpointsCommandError = async ( +const deserializeAws_json1_1GetWorkflowRunCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -10047,27 +10932,27 @@ const deserializeAws_json1_1ListDevEndpointsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListJobsCommand = async ( +export const deserializeAws_json1_1GetWorkflowRunPropertiesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListJobsCommandError(output, context); + return deserializeAws_json1_1GetWorkflowRunPropertiesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListJobsResponse(data, context); - const response: ListJobsCommandOutput = { + contents = deserializeAws_json1_1GetWorkflowRunPropertiesResponse(data, context); + const response: GetWorkflowRunPropertiesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListJobsCommandError = async ( +const deserializeAws_json1_1GetWorkflowRunPropertiesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -10126,27 +11011,27 @@ const deserializeAws_json1_1ListJobsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListMLTransformsCommand = async ( +export const deserializeAws_json1_1GetWorkflowRunsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListMLTransformsCommandError(output, context); + return deserializeAws_json1_1GetWorkflowRunsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListMLTransformsResponse(data, context); - const response: ListMLTransformsCommandOutput = { + contents = deserializeAws_json1_1GetWorkflowRunsResponse(data, context); + const response: GetWorkflowRunsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListMLTransformsCommandError = async ( +const deserializeAws_json1_1GetWorkflowRunsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -10205,27 +11090,27 @@ const deserializeAws_json1_1ListMLTransformsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListTriggersCommand = async ( +export const deserializeAws_json1_1ImportCatalogToGlueCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListTriggersCommandError(output, context); + return deserializeAws_json1_1ImportCatalogToGlueCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListTriggersResponse(data, context); - const response: ListTriggersCommandOutput = { + contents = deserializeAws_json1_1ImportCatalogToGlueResponse(data, context); + const response: ImportCatalogToGlueCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListTriggersCommandError = async ( +const deserializeAws_json1_1ImportCatalogToGlueCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -10235,14 +11120,6 @@ const deserializeAws_json1_1ListTriggersCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { - case "EntityNotFoundException": - case "com.amazonaws.glue#EntityNotFoundException": - response = { - ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InternalServiceException": case "com.amazonaws.glue#InternalServiceException": response = { @@ -10251,14 +11128,6 @@ const deserializeAws_json1_1ListTriggersCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "InvalidInputException": - case "com.amazonaws.glue#InvalidInputException": - response = { - ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "OperationTimeoutException": case "com.amazonaws.glue#OperationTimeoutException": response = { @@ -10284,27 +11153,27 @@ const deserializeAws_json1_1ListTriggersCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListWorkflowsCommand = async ( +export const deserializeAws_json1_1ListCrawlersCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListWorkflowsCommandError(output, context); + return deserializeAws_json1_1ListCrawlersCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListWorkflowsResponse(data, context); - const response: ListWorkflowsCommandOutput = { + contents = deserializeAws_json1_1ListCrawlersResponse(data, context); + const response: ListCrawlersCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListWorkflowsCommandError = async ( +const deserializeAws_json1_1ListCrawlersCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -10314,22 +11183,6 @@ const deserializeAws_json1_1ListWorkflowsCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { - case "InternalServiceException": - case "com.amazonaws.glue#InternalServiceException": - response = { - ...(await deserializeAws_json1_1InternalServiceExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "InvalidInputException": - case "com.amazonaws.glue#InvalidInputException": - response = { - ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "OperationTimeoutException": case "com.amazonaws.glue#OperationTimeoutException": response = { @@ -10355,27 +11208,27 @@ const deserializeAws_json1_1ListWorkflowsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1PutDataCatalogEncryptionSettingsCommand = async ( +export const deserializeAws_json1_1ListDevEndpointsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1PutDataCatalogEncryptionSettingsCommandError(output, context); + return deserializeAws_json1_1ListDevEndpointsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1PutDataCatalogEncryptionSettingsResponse(data, context); - const response: PutDataCatalogEncryptionSettingsCommandOutput = { + contents = deserializeAws_json1_1ListDevEndpointsResponse(data, context); + const response: ListDevEndpointsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1PutDataCatalogEncryptionSettingsCommandError = async ( +const deserializeAws_json1_1ListDevEndpointsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -10385,6 +11238,14 @@ const deserializeAws_json1_1PutDataCatalogEncryptionSettingsCommandError = async const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { + case "EntityNotFoundException": + case "com.amazonaws.glue#EntityNotFoundException": + response = { + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InternalServiceException": case "com.amazonaws.glue#InternalServiceException": response = { @@ -10426,27 +11287,722 @@ const deserializeAws_json1_1PutDataCatalogEncryptionSettingsCommandError = async return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1PutResourcePolicyCommand = async ( +export const deserializeAws_json1_1ListJobsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListJobsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListJobsResponse(data, context); + const response: ListJobsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListJobsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "EntityNotFoundException": + case "com.amazonaws.glue#EntityNotFoundException": + response = { + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServiceException": + case "com.amazonaws.glue#InternalServiceException": + response = { + ...(await deserializeAws_json1_1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidInputException": + case "com.amazonaws.glue#InvalidInputException": + response = { + ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OperationTimeoutException": + case "com.amazonaws.glue#OperationTimeoutException": + response = { + ...(await deserializeAws_json1_1OperationTimeoutExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1ListMLTransformsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListMLTransformsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListMLTransformsResponse(data, context); + const response: ListMLTransformsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListMLTransformsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "EntityNotFoundException": + case "com.amazonaws.glue#EntityNotFoundException": + response = { + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServiceException": + case "com.amazonaws.glue#InternalServiceException": + response = { + ...(await deserializeAws_json1_1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidInputException": + case "com.amazonaws.glue#InvalidInputException": + response = { + ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OperationTimeoutException": + case "com.amazonaws.glue#OperationTimeoutException": + response = { + ...(await deserializeAws_json1_1OperationTimeoutExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1ListRegistriesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListRegistriesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListRegistriesResponse(data, context); + const response: ListRegistriesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListRegistriesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.glue#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServiceException": + case "com.amazonaws.glue#InternalServiceException": + response = { + ...(await deserializeAws_json1_1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidInputException": + case "com.amazonaws.glue#InvalidInputException": + response = { + ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1ListSchemasCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListSchemasCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListSchemasResponse(data, context); + const response: ListSchemasCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListSchemasCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.glue#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "EntityNotFoundException": + case "com.amazonaws.glue#EntityNotFoundException": + response = { + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServiceException": + case "com.amazonaws.glue#InternalServiceException": + response = { + ...(await deserializeAws_json1_1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidInputException": + case "com.amazonaws.glue#InvalidInputException": + response = { + ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1ListSchemaVersionsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListSchemaVersionsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListSchemaVersionsResponse(data, context); + const response: ListSchemaVersionsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListSchemaVersionsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.glue#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "EntityNotFoundException": + case "com.amazonaws.glue#EntityNotFoundException": + response = { + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServiceException": + case "com.amazonaws.glue#InternalServiceException": + response = { + ...(await deserializeAws_json1_1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidInputException": + case "com.amazonaws.glue#InvalidInputException": + response = { + ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1ListTriggersCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListTriggersCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListTriggersResponse(data, context); + const response: ListTriggersCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListTriggersCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "EntityNotFoundException": + case "com.amazonaws.glue#EntityNotFoundException": + response = { + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServiceException": + case "com.amazonaws.glue#InternalServiceException": + response = { + ...(await deserializeAws_json1_1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidInputException": + case "com.amazonaws.glue#InvalidInputException": + response = { + ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OperationTimeoutException": + case "com.amazonaws.glue#OperationTimeoutException": + response = { + ...(await deserializeAws_json1_1OperationTimeoutExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1ListWorkflowsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListWorkflowsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListWorkflowsResponse(data, context); + const response: ListWorkflowsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListWorkflowsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "InternalServiceException": + case "com.amazonaws.glue#InternalServiceException": + response = { + ...(await deserializeAws_json1_1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidInputException": + case "com.amazonaws.glue#InvalidInputException": + response = { + ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OperationTimeoutException": + case "com.amazonaws.glue#OperationTimeoutException": + response = { + ...(await deserializeAws_json1_1OperationTimeoutExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1PutDataCatalogEncryptionSettingsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1PutDataCatalogEncryptionSettingsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1PutDataCatalogEncryptionSettingsResponse(data, context); + const response: PutDataCatalogEncryptionSettingsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1PutDataCatalogEncryptionSettingsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "InternalServiceException": + case "com.amazonaws.glue#InternalServiceException": + response = { + ...(await deserializeAws_json1_1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidInputException": + case "com.amazonaws.glue#InvalidInputException": + response = { + ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OperationTimeoutException": + case "com.amazonaws.glue#OperationTimeoutException": + response = { + ...(await deserializeAws_json1_1OperationTimeoutExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1PutResourcePolicyCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1PutResourcePolicyCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1PutResourcePolicyResponse(data, context); + const response: PutResourcePolicyCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1PutResourcePolicyCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "ConditionCheckFailureException": + case "com.amazonaws.glue#ConditionCheckFailureException": + response = { + ...(await deserializeAws_json1_1ConditionCheckFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "EntityNotFoundException": + case "com.amazonaws.glue#EntityNotFoundException": + response = { + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServiceException": + case "com.amazonaws.glue#InternalServiceException": + response = { + ...(await deserializeAws_json1_1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidInputException": + case "com.amazonaws.glue#InvalidInputException": + response = { + ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OperationTimeoutException": + case "com.amazonaws.glue#OperationTimeoutException": + response = { + ...(await deserializeAws_json1_1OperationTimeoutExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1PutSchemaVersionMetadataCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1PutResourcePolicyCommandError(output, context); + return deserializeAws_json1_1PutSchemaVersionMetadataCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1PutResourcePolicyResponse(data, context); - const response: PutResourcePolicyCommandOutput = { + contents = deserializeAws_json1_1PutSchemaVersionMetadataResponse(data, context); + const response: PutSchemaVersionMetadataCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1PutResourcePolicyCommandError = async ( +const deserializeAws_json1_1PutSchemaVersionMetadataCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -10456,26 +12012,26 @@ const deserializeAws_json1_1PutResourcePolicyCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { - case "ConditionCheckFailureException": - case "com.amazonaws.glue#ConditionCheckFailureException": + case "AccessDeniedException": + case "com.amazonaws.glue#AccessDeniedException": response = { - ...(await deserializeAws_json1_1ConditionCheckFailureExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "EntityNotFoundException": - case "com.amazonaws.glue#EntityNotFoundException": + case "AlreadyExistsException": + case "com.amazonaws.glue#AlreadyExistsException": response = { - ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1AlreadyExistsExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "InternalServiceException": - case "com.amazonaws.glue#InternalServiceException": + case "EntityNotFoundException": + case "com.amazonaws.glue#EntityNotFoundException": response = { - ...(await deserializeAws_json1_1InternalServiceExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -10488,10 +12044,10 @@ const deserializeAws_json1_1PutResourcePolicyCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "OperationTimeoutException": - case "com.amazonaws.glue#OperationTimeoutException": + case "ResourceNumberLimitExceededException": + case "com.amazonaws.glue#ResourceNumberLimitExceededException": response = { - ...(await deserializeAws_json1_1OperationTimeoutExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1ResourceNumberLimitExceededExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -10578,23 +12134,260 @@ const deserializeAws_json1_1PutWorkflowRunPropertiesCommandError = async ( case "InvalidInputException": case "com.amazonaws.glue#InvalidInputException": response = { - ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OperationTimeoutException": + case "com.amazonaws.glue#OperationTimeoutException": + response = { + ...(await deserializeAws_json1_1OperationTimeoutExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNumberLimitExceededException": + case "com.amazonaws.glue#ResourceNumberLimitExceededException": + response = { + ...(await deserializeAws_json1_1ResourceNumberLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1QuerySchemaVersionMetadataCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1QuerySchemaVersionMetadataCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1QuerySchemaVersionMetadataResponse(data, context); + const response: QuerySchemaVersionMetadataCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1QuerySchemaVersionMetadataCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.glue#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "EntityNotFoundException": + case "com.amazonaws.glue#EntityNotFoundException": + response = { + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidInputException": + case "com.amazonaws.glue#InvalidInputException": + response = { + ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1RegisterSchemaVersionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1RegisterSchemaVersionCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1RegisterSchemaVersionResponse(data, context); + const response: RegisterSchemaVersionCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1RegisterSchemaVersionCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.glue#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConcurrentModificationException": + case "com.amazonaws.glue#ConcurrentModificationException": + response = { + ...(await deserializeAws_json1_1ConcurrentModificationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "EntityNotFoundException": + case "com.amazonaws.glue#EntityNotFoundException": + response = { + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServiceException": + case "com.amazonaws.glue#InternalServiceException": + response = { + ...(await deserializeAws_json1_1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidInputException": + case "com.amazonaws.glue#InvalidInputException": + response = { + ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNumberLimitExceededException": + case "com.amazonaws.glue#ResourceNumberLimitExceededException": + response = { + ...(await deserializeAws_json1_1ResourceNumberLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1RemoveSchemaVersionMetadataCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1RemoveSchemaVersionMetadataCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1RemoveSchemaVersionMetadataResponse(data, context); + const response: RemoveSchemaVersionMetadataCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1RemoveSchemaVersionMetadataCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.glue#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "OperationTimeoutException": - case "com.amazonaws.glue#OperationTimeoutException": + case "EntityNotFoundException": + case "com.amazonaws.glue#EntityNotFoundException": response = { - ...(await deserializeAws_json1_1OperationTimeoutExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "ResourceNumberLimitExceededException": - case "com.amazonaws.glue#ResourceNumberLimitExceededException": + case "InvalidInputException": + case "com.amazonaws.glue#InvalidInputException": response = { - ...(await deserializeAws_json1_1ResourceNumberLimitExceededExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -13083,6 +14876,180 @@ const deserializeAws_json1_1UpdatePartitionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1UpdateRegistryCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1UpdateRegistryCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1UpdateRegistryResponse(data, context); + const response: UpdateRegistryCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1UpdateRegistryCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.glue#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConcurrentModificationException": + case "com.amazonaws.glue#ConcurrentModificationException": + response = { + ...(await deserializeAws_json1_1ConcurrentModificationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "EntityNotFoundException": + case "com.amazonaws.glue#EntityNotFoundException": + response = { + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServiceException": + case "com.amazonaws.glue#InternalServiceException": + response = { + ...(await deserializeAws_json1_1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidInputException": + case "com.amazonaws.glue#InvalidInputException": + response = { + ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_json1_1UpdateSchemaCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1UpdateSchemaCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1UpdateSchemaResponse(data, context); + const response: UpdateSchemaCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1UpdateSchemaCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.glue#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConcurrentModificationException": + case "com.amazonaws.glue#ConcurrentModificationException": + response = { + ...(await deserializeAws_json1_1ConcurrentModificationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "EntityNotFoundException": + case "com.amazonaws.glue#EntityNotFoundException": + response = { + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServiceException": + case "com.amazonaws.glue#InternalServiceException": + response = { + ...(await deserializeAws_json1_1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidInputException": + case "com.amazonaws.glue#InvalidInputException": + response = { + ...(await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1UpdateTableCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -14084,6 +16051,16 @@ const serializeAws_json1_1CatalogTargetList = (input: CatalogTarget[], context: return input.map((entry) => serializeAws_json1_1CatalogTarget(entry, context)); }; +const serializeAws_json1_1CheckSchemaVersionValidityInput = ( + input: CheckSchemaVersionValidityInput, + context: __SerdeContext +): any => { + return { + ...(input.DataFormat !== undefined && { DataFormat: input.DataFormat }), + ...(input.SchemaDefinition !== undefined && { SchemaDefinition: input.SchemaDefinition }), + }; +}; + const serializeAws_json1_1ClassifierNameList = (input: string[], context: __SerdeContext): any => { return input.map((entry) => entry); }; @@ -14477,6 +16454,26 @@ const serializeAws_json1_1CreatePartitionRequest = (input: CreatePartitionReques }; }; +const serializeAws_json1_1CreateRegistryInput = (input: CreateRegistryInput, context: __SerdeContext): any => { + return { + ...(input.Description !== undefined && { Description: input.Description }), + ...(input.RegistryName !== undefined && { RegistryName: input.RegistryName }), + ...(input.Tags !== undefined && { Tags: serializeAws_json1_1TagsMap(input.Tags, context) }), + }; +}; + +const serializeAws_json1_1CreateSchemaInput = (input: CreateSchemaInput, context: __SerdeContext): any => { + return { + ...(input.Compatibility !== undefined && { Compatibility: input.Compatibility }), + ...(input.DataFormat !== undefined && { DataFormat: input.DataFormat }), + ...(input.Description !== undefined && { Description: input.Description }), + ...(input.RegistryId !== undefined && { RegistryId: serializeAws_json1_1RegistryId(input.RegistryId, context) }), + ...(input.SchemaDefinition !== undefined && { SchemaDefinition: input.SchemaDefinition }), + ...(input.SchemaName !== undefined && { SchemaName: input.SchemaName }), + ...(input.Tags !== undefined && { Tags: serializeAws_json1_1TagsMap(input.Tags, context) }), + }; +}; + const serializeAws_json1_1CreateScriptRequest = (input: CreateScriptRequest, context: __SerdeContext): any => { return { ...(input.DagEdges !== undefined && { DagEdges: serializeAws_json1_1DagEdges(input.DagEdges, context) }), @@ -14747,6 +16744,12 @@ const serializeAws_json1_1DeletePartitionRequest = (input: DeletePartitionReques }; }; +const serializeAws_json1_1DeleteRegistryInput = (input: DeleteRegistryInput, context: __SerdeContext): any => { + return { + ...(input.RegistryId !== undefined && { RegistryId: serializeAws_json1_1RegistryId(input.RegistryId, context) }), + }; +}; + const serializeAws_json1_1DeleteResourcePolicyRequest = ( input: DeleteResourcePolicyRequest, context: __SerdeContext @@ -14757,6 +16760,22 @@ const serializeAws_json1_1DeleteResourcePolicyRequest = ( }; }; +const serializeAws_json1_1DeleteSchemaInput = (input: DeleteSchemaInput, context: __SerdeContext): any => { + return { + ...(input.SchemaId !== undefined && { SchemaId: serializeAws_json1_1SchemaId(input.SchemaId, context) }), + }; +}; + +const serializeAws_json1_1DeleteSchemaVersionsInput = ( + input: DeleteSchemaVersionsInput, + context: __SerdeContext +): any => { + return { + ...(input.SchemaId !== undefined && { SchemaId: serializeAws_json1_1SchemaId(input.SchemaId, context) }), + ...(input.Versions !== undefined && { Versions: input.Versions }), + }; +}; + const serializeAws_json1_1DeleteSecurityConfigurationRequest = ( input: DeleteSecurityConfigurationRequest, context: __SerdeContext @@ -15171,6 +17190,12 @@ const serializeAws_json1_1GetPlanRequest = (input: GetPlanRequest, context: __Se }; }; +const serializeAws_json1_1GetRegistryInput = (input: GetRegistryInput, context: __SerdeContext): any => { + return { + ...(input.RegistryId !== undefined && { RegistryId: serializeAws_json1_1RegistryId(input.RegistryId, context) }), + }; +}; + const serializeAws_json1_1GetResourcePoliciesRequest = ( input: GetResourcePoliciesRequest, context: __SerdeContext @@ -15190,6 +17215,48 @@ const serializeAws_json1_1GetResourcePolicyRequest = ( }; }; +const serializeAws_json1_1GetSchemaByDefinitionInput = ( + input: GetSchemaByDefinitionInput, + context: __SerdeContext +): any => { + return { + ...(input.SchemaDefinition !== undefined && { SchemaDefinition: input.SchemaDefinition }), + ...(input.SchemaId !== undefined && { SchemaId: serializeAws_json1_1SchemaId(input.SchemaId, context) }), + }; +}; + +const serializeAws_json1_1GetSchemaInput = (input: GetSchemaInput, context: __SerdeContext): any => { + return { + ...(input.SchemaId !== undefined && { SchemaId: serializeAws_json1_1SchemaId(input.SchemaId, context) }), + }; +}; + +const serializeAws_json1_1GetSchemaVersionInput = (input: GetSchemaVersionInput, context: __SerdeContext): any => { + return { + ...(input.SchemaId !== undefined && { SchemaId: serializeAws_json1_1SchemaId(input.SchemaId, context) }), + ...(input.SchemaVersionId !== undefined && { SchemaVersionId: input.SchemaVersionId }), + ...(input.SchemaVersionNumber !== undefined && { + SchemaVersionNumber: serializeAws_json1_1SchemaVersionNumber(input.SchemaVersionNumber, context), + }), + }; +}; + +const serializeAws_json1_1GetSchemaVersionsDiffInput = ( + input: GetSchemaVersionsDiffInput, + context: __SerdeContext +): any => { + return { + ...(input.FirstSchemaVersionNumber !== undefined && { + FirstSchemaVersionNumber: serializeAws_json1_1SchemaVersionNumber(input.FirstSchemaVersionNumber, context), + }), + ...(input.SchemaDiffType !== undefined && { SchemaDiffType: input.SchemaDiffType }), + ...(input.SchemaId !== undefined && { SchemaId: serializeAws_json1_1SchemaId(input.SchemaId, context) }), + ...(input.SecondSchemaVersionNumber !== undefined && { + SecondSchemaVersionNumber: serializeAws_json1_1SchemaVersionNumber(input.SecondSchemaVersionNumber, context), + }), + }; +}; + const serializeAws_json1_1GetSecurityConfigurationRequest = ( input: GetSecurityConfigurationRequest, context: __SerdeContext @@ -15441,11 +17508,34 @@ const serializeAws_json1_1ListJobsRequest = (input: ListJobsRequest, context: __ const serializeAws_json1_1ListMLTransformsRequest = (input: ListMLTransformsRequest, context: __SerdeContext): any => { return { - ...(input.Filter !== undefined && { Filter: serializeAws_json1_1TransformFilterCriteria(input.Filter, context) }), + ...(input.Filter !== undefined && { Filter: serializeAws_json1_1TransformFilterCriteria(input.Filter, context) }), + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.Sort !== undefined && { Sort: serializeAws_json1_1TransformSortCriteria(input.Sort, context) }), + ...(input.Tags !== undefined && { Tags: serializeAws_json1_1TagsMap(input.Tags, context) }), + }; +}; + +const serializeAws_json1_1ListRegistriesInput = (input: ListRegistriesInput, context: __SerdeContext): any => { + return { + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + }; +}; + +const serializeAws_json1_1ListSchemasInput = (input: ListSchemasInput, context: __SerdeContext): any => { + return { + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.RegistryId !== undefined && { RegistryId: serializeAws_json1_1RegistryId(input.RegistryId, context) }), + }; +}; + +const serializeAws_json1_1ListSchemaVersionsInput = (input: ListSchemaVersionsInput, context: __SerdeContext): any => { + return { ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), ...(input.NextToken !== undefined && { NextToken: input.NextToken }), - ...(input.Sort !== undefined && { Sort: serializeAws_json1_1TransformSortCriteria(input.Sort, context) }), - ...(input.Tags !== undefined && { Tags: serializeAws_json1_1TagsMap(input.Tags, context) }), + ...(input.SchemaId !== undefined && { SchemaId: serializeAws_json1_1SchemaId(input.SchemaId, context) }), }; }; @@ -15524,6 +17614,17 @@ const serializeAws_json1_1MatchCriteria = (input: string[], context: __SerdeCont return input.map((entry) => entry); }; +const serializeAws_json1_1MetadataKeyValuePair = (input: MetadataKeyValuePair, context: __SerdeContext): any => { + return { + ...(input.MetadataKey !== undefined && { MetadataKey: input.MetadataKey }), + ...(input.MetadataValue !== undefined && { MetadataValue: input.MetadataValue }), + }; +}; + +const serializeAws_json1_1MetadataList = (input: MetadataKeyValuePair[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_json1_1MetadataKeyValuePair(entry, context)); +}; + const serializeAws_json1_1MLUserDataEncryption = (input: MLUserDataEncryption, context: __SerdeContext): any => { return { ...(input.KmsKeyId !== undefined && { KmsKeyId: input.KmsKeyId }), @@ -15700,6 +17801,22 @@ const serializeAws_json1_1PutResourcePolicyRequest = ( }; }; +const serializeAws_json1_1PutSchemaVersionMetadataInput = ( + input: PutSchemaVersionMetadataInput, + context: __SerdeContext +): any => { + return { + ...(input.MetadataKeyValue !== undefined && { + MetadataKeyValue: serializeAws_json1_1MetadataKeyValuePair(input.MetadataKeyValue, context), + }), + ...(input.SchemaId !== undefined && { SchemaId: serializeAws_json1_1SchemaId(input.SchemaId, context) }), + ...(input.SchemaVersionId !== undefined && { SchemaVersionId: input.SchemaVersionId }), + ...(input.SchemaVersionNumber !== undefined && { + SchemaVersionNumber: serializeAws_json1_1SchemaVersionNumber(input.SchemaVersionNumber, context), + }), + }; +}; + const serializeAws_json1_1PutWorkflowRunPropertiesRequest = ( input: PutWorkflowRunPropertiesRequest, context: __SerdeContext @@ -15713,12 +17830,63 @@ const serializeAws_json1_1PutWorkflowRunPropertiesRequest = ( }; }; +const serializeAws_json1_1QuerySchemaVersionMetadataInput = ( + input: QuerySchemaVersionMetadataInput, + context: __SerdeContext +): any => { + return { + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.MetadataList !== undefined && { + MetadataList: serializeAws_json1_1MetadataList(input.MetadataList, context), + }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.SchemaId !== undefined && { SchemaId: serializeAws_json1_1SchemaId(input.SchemaId, context) }), + ...(input.SchemaVersionId !== undefined && { SchemaVersionId: input.SchemaVersionId }), + ...(input.SchemaVersionNumber !== undefined && { + SchemaVersionNumber: serializeAws_json1_1SchemaVersionNumber(input.SchemaVersionNumber, context), + }), + }; +}; + const serializeAws_json1_1RecrawlPolicy = (input: RecrawlPolicy, context: __SerdeContext): any => { return { ...(input.RecrawlBehavior !== undefined && { RecrawlBehavior: input.RecrawlBehavior }), }; }; +const serializeAws_json1_1RegisterSchemaVersionInput = ( + input: RegisterSchemaVersionInput, + context: __SerdeContext +): any => { + return { + ...(input.SchemaDefinition !== undefined && { SchemaDefinition: input.SchemaDefinition }), + ...(input.SchemaId !== undefined && { SchemaId: serializeAws_json1_1SchemaId(input.SchemaId, context) }), + }; +}; + +const serializeAws_json1_1RegistryId = (input: RegistryId, context: __SerdeContext): any => { + return { + ...(input.RegistryArn !== undefined && { RegistryArn: input.RegistryArn }), + ...(input.RegistryName !== undefined && { RegistryName: input.RegistryName }), + }; +}; + +const serializeAws_json1_1RemoveSchemaVersionMetadataInput = ( + input: RemoveSchemaVersionMetadataInput, + context: __SerdeContext +): any => { + return { + ...(input.MetadataKeyValue !== undefined && { + MetadataKeyValue: serializeAws_json1_1MetadataKeyValuePair(input.MetadataKeyValue, context), + }), + ...(input.SchemaId !== undefined && { SchemaId: serializeAws_json1_1SchemaId(input.SchemaId, context) }), + ...(input.SchemaVersionId !== undefined && { SchemaVersionId: input.SchemaVersionId }), + ...(input.SchemaVersionNumber !== undefined && { + SchemaVersionNumber: serializeAws_json1_1SchemaVersionNumber(input.SchemaVersionNumber, context), + }), + }; +}; + const serializeAws_json1_1ResetJobBookmarkRequest = (input: ResetJobBookmarkRequest, context: __SerdeContext): any => { return { ...(input.JobName !== undefined && { JobName: input.JobName }), @@ -15785,6 +17953,29 @@ const serializeAws_json1_1SchemaColumn = (input: SchemaColumn, context: __SerdeC }; }; +const serializeAws_json1_1SchemaId = (input: SchemaId, context: __SerdeContext): any => { + return { + ...(input.RegistryName !== undefined && { RegistryName: input.RegistryName }), + ...(input.SchemaArn !== undefined && { SchemaArn: input.SchemaArn }), + ...(input.SchemaName !== undefined && { SchemaName: input.SchemaName }), + }; +}; + +const serializeAws_json1_1SchemaReference = (input: SchemaReference, context: __SerdeContext): any => { + return { + ...(input.SchemaId !== undefined && { SchemaId: serializeAws_json1_1SchemaId(input.SchemaId, context) }), + ...(input.SchemaVersionId !== undefined && { SchemaVersionId: input.SchemaVersionId }), + ...(input.SchemaVersionNumber !== undefined && { SchemaVersionNumber: input.SchemaVersionNumber }), + }; +}; + +const serializeAws_json1_1SchemaVersionNumber = (input: SchemaVersionNumber, context: __SerdeContext): any => { + return { + ...(input.LatestVersion !== undefined && { LatestVersion: input.LatestVersion }), + ...(input.VersionNumber !== undefined && { VersionNumber: input.VersionNumber }), + }; +}; + const serializeAws_json1_1SearchPropertyPredicates = (input: PropertyPredicate[], context: __SerdeContext): any => { return input.map((entry) => serializeAws_json1_1PropertyPredicate(entry, context)); }; @@ -15973,6 +18164,9 @@ const serializeAws_json1_1StorageDescriptor = (input: StorageDescriptor, context ...(input.NumberOfBuckets !== undefined && { NumberOfBuckets: input.NumberOfBuckets }), ...(input.OutputFormat !== undefined && { OutputFormat: input.OutputFormat }), ...(input.Parameters !== undefined && { Parameters: serializeAws_json1_1ParametersMap(input.Parameters, context) }), + ...(input.SchemaReference !== undefined && { + SchemaReference: serializeAws_json1_1SchemaReference(input.SchemaReference, context), + }), ...(input.SerdeInfo !== undefined && { SerdeInfo: serializeAws_json1_1SerDeInfo(input.SerdeInfo, context) }), ...(input.SkewedInfo !== undefined && { SkewedInfo: serializeAws_json1_1SkewedInfo(input.SkewedInfo, context) }), ...(input.SortColumns !== undefined && { SortColumns: serializeAws_json1_1OrderList(input.SortColumns, context) }), @@ -16351,6 +18545,24 @@ const serializeAws_json1_1UpdatePartitionRequest = (input: UpdatePartitionReques }; }; +const serializeAws_json1_1UpdateRegistryInput = (input: UpdateRegistryInput, context: __SerdeContext): any => { + return { + ...(input.Description !== undefined && { Description: input.Description }), + ...(input.RegistryId !== undefined && { RegistryId: serializeAws_json1_1RegistryId(input.RegistryId, context) }), + }; +}; + +const serializeAws_json1_1UpdateSchemaInput = (input: UpdateSchemaInput, context: __SerdeContext): any => { + return { + ...(input.Compatibility !== undefined && { Compatibility: input.Compatibility }), + ...(input.Description !== undefined && { Description: input.Description }), + ...(input.SchemaId !== undefined && { SchemaId: serializeAws_json1_1SchemaId(input.SchemaId, context) }), + ...(input.SchemaVersionNumber !== undefined && { + SchemaVersionNumber: serializeAws_json1_1SchemaVersionNumber(input.SchemaVersionNumber, context), + }), + }; +}; + const serializeAws_json1_1UpdateTableRequest = (input: UpdateTableRequest, context: __SerdeContext): any => { return { ...(input.CatalogId !== undefined && { CatalogId: input.CatalogId }), @@ -16797,6 +19009,16 @@ const deserializeAws_json1_1CatalogTargetList = (output: any, context: __SerdeCo return (output || []).map((entry: any) => deserializeAws_json1_1CatalogTarget(entry, context)); }; +const deserializeAws_json1_1CheckSchemaVersionValidityResponse = ( + output: any, + context: __SerdeContext +): CheckSchemaVersionValidityResponse => { + return { + Error: output.Error !== undefined && output.Error !== null ? output.Error : undefined, + Valid: output.Valid !== undefined && output.Valid !== null ? output.Valid : undefined, + } as any; +}; + const deserializeAws_json1_1Classifier = (output: any, context: __SerdeContext): Classifier => { return { CsvClassifier: @@ -17378,6 +19600,52 @@ const deserializeAws_json1_1CreatePartitionResponse = ( return {} as any; }; +const deserializeAws_json1_1CreateRegistryResponse = (output: any, context: __SerdeContext): CreateRegistryResponse => { + return { + Description: output.Description !== undefined && output.Description !== null ? output.Description : undefined, + RegistryArn: output.RegistryArn !== undefined && output.RegistryArn !== null ? output.RegistryArn : undefined, + RegistryName: output.RegistryName !== undefined && output.RegistryName !== null ? output.RegistryName : undefined, + Tags: + output.Tags !== undefined && output.Tags !== null + ? deserializeAws_json1_1TagsMap(output.Tags, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1CreateSchemaResponse = (output: any, context: __SerdeContext): CreateSchemaResponse => { + return { + Compatibility: + output.Compatibility !== undefined && output.Compatibility !== null ? output.Compatibility : undefined, + DataFormat: output.DataFormat !== undefined && output.DataFormat !== null ? output.DataFormat : undefined, + Description: output.Description !== undefined && output.Description !== null ? output.Description : undefined, + LatestSchemaVersion: + output.LatestSchemaVersion !== undefined && output.LatestSchemaVersion !== null + ? output.LatestSchemaVersion + : undefined, + NextSchemaVersion: + output.NextSchemaVersion !== undefined && output.NextSchemaVersion !== null + ? output.NextSchemaVersion + : undefined, + RegistryArn: output.RegistryArn !== undefined && output.RegistryArn !== null ? output.RegistryArn : undefined, + RegistryName: output.RegistryName !== undefined && output.RegistryName !== null ? output.RegistryName : undefined, + SchemaArn: output.SchemaArn !== undefined && output.SchemaArn !== null ? output.SchemaArn : undefined, + SchemaCheckpoint: + output.SchemaCheckpoint !== undefined && output.SchemaCheckpoint !== null ? output.SchemaCheckpoint : undefined, + SchemaName: output.SchemaName !== undefined && output.SchemaName !== null ? output.SchemaName : undefined, + SchemaStatus: output.SchemaStatus !== undefined && output.SchemaStatus !== null ? output.SchemaStatus : undefined, + SchemaVersionId: + output.SchemaVersionId !== undefined && output.SchemaVersionId !== null ? output.SchemaVersionId : undefined, + SchemaVersionStatus: + output.SchemaVersionStatus !== undefined && output.SchemaVersionStatus !== null + ? output.SchemaVersionStatus + : undefined, + Tags: + output.Tags !== undefined && output.Tags !== null + ? deserializeAws_json1_1TagsMap(output.Tags, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1CreateScriptResponse = (output: any, context: __SerdeContext): CreateScriptResponse => { return { PythonScript: output.PythonScript !== undefined && output.PythonScript !== null ? output.PythonScript : undefined, @@ -17644,6 +19912,14 @@ const deserializeAws_json1_1DeletePartitionResponse = ( return {} as any; }; +const deserializeAws_json1_1DeleteRegistryResponse = (output: any, context: __SerdeContext): DeleteRegistryResponse => { + return { + RegistryArn: output.RegistryArn !== undefined && output.RegistryArn !== null ? output.RegistryArn : undefined, + RegistryName: output.RegistryName !== undefined && output.RegistryName !== null ? output.RegistryName : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + } as any; +}; + const deserializeAws_json1_1DeleteResourcePolicyResponse = ( output: any, context: __SerdeContext @@ -17651,6 +19927,26 @@ const deserializeAws_json1_1DeleteResourcePolicyResponse = ( return {} as any; }; +const deserializeAws_json1_1DeleteSchemaResponse = (output: any, context: __SerdeContext): DeleteSchemaResponse => { + return { + SchemaArn: output.SchemaArn !== undefined && output.SchemaArn !== null ? output.SchemaArn : undefined, + SchemaName: output.SchemaName !== undefined && output.SchemaName !== null ? output.SchemaName : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + } as any; +}; + +const deserializeAws_json1_1DeleteSchemaVersionsResponse = ( + output: any, + context: __SerdeContext +): DeleteSchemaVersionsResponse => { + return { + SchemaVersionErrors: + output.SchemaVersionErrors !== undefined && output.SchemaVersionErrors !== null + ? deserializeAws_json1_1SchemaVersionErrorList(output.SchemaVersionErrors, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1DeleteSecurityConfigurationResponse = ( output: any, context: __SerdeContext @@ -17862,6 +20158,13 @@ const deserializeAws_json1_1ErrorDetail = (output: any, context: __SerdeContext) } as any; }; +const deserializeAws_json1_1ErrorDetails = (output: any, context: __SerdeContext): ErrorDetails => { + return { + ErrorCode: output.ErrorCode !== undefined && output.ErrorCode !== null ? output.ErrorCode : undefined, + ErrorMessage: output.ErrorMessage !== undefined && output.ErrorMessage !== null ? output.ErrorMessage : undefined, + } as any; +}; + const deserializeAws_json1_1EvaluationMetrics = (output: any, context: __SerdeContext): EvaluationMetrics => { return { FindMatchesMetrics: @@ -18319,6 +20622,17 @@ const deserializeAws_json1_1GetPlanResponse = (output: any, context: __SerdeCont } as any; }; +const deserializeAws_json1_1GetRegistryResponse = (output: any, context: __SerdeContext): GetRegistryResponse => { + return { + CreatedTime: output.CreatedTime !== undefined && output.CreatedTime !== null ? output.CreatedTime : undefined, + Description: output.Description !== undefined && output.Description !== null ? output.Description : undefined, + RegistryArn: output.RegistryArn !== undefined && output.RegistryArn !== null ? output.RegistryArn : undefined, + RegistryName: output.RegistryName !== undefined && output.RegistryName !== null ? output.RegistryName : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + UpdatedTime: output.UpdatedTime !== undefined && output.UpdatedTime !== null ? output.UpdatedTime : undefined, + } as any; +}; + const deserializeAws_json1_1GetResourcePoliciesResponse = ( output: any, context: __SerdeContext @@ -18354,6 +20668,73 @@ const deserializeAws_json1_1GetResourcePolicyResponse = ( } as any; }; +const deserializeAws_json1_1GetSchemaByDefinitionResponse = ( + output: any, + context: __SerdeContext +): GetSchemaByDefinitionResponse => { + return { + CreatedTime: output.CreatedTime !== undefined && output.CreatedTime !== null ? output.CreatedTime : undefined, + DataFormat: output.DataFormat !== undefined && output.DataFormat !== null ? output.DataFormat : undefined, + SchemaArn: output.SchemaArn !== undefined && output.SchemaArn !== null ? output.SchemaArn : undefined, + SchemaVersionId: + output.SchemaVersionId !== undefined && output.SchemaVersionId !== null ? output.SchemaVersionId : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + } as any; +}; + +const deserializeAws_json1_1GetSchemaResponse = (output: any, context: __SerdeContext): GetSchemaResponse => { + return { + Compatibility: + output.Compatibility !== undefined && output.Compatibility !== null ? output.Compatibility : undefined, + CreatedTime: output.CreatedTime !== undefined && output.CreatedTime !== null ? output.CreatedTime : undefined, + DataFormat: output.DataFormat !== undefined && output.DataFormat !== null ? output.DataFormat : undefined, + Description: output.Description !== undefined && output.Description !== null ? output.Description : undefined, + LatestSchemaVersion: + output.LatestSchemaVersion !== undefined && output.LatestSchemaVersion !== null + ? output.LatestSchemaVersion + : undefined, + NextSchemaVersion: + output.NextSchemaVersion !== undefined && output.NextSchemaVersion !== null + ? output.NextSchemaVersion + : undefined, + RegistryArn: output.RegistryArn !== undefined && output.RegistryArn !== null ? output.RegistryArn : undefined, + RegistryName: output.RegistryName !== undefined && output.RegistryName !== null ? output.RegistryName : undefined, + SchemaArn: output.SchemaArn !== undefined && output.SchemaArn !== null ? output.SchemaArn : undefined, + SchemaCheckpoint: + output.SchemaCheckpoint !== undefined && output.SchemaCheckpoint !== null ? output.SchemaCheckpoint : undefined, + SchemaName: output.SchemaName !== undefined && output.SchemaName !== null ? output.SchemaName : undefined, + SchemaStatus: output.SchemaStatus !== undefined && output.SchemaStatus !== null ? output.SchemaStatus : undefined, + UpdatedTime: output.UpdatedTime !== undefined && output.UpdatedTime !== null ? output.UpdatedTime : undefined, + } as any; +}; + +const deserializeAws_json1_1GetSchemaVersionResponse = ( + output: any, + context: __SerdeContext +): GetSchemaVersionResponse => { + return { + CreatedTime: output.CreatedTime !== undefined && output.CreatedTime !== null ? output.CreatedTime : undefined, + DataFormat: output.DataFormat !== undefined && output.DataFormat !== null ? output.DataFormat : undefined, + SchemaArn: output.SchemaArn !== undefined && output.SchemaArn !== null ? output.SchemaArn : undefined, + SchemaDefinition: + output.SchemaDefinition !== undefined && output.SchemaDefinition !== null ? output.SchemaDefinition : undefined, + SchemaVersionId: + output.SchemaVersionId !== undefined && output.SchemaVersionId !== null ? output.SchemaVersionId : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + VersionNumber: + output.VersionNumber !== undefined && output.VersionNumber !== null ? output.VersionNumber : undefined, + } as any; +}; + +const deserializeAws_json1_1GetSchemaVersionsDiffResponse = ( + output: any, + context: __SerdeContext +): GetSchemaVersionsDiffResponse => { + return { + Diff: output.Diff !== undefined && output.Diff !== null ? output.Diff : undefined, + } as any; +}; + const deserializeAws_json1_1GetSecurityConfigurationResponse = ( output: any, context: __SerdeContext @@ -18908,6 +21289,39 @@ const deserializeAws_json1_1ListMLTransformsResponse = ( } as any; }; +const deserializeAws_json1_1ListRegistriesResponse = (output: any, context: __SerdeContext): ListRegistriesResponse => { + return { + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + Registries: + output.Registries !== undefined && output.Registries !== null + ? deserializeAws_json1_1RegistryListDefinition(output.Registries, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1ListSchemasResponse = (output: any, context: __SerdeContext): ListSchemasResponse => { + return { + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + Schemas: + output.Schemas !== undefined && output.Schemas !== null + ? deserializeAws_json1_1SchemaListDefinition(output.Schemas, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1ListSchemaVersionsResponse = ( + output: any, + context: __SerdeContext +): ListSchemaVersionsResponse => { + return { + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + Schemas: + output.Schemas !== undefined && output.Schemas !== null + ? deserializeAws_json1_1SchemaVersionList(output.Schemas, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1ListTriggersResponse = (output: any, context: __SerdeContext): ListTriggersResponse => { return { NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, @@ -18983,6 +21397,27 @@ const deserializeAws_json1_1MatchCriteria = (output: any, context: __SerdeContex return (output || []).map((entry: any) => entry); }; +const deserializeAws_json1_1MetadataInfo = (output: any, context: __SerdeContext): MetadataInfo => { + return { + CreatedTime: output.CreatedTime !== undefined && output.CreatedTime !== null ? output.CreatedTime : undefined, + MetadataValue: + output.MetadataValue !== undefined && output.MetadataValue !== null ? output.MetadataValue : undefined, + } as any; +}; + +const deserializeAws_json1_1MetadataInfoMap = ( + output: any, + context: __SerdeContext +): { [key: string]: MetadataInfo } => { + return Object.entries(output).reduce( + (acc: { [key: string]: MetadataInfo }, [key, value]: [string, any]) => ({ + ...acc, + [key]: deserializeAws_json1_1MetadataInfo(value, context), + }), + {} + ); +}; + const deserializeAws_json1_1MLTransform = (output: any, context: __SerdeContext): MLTransform => { return { CreatedOn: @@ -19307,6 +21742,26 @@ const deserializeAws_json1_1PutResourcePolicyResponse = ( } as any; }; +const deserializeAws_json1_1PutSchemaVersionMetadataResponse = ( + output: any, + context: __SerdeContext +): PutSchemaVersionMetadataResponse => { + return { + LatestVersion: + output.LatestVersion !== undefined && output.LatestVersion !== null ? output.LatestVersion : undefined, + MetadataKey: output.MetadataKey !== undefined && output.MetadataKey !== null ? output.MetadataKey : undefined, + MetadataValue: + output.MetadataValue !== undefined && output.MetadataValue !== null ? output.MetadataValue : undefined, + RegistryName: output.RegistryName !== undefined && output.RegistryName !== null ? output.RegistryName : undefined, + SchemaArn: output.SchemaArn !== undefined && output.SchemaArn !== null ? output.SchemaArn : undefined, + SchemaName: output.SchemaName !== undefined && output.SchemaName !== null ? output.SchemaName : undefined, + SchemaVersionId: + output.SchemaVersionId !== undefined && output.SchemaVersionId !== null ? output.SchemaVersionId : undefined, + VersionNumber: + output.VersionNumber !== undefined && output.VersionNumber !== null ? output.VersionNumber : undefined, + } as any; +}; + const deserializeAws_json1_1PutWorkflowRunPropertiesResponse = ( output: any, context: __SerdeContext @@ -19314,6 +21769,21 @@ const deserializeAws_json1_1PutWorkflowRunPropertiesResponse = ( return {} as any; }; +const deserializeAws_json1_1QuerySchemaVersionMetadataResponse = ( + output: any, + context: __SerdeContext +): QuerySchemaVersionMetadataResponse => { + return { + MetadataInfoMap: + output.MetadataInfoMap !== undefined && output.MetadataInfoMap !== null + ? deserializeAws_json1_1MetadataInfoMap(output.MetadataInfoMap, context) + : undefined, + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + SchemaVersionId: + output.SchemaVersionId !== undefined && output.SchemaVersionId !== null ? output.SchemaVersionId : undefined, + } as any; +}; + const deserializeAws_json1_1RecrawlPolicy = (output: any, context: __SerdeContext): RecrawlPolicy => { return { RecrawlBehavior: @@ -19321,6 +21791,54 @@ const deserializeAws_json1_1RecrawlPolicy = (output: any, context: __SerdeContex } as any; }; +const deserializeAws_json1_1RegisterSchemaVersionResponse = ( + output: any, + context: __SerdeContext +): RegisterSchemaVersionResponse => { + return { + SchemaVersionId: + output.SchemaVersionId !== undefined && output.SchemaVersionId !== null ? output.SchemaVersionId : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + VersionNumber: + output.VersionNumber !== undefined && output.VersionNumber !== null ? output.VersionNumber : undefined, + } as any; +}; + +const deserializeAws_json1_1RegistryListDefinition = (output: any, context: __SerdeContext): RegistryListItem[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1RegistryListItem(entry, context)); +}; + +const deserializeAws_json1_1RegistryListItem = (output: any, context: __SerdeContext): RegistryListItem => { + return { + CreatedTime: output.CreatedTime !== undefined && output.CreatedTime !== null ? output.CreatedTime : undefined, + Description: output.Description !== undefined && output.Description !== null ? output.Description : undefined, + RegistryArn: output.RegistryArn !== undefined && output.RegistryArn !== null ? output.RegistryArn : undefined, + RegistryName: output.RegistryName !== undefined && output.RegistryName !== null ? output.RegistryName : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + UpdatedTime: output.UpdatedTime !== undefined && output.UpdatedTime !== null ? output.UpdatedTime : undefined, + } as any; +}; + +const deserializeAws_json1_1RemoveSchemaVersionMetadataResponse = ( + output: any, + context: __SerdeContext +): RemoveSchemaVersionMetadataResponse => { + return { + LatestVersion: + output.LatestVersion !== undefined && output.LatestVersion !== null ? output.LatestVersion : undefined, + MetadataKey: output.MetadataKey !== undefined && output.MetadataKey !== null ? output.MetadataKey : undefined, + MetadataValue: + output.MetadataValue !== undefined && output.MetadataValue !== null ? output.MetadataValue : undefined, + RegistryName: output.RegistryName !== undefined && output.RegistryName !== null ? output.RegistryName : undefined, + SchemaArn: output.SchemaArn !== undefined && output.SchemaArn !== null ? output.SchemaArn : undefined, + SchemaName: output.SchemaName !== undefined && output.SchemaName !== null ? output.SchemaName : undefined, + SchemaVersionId: + output.SchemaVersionId !== undefined && output.SchemaVersionId !== null ? output.SchemaVersionId : undefined, + VersionNumber: + output.VersionNumber !== undefined && output.VersionNumber !== null ? output.VersionNumber : undefined, + } as any; +}; + const deserializeAws_json1_1ResetJobBookmarkResponse = ( output: any, context: __SerdeContext @@ -19447,6 +21965,79 @@ const deserializeAws_json1_1SchemaColumn = (output: any, context: __SerdeContext } as any; }; +const deserializeAws_json1_1SchemaId = (output: any, context: __SerdeContext): SchemaId => { + return { + RegistryName: output.RegistryName !== undefined && output.RegistryName !== null ? output.RegistryName : undefined, + SchemaArn: output.SchemaArn !== undefined && output.SchemaArn !== null ? output.SchemaArn : undefined, + SchemaName: output.SchemaName !== undefined && output.SchemaName !== null ? output.SchemaName : undefined, + } as any; +}; + +const deserializeAws_json1_1SchemaListDefinition = (output: any, context: __SerdeContext): SchemaListItem[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1SchemaListItem(entry, context)); +}; + +const deserializeAws_json1_1SchemaListItem = (output: any, context: __SerdeContext): SchemaListItem => { + return { + CreatedTime: output.CreatedTime !== undefined && output.CreatedTime !== null ? output.CreatedTime : undefined, + Description: output.Description !== undefined && output.Description !== null ? output.Description : undefined, + RegistryName: output.RegistryName !== undefined && output.RegistryName !== null ? output.RegistryName : undefined, + SchemaArn: output.SchemaArn !== undefined && output.SchemaArn !== null ? output.SchemaArn : undefined, + SchemaName: output.SchemaName !== undefined && output.SchemaName !== null ? output.SchemaName : undefined, + SchemaStatus: output.SchemaStatus !== undefined && output.SchemaStatus !== null ? output.SchemaStatus : undefined, + UpdatedTime: output.UpdatedTime !== undefined && output.UpdatedTime !== null ? output.UpdatedTime : undefined, + } as any; +}; + +const deserializeAws_json1_1SchemaReference = (output: any, context: __SerdeContext): SchemaReference => { + return { + SchemaId: + output.SchemaId !== undefined && output.SchemaId !== null + ? deserializeAws_json1_1SchemaId(output.SchemaId, context) + : undefined, + SchemaVersionId: + output.SchemaVersionId !== undefined && output.SchemaVersionId !== null ? output.SchemaVersionId : undefined, + SchemaVersionNumber: + output.SchemaVersionNumber !== undefined && output.SchemaVersionNumber !== null + ? output.SchemaVersionNumber + : undefined, + } as any; +}; + +const deserializeAws_json1_1SchemaVersionErrorItem = (output: any, context: __SerdeContext): SchemaVersionErrorItem => { + return { + ErrorDetails: + output.ErrorDetails !== undefined && output.ErrorDetails !== null + ? deserializeAws_json1_1ErrorDetails(output.ErrorDetails, context) + : undefined, + VersionNumber: + output.VersionNumber !== undefined && output.VersionNumber !== null ? output.VersionNumber : undefined, + } as any; +}; + +const deserializeAws_json1_1SchemaVersionErrorList = ( + output: any, + context: __SerdeContext +): SchemaVersionErrorItem[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1SchemaVersionErrorItem(entry, context)); +}; + +const deserializeAws_json1_1SchemaVersionList = (output: any, context: __SerdeContext): SchemaVersionListItem[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1SchemaVersionListItem(entry, context)); +}; + +const deserializeAws_json1_1SchemaVersionListItem = (output: any, context: __SerdeContext): SchemaVersionListItem => { + return { + CreatedTime: output.CreatedTime !== undefined && output.CreatedTime !== null ? output.CreatedTime : undefined, + SchemaArn: output.SchemaArn !== undefined && output.SchemaArn !== null ? output.SchemaArn : undefined, + SchemaVersionId: + output.SchemaVersionId !== undefined && output.SchemaVersionId !== null ? output.SchemaVersionId : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + VersionNumber: + output.VersionNumber !== undefined && output.VersionNumber !== null ? output.VersionNumber : undefined, + } as any; +}; + const deserializeAws_json1_1SearchTablesResponse = (output: any, context: __SerdeContext): SearchTablesResponse => { return { NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, @@ -19625,6 +22216,10 @@ const deserializeAws_json1_1StorageDescriptor = (output: any, context: __SerdeCo output.Parameters !== undefined && output.Parameters !== null ? deserializeAws_json1_1ParametersMap(output.Parameters, context) : undefined, + SchemaReference: + output.SchemaReference !== undefined && output.SchemaReference !== null + ? deserializeAws_json1_1SchemaReference(output.SchemaReference, context) + : undefined, SerdeInfo: output.SerdeInfo !== undefined && output.SerdeInfo !== null ? deserializeAws_json1_1SerDeInfo(output.SerdeInfo, context) @@ -20001,6 +22596,21 @@ const deserializeAws_json1_1UpdatePartitionResponse = ( return {} as any; }; +const deserializeAws_json1_1UpdateRegistryResponse = (output: any, context: __SerdeContext): UpdateRegistryResponse => { + return { + RegistryArn: output.RegistryArn !== undefined && output.RegistryArn !== null ? output.RegistryArn : undefined, + RegistryName: output.RegistryName !== undefined && output.RegistryName !== null ? output.RegistryName : undefined, + } as any; +}; + +const deserializeAws_json1_1UpdateSchemaResponse = (output: any, context: __SerdeContext): UpdateSchemaResponse => { + return { + RegistryName: output.RegistryName !== undefined && output.RegistryName !== null ? output.RegistryName : undefined, + SchemaArn: output.SchemaArn !== undefined && output.SchemaArn !== null ? output.SchemaArn : undefined, + SchemaName: output.SchemaName !== undefined && output.SchemaName !== null ? output.SchemaName : undefined, + } as any; +}; + const deserializeAws_json1_1UpdateTableResponse = (output: any, context: __SerdeContext): UpdateTableResponse => { return {} as any; }; diff --git a/clients/client-kafka/models/models_0.ts b/clients/client-kafka/models/models_0.ts index 3ec7940bd5a9..43bbf9264462 100644 --- a/clients/client-kafka/models/models_0.ts +++ b/clients/client-kafka/models/models_0.ts @@ -267,6 +267,7 @@ export enum EnhancedMonitoring { DEFAULT = "DEFAULT", PER_BROKER = "PER_BROKER", PER_TOPIC_PER_BROKER = "PER_TOPIC_PER_BROKER", + PER_TOPIC_PER_PARTITION = "PER_TOPIC_PER_PARTITION", } export interface CloudWatchLogs { @@ -495,7 +496,7 @@ export interface ClusterInfo { ClusterArn?: string; /** - *

                            Specifies which metrics are gathered for the MSK cluster. This property has three possible values: DEFAULT, PER_BROKER, and PER_TOPIC_PER_BROKER. For a list of the metrics associated with each of these three levels of monitoring, see Monitoring.

                            + *

                            Specifies which metrics are gathered for the MSK cluster. This property has the following possible values: DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION. For a list of the metrics associated with each of these levels of monitoring, see Monitoring.

                            */ EnhancedMonitoring?: EnhancedMonitoring | string; } @@ -1304,7 +1305,7 @@ export interface CreateClusterRequest { BrokerNodeGroupInfo: BrokerNodeGroupInfo | undefined; /** - *

                            Specifies the level of monitoring for the MSK cluster. The possible values are DEFAULT, PER_BROKER, and PER_TOPIC_PER_BROKER.

                            + *

                            Specifies the level of monitoring for the MSK cluster. The possible values are DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION.

                            */ EnhancedMonitoring?: EnhancedMonitoring | string; diff --git a/clients/client-kinesis-analytics-v2/KinesisAnalyticsV2.ts b/clients/client-kinesis-analytics-v2/KinesisAnalyticsV2.ts index e2bdbaa6f37d..a3168c0c6b6e 100644 --- a/clients/client-kinesis-analytics-v2/KinesisAnalyticsV2.ts +++ b/clients/client-kinesis-analytics-v2/KinesisAnalyticsV2.ts @@ -34,6 +34,11 @@ import { CreateApplicationCommandInput, CreateApplicationCommandOutput, } from "./commands/CreateApplicationCommand"; +import { + CreateApplicationPresignedUrlCommand, + CreateApplicationPresignedUrlCommandInput, + CreateApplicationPresignedUrlCommandOutput, +} from "./commands/CreateApplicationPresignedUrlCommand"; import { CreateApplicationSnapshotCommand, CreateApplicationSnapshotCommandInput, @@ -402,6 +407,50 @@ export class KinesisAnalyticsV2 extends KinesisAnalyticsV2Client { } } + /** + *

                            Creates and returns a URL that you can use to connect to + * an application's extension. Currently, the only + * available extension is the Apache Flink dashboard.

                            + *

                            The IAM role or user used to call this API defines the permissions to access the extension. + * Once the presigned URL is created, no additional permission is required to access this URL. IAM + * authorization policies for this API are also enforced for every HTTP request that attempts to + * connect to the extension. + *

                            + * + *

                            The URL that you get from a call to CreateApplicationPresignedUrl must be used within 3 minutes + * to be valid. + * If you first try to use the URL after the 3-minute limit expires, the service returns an HTTP 403 Forbidden error.

                            + *
                            + */ + public createApplicationPresignedUrl( + args: CreateApplicationPresignedUrlCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createApplicationPresignedUrl( + args: CreateApplicationPresignedUrlCommandInput, + cb: (err: any, data?: CreateApplicationPresignedUrlCommandOutput) => void + ): void; + public createApplicationPresignedUrl( + args: CreateApplicationPresignedUrlCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateApplicationPresignedUrlCommandOutput) => void + ): void; + public createApplicationPresignedUrl( + args: CreateApplicationPresignedUrlCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateApplicationPresignedUrlCommandOutput) => void), + cb?: (err: any, data?: CreateApplicationPresignedUrlCommandOutput) => void + ): Promise | void { + const command = new CreateApplicationPresignedUrlCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

                            Creates a snapshot of the application's state data.

                            */ @@ -906,9 +955,12 @@ export class KinesisAnalyticsV2 extends KinesisAnalyticsV2Client { /** *

                            Stops the application from processing data. You can stop - * an application only if it is in the running state. - * You can use the DescribeApplication operation to find the application state. + * an application only if it is in the running status, unless you set the Force + * parameter to true.

                            + *

                            You can use the DescribeApplication operation to find the application status. *

                            + *

                            Kinesis Data Analytics takes a snapshot when the application is stopped, unless Force is set + * to true.

                            */ public stopApplication( args: StopApplicationCommandInput, diff --git a/clients/client-kinesis-analytics-v2/KinesisAnalyticsV2Client.ts b/clients/client-kinesis-analytics-v2/KinesisAnalyticsV2Client.ts index b9a06ef1b0d6..35b26188d0c7 100644 --- a/clients/client-kinesis-analytics-v2/KinesisAnalyticsV2Client.ts +++ b/clients/client-kinesis-analytics-v2/KinesisAnalyticsV2Client.ts @@ -23,6 +23,10 @@ import { AddApplicationVpcConfigurationCommandOutput, } from "./commands/AddApplicationVpcConfigurationCommand"; import { CreateApplicationCommandInput, CreateApplicationCommandOutput } from "./commands/CreateApplicationCommand"; +import { + CreateApplicationPresignedUrlCommandInput, + CreateApplicationPresignedUrlCommandOutput, +} from "./commands/CreateApplicationPresignedUrlCommand"; import { CreateApplicationSnapshotCommandInput, CreateApplicationSnapshotCommandOutput, @@ -135,6 +139,7 @@ export type ServiceInputTypes = | AddApplicationReferenceDataSourceCommandInput | AddApplicationVpcConfigurationCommandInput | CreateApplicationCommandInput + | CreateApplicationPresignedUrlCommandInput | CreateApplicationSnapshotCommandInput | DeleteApplicationCloudWatchLoggingOptionCommandInput | DeleteApplicationCommandInput @@ -163,6 +168,7 @@ export type ServiceOutputTypes = | AddApplicationReferenceDataSourceCommandOutput | AddApplicationVpcConfigurationCommandOutput | CreateApplicationCommandOutput + | CreateApplicationPresignedUrlCommandOutput | CreateApplicationSnapshotCommandOutput | DeleteApplicationCloudWatchLoggingOptionCommandOutput | DeleteApplicationCommandOutput diff --git a/clients/client-kinesis-analytics-v2/commands/CreateApplicationPresignedUrlCommand.ts b/clients/client-kinesis-analytics-v2/commands/CreateApplicationPresignedUrlCommand.ts new file mode 100644 index 000000000000..3ca7019043e3 --- /dev/null +++ b/clients/client-kinesis-analytics-v2/commands/CreateApplicationPresignedUrlCommand.ts @@ -0,0 +1,89 @@ +import { + KinesisAnalyticsV2ClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../KinesisAnalyticsV2Client"; +import { CreateApplicationPresignedUrlRequest, CreateApplicationPresignedUrlResponse } from "../models/models_0"; +import { + deserializeAws_json1_1CreateApplicationPresignedUrlCommand, + serializeAws_json1_1CreateApplicationPresignedUrlCommand, +} from "../protocols/Aws_json1_1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type CreateApplicationPresignedUrlCommandInput = CreateApplicationPresignedUrlRequest; +export type CreateApplicationPresignedUrlCommandOutput = CreateApplicationPresignedUrlResponse & __MetadataBearer; + +export class CreateApplicationPresignedUrlCommand extends $Command< + CreateApplicationPresignedUrlCommandInput, + CreateApplicationPresignedUrlCommandOutput, + KinesisAnalyticsV2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateApplicationPresignedUrlCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: KinesisAnalyticsV2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "KinesisAnalyticsV2Client"; + const commandName = "CreateApplicationPresignedUrlCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreateApplicationPresignedUrlRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateApplicationPresignedUrlResponse.filterSensitiveLog, + }; + + if (typeof logger.info === "function") { + logger.info({ + clientName, + commandName, + }); + } + + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateApplicationPresignedUrlCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1CreateApplicationPresignedUrlCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1CreateApplicationPresignedUrlCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-kinesis-analytics-v2/index.ts b/clients/client-kinesis-analytics-v2/index.ts index 8e690e433025..245880bc293c 100644 --- a/clients/client-kinesis-analytics-v2/index.ts +++ b/clients/client-kinesis-analytics-v2/index.ts @@ -7,6 +7,7 @@ export * from "./commands/AddApplicationOutputCommand"; export * from "./commands/AddApplicationReferenceDataSourceCommand"; export * from "./commands/AddApplicationVpcConfigurationCommand"; export * from "./commands/CreateApplicationCommand"; +export * from "./commands/CreateApplicationPresignedUrlCommand"; export * from "./commands/CreateApplicationSnapshotCommand"; export * from "./commands/DeleteApplicationCommand"; export * from "./commands/DeleteApplicationCloudWatchLoggingOptionCommand"; diff --git a/clients/client-kinesis-analytics-v2/models/models_0.ts b/clients/client-kinesis-analytics-v2/models/models_0.ts index 4640c2431ced..ad1a344598a7 100644 --- a/clients/client-kinesis-analytics-v2/models/models_0.ts +++ b/clients/client-kinesis-analytics-v2/models/models_0.ts @@ -20,15 +20,15 @@ export namespace CloudWatchLoggingOption { export interface AddApplicationCloudWatchLoggingOptionRequest { /** - *

                            The version ID of the Kinesis Data Analytics application. You can retrieve the application version ID using - * DescribeApplication.

                            + *

                            The Kinesis Data Analytics application name.

                            */ - CurrentApplicationVersionId: number | undefined; + ApplicationName: string | undefined; /** - *

                            The Kinesis Data Analytics application name.

                            + *

                            The version ID of the Kinesis Data Analytics application. You can retrieve the application version ID using + * DescribeApplication.

                            */ - ApplicationName: string | undefined; + CurrentApplicationVersionId: number | undefined; /** *

                            Provides the Amazon CloudWatch log stream Amazon Resource Name (ARN).

                            @@ -51,6 +51,12 @@ export interface CloudWatchLoggingOptionDescription { */ CloudWatchLoggingOptionId?: string; + /** + *

                            The Amazon Resource Name (ARN) of the CloudWatch log to receive application + * messages.

                            + */ + LogStreamARN: string | undefined; + /** *

                            The IAM ARN of the role to use to send application messages.

                            * @@ -59,12 +65,6 @@ export interface CloudWatchLoggingOptionDescription { * */ RoleARN?: string; - - /** - *

                            The Amazon Resource Name (ARN) of the CloudWatch log to receive application - * messages.

                            - */ - LogStreamARN: string | undefined; } export namespace CloudWatchLoggingOptionDescription { @@ -254,6 +254,12 @@ export namespace InputProcessingConfiguration { *

                            Also used to describe the format of the reference data source.

                            */ export interface RecordColumn { + /** + *

                            The name of the column that is created in the in-application input stream or reference + * table.

                            + */ + Name: string | undefined; + /** *

                            A reference to the data element in the streaming input or the reference data * source.

                            @@ -264,12 +270,6 @@ export interface RecordColumn { *

                            The type of column created in the in-application input stream or reference table.

                            */ SqlType: string | undefined; - - /** - *

                            The name of the column that is created in the in-application input stream or reference - * table.

                            - */ - Name: string | undefined; } export namespace RecordColumn { @@ -292,17 +292,17 @@ export namespace RecordColumn { *

                            */ export interface CSVMappingParameters { - /** - *

                            The column delimiter. For example, in a CSV format, a comma (",") is the typical column - * delimiter.

                            - */ - RecordColumnDelimiter: string | undefined; - /** *

                            The row delimiter. For example, in a CSV format, '\n' is the typical * row delimiter.

                            */ RecordRowDelimiter: string | undefined; + + /** + *

                            The column delimiter. For example, in a CSV format, a comma (",") is the typical column + * delimiter.

                            + */ + RecordColumnDelimiter: string | undefined; } export namespace CSVMappingParameters { @@ -364,17 +364,17 @@ export enum RecordFormatType { * stream.

                            */ export interface RecordFormat { + /** + *

                            The type of record format.

                            + */ + RecordFormatType: RecordFormatType | string | undefined; + /** *

                            When you configure application input at the time of creating or updating an application, * provides additional mapping information specific to the record format (such as JSON, CSV, or * record fields delimited by some delimiter) on the streaming source.

                            */ MappingParameters?: MappingParameters; - - /** - *

                            The type of record format.

                            - */ - RecordFormatType: RecordFormatType | string | undefined; } export namespace RecordFormat { @@ -390,9 +390,9 @@ export namespace RecordFormat { */ export interface SourceSchema { /** - *

                            A list of RecordColumn objects.

                            + *

                            Specifies the format of the records on the streaming source.

                            */ - RecordColumns: RecordColumn[] | undefined; + RecordFormat: RecordFormat | undefined; /** *

                            Specifies the encoding of the records in the streaming source. For example, UTF-8.

                            @@ -400,9 +400,9 @@ export interface SourceSchema { RecordEncoding?: string; /** - *

                            Specifies the format of the records on the streaming source.

                            + *

                            A list of RecordColumn objects.

                            */ - RecordFormat: RecordFormat | undefined; + RecordColumns: RecordColumn[] | undefined; } export namespace SourceSchema { @@ -452,16 +452,6 @@ export namespace KinesisStreamsInput { * and the mapping between the two.

                            */ export interface Input { - /** - *

                            Describes the number of in-application streams to create.

                            - */ - InputParallelism?: InputParallelism; - - /** - *

                            If the streaming source is an Amazon Kinesis data stream, identifies the stream's Amazon Resource Name (ARN).

                            - */ - KinesisStreamsInput?: KinesisStreamsInput; - /** *

                            The name prefix to use when creating an in-application stream. Suppose that you specify a * prefix "MyInApplicationStream." Kinesis Data Analytics then creates one or more @@ -471,24 +461,34 @@ export interface Input { */ NamePrefix: string | undefined; + /** + *

                            The InputProcessingConfiguration for the input. An input processor transforms records as they are received + * from the stream, before the application's SQL code executes. Currently, the only input processing configuration available is + * InputLambdaProcessor.

                            + */ + InputProcessingConfiguration?: InputProcessingConfiguration; + + /** + *

                            If the streaming source is an Amazon Kinesis data stream, identifies the stream's Amazon Resource Name (ARN).

                            + */ + KinesisStreamsInput?: KinesisStreamsInput; + /** *

                            If the streaming source is an Amazon Kinesis Data Firehose delivery stream, identifies the delivery stream's ARN.

                            */ KinesisFirehoseInput?: KinesisFirehoseInput; + /** + *

                            Describes the number of in-application streams to create.

                            + */ + InputParallelism?: InputParallelism; + /** *

                            Describes the format of the data in the streaming source, and how each data element maps * to corresponding columns in the in-application stream that is being created.

                            *

                            Also used to describe the format of the reference data source.

                            */ InputSchema: SourceSchema | undefined; - - /** - *

                            The InputProcessingConfiguration for the input. An input processor transforms records as they are received - * from the stream, before the application's SQL code executes. Currently, the only input processing configuration available is - * InputLambdaProcessor.

                            - */ - InputProcessingConfiguration?: InputProcessingConfiguration; } export namespace Input { @@ -646,6 +646,11 @@ export namespace KinesisFirehoseInputDescription { * stream that is configured as the streaming source in the application input configuration.

                            */ export interface KinesisStreamsInputDescription { + /** + *

                            The Amazon Resource Name (ARN) of the Kinesis data stream.

                            + */ + ResourceARN: string | undefined; + /** *

                            The ARN of the IAM role that Kinesis Data Analytics can assume to access the * stream.

                            @@ -656,11 +661,6 @@ export interface KinesisStreamsInputDescription { * */ RoleARN?: string; - - /** - *

                            The Amazon Resource Name (ARN) of the Kinesis data stream.

                            - */ - ResourceARN: string | undefined; } export namespace KinesisStreamsInputDescription { @@ -680,29 +680,30 @@ export interface InputDescription { InputId?: string; /** - *

                            If a Kinesis Data Firehose delivery stream is configured as a streaming source, provides the delivery stream's ARN.

                            + *

                            The in-application name prefix.

                            */ - KinesisFirehoseInputDescription?: KinesisFirehoseInputDescription; + NamePrefix?: string; /** - *

                            The description of the preprocessor that executes on records in this input before the application's code is run.

                            + *

                            Returns the in-application stream names that are mapped to the stream source.

                            */ - InputProcessingConfigurationDescription?: InputProcessingConfigurationDescription; + InAppStreamNames?: string[]; /** - *

                            The point at which the application is configured to read from the input stream.

                            + *

                            The description of the preprocessor that executes on records in this input before the application's code is run.

                            */ - InputStartingPositionConfiguration?: InputStartingPositionConfiguration; + InputProcessingConfigurationDescription?: InputProcessingConfigurationDescription; /** - *

                            Returns the in-application stream names that are mapped to the stream source.

                            + *

                            If a Kinesis data stream is configured as a streaming source, provides the Kinesis data + * stream's Amazon Resource Name (ARN).

                            */ - InAppStreamNames?: string[]; + KinesisStreamsInputDescription?: KinesisStreamsInputDescription; /** - *

                            The in-application name prefix.

                            + *

                            If a Kinesis Data Firehose delivery stream is configured as a streaming source, provides the delivery stream's ARN.

                            */ - NamePrefix?: string; + KinesisFirehoseInputDescription?: KinesisFirehoseInputDescription; /** *

                            Describes the format of the data in the streaming source, and how each data element maps to corresponding columns @@ -711,15 +712,14 @@ export interface InputDescription { InputSchema?: SourceSchema; /** - *

                            If a Kinesis data stream is configured as a streaming source, provides the Kinesis data - * stream's Amazon Resource Name (ARN).

                            + *

                            Describes the configured parallelism (number of in-application streams mapped to the streaming source).

                            */ - KinesisStreamsInputDescription?: KinesisStreamsInputDescription; + InputParallelism?: InputParallelism; /** - *

                            Describes the configured parallelism (number of in-application streams mapped to the streaming source).

                            + *

                            The point at which the application is configured to read from the input stream.

                            */ - InputParallelism?: InputParallelism; + InputStartingPositionConfiguration?: InputStartingPositionConfiguration; } export namespace InputDescription { @@ -729,14 +729,6 @@ export namespace InputDescription { } export interface AddApplicationInputResponse { - /** - *

                            Describes the application input configuration. - * - * - *

                            - */ - InputDescriptions?: InputDescription[]; - /** *

                            The Amazon Resource Name (ARN) of the application.

                            */ @@ -746,6 +738,14 @@ export interface AddApplicationInputResponse { *

                            Provides the current application version.

                            */ ApplicationVersionId?: number; + + /** + *

                            Describes the application input configuration. + * + * + *

                            + */ + InputDescriptions?: InputDescription[]; } export namespace AddApplicationInputResponse { @@ -771,6 +771,12 @@ export namespace CodeValidationException { } export interface AddApplicationInputProcessingConfigurationRequest { + /** + *

                            The name of the application to which you want to add the input processing + * configuration.

                            + */ + ApplicationName: string | undefined; + /** *

                            The version of the application to which you want to add the input processing * configuration. You can use the DescribeApplication operation to get the @@ -779,12 +785,6 @@ export interface AddApplicationInputProcessingConfigurationRequest { */ CurrentApplicationVersionId: number | undefined; - /** - *

                            The name of the application to which you want to add the input processing - * configuration.

                            - */ - ApplicationName: string | undefined; - /** *

                            The ID of the input configuration to add the input processing configuration to. You * can get a list of the input IDs for an application using the DescribeApplication operation.

                            @@ -804,6 +804,11 @@ export namespace AddApplicationInputProcessingConfigurationRequest { } export interface AddApplicationInputProcessingConfigurationResponse { + /** + *

                            The Amazon Resource Name (ARN) of the application.

                            + */ + ApplicationARN?: string; + /** *

                            Provides the current application version.

                            */ @@ -816,11 +821,6 @@ export interface AddApplicationInputProcessingConfigurationResponse { */ InputId?: string; - /** - *

                            The Amazon Resource Name (ARN) of the application.

                            - */ - ApplicationARN?: string; - /** *

                            The description of the preprocessor that executes on records in this input before the application's code is run.

                            */ @@ -916,11 +916,6 @@ export namespace LambdaOutput { *

                            */ export interface Output { - /** - *

                            Identifies an AWS Lambda function as the destination.

                            - */ - LambdaOutput?: LambdaOutput; - /** *

                            The name of the in-application stream.

                            */ @@ -937,6 +932,11 @@ export interface Output { */ KinesisFirehoseOutput?: KinesisFirehoseOutput; + /** + *

                            Identifies an AWS Lambda function as the destination.

                            + */ + LambdaOutput?: LambdaOutput; + /** *

                            Describes the data format when records are written to the destination. *

                            @@ -951,6 +951,11 @@ export namespace Output { } export interface AddApplicationOutputRequest { + /** + *

                            The name of the application to which you want to add the output configuration.

                            + */ + ApplicationName: string | undefined; + /** *

                            The version of the application to which you want to add the output configuration. You can * use the DescribeApplication operation to get the current application @@ -959,11 +964,6 @@ export interface AddApplicationOutputRequest { */ CurrentApplicationVersionId: number | undefined; - /** - *

                            The name of the application to which you want to add the output configuration.

                            - */ - ApplicationName: string | undefined; - /** *

                            An array of objects, each describing one output configuration. In the output * configuration, you specify the name of an in-application stream, a destination (that is, a @@ -1012,6 +1012,11 @@ export namespace KinesisFirehoseOutputDescription { * data stream that is configured as its destination.

                            */ export interface KinesisStreamsOutputDescription { + /** + *

                            The Amazon Resource Name (ARN) of the Kinesis data stream.

                            + */ + ResourceARN: string | undefined; + /** *

                            The ARN of the IAM role that Kinesis Data Analytics can assume to access the * stream.

                            @@ -1022,11 +1027,6 @@ export interface KinesisStreamsOutputDescription { * */ RoleARN?: string; - - /** - *

                            The Amazon Resource Name (ARN) of the Kinesis data stream.

                            - */ - ResourceARN: string | undefined; } export namespace KinesisStreamsOutputDescription { @@ -1081,15 +1081,10 @@ export interface OutputDescription { Name?: string; /** - *

                            Describes the Lambda function that is configured as the destination where output is + *

                            Describes the Kinesis data stream that is configured as the destination where output is * written.

                            */ - LambdaOutputDescription?: LambdaOutputDescription; - - /** - *

                            The data format used for writing data to the destination.

                            - */ - DestinationSchema?: DestinationSchema; + KinesisStreamsOutputDescription?: KinesisStreamsOutputDescription; /** *

                            Describes the Kinesis Data Firehose delivery stream that is configured as the destination @@ -1098,10 +1093,15 @@ export interface OutputDescription { KinesisFirehoseOutputDescription?: KinesisFirehoseOutputDescription; /** - *

                            Describes the Kinesis data stream that is configured as the destination where output is + *

                            Describes the Lambda function that is configured as the destination where output is * written.

                            */ - KinesisStreamsOutputDescription?: KinesisStreamsOutputDescription; + LambdaOutputDescription?: LambdaOutputDescription; + + /** + *

                            The data format used for writing data to the destination.

                            + */ + DestinationSchema?: DestinationSchema; } export namespace OutputDescription { @@ -1116,6 +1116,12 @@ export interface AddApplicationOutputResponse { */ ApplicationARN?: string; + /** + *

                            The updated application version ID. Kinesis Data Analytics increments this ID when the + * application is updated.

                            + */ + ApplicationVersionId?: number; + /** *

                            Describes the application output configuration. * For more information, @@ -1124,12 +1130,6 @@ export interface AddApplicationOutputResponse { *

                            */ OutputDescriptions?: OutputDescription[]; - - /** - *

                            The updated application version ID. Kinesis Data Analytics increments this ID when the - * application is updated.

                            - */ - ApplicationVersionId?: number; } export namespace AddApplicationOutputResponse { @@ -1147,14 +1147,14 @@ export namespace AddApplicationOutputResponse { */ export interface S3ReferenceDataSource { /** - *

                            The object key name containing the reference data.

                            + *

                            The Amazon Resource Name (ARN) of the S3 bucket.

                            */ - FileKey?: string; + BucketARN?: string; /** - *

                            The Amazon Resource Name (ARN) of the S3 bucket.

                            + *

                            The object key name containing the reference data.

                            */ - BucketARN?: string; + FileKey?: string; } export namespace S3ReferenceDataSource { @@ -1170,6 +1170,11 @@ export namespace S3ReferenceDataSource { * elements in the Amazon S3 object to the in-application table.

                            */ export interface ReferenceDataSource { + /** + *

                            The name of the in-application table to create.

                            + */ + TableName: string | undefined; + /** *

                            Identifies the S3 bucket and object that contains the reference data. * @@ -1177,11 +1182,6 @@ export interface ReferenceDataSource { */ S3ReferenceDataSource?: S3ReferenceDataSource; - /** - *

                            The name of the in-application table to create.

                            - */ - TableName: string | undefined; - /** *

                            Describes the format of the data in the streaming source, and how each data element maps to corresponding columns created in the in-application stream.

                            */ @@ -1195,14 +1195,6 @@ export namespace ReferenceDataSource { } export interface AddApplicationReferenceDataSourceRequest { - /** - *

                            The reference data source can be an object in your Amazon S3 bucket. Kinesis Data Analytics reads the object and copies the data - * into the in-application table that is created. You provide an S3 bucket, object key name, and the resulting - * in-application table that is - * created.

                            - */ - ReferenceDataSource: ReferenceDataSource | undefined; - /** *

                            The name of an existing application.

                            */ @@ -1215,6 +1207,14 @@ export interface AddApplicationReferenceDataSourceRequest { * ConcurrentModificationException is returned.

                            */ CurrentApplicationVersionId: number | undefined; + + /** + *

                            The reference data source can be an object in your Amazon S3 bucket. Kinesis Data Analytics reads the object and copies the data + * into the in-application table that is created. You provide an S3 bucket, object key name, and the resulting + * in-application table that is + * created.

                            + */ + ReferenceDataSource: ReferenceDataSource | undefined; } export namespace AddApplicationReferenceDataSourceRequest { @@ -1229,15 +1229,9 @@ export namespace AddApplicationReferenceDataSourceRequest { */ export interface S3ReferenceDataSourceDescription { /** - *

                            The ARN of the IAM role that Kinesis Data Analytics can assume to read the Amazon S3 - * object on your behalf to populate the in-application reference table.

                            - * - *

                            Provided for backward compatibility. Applications that are created with the current API - * version have an application-level service execution role rather than a resource-level - * role.

                            - *
                            + *

                            The Amazon Resource Name (ARN) of the S3 bucket.

                            */ - ReferenceRoleARN?: string; + BucketARN: string | undefined; /** *

                            Amazon S3 object key name.

                            @@ -1245,9 +1239,15 @@ export interface S3ReferenceDataSourceDescription { FileKey: string | undefined; /** - *

                            The Amazon Resource Name (ARN) of the S3 bucket.

                            + *

                            The ARN of the IAM role that Kinesis Data Analytics can assume to read the Amazon S3 + * object on your behalf to populate the in-application reference table.

                            + * + *

                            Provided for backward compatibility. Applications that are created with the current API + * version have an application-level service execution role rather than a resource-level + * role.

                            + *
                            */ - BucketARN: string | undefined; + ReferenceRoleARN?: string; } export namespace S3ReferenceDataSourceDescription { @@ -1262,25 +1262,25 @@ export namespace S3ReferenceDataSourceDescription { */ export interface ReferenceDataSourceDescription { /** - *

                            The in-application table name created by the specific reference data source configuration.

                            + *

                            The ID of the reference data source. This is the ID that Kinesis Data Analytics assigns + * when you add the reference data source to your application using the CreateApplication or UpdateApplication operation.

                            */ - TableName: string | undefined; + ReferenceId: string | undefined; /** - *

                            Describes the format of the data in the streaming source, and how each data element maps to corresponding columns created in the in-application stream.

                            + *

                            The in-application table name created by the specific reference data source configuration.

                            */ - ReferenceSchema?: SourceSchema; + TableName: string | undefined; /** - *

                            The ID of the reference data source. This is the ID that Kinesis Data Analytics assigns - * when you add the reference data source to your application using the CreateApplication or UpdateApplication operation.

                            + *

                            Provides the Amazon S3 bucket name, the object key name that contains the reference data.

                            */ - ReferenceId: string | undefined; + S3ReferenceDataSourceDescription: S3ReferenceDataSourceDescription | undefined; /** - *

                            Provides the Amazon S3 bucket name, the object key name that contains the reference data.

                            + *

                            Describes the format of the data in the streaming source, and how each data element maps to corresponding columns created in the in-application stream.

                            */ - S3ReferenceDataSourceDescription: S3ReferenceDataSourceDescription | undefined; + ReferenceSchema?: SourceSchema; } export namespace ReferenceDataSourceDescription { @@ -1291,13 +1291,9 @@ export namespace ReferenceDataSourceDescription { export interface AddApplicationReferenceDataSourceResponse { /** - *

                            Describes reference data sources configured for the application. - * - * - * - *

                            + *

                            The application Amazon Resource Name (ARN).

                            */ - ReferenceDataSourceDescriptions?: ReferenceDataSourceDescription[]; + ApplicationARN?: string; /** *

                            The updated application version ID. Kinesis Data Analytics increments this ID when @@ -1306,9 +1302,13 @@ export interface AddApplicationReferenceDataSourceResponse { ApplicationVersionId?: number; /** - *

                            The application Amazon Resource Name (ARN).

                            + *

                            Describes reference data sources configured for the application. + * + * + * + *

                            */ - ApplicationARN?: string; + ReferenceDataSourceDescriptions?: ReferenceDataSourceDescription[]; } export namespace AddApplicationReferenceDataSourceResponse { @@ -1321,17 +1321,17 @@ export namespace AddApplicationReferenceDataSourceResponse { *

                            Describes the parameters of a VPC used by the application.

                            */ export interface VpcConfiguration { - /** - *

                            The array of SecurityGroup - * IDs used by the VPC configuration.

                            - */ - SecurityGroupIds: string[] | undefined; - /** *

                            The array of Subnet IDs * used by the VPC configuration.

                            */ SubnetIds: string[] | undefined; + + /** + *

                            The array of SecurityGroup + * IDs used by the VPC configuration.

                            + */ + SecurityGroupIds: string[] | undefined; } export namespace VpcConfiguration { @@ -1341,6 +1341,11 @@ export namespace VpcConfiguration { } export interface AddApplicationVpcConfigurationRequest { + /** + *

                            The name of an existing application.

                            + */ + ApplicationName: string | undefined; + /** *

                            The version of the application to which you want to add the VPC * configuration. You can use the DescribeApplication operation to get the @@ -1349,11 +1354,6 @@ export interface AddApplicationVpcConfigurationRequest { */ CurrentApplicationVersionId: number | undefined; - /** - *

                            The name of an existing application.

                            - */ - ApplicationName: string | undefined; - /** *

                            Description of the VPC to add to the application.

                            */ @@ -1371,26 +1371,26 @@ export namespace AddApplicationVpcConfigurationRequest { */ export interface VpcConfigurationDescription { /** - *

                            The array of Subnet - * IDs used by the VPC configuration.

                            + *

                            The ID of the VPC configuration.

                            */ - SubnetIds: string[] | undefined; + VpcConfigurationId: string | undefined; /** - *

                            The array of SecurityGroup - * IDs used by the VPC configuration.

                            + *

                            The ID of the associated VPC.

                            */ - SecurityGroupIds: string[] | undefined; + VpcId: string | undefined; /** - *

                            The ID of the associated VPC.

                            + *

                            The array of Subnet + * IDs used by the VPC configuration.

                            */ - VpcId: string | undefined; + SubnetIds: string[] | undefined; /** - *

                            The ID of the VPC configuration.

                            + *

                            The array of SecurityGroup + * IDs used by the VPC configuration.

                            */ - VpcConfigurationId: string | undefined; + SecurityGroupIds: string[] | undefined; } export namespace VpcConfigurationDescription { @@ -1400,11 +1400,6 @@ export namespace VpcConfigurationDescription { } export interface AddApplicationVpcConfigurationResponse { - /** - *

                            The parameters of the new VPC configuration.

                            - */ - VpcConfigurationDescription?: VpcConfigurationDescription; - /** *

                            The ARN of the application.

                            */ @@ -1414,6 +1409,11 @@ export interface AddApplicationVpcConfigurationResponse { *

                            Provides the current application version. Kinesis Data Analytics updates the ApplicationVersionId each time you update the application.

                            */ ApplicationVersionId?: number; + + /** + *

                            The parameters of the new VPC configuration.

                            + */ + VpcConfigurationDescription?: VpcConfigurationDescription; } export namespace AddApplicationVpcConfigurationResponse { @@ -1429,6 +1429,11 @@ export namespace AddApplicationVpcConfigurationResponse { * S3 object that contains the data.

                            */ export interface S3ContentLocation { + /** + *

                            The Amazon Resource Name (ARN) for the S3 bucket containing the application code.

                            + */ + BucketARN: string | undefined; + /** *

                            The file key for the object containing the application code.

                            */ @@ -1438,11 +1443,6 @@ export interface S3ContentLocation { *

                            The version of the object containing the application code.

                            */ ObjectVersion?: string; - - /** - *

                            The Amazon Resource Name (ARN) for the S3 bucket containing the application code.

                            - */ - BucketARN: string | undefined; } export namespace S3ContentLocation { @@ -1457,9 +1457,9 @@ export namespace S3ContentLocation { */ export interface CodeContent { /** - *

                            Information about the Amazon S3 bucket containing the application code.

                            + *

                            The text-format code for a Flink-based Kinesis Data Analytics application.

                            */ - S3ContentLocation?: S3ContentLocation; + TextContent?: string; /** *

                            The zip-format code for a Flink-based Kinesis Data Analytics application.

                            @@ -1467,9 +1467,9 @@ export interface CodeContent { ZipFileContent?: Uint8Array; /** - *

                            The text-format code for a Flink-based Kinesis Data Analytics application.

                            + *

                            Information about the Amazon S3 bucket containing the application code.

                            */ - TextContent?: string; + S3ContentLocation?: S3ContentLocation; } export namespace CodeContent { @@ -1509,14 +1509,14 @@ export namespace ApplicationCodeConfiguration { */ export interface S3ApplicationCodeLocationDescription { /** - *

                            The file key for the object containing the application code.

                            + *

                            The Amazon Resource Name (ARN) for the S3 bucket containing the application code.

                            */ - FileKey: string | undefined; + BucketARN: string | undefined; /** - *

                            The Amazon Resource Name (ARN) for the S3 bucket containing the application code.

                            + *

                            The file key for the object containing the application code.

                            */ - BucketARN: string | undefined; + FileKey: string | undefined; /** *

                            The version of the object containing the application code.

                            @@ -1540,10 +1540,9 @@ export interface CodeContentDescription { TextContent?: string; /** - *

                            The S3 bucket Amazon Resource Name (ARN), file key, and object version of the application - * code stored in Amazon S3.

                            + *

                            The checksum that can be used to validate zip-format code.

                            */ - S3ApplicationCodeLocationDescription?: S3ApplicationCodeLocationDescription; + CodeMD5?: string; /** *

                            The size in bytes of the application code. Can be used to validate zip-format code.

                            @@ -1551,9 +1550,10 @@ export interface CodeContentDescription { CodeSize?: number; /** - *

                            The checksum that can be used to validate zip-format code.

                            + *

                            The S3 bucket Amazon Resource Name (ARN), file key, and object version of the application + * code stored in Amazon S3.

                            */ - CodeMD5?: string; + S3ApplicationCodeLocationDescription?: S3ApplicationCodeLocationDescription; } export namespace CodeContentDescription { @@ -1588,11 +1588,6 @@ export namespace ApplicationCodeConfigurationDescription { * Flink-based Kinesis Data Analytics application.

                            */ export interface S3ContentLocationUpdate { - /** - *

                            The new version of the object containing the application code.

                            - */ - ObjectVersionUpdate?: string; - /** *

                            The new Amazon Resource Name (ARN) for the S3 bucket containing the application code.

                            */ @@ -1602,6 +1597,11 @@ export interface S3ContentLocationUpdate { *

                            The new file key for the object containing the application code.

                            */ FileKeyUpdate?: string; + + /** + *

                            The new version of the object containing the application code.

                            + */ + ObjectVersionUpdate?: string; } export namespace S3ContentLocationUpdate { @@ -1678,14 +1678,14 @@ export namespace ApplicationSnapshotConfiguration { */ export interface PropertyGroup { /** - *

                            Describes the value of an application execution property key-value pair.

                            + *

                            Describes the key of an application execution property key-value pair.

                            */ - PropertyMap: { [key: string]: string } | undefined; + PropertyGroupId: string | undefined; /** - *

                            Describes the key of an application execution property key-value pair.

                            + *

                            Describes the value of an application execution property key-value pair.

                            */ - PropertyGroupId: string | undefined; + PropertyMap: { [key: string]: string } | undefined; } export namespace PropertyGroup { @@ -1724,40 +1724,6 @@ export enum ConfigurationType { * Apache Flink Documentation.

                            */ export interface CheckpointConfiguration { - /** - *

                            Describes the minimum time in milliseconds after a checkpoint operation completes that a - * new checkpoint operation can start. If a checkpoint operation takes longer than the - * CheckpointInterval, the application otherwise performs continual checkpoint - * operations. For more information, see Tuning Checkpointing in the Apache Flink - * Documentation.

                            - * - *

                            If CheckpointConfiguration.ConfigurationType is DEFAULT, - * the application will use a MinPauseBetweenCheckpoints value of 5000, even if this value is set using this - * API or in application code.

                            - *
                            - */ - MinPauseBetweenCheckpoints?: number; - - /** - *

                            Describes the interval in milliseconds between checkpoint operations.

                            - * - *

                            If CheckpointConfiguration.ConfigurationType is DEFAULT, - * the application will use a CheckpointInterval vaue of 60000, even if this value is set - * to another value using this API or in application code.

                            - *
                            - */ - CheckpointInterval?: number; - - /** - *

                            Describes whether checkpointing is enabled for a Flink-based Kinesis Data Analytics application.

                            - * - *

                            If CheckpointConfiguration.ConfigurationType is DEFAULT, - * the application will use a CheckpointingEnabled value of true, even if this value - * is set to another value using this API or in application code.

                            - *
                            - */ - CheckpointingEnabled?: boolean; - /** *

                            Describes whether the application uses Kinesis Data Analytics' default checkpointing behavior. * You must set this property to CUSTOM in order to set the @@ -1782,6 +1748,40 @@ export interface CheckpointConfiguration { * */ ConfigurationType: ConfigurationType | string | undefined; + + /** + *

                            Describes whether checkpointing is enabled for a Flink-based Kinesis Data Analytics application.

                            + * + *

                            If CheckpointConfiguration.ConfigurationType is DEFAULT, + * the application will use a CheckpointingEnabled value of true, even if this value + * is set to another value using this API or in application code.

                            + *
                            + */ + CheckpointingEnabled?: boolean; + + /** + *

                            Describes the interval in milliseconds between checkpoint operations.

                            + * + *

                            If CheckpointConfiguration.ConfigurationType is DEFAULT, + * the application will use a CheckpointInterval vaue of 60000, even if this value is set + * to another value using this API or in application code.

                            + *
                            + */ + CheckpointInterval?: number; + + /** + *

                            Describes the minimum time in milliseconds after a checkpoint operation completes that a + * new checkpoint operation can start. If a checkpoint operation takes longer than the + * CheckpointInterval, the application otherwise performs continual checkpoint + * operations. For more information, see Tuning Checkpointing in the Apache Flink + * Documentation.

                            + * + *

                            If CheckpointConfiguration.ConfigurationType is DEFAULT, + * the application will use a MinPauseBetweenCheckpoints value of 5000, even if this value is set using this + * API or in application code.

                            + *
                            + */ + MinPauseBetweenCheckpoints?: number; } export namespace CheckpointConfiguration { @@ -1809,12 +1809,6 @@ export enum MetricsLevel { * Kinesis Data Analytics application. For more information about CloudWatch logging, see Monitoring.

                            */ export interface MonitoringConfiguration { - /** - *

                            Describes the granularity of the CloudWatch Logs for an application. The Parallelism - * level is not recommended for applications with a Parallelism over 64 due to excessive costs.

                            - */ - MetricsLevel?: MetricsLevel | string; - /** *

                            Describes whether to use the default CloudWatch logging configuration for an application. * You must set this property to CUSTOM in order to set the LogLevel or @@ -1822,6 +1816,12 @@ export interface MonitoringConfiguration { */ ConfigurationType: ConfigurationType | string | undefined; + /** + *

                            Describes the granularity of the CloudWatch Logs for an application. The Parallelism + * level is not recommended for applications with a Parallelism over 64 due to excessive costs.

                            + */ + MetricsLevel?: MetricsLevel | string; + /** *

                            Describes the verbosity of the CloudWatch Logs for an application.

                            */ @@ -1847,13 +1847,6 @@ export interface ParallelismConfiguration { */ ConfigurationType: ConfigurationType | string | undefined; - /** - *

                            Describes the number of parallel tasks that a Flink-based Kinesis Data Analytics application can perform per Kinesis Processing Unit - * (KPU) used by the application. For more - * information about KPUs, see Amazon Kinesis Data Analytics Pricing.

                            - */ - ParallelismPerKPU?: number; - /** *

                            Describes the initial number of parallel tasks that a Flink-based Kinesis Data Analytics application can perform. If AutoScalingEnabled * is set to True, Kinesis Data Analytics increases the CurrentParallelism value in response to application @@ -1865,6 +1858,13 @@ export interface ParallelismConfiguration { */ Parallelism?: number; + /** + *

                            Describes the number of parallel tasks that a Flink-based Kinesis Data Analytics application can perform per Kinesis Processing Unit + * (KPU) used by the application. For more + * information about KPUs, see Amazon Kinesis Data Analytics Pricing.

                            + */ + ParallelismPerKPU?: number; + /** *

                            Describes whether the Kinesis Data Analytics service can increase the parallelism of the application in response to increased throughput.

                            */ @@ -1943,34 +1943,34 @@ export namespace SqlApplicationConfiguration { */ export interface ApplicationConfiguration { /** - *

                            Describes execution properties for a Flink-based Kinesis Data Analytics application.

                            + *

                            The creation and update parameters for a SQL-based Kinesis Data Analytics application.

                            */ - EnvironmentProperties?: EnvironmentProperties; + SqlApplicationConfiguration?: SqlApplicationConfiguration; /** - *

                            The code location and type parameters for a Flink-based Kinesis Data Analytics application.

                            + *

                            The creation and update parameters for a Flink-based Kinesis Data Analytics application.

                            */ - ApplicationCodeConfiguration: ApplicationCodeConfiguration | undefined; + FlinkApplicationConfiguration?: FlinkApplicationConfiguration; /** - *

                            The array of descriptions of VPC configurations available to the application.

                            + *

                            Describes execution properties for a Flink-based Kinesis Data Analytics application.

                            */ - VpcConfigurations?: VpcConfiguration[]; + EnvironmentProperties?: EnvironmentProperties; /** - *

                            The creation and update parameters for a SQL-based Kinesis Data Analytics application.

                            + *

                            The code location and type parameters for a Flink-based Kinesis Data Analytics application.

                            */ - SqlApplicationConfiguration?: SqlApplicationConfiguration; + ApplicationCodeConfiguration: ApplicationCodeConfiguration | undefined; /** - *

                            The creation and update parameters for a Flink-based Kinesis Data Analytics application.

                            + *

                            Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics application.

                            */ - FlinkApplicationConfiguration?: FlinkApplicationConfiguration; + ApplicationSnapshotConfiguration?: ApplicationSnapshotConfiguration; /** - *

                            Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics application.

                            + *

                            The array of descriptions of VPC configurations available to the application.

                            */ - ApplicationSnapshotConfiguration?: ApplicationSnapshotConfiguration; + VpcConfigurations?: VpcConfiguration[]; } export namespace ApplicationConfiguration { @@ -2015,16 +2015,6 @@ export namespace EnvironmentPropertyDescriptions { *

                            Describes checkpointing parameters for a Flink-based Kinesis Data Analytics application.

                            */ export interface CheckpointConfigurationDescription { - /** - *

                            Describes whether checkpointing is enabled for a Flink-based Kinesis Data Analytics application.

                            - * - *

                            If CheckpointConfiguration.ConfigurationType is DEFAULT, - * the application will use a CheckpointingEnabled value of true, even if this value is set to - * another value using this API or in application code.

                            - *
                            - */ - CheckpointingEnabled?: boolean; - /** *

                            Describes whether the application uses the default checkpointing behavior in Kinesis Data Analytics.

                            * @@ -2049,6 +2039,16 @@ export interface CheckpointConfigurationDescription { */ ConfigurationType?: ConfigurationType | string; + /** + *

                            Describes whether checkpointing is enabled for a Flink-based Kinesis Data Analytics application.

                            + * + *

                            If CheckpointConfiguration.ConfigurationType is DEFAULT, + * the application will use a CheckpointingEnabled value of true, even if this value is set to + * another value using this API or in application code.

                            + *
                            + */ + CheckpointingEnabled?: boolean; + /** *

                            Describes the interval in milliseconds between checkpoint operations.

                            * @@ -2088,14 +2088,14 @@ export interface MonitoringConfigurationDescription { ConfigurationType?: ConfigurationType | string; /** - *

                            Describes the verbosity of the CloudWatch Logs for an application.

                            + *

                            Describes the granularity of the CloudWatch Logs for an application.

                            */ - LogLevel?: LogLevel | string; + MetricsLevel?: MetricsLevel | string; /** - *

                            Describes the granularity of the CloudWatch Logs for an application.

                            + *

                            Describes the verbosity of the CloudWatch Logs for an application.

                            */ - MetricsLevel?: MetricsLevel | string; + LogLevel?: LogLevel | string; } export namespace MonitoringConfigurationDescription { @@ -2109,6 +2109,11 @@ export namespace MonitoringConfigurationDescription { * executes multiple tasks simultaneously.

                            */ export interface ParallelismConfigurationDescription { + /** + *

                            Describes whether the application uses the default parallelism for the Kinesis Data Analytics service.

                            + */ + ConfigurationType?: ConfigurationType | string; + /** *

                            Describes the initial number of parallel tasks that a Flink-based Kinesis Data Analytics application can perform. * If AutoScalingEnabled is set to True, then Kinesis Data Analytics can increase the CurrentParallelism value in response to application @@ -2118,6 +2123,12 @@ export interface ParallelismConfigurationDescription { */ Parallelism?: number; + /** + *

                            Describes the number of parallel tasks that a Flink-based Kinesis Data Analytics application can perform per + * Kinesis Processing Unit (KPU) used by the application.

                            + */ + ParallelismPerKPU?: number; + /** *

                            Describes the current number of parallel tasks that a Flink-based Kinesis Data Analytics application can perform. * If AutoScalingEnabled is set to True, Kinesis Data Analytics can increase this value in response to application @@ -2131,17 +2142,6 @@ export interface ParallelismConfigurationDescription { *

                            Describes whether the Kinesis Data Analytics service can increase the parallelism of the application in response to increased throughput.

                            */ AutoScalingEnabled?: boolean; - - /** - *

                            Describes whether the application uses the default parallelism for the Kinesis Data Analytics service.

                            - */ - ConfigurationType?: ConfigurationType | string; - - /** - *

                            Describes the number of parallel tasks that a Flink-based Kinesis Data Analytics application can perform per - * Kinesis Processing Unit (KPU) used by the application.

                            - */ - ParallelismPerKPU?: number; } export namespace ParallelismConfigurationDescription { @@ -2154,11 +2154,6 @@ export namespace ParallelismConfigurationDescription { *

                            Describes configuration parameters for a Flink-based Kinesis Data Analytics application.

                            */ export interface FlinkApplicationConfigurationDescription { - /** - *

                            Describes parameters for how an application executes multiple tasks simultaneously.

                            - */ - ParallelismConfigurationDescription?: ParallelismConfigurationDescription; - /** *

                            Describes an application's checkpointing configuration. Checkpointing is the process of persisting application state * for fault tolerance.

                            @@ -2171,6 +2166,11 @@ export interface FlinkApplicationConfigurationDescription { */ MonitoringConfigurationDescription?: MonitoringConfigurationDescription; + /** + *

                            Describes parameters for how an application executes multiple tasks simultaneously.

                            + */ + ParallelismConfigurationDescription?: ParallelismConfigurationDescription; + /** *

                            The job plan for an application. For more information about the job plan, see Jobs and Scheduling in the Apache Flink * Documentation. To retrieve the job plan for the application, use the DescribeApplicationRequest$IncludeAdditionalDetails parameter of the DescribeApplication operation.

                            @@ -2267,10 +2267,10 @@ export namespace RunConfigurationDescription { */ export interface SqlApplicationConfigurationDescription { /** - *

                            The array of ReferenceDataSourceDescription objects describing the - * reference data sources used by the application.

                            + *

                            The array of InputDescription objects describing the input streams used + * by the application.

                            */ - ReferenceDataSourceDescriptions?: ReferenceDataSourceDescription[]; + InputDescriptions?: InputDescription[]; /** *

                            The array of OutputDescription objects describing the destination @@ -2279,10 +2279,10 @@ export interface SqlApplicationConfigurationDescription { OutputDescriptions?: OutputDescription[]; /** - *

                            The array of InputDescription objects describing the input streams used - * by the application.

                            + *

                            The array of ReferenceDataSourceDescription objects describing the + * reference data sources used by the application.

                            */ - InputDescriptions?: InputDescription[]; + ReferenceDataSourceDescriptions?: ReferenceDataSourceDescription[]; } export namespace SqlApplicationConfigurationDescription { @@ -2296,24 +2296,14 @@ export namespace SqlApplicationConfigurationDescription { */ export interface ApplicationConfigurationDescription { /** - *

                            The details about the application code for a Flink-based Kinesis Data Analytics application.

                            - */ - ApplicationCodeConfigurationDescription?: ApplicationCodeConfigurationDescription; - - /** - *

                            The array of descriptions of VPC configurations available to the application.

                            - */ - VpcConfigurationDescriptions?: VpcConfigurationDescription[]; - - /** - *

                            Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics application.

                            + *

                            The details about inputs, outputs, and reference data sources for a SQL-based Kinesis Data Analytics application.

                            */ - ApplicationSnapshotConfigurationDescription?: ApplicationSnapshotConfigurationDescription; + SqlApplicationConfigurationDescription?: SqlApplicationConfigurationDescription; /** - *

                            The details about inputs, outputs, and reference data sources for a SQL-based Kinesis Data Analytics application.

                            + *

                            The details about the application code for a Flink-based Kinesis Data Analytics application.

                            */ - SqlApplicationConfigurationDescription?: SqlApplicationConfigurationDescription; + ApplicationCodeConfigurationDescription?: ApplicationCodeConfigurationDescription; /** *

                            The details about the starting properties for a Kinesis Data Analytics application.

                            @@ -2329,6 +2319,16 @@ export interface ApplicationConfigurationDescription { *

                            Describes execution properties for a Flink-based Kinesis Data Analytics application.

                            */ EnvironmentPropertyDescriptions?: EnvironmentPropertyDescriptions; + + /** + *

                            Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics application.

                            + */ + ApplicationSnapshotConfigurationDescription?: ApplicationSnapshotConfigurationDescription; + + /** + *

                            The array of descriptions of VPC configurations available to the application.

                            + */ + VpcConfigurationDescriptions?: VpcConfigurationDescription[]; } export namespace ApplicationConfigurationDescription { @@ -2373,17 +2373,6 @@ export namespace EnvironmentPropertyUpdates { *

                            Describes updates to the checkpointing parameters for a Flink-based Kinesis Data Analytics application.

                            */ export interface CheckpointConfigurationUpdate { - /** - *

                            Describes updates to the minimum time in milliseconds after a checkpoint operation completes that a new checkpoint operation - * can start.

                            - * - *

                            If CheckpointConfiguration.ConfigurationType is DEFAULT, - * the application will use a MinPauseBetweenCheckpoints value of 5000, even if this value is set using this API or - * in application code.

                            - *
                            - */ - MinPauseBetweenCheckpointsUpdate?: number; - /** *

                            Describes updates to whether the application uses the default checkpointing behavior of * Kinesis Data Analytics. You must set this property to CUSTOM in order to set the @@ -2411,6 +2400,16 @@ export interface CheckpointConfigurationUpdate { */ ConfigurationTypeUpdate?: ConfigurationType | string; + /** + *

                            Describes updates to whether checkpointing is enabled for an application.

                            + * + *

                            If CheckpointConfiguration.ConfigurationType is DEFAULT, + * the application will use a CheckpointingEnabled value of true, even if this value is set to + * another value using this API or in application code.

                            + *
                            + */ + CheckpointingEnabledUpdate?: boolean; + /** *

                            Describes updates to the interval in milliseconds between checkpoint operations.

                            * @@ -2422,14 +2421,15 @@ export interface CheckpointConfigurationUpdate { CheckpointIntervalUpdate?: number; /** - *

                            Describes updates to whether checkpointing is enabled for an application.

                            + *

                            Describes updates to the minimum time in milliseconds after a checkpoint operation completes that a new checkpoint operation + * can start.

                            * *

                            If CheckpointConfiguration.ConfigurationType is DEFAULT, - * the application will use a CheckpointingEnabled value of true, even if this value is set to - * another value using this API or in application code.

                            + * the application will use a MinPauseBetweenCheckpoints value of 5000, even if this value is set using this API or + * in application code.

                            *
                            */ - CheckpointingEnabledUpdate?: boolean; + MinPauseBetweenCheckpointsUpdate?: number; } export namespace CheckpointConfigurationUpdate { @@ -2443,9 +2443,11 @@ export namespace CheckpointConfigurationUpdate { */ export interface MonitoringConfigurationUpdate { /** - *

                            Describes updates to the verbosity of the CloudWatch Logs for an application.

                            + *

                            Describes updates to whether to use the default CloudWatch logging configuration for + * an application. You must set this property to CUSTOM in order to set the LogLevel or + * MetricsLevel parameters.

                            */ - LogLevelUpdate?: LogLevel | string; + ConfigurationTypeUpdate?: ConfigurationType | string; /** *

                            Describes updates to the granularity of the CloudWatch Logs for an application. The Parallelism @@ -2454,11 +2456,9 @@ export interface MonitoringConfigurationUpdate { MetricsLevelUpdate?: MetricsLevel | string; /** - *

                            Describes updates to whether to use the default CloudWatch logging configuration for - * an application. You must set this property to CUSTOM in order to set the LogLevel or - * MetricsLevel parameters.

                            + *

                            Describes updates to the verbosity of the CloudWatch Logs for an application.

                            */ - ConfigurationTypeUpdate?: ConfigurationType | string; + LogLevelUpdate?: LogLevel | string; } export namespace MonitoringConfigurationUpdate { @@ -2476,7 +2476,16 @@ export interface ParallelismConfigurationUpdate { * You must set this property to CUSTOM * in order to change your application's AutoScalingEnabled, Parallelism, or ParallelismPerKPU properties.

                            */ - ConfigurationTypeUpdate?: ConfigurationType | string; + ConfigurationTypeUpdate?: ConfigurationType | string; + + /** + *

                            Describes updates to the initial number of parallel tasks an application can perform. If AutoScalingEnabled is set to True, then + * Kinesis Data Analytics can increase the CurrentParallelism value in response to application + * load. The service can increase CurrentParallelism up to the maximum parallelism, which is ParalellismPerKPU times the maximum KPUs for the application. + * The maximum KPUs for an application is 32 by default, and can be increased by requesting a limit increase. If application load is reduced, the service will + * reduce CurrentParallelism down to the Parallelism setting.

                            + */ + ParallelismUpdate?: number; /** *

                            Describes updates to the number of parallel tasks an application can perform per Kinesis Processing Unit (KPU) used by the application.

                            @@ -2487,15 +2496,6 @@ export interface ParallelismConfigurationUpdate { *

                            Describes updates to whether the Kinesis Data Analytics service can increase the parallelism of the application in response to increased throughput.

                            */ AutoScalingEnabledUpdate?: boolean; - - /** - *

                            Describes updates to the initial number of parallel tasks an application can perform. If AutoScalingEnabled is set to True, then - * Kinesis Data Analytics can increase the CurrentParallelism value in response to application - * load. The service can increase CurrentParallelism up to the maximum parallelism, which is ParalellismPerKPU times the maximum KPUs for the application. - * The maximum KPUs for an application is 32 by default, and can be increased by requesting a limit increase. If application load is reduced, the service will - * reduce CurrentParallelism down to the Parallelism setting.

                            - */ - ParallelismUpdate?: number; } export namespace ParallelismConfigurationUpdate { @@ -2508,18 +2508,18 @@ export namespace ParallelismConfigurationUpdate { *

                            Describes updates to the configuration parameters for a Flink-based Kinesis Data Analytics application.

                            */ export interface FlinkApplicationConfigurationUpdate { - /** - *

                            Describes updates to the configuration parameters for Amazon CloudWatch logging for an - * application.

                            - */ - MonitoringConfigurationUpdate?: MonitoringConfigurationUpdate; - /** *

                            Describes updates to an application's checkpointing configuration. Checkpointing is the process of persisting * application state for fault tolerance.

                            */ CheckpointConfigurationUpdate?: CheckpointConfigurationUpdate; + /** + *

                            Describes updates to the configuration parameters for Amazon CloudWatch logging for an + * application.

                            + */ + MonitoringConfigurationUpdate?: MonitoringConfigurationUpdate; + /** *

                            Describes updates to the parameters for how an application executes multiple tasks simultaneously.

                            */ @@ -2594,10 +2594,9 @@ export namespace InputProcessingConfigurationUpdate { */ export interface InputSchemaUpdate { /** - *

                            A list of RecordColumn objects. Each object describes the mapping - * of the streaming source element to the corresponding column in the in-application stream.

                            + *

                            Specifies the format of the records on the streaming source.

                            */ - RecordColumnUpdates?: RecordColumn[]; + RecordFormatUpdate?: RecordFormat; /** *

                            Specifies the encoding of the records in the streaming source; for example, UTF-8.

                            @@ -2605,9 +2604,10 @@ export interface InputSchemaUpdate { RecordEncodingUpdate?: string; /** - *

                            Specifies the format of the records on the streaming source.

                            + *

                            A list of RecordColumn objects. Each object describes the mapping + * of the streaming source element to the corresponding column in the in-application stream.

                            */ - RecordFormatUpdate?: RecordFormat; + RecordColumnUpdates?: RecordColumn[]; } export namespace InputSchemaUpdate { @@ -2657,18 +2657,6 @@ export namespace KinesisStreamsInputUpdate { * specific input configuration (identified by the InputId of an application).

                            */ export interface InputUpdate { - /** - *

                            If a Kinesis Data Firehose delivery stream is the streaming source to be - * updated, provides an updated stream ARN.

                            - */ - KinesisFirehoseInputUpdate?: KinesisFirehoseInputUpdate; - - /** - *

                            Describes the data format on the streaming source, and - * how record elements on the streaming source map to columns of the in-application stream that is created.

                            - */ - InputSchemaUpdate?: InputSchemaUpdate; - /** *

                            The input ID of the application input to be updated.

                            */ @@ -2685,16 +2673,28 @@ export interface InputUpdate { */ InputProcessingConfigurationUpdate?: InputProcessingConfigurationUpdate; - /** - *

                            Describes the parallelism updates (the number of in-application streams Kinesis Data Analytics creates for the specific streaming source).

                            - */ - InputParallelismUpdate?: InputParallelismUpdate; - /** *

                            If a Kinesis data stream is the streaming source to be updated, provides an * updated stream Amazon Resource Name (ARN).

                            */ KinesisStreamsInputUpdate?: KinesisStreamsInputUpdate; + + /** + *

                            If a Kinesis Data Firehose delivery stream is the streaming source to be + * updated, provides an updated stream ARN.

                            + */ + KinesisFirehoseInputUpdate?: KinesisFirehoseInputUpdate; + + /** + *

                            Describes the data format on the streaming source, and + * how record elements on the streaming source map to columns of the in-application stream that is created.

                            + */ + InputSchemaUpdate?: InputSchemaUpdate; + + /** + *

                            Describes the parallelism updates (the number of in-application streams Kinesis Data Analytics creates for the specific streaming source).

                            + */ + InputParallelismUpdate?: InputParallelismUpdate; } export namespace InputUpdate { @@ -2767,6 +2767,11 @@ export namespace LambdaOutputUpdate { * output configuration identified by the OutputId.

                            */ export interface OutputUpdate { + /** + *

                            Identifies the specific output configuration that you want to update.

                            + */ + OutputId: string | undefined; + /** *

                            If you want to specify a different in-application stream * for this output configuration, use this field to @@ -2779,17 +2784,6 @@ export interface OutputUpdate { */ KinesisStreamsOutputUpdate?: KinesisStreamsOutputUpdate; - /** - *

                            Describes the data format when records are written to the destination. - *

                            - */ - DestinationSchemaUpdate?: DestinationSchema; - - /** - *

                            Identifies the specific output configuration that you want to update.

                            - */ - OutputId: string | undefined; - /** *

                            Describes a Kinesis Data Firehose delivery stream as the destination for the * output.

                            @@ -2800,6 +2794,12 @@ export interface OutputUpdate { *

                            Describes an AWS Lambda function as the destination for the output.

                            */ LambdaOutputUpdate?: LambdaOutputUpdate; + + /** + *

                            Describes the data format when records are written to the destination. + *

                            + */ + DestinationSchemaUpdate?: DestinationSchema; } export namespace OutputUpdate { @@ -2838,6 +2838,11 @@ export namespace S3ReferenceDataSourceUpdate { * reference table that is created.

                            */ export interface ReferenceDataSourceUpdate { + /** + *

                            The ID of the reference data source that is being updated. You can use the DescribeApplication operation to get this value.

                            + */ + ReferenceId: string | undefined; + /** *

                            The in-application table name that is created by this update.

                            */ @@ -2849,11 +2854,6 @@ export interface ReferenceDataSourceUpdate { */ S3ReferenceDataSourceUpdate?: S3ReferenceDataSourceUpdate; - /** - *

                            The ID of the reference data source that is being updated. You can use the DescribeApplication operation to get this value.

                            - */ - ReferenceId: string | undefined; - /** *

                            Describes the format of the data in the streaming source, and how each data element maps to * corresponding columns created in the in-application stream.

                            @@ -2872,6 +2872,12 @@ export namespace ReferenceDataSourceUpdate { * for a SQL-based Kinesis Data Analytics application.

                            */ export interface SqlApplicationConfigurationUpdate { + /** + *

                            The array of InputUpdate objects describing the new input streams used + * by the application.

                            + */ + InputUpdates?: InputUpdate[]; + /** *

                            The array of OutputUpdate objects describing the new destination streams * used by the application.

                            @@ -2883,12 +2889,6 @@ export interface SqlApplicationConfigurationUpdate { * reference data sources used by the application.

                            */ ReferenceDataSourceUpdates?: ReferenceDataSourceUpdate[]; - - /** - *

                            The array of InputUpdate objects describing the new input streams used - * by the application.

                            - */ - InputUpdates?: InputUpdate[]; } export namespace SqlApplicationConfigurationUpdate { @@ -2906,18 +2906,18 @@ export interface VpcConfigurationUpdate { */ VpcConfigurationId: string | undefined; - /** - *

                            Describes updates to the array of - * SecurityGroup IDs used by the VPC configuration.

                            - */ - SecurityGroupIdUpdates?: string[]; - /** *

                            Describes updates to the array of Subnet * IDs * used by the VPC configuration.

                            */ SubnetIdUpdates?: string[]; + + /** + *

                            Describes updates to the array of + * SecurityGroup IDs used by the VPC configuration.

                            + */ + SecurityGroupIdUpdates?: string[]; } export namespace VpcConfigurationUpdate { @@ -2931,9 +2931,10 @@ export namespace VpcConfigurationUpdate { */ export interface ApplicationConfigurationUpdate { /** - *

                            Describes updates to the environment properties for a Flink-based Kinesis Data Analytics application.

                            + *

                            Describes updates to a SQL-based Kinesis Data Analytics application's + * configuration.

                            */ - EnvironmentPropertyUpdates?: EnvironmentPropertyUpdates; + SqlApplicationConfigurationUpdate?: SqlApplicationConfigurationUpdate; /** *

                            Describes updates to a Flink-based Kinesis Data Analytics application's code @@ -2942,10 +2943,14 @@ export interface ApplicationConfigurationUpdate { ApplicationCodeConfigurationUpdate?: ApplicationCodeConfigurationUpdate; /** - *

                            Describes updates to a SQL-based Kinesis Data Analytics application's - * configuration.

                            + *

                            Describes updates to a Flink-based Kinesis Data Analytics application's configuration.

                            */ - SqlApplicationConfigurationUpdate?: SqlApplicationConfigurationUpdate; + FlinkApplicationConfigurationUpdate?: FlinkApplicationConfigurationUpdate; + + /** + *

                            Describes updates to the environment properties for a Flink-based Kinesis Data Analytics application.

                            + */ + EnvironmentPropertyUpdates?: EnvironmentPropertyUpdates; /** *

                            Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics application.

                            @@ -2956,11 +2961,6 @@ export interface ApplicationConfigurationUpdate { *

                            Updates to the array of descriptions of VPC configurations available to the application.

                            */ VpcConfigurationUpdates?: VpcConfigurationUpdate[]; - - /** - *

                            Describes updates to a Flink-based Kinesis Data Analytics application's configuration.

                            - */ - FlinkApplicationConfigurationUpdate?: FlinkApplicationConfigurationUpdate; } export namespace ApplicationConfigurationUpdate { @@ -2981,6 +2981,7 @@ export enum ApplicationStatus { } export enum RuntimeEnvironment { + FLINK_1_11 = "FLINK-1_11", FLINK_1_6 = "FLINK-1_6", FLINK_1_8 = "FLINK-1_8", SQL_1_0 = "SQL-1_0", @@ -2992,50 +2993,50 @@ export enum RuntimeEnvironment { */ export interface ApplicationDetail { /** - *

                            The runtime environment for the application (SQL-1.0, FLINK-1_6, or FLINK-1_8).

                            + *

                            The ARN of the application.

                            */ - RuntimeEnvironment: RuntimeEnvironment | string | undefined; + ApplicationARN: string | undefined; /** - *

                            Specifies the IAM role that the application uses to access external resources.

                            + *

                            The description of the application.

                            */ - ServiceExecutionRole?: string; + ApplicationDescription?: string; /** - *

                            The current timestamp when the application was last updated.

                            + *

                            The name of the application.

                            */ - LastUpdateTimestamp?: Date; + ApplicationName: string | undefined; /** - *

                            Provides the current application version. Kinesis Data Analytics updates the - * ApplicationVersionId each time you update the application.

                            + *

                            The runtime environment for the application (SQL-1.0, FLINK-1_6, or FLINK-1_8).

                            */ - ApplicationVersionId: number | undefined; + RuntimeEnvironment: RuntimeEnvironment | string | undefined; /** - *

                            The name of the application.

                            + *

                            Specifies the IAM role that the application uses to access external resources.

                            */ - ApplicationName: string | undefined; + ServiceExecutionRole?: string; /** - *

                            The current timestamp when the application was created.

                            + *

                            The status of the application.

                            */ - CreateTimestamp?: Date; + ApplicationStatus: ApplicationStatus | string | undefined; /** - *

                            The description of the application.

                            + *

                            Provides the current application version. Kinesis Data Analytics updates the + * ApplicationVersionId each time you update the application.

                            */ - ApplicationDescription?: string; + ApplicationVersionId: number | undefined; /** - *

                            Describes the application Amazon CloudWatch logging options.

                            + *

                            The current timestamp when the application was created.

                            */ - CloudWatchLoggingOptionDescriptions?: CloudWatchLoggingOptionDescription[]; + CreateTimestamp?: Date; /** - *

                            The status of the application.

                            + *

                            The current timestamp when the application was last updated.

                            */ - ApplicationStatus: ApplicationStatus | string | undefined; + LastUpdateTimestamp?: Date; /** *

                            Provides details about the application's Java, SQL, or Scala code and starting parameters.

                            @@ -3043,9 +3044,9 @@ export interface ApplicationDetail { ApplicationConfigurationDescription?: ApplicationConfigurationDescription; /** - *

                            The ARN of the application.

                            + *

                            Describes the application Amazon CloudWatch logging options.

                            */ - ApplicationARN: string | undefined; + CloudWatchLoggingOptionDescriptions?: CloudWatchLoggingOptionDescription[]; } export namespace ApplicationDetail { @@ -3059,15 +3060,20 @@ export namespace ApplicationDetail { */ export interface ApplicationSummary { /** - *

                            The status of the application.

                            + *

                            The name of the application.

                            */ - ApplicationStatus: ApplicationStatus | string | undefined; + ApplicationName: string | undefined; /** *

                            The ARN of the application.

                            */ ApplicationARN: string | undefined; + /** + *

                            The status of the application.

                            + */ + ApplicationStatus: ApplicationStatus | string | undefined; + /** *

                            Provides the current application version.

                            */ @@ -3077,11 +3083,6 @@ export interface ApplicationSummary { *

                            The runtime environment for the application (SQL-1.0, FLINK-1_6, or FLINK-1_8).

                            */ RuntimeEnvironment: RuntimeEnvironment | string | undefined; - - /** - *

                            The name of the application.

                            - */ - ApplicationName: string | undefined; } export namespace ApplicationSummary { @@ -3095,15 +3096,15 @@ export namespace ApplicationSummary { */ export interface CloudWatchLoggingOptionUpdate { /** - *

                            The Amazon Resource Name (ARN) of the CloudWatch log to receive application - * messages.

                            + *

                            The ID of the CloudWatch logging option to update

                            */ - LogStreamARNUpdate?: string; + CloudWatchLoggingOptionId: string | undefined; /** - *

                            The ID of the CloudWatch logging option to update

                            + *

                            The Amazon Resource Name (ARN) of the CloudWatch log to receive application + * messages.

                            */ - CloudWatchLoggingOptionId: string | undefined; + LogStreamARNUpdate?: string; } export namespace CloudWatchLoggingOptionUpdate { @@ -3123,14 +3124,14 @@ export namespace CloudWatchLoggingOptionUpdate { */ export interface Tag { /** - *

                            The value of the key-value tag. The value is optional.

                            + *

                            The key of the key-value tag.

                            */ - Value?: string; + Key: string | undefined; /** - *

                            The key of the key-value tag.

                            + *

                            The value of the key-value tag. The value is optional.

                            */ - Key: string | undefined; + Value?: string; } export namespace Tag { @@ -3141,46 +3142,46 @@ export namespace Tag { export interface CreateApplicationRequest { /** - *

                            Use this parameter to configure the application.

                            + *

                            The name of your application (for example, sample-app).

                            */ - ApplicationConfiguration?: ApplicationConfiguration; + ApplicationName: string | undefined; /** - *

                            A list of one or more tags to assign to the application. A tag is a key-value pair that identifies an - * application. Note that the maximum number of application tags includes system tags. The maximum number of - * user-defined application tags is 50. - * For more information, see - * Using Tagging.

                            + *

                            A summary description of the application.

                            */ - Tags?: Tag[]; + ApplicationDescription?: string; /** - *

                            Use this parameter to configure an Amazon CloudWatch log stream to monitor application - * configuration errors. - *

                            + *

                            The runtime environment for the application (SQL-1.0, FLINK-1_6, or FLINK-1_8).

                            */ - CloudWatchLoggingOptions?: CloudWatchLoggingOption[]; + RuntimeEnvironment: RuntimeEnvironment | string | undefined; /** - *

                            The name of your application (for example, sample-app).

                            + *

                            The IAM role used by the application to access Kinesis data streams, Kinesis Data Firehose + * delivery streams, Amazon S3 objects, and other external resources.

                            */ - ApplicationName: string | undefined; + ServiceExecutionRole: string | undefined; /** - *

                            The runtime environment for the application (SQL-1.0, FLINK-1_6, or FLINK-1_8).

                            + *

                            Use this parameter to configure the application.

                            */ - RuntimeEnvironment: RuntimeEnvironment | string | undefined; + ApplicationConfiguration?: ApplicationConfiguration; /** - *

                            The IAM role used by the application to access Kinesis data streams, Kinesis Data Firehose - * delivery streams, Amazon S3 objects, and other external resources.

                            + *

                            Use this parameter to configure an Amazon CloudWatch log stream to monitor application + * configuration errors. + *

                            */ - ServiceExecutionRole: string | undefined; + CloudWatchLoggingOptions?: CloudWatchLoggingOption[]; /** - *

                            A summary description of the application.

                            + *

                            A list of one or more tags to assign to the application. A tag is a key-value pair that identifies an + * application. Note that the maximum number of application tags includes system tags. The maximum number of + * user-defined application tags is 50. + * For more information, see + * Using Tagging.

                            */ - ApplicationDescription?: string; + Tags?: Tag[]; } export namespace CreateApplicationRequest { @@ -3234,16 +3235,57 @@ export namespace TooManyTagsException { }); } -export interface CreateApplicationSnapshotRequest { +export enum UrlType { + FLINK_DASHBOARD_URL = "FLINK_DASHBOARD_URL", +} + +export interface CreateApplicationPresignedUrlRequest { /** - *

                            An identifier for the application snapshot.

                            + *

                            The name of the application.

                            */ - SnapshotName: string | undefined; + ApplicationName: string | undefined; + + /** + *

                            The type of the extension for which to create and return a URL. Currently, the only valid + * extension URL type is FLINK_DASHBOARD_URL.

                            + */ + UrlType: UrlType | string | undefined; + + /** + *

                            The duration in seconds for which the returned URL will be valid.

                            + */ + SessionExpirationDurationInSeconds?: number; +} + +export namespace CreateApplicationPresignedUrlRequest { + export const filterSensitiveLog = (obj: CreateApplicationPresignedUrlRequest): any => ({ + ...obj, + }); +} + +export interface CreateApplicationPresignedUrlResponse { + /** + *

                            The URL of the extension.

                            + */ + AuthorizedUrl?: string; +} + +export namespace CreateApplicationPresignedUrlResponse { + export const filterSensitiveLog = (obj: CreateApplicationPresignedUrlResponse): any => ({ + ...obj, + }); +} +export interface CreateApplicationSnapshotRequest { /** *

                            The name of an existing application

                            */ ApplicationName: string | undefined; + + /** + *

                            An identifier for the application snapshot.

                            + */ + SnapshotName: string | undefined; } export namespace CreateApplicationSnapshotRequest { @@ -3278,14 +3320,14 @@ export namespace UnsupportedOperationException { export interface DeleteApplicationRequest { /** - *

                            Use the DescribeApplication operation to get this value.

                            + *

                            The name of the application to delete.

                            */ - CreateTimestamp: Date | undefined; + ApplicationName: string | undefined; /** - *

                            The name of the application to delete.

                            + *

                            Use the DescribeApplication operation to get this value.

                            */ - ApplicationName: string | undefined; + CreateTimestamp: Date | undefined; } export namespace DeleteApplicationRequest { @@ -3328,11 +3370,6 @@ export namespace DeleteApplicationCloudWatchLoggingOptionRequest { } export interface DeleteApplicationCloudWatchLoggingOptionResponse { - /** - *

                            The descriptions of the remaining CloudWatch logging options for the application.

                            - */ - CloudWatchLoggingOptionDescriptions?: CloudWatchLoggingOptionDescription[]; - /** *

                            The application's Amazon Resource Name (ARN).

                            */ @@ -3344,6 +3381,11 @@ export interface DeleteApplicationCloudWatchLoggingOptionResponse { * options.

                            */ ApplicationVersionId?: number; + + /** + *

                            The descriptions of the remaining CloudWatch logging options for the application.

                            + */ + CloudWatchLoggingOptionDescriptions?: CloudWatchLoggingOptionDescription[]; } export namespace DeleteApplicationCloudWatchLoggingOptionResponse { @@ -3358,12 +3400,6 @@ export interface DeleteApplicationInputProcessingConfigurationRequest { */ ApplicationName: string | undefined; - /** - *

                            The ID of the input configuration from which to delete the input processing - * configuration. You can get a list of the input IDs for an application by using the DescribeApplication operation.

                            - */ - InputId: string | undefined; - /** *

                            The application version. * You can use the DescribeApplication operation to get the current application version. @@ -3372,6 +3408,12 @@ export interface DeleteApplicationInputProcessingConfigurationRequest { *

                            */ CurrentApplicationVersionId: number | undefined; + + /** + *

                            The ID of the input configuration from which to delete the input processing + * configuration. You can get a list of the input IDs for an application by using the DescribeApplication operation.

                            + */ + InputId: string | undefined; } export namespace DeleteApplicationInputProcessingConfigurationRequest { @@ -3448,6 +3490,11 @@ export namespace DeleteApplicationOutputResponse { } export interface DeleteApplicationReferenceDataSourceRequest { + /** + *

                            The name of an existing application.

                            + */ + ApplicationName: string | undefined; + /** *

                            The current application version. * You can use the DescribeApplication operation to get the current application version. @@ -3463,11 +3510,6 @@ export interface DeleteApplicationReferenceDataSourceRequest { * get the reference ID.

                            */ ReferenceId: string | undefined; - - /** - *

                            The name of an existing application.

                            - */ - ApplicationName: string | undefined; } export namespace DeleteApplicationReferenceDataSourceRequest { @@ -3496,14 +3538,14 @@ export namespace DeleteApplicationReferenceDataSourceResponse { export interface DeleteApplicationSnapshotRequest { /** - *

                            The identifier for the snapshot delete.

                            + *

                            The name of an existing application.

                            */ - SnapshotName: string | undefined; + ApplicationName: string | undefined; /** - *

                            The name of an existing application.

                            + *

                            The identifier for the snapshot delete.

                            */ - ApplicationName: string | undefined; + SnapshotName: string | undefined; /** *

                            The creation timestamp of the application snapshot to delete. You can retrieve this value @@ -3528,6 +3570,11 @@ export namespace DeleteApplicationSnapshotResponse { } export interface DeleteApplicationVpcConfigurationRequest { + /** + *

                            The name of an existing application.

                            + */ + ApplicationName: string | undefined; + /** *

                            The current application version ID. You can retrieve the application version ID using * DescribeApplication.

                            @@ -3538,11 +3585,6 @@ export interface DeleteApplicationVpcConfigurationRequest { *

                            The ID of the VPC configuration to delete.

                            */ VpcConfigurationId: string | undefined; - - /** - *

                            The name of an existing application.

                            - */ - ApplicationName: string | undefined; } export namespace DeleteApplicationVpcConfigurationRequest { @@ -3553,14 +3595,14 @@ export namespace DeleteApplicationVpcConfigurationRequest { export interface DeleteApplicationVpcConfigurationResponse { /** - *

                            The updated version ID of the application.

                            + *

                            The ARN of the Kinesis Data Analytics application.

                            */ - ApplicationVersionId?: number; + ApplicationARN?: string; /** - *

                            The ARN of the Kinesis Data Analytics application.

                            + *

                            The updated version ID of the application.

                            */ - ApplicationARN?: string; + ApplicationVersionId?: number; } export namespace DeleteApplicationVpcConfigurationResponse { @@ -3631,11 +3673,6 @@ export enum SnapshotStatus { *

                            Provides details about a snapshot of application state.

                            */ export interface SnapshotDetails { - /** - *

                            The current application version ID when the snapshot was created.

                            - */ - ApplicationVersionId: number | undefined; - /** *

                            The identifier for the application snapshot.

                            */ @@ -3646,6 +3683,11 @@ export interface SnapshotDetails { */ SnapshotStatus: SnapshotStatus | string | undefined; + /** + *

                            The current application version ID when the snapshot was created.

                            + */ + ApplicationVersionId: number | undefined; + /** *

                            The timestamp of the application snapshot.

                            */ @@ -3696,32 +3738,32 @@ export namespace S3Configuration { export interface DiscoverInputSchemaRequest { /** - *

                            Specify this parameter to discover a schema from data in an Amazon S3 - * object.

                            + *

                            The Amazon Resource Name (ARN) of the streaming source.

                            */ - S3Configuration?: S3Configuration; + ResourceARN?: string; /** - *

                            The point at which you want Kinesis Data Analytics to start reading records from the - * specified streaming source discovery purposes.

                            + *

                            The ARN of the role that is used to access the streaming source.

                            */ - InputStartingPositionConfiguration?: InputStartingPositionConfiguration; + ServiceExecutionRole: string | undefined; /** - *

                            The InputProcessingConfiguration to use to preprocess the records - * before discovering the schema of the records.

                            + *

                            The point at which you want Kinesis Data Analytics to start reading records from the + * specified streaming source discovery purposes.

                            */ - InputProcessingConfiguration?: InputProcessingConfiguration; + InputStartingPositionConfiguration?: InputStartingPositionConfiguration; /** - *

                            The Amazon Resource Name (ARN) of the streaming source.

                            + *

                            Specify this parameter to discover a schema from data in an Amazon S3 + * object.

                            */ - ResourceARN?: string; + S3Configuration?: S3Configuration; /** - *

                            The ARN of the role that is used to access the streaming source.

                            + *

                            The InputProcessingConfiguration to use to preprocess the records + * before discovering the schema of the records.

                            */ - ServiceExecutionRole: string | undefined; + InputProcessingConfiguration?: InputProcessingConfiguration; } export namespace DiscoverInputSchemaRequest { @@ -3744,16 +3786,16 @@ export interface DiscoverInputSchemaResponse { */ ParsedInputRecords?: string[][]; - /** - *

                            The raw stream data that was sampled to infer the schema.

                            - */ - RawInputRecords?: string[]; - /** *

                            The stream data that was modified by the processor specified in the * InputProcessingConfiguration parameter.

                            */ ProcessedInputRecords?: string[]; + + /** + *

                            The raw stream data that was sampled to infer the schema.

                            + */ + RawInputRecords?: string[]; } export namespace DiscoverInputSchemaResponse { @@ -3802,14 +3844,14 @@ export interface UnableToDetectSchemaException extends __SmithyException, $Metad $fault: "client"; Message?: string; /** - *

                            Stream data that was modified by the processor specified in the InputProcessingConfiguration parameter.

                            + *

                            Raw stream data that was sampled to infer the schema.

                            */ - ProcessedInputRecords?: string[]; + RawInputRecords?: string[]; /** - *

                            Raw stream data that was sampled to infer the schema.

                            + *

                            Stream data that was modified by the processor specified in the InputProcessingConfiguration parameter.

                            */ - RawInputRecords?: string[]; + ProcessedInputRecords?: string[]; } export namespace UnableToDetectSchemaException { @@ -3840,6 +3882,11 @@ export namespace ListApplicationsRequest { } export interface ListApplicationsResponse { + /** + *

                            A list of ApplicationSummary objects.

                            + */ + ApplicationSummaries: ApplicationSummary[] | undefined; + /** *

                            The pagination token for the next set of results, or null if there are no additional results. * Pass this token into a subsequent command to retrieve the next set of items @@ -3847,11 +3894,6 @@ export interface ListApplicationsResponse { * Using the AWS Command Line Interface's Pagination Options.

                            */ NextToken?: string; - - /** - *

                            A list of ApplicationSummary objects.

                            - */ - ApplicationSummaries: ApplicationSummary[] | undefined; } export namespace ListApplicationsResponse { @@ -3866,17 +3908,17 @@ export interface ListApplicationSnapshotsRequest { */ ApplicationName: string | undefined; + /** + *

                            The maximum number of application snapshots to list.

                            + */ + Limit?: number; + /** *

                            Use this parameter if you receive a NextToken response in a previous request that indicates that there is more * output available. Set it to the value of the previous call's NextToken response to indicate where the output should * continue from.

                            */ NextToken?: string; - - /** - *

                            The maximum number of application snapshots to list.

                            - */ - Limit?: number; } export namespace ListApplicationSnapshotsRequest { @@ -3887,14 +3929,14 @@ export namespace ListApplicationSnapshotsRequest { export interface ListApplicationSnapshotsResponse { /** - *

                            The token for the next set of results, or null if there are no additional results.

                            + *

                            A collection of objects containing information about the application snapshots.

                            */ - NextToken?: string; + SnapshotSummaries?: SnapshotDetails[]; /** - *

                            A collection of objects containing information about the application snapshots.

                            + *

                            The token for the next set of results, or null if there are no additional results.

                            */ - SnapshotSummaries?: SnapshotDetails[]; + NextToken?: string; } export namespace ListApplicationSnapshotsResponse { @@ -3956,15 +3998,15 @@ export namespace SqlRunConfiguration { */ export interface RunConfiguration { /** - *

                            Describes the starting parameters for a SQL-based Kinesis Data Analytics application - * application.

                            + *

                            Describes the starting parameters for a Flink-based Kinesis Data Analytics application.

                            */ - SqlRunConfigurations?: SqlRunConfiguration[]; + FlinkRunConfiguration?: FlinkRunConfiguration; /** - *

                            Describes the starting parameters for a Flink-based Kinesis Data Analytics application.

                            + *

                            Describes the starting parameters for a SQL-based Kinesis Data Analytics application + * application.

                            */ - FlinkRunConfiguration?: FlinkRunConfiguration; + SqlRunConfigurations?: SqlRunConfiguration[]; /** *

                            Describes the restore behavior of a restarting application.

                            @@ -3980,14 +4022,14 @@ export namespace RunConfiguration { export interface StartApplicationRequest { /** - *

                            Identifies the run configuration (start parameters) of a Kinesis Data Analytics application.

                            + *

                            The name of the application.

                            */ - RunConfiguration: RunConfiguration | undefined; + ApplicationName: string | undefined; /** - *

                            The name of the application.

                            + *

                            Identifies the run configuration (start parameters) of a Kinesis Data Analytics application.

                            */ - ApplicationName: string | undefined; + RunConfiguration: RunConfiguration | undefined; } export namespace StartApplicationRequest { @@ -4005,20 +4047,26 @@ export namespace StartApplicationResponse { } export interface StopApplicationRequest { + /** + *

                            The name of the running application to stop.

                            + */ + ApplicationName: string | undefined; + /** *

                            Set to true to force the application to stop. If you set Force - * to true, Kinesis Data Analytics stops the application without taking a snapshot.

                            + * to true, Kinesis Data Analytics stops the application without taking a snapshot. + *

                            + * + *

                            Force-stopping your application may lead to data loss or duplication. + * To prevent data loss or duplicate processing of data during application restarts, + * we recommend you to take frequent snapshots of your application.

                            + *
                            *

                            You can only force stop a Flink-based Kinesis Data Analytics application. You can't force stop a SQL-based Kinesis Data Analytics application.

                            *

                            The application must be in the * STARTING, UPDATING, STOPPING, AUTOSCALING, or - * RUNNING state.

                            + * RUNNING status.

                            */ Force?: boolean; - - /** - *

                            The name of the running application to stop.

                            - */ - ApplicationName: string | undefined; } export namespace StopApplicationRequest { @@ -4063,14 +4111,14 @@ export namespace TagResourceResponse { export interface UntagResourceRequest { /** - *

                            A list of keys of tags to remove from the specified application.

                            + *

                            The ARN of the Kinesis Data Analytics application from which to remove the tags.

                            */ - TagKeys: string[] | undefined; + ResourceARN: string | undefined; /** - *

                            The ARN of the Kinesis Data Analytics application from which to remove the tags.

                            + *

                            A list of keys of tags to remove from the specified application.

                            */ - ResourceARN: string | undefined; + TagKeys: string[] | undefined; } export namespace UntagResourceRequest { @@ -4092,14 +4140,14 @@ export namespace UntagResourceResponse { */ export interface RunConfigurationUpdate { /** - *

                            Describes updates to the restore behavior of a restarting application.

                            + *

                            Describes the starting parameters for a Flink-based Kinesis Data Analytics application.

                            */ - ApplicationRestoreConfiguration?: ApplicationRestoreConfiguration; + FlinkRunConfiguration?: FlinkRunConfiguration; /** - *

                            Describes the starting parameters for a Flink-based Kinesis Data Analytics application.

                            + *

                            Describes updates to the restore behavior of a restarting application.

                            */ - FlinkRunConfiguration?: FlinkRunConfiguration; + ApplicationRestoreConfiguration?: ApplicationRestoreConfiguration; } export namespace RunConfigurationUpdate { @@ -4109,18 +4157,6 @@ export namespace RunConfigurationUpdate { } export interface UpdateApplicationRequest { - /** - *

                            Describes application Amazon CloudWatch logging option updates. You can only update - * existing CloudWatch logging options with this action. To add a new CloudWatch logging option, - * use AddApplicationCloudWatchLoggingOption.

                            - */ - CloudWatchLoggingOptionUpdates?: CloudWatchLoggingOptionUpdate[]; - - /** - *

                            Describes updates to the service execution role.

                            - */ - ServiceExecutionRoleUpdate?: string; - /** *

                            The name of the application to update.

                            */ @@ -4137,10 +4173,22 @@ export interface UpdateApplicationRequest { */ ApplicationConfigurationUpdate?: ApplicationConfigurationUpdate; + /** + *

                            Describes updates to the service execution role.

                            + */ + ServiceExecutionRoleUpdate?: string; + /** *

                            Describes updates to the application's starting parameters.

                            */ RunConfigurationUpdate?: RunConfigurationUpdate; + + /** + *

                            Describes application Amazon CloudWatch logging option updates. You can only update + * existing CloudWatch logging options with this action. To add a new CloudWatch logging option, + * use AddApplicationCloudWatchLoggingOption.

                            + */ + CloudWatchLoggingOptionUpdates?: CloudWatchLoggingOptionUpdate[]; } export namespace UpdateApplicationRequest { diff --git a/clients/client-kinesis-analytics-v2/protocols/Aws_json1_1.ts b/clients/client-kinesis-analytics-v2/protocols/Aws_json1_1.ts index ac045240afe8..ee7409136d81 100644 --- a/clients/client-kinesis-analytics-v2/protocols/Aws_json1_1.ts +++ b/clients/client-kinesis-analytics-v2/protocols/Aws_json1_1.ts @@ -23,6 +23,10 @@ import { AddApplicationVpcConfigurationCommandOutput, } from "../commands/AddApplicationVpcConfigurationCommand"; import { CreateApplicationCommandInput, CreateApplicationCommandOutput } from "../commands/CreateApplicationCommand"; +import { + CreateApplicationPresignedUrlCommandInput, + CreateApplicationPresignedUrlCommandOutput, +} from "../commands/CreateApplicationPresignedUrlCommand"; import { CreateApplicationSnapshotCommandInput, CreateApplicationSnapshotCommandOutput, @@ -115,6 +119,8 @@ import { CodeContentUpdate, CodeValidationException, ConcurrentModificationException, + CreateApplicationPresignedUrlRequest, + CreateApplicationPresignedUrlResponse, CreateApplicationRequest, CreateApplicationResponse, CreateApplicationSnapshotRequest, @@ -341,6 +347,19 @@ export const serializeAws_json1_1CreateApplicationCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1CreateApplicationPresignedUrlCommand = async ( + input: CreateApplicationPresignedUrlCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "KinesisAnalytics_20180523.CreateApplicationPresignedUrl", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1CreateApplicationPresignedUrlRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1CreateApplicationSnapshotCommand = async ( input: CreateApplicationSnapshotCommandInput, context: __SerdeContext @@ -1229,6 +1248,77 @@ const deserializeAws_json1_1CreateApplicationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1CreateApplicationPresignedUrlCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1CreateApplicationPresignedUrlCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1CreateApplicationPresignedUrlResponse(data, context); + const response: CreateApplicationPresignedUrlCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1CreateApplicationPresignedUrlCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode: string = "UnknownError"; + const errorTypeParts: String = parsedOutput.body["__type"].split("#"); + errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; + switch (errorCode) { + case "InvalidArgumentException": + case "com.amazonaws.kinesisanalyticsv2#InvalidArgumentException": + response = { + ...(await deserializeAws_json1_1InvalidArgumentExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceInUseException": + case "com.amazonaws.kinesisanalyticsv2#ResourceInUseException": + response = { + ...(await deserializeAws_json1_1ResourceInUseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.kinesisanalyticsv2#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1CreateApplicationSnapshotCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -3331,6 +3421,19 @@ const serializeAws_json1_1CodeContentUpdate = (input: CodeContentUpdate, context }; }; +const serializeAws_json1_1CreateApplicationPresignedUrlRequest = ( + input: CreateApplicationPresignedUrlRequest, + context: __SerdeContext +): any => { + return { + ...(input.ApplicationName !== undefined && { ApplicationName: input.ApplicationName }), + ...(input.SessionExpirationDurationInSeconds !== undefined && { + SessionExpirationDurationInSeconds: input.SessionExpirationDurationInSeconds, + }), + ...(input.UrlType !== undefined && { UrlType: input.UrlType }), + }; +}; + const serializeAws_json1_1CreateApplicationRequest = ( input: CreateApplicationRequest, context: __SerdeContext @@ -4602,6 +4705,16 @@ const deserializeAws_json1_1ConcurrentModificationException = ( } as any; }; +const deserializeAws_json1_1CreateApplicationPresignedUrlResponse = ( + output: any, + context: __SerdeContext +): CreateApplicationPresignedUrlResponse => { + return { + AuthorizedUrl: + output.AuthorizedUrl !== undefined && output.AuthorizedUrl !== null ? output.AuthorizedUrl : undefined, + } as any; +}; + const deserializeAws_json1_1CreateApplicationResponse = ( output: any, context: __SerdeContext diff --git a/clients/client-lambda/Lambda.ts b/clients/client-lambda/Lambda.ts index a713b0ce9328..1cab7adb448b 100644 --- a/clients/client-lambda/Lambda.ts +++ b/clients/client-lambda/Lambda.ts @@ -344,6 +344,12 @@ export class Lambda extends LambdaClient { * *
                          • *

                            + * Using AWS Lambda with Amazon + * MQ + *

                            + *
                          • + *
                          • + *

                            * Using AWS Lambda with Amazon * MSK *

                            diff --git a/clients/client-lambda/models/models_0.ts b/clients/client-lambda/models/models_0.ts index ba77bbdfb888..6f1e5c2bf27f 100644 --- a/clients/client-lambda/models/models_0.ts +++ b/clients/client-lambda/models/models_0.ts @@ -756,6 +756,18 @@ export interface EventSourceMappingConfiguration { */ UUID?: string; + /** + *

                            The position in a stream from which to start reading. Required for Amazon Kinesis, Amazon DynamoDB, and Amazon MSK Streams + * sources. AT_TIMESTAMP is only supported for Amazon Kinesis streams.

                            + */ + StartingPosition?: EventSourcePosition | string; + + /** + *

                            With StartingPosition set to AT_TIMESTAMP, the time from which to start + * reading.

                            + */ + StartingPositionTimestamp?: Date; + /** *

                            The maximum number of items to retrieve in a single batch.

                            */ diff --git a/clients/client-lambda/protocols/Aws_restJson1.ts b/clients/client-lambda/protocols/Aws_restJson1.ts index 63d5178146ec..39af0821f507 100644 --- a/clients/client-lambda/protocols/Aws_restJson1.ts +++ b/clients/client-lambda/protocols/Aws_restJson1.ts @@ -2355,6 +2355,8 @@ export const deserializeAws_restJson1CreateEventSourceMappingCommand = async ( ParallelizationFactor: undefined, Queues: undefined, SourceAccessConfigurations: undefined, + StartingPosition: undefined, + StartingPositionTimestamp: undefined, State: undefined, StateTransitionReason: undefined, Topics: undefined, @@ -2403,6 +2405,12 @@ export const deserializeAws_restJson1CreateEventSourceMappingCommand = async ( context ); } + if (data.StartingPosition !== undefined && data.StartingPosition !== null) { + contents.StartingPosition = data.StartingPosition; + } + if (data.StartingPositionTimestamp !== undefined && data.StartingPositionTimestamp !== null) { + contents.StartingPositionTimestamp = new Date(Math.round(data.StartingPositionTimestamp * 1000)); + } if (data.State !== undefined && data.State !== null) { contents.State = data.State; } @@ -2783,6 +2791,8 @@ export const deserializeAws_restJson1DeleteEventSourceMappingCommand = async ( ParallelizationFactor: undefined, Queues: undefined, SourceAccessConfigurations: undefined, + StartingPosition: undefined, + StartingPositionTimestamp: undefined, State: undefined, StateTransitionReason: undefined, Topics: undefined, @@ -2831,6 +2841,12 @@ export const deserializeAws_restJson1DeleteEventSourceMappingCommand = async ( context ); } + if (data.StartingPosition !== undefined && data.StartingPosition !== null) { + contents.StartingPosition = data.StartingPosition; + } + if (data.StartingPositionTimestamp !== undefined && data.StartingPositionTimestamp !== null) { + contents.StartingPositionTimestamp = new Date(Math.round(data.StartingPositionTimestamp * 1000)); + } if (data.State !== undefined && data.State !== null) { contents.State = data.State; } @@ -3486,6 +3502,8 @@ export const deserializeAws_restJson1GetEventSourceMappingCommand = async ( ParallelizationFactor: undefined, Queues: undefined, SourceAccessConfigurations: undefined, + StartingPosition: undefined, + StartingPositionTimestamp: undefined, State: undefined, StateTransitionReason: undefined, Topics: undefined, @@ -3534,6 +3552,12 @@ export const deserializeAws_restJson1GetEventSourceMappingCommand = async ( context ); } + if (data.StartingPosition !== undefined && data.StartingPosition !== null) { + contents.StartingPosition = data.StartingPosition; + } + if (data.StartingPositionTimestamp !== undefined && data.StartingPositionTimestamp !== null) { + contents.StartingPositionTimestamp = new Date(Math.round(data.StartingPositionTimestamp * 1000)); + } if (data.State !== undefined && data.State !== null) { contents.State = data.State; } @@ -6726,6 +6750,8 @@ export const deserializeAws_restJson1UpdateEventSourceMappingCommand = async ( ParallelizationFactor: undefined, Queues: undefined, SourceAccessConfigurations: undefined, + StartingPosition: undefined, + StartingPositionTimestamp: undefined, State: undefined, StateTransitionReason: undefined, Topics: undefined, @@ -6774,6 +6800,12 @@ export const deserializeAws_restJson1UpdateEventSourceMappingCommand = async ( context ); } + if (data.StartingPosition !== undefined && data.StartingPosition !== null) { + contents.StartingPosition = data.StartingPosition; + } + if (data.StartingPositionTimestamp !== undefined && data.StartingPositionTimestamp !== null) { + contents.StartingPositionTimestamp = new Date(Math.round(data.StartingPositionTimestamp * 1000)); + } if (data.State !== undefined && data.State !== null) { contents.State = data.State; } @@ -8381,6 +8413,12 @@ const deserializeAws_restJson1EventSourceMappingConfiguration = ( output.SourceAccessConfigurations !== undefined && output.SourceAccessConfigurations !== null ? deserializeAws_restJson1SourceAccessConfigurations(output.SourceAccessConfigurations, context) : undefined, + StartingPosition: + output.StartingPosition !== undefined && output.StartingPosition !== null ? output.StartingPosition : undefined, + StartingPositionTimestamp: + output.StartingPositionTimestamp !== undefined && output.StartingPositionTimestamp !== null + ? new Date(Math.round(output.StartingPositionTimestamp * 1000)) + : undefined, State: output.State !== undefined && output.State !== null ? output.State : undefined, StateTransitionReason: output.StateTransitionReason !== undefined && output.StateTransitionReason !== null diff --git a/clients/client-lex-model-building-service/LexModelBuildingService.ts b/clients/client-lex-model-building-service/LexModelBuildingService.ts index 173cd3405300..9673588a85fe 100644 --- a/clients/client-lex-model-building-service/LexModelBuildingService.ts +++ b/clients/client-lex-model-building-service/LexModelBuildingService.ts @@ -138,24 +138,25 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** * Amazon Lex Build-Time Actions - *

                            Amazon Lex is an AWS service for building conversational voice and text interfaces. Use - * these actions to create, update, and delete conversational bots for new and existing client - * applications.

                            + *

                            Amazon Lex is an AWS service for building conversational voice and text + * interfaces. Use these actions to create, update, and delete conversational + * bots for new and existing client applications.

                            */ export class LexModelBuildingService extends LexModelBuildingServiceClient { /** - *

                            Creates a new version of the bot based on the $LATEST version. If the - * $LATEST version of this resource hasn't changed since you created the last - * version, Amazon Lex doesn't create a new version. It returns the last created version.

                            + *

                            Creates a new version of the bot based on the $LATEST + * version. If the $LATEST version of this resource hasn't + * changed since you created the last version, Amazon Lex doesn't create a new + * version. It returns the last created version.

                            * - *

                            You can update only the $LATEST version of the bot. You can't update the - * numbered versions that you create with the CreateBotVersion - * operation.

                            + *

                            You can update only the $LATEST version of the bot. + * You can't update the numbered versions that you create with the + * CreateBotVersion operation.

                            *
                            - *

                            When you create the first version of a bot, Amazon Lex sets the version to 1. Subsequent - * versions increment by 1. For more information, see versioning-intro.

                            - *

                            This operation requires permission for the lex:CreateBotVersion action. - *

                            + *

                            When you create the first version of a bot, Amazon Lex sets the version + * to 1. Subsequent versions increment by 1. For more information, see versioning-intro.

                            + *

                            This operation requires permission for the + * lex:CreateBotVersion action.

                            */ public createBotVersion( args: CreateBotVersionCommandInput, @@ -187,19 +188,20 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { } /** - *

                            Creates a new version of an intent based on the $LATEST version of the - * intent. If the $LATEST version of this intent hasn't changed since you last - * updated it, Amazon Lex doesn't create a new version. It returns the last version you + *

                            Creates a new version of an intent based on the + * $LATEST version of the intent. If the $LATEST + * version of this intent hasn't changed since you last updated it, Amazon Lex + * doesn't create a new version. It returns the last version you * created.

                            * - *

                            You can update only the $LATEST version of the intent. You can't update - * the numbered versions that you create with the CreateIntentVersion - * operation.

                            + *

                            You can update only the $LATEST version of the + * intent. You can't update the numbered versions that you create with the + * CreateIntentVersion operation.

                            *
                            - *

                            When you create a version of an intent, Amazon Lex sets the version to 1. Subsequent - * versions increment by 1. For more information, see versioning-intro.

                            - *

                            This operation requires permissions to perform the lex:CreateIntentVersion - * action.

                            + *

                            When you create a version of an intent, Amazon Lex sets the version to + * 1. Subsequent versions increment by 1. For more information, see versioning-intro.

                            + *

                            This operation requires permissions to perform the + * lex:CreateIntentVersion action.

                            */ public createIntentVersion( args: CreateIntentVersionCommandInput, @@ -231,21 +233,22 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { } /** - *

                            Creates a new version of a slot type based on the $LATEST version of the - * specified slot type. If the $LATEST version of this resource has not changed - * since the last version that you created, Amazon Lex doesn't create a new version. It returns the - * last version that you created.

                            + *

                            Creates a new version of a slot type based on the + * $LATEST version of the specified slot type. If the + * $LATEST version of this resource has not changed since the + * last version that you created, Amazon Lex doesn't create a new version. It + * returns the last version that you created.

                            * - *

                            You can update only the $LATEST version of a slot type. You can't update - * the numbered versions that you create with the CreateSlotTypeVersion - * operation.

                            + *

                            You can update only the $LATEST version of a slot + * type. You can't update the numbered versions that you create with the + * CreateSlotTypeVersion operation.

                            *
                            * - *

                            When you create a version of a slot type, Amazon Lex sets the version to 1. Subsequent - * versions increment by 1. For more information, see versioning-intro.

                            + *

                            When you create a version of a slot type, Amazon Lex sets the version to + * 1. Subsequent versions increment by 1. For more information, see versioning-intro.

                            * - *

                            This operation requires permissions for the lex:CreateSlotTypeVersion - * action.

                            + *

                            This operation requires permissions for the + * lex:CreateSlotTypeVersion action.

                            */ public createSlotTypeVersion( args: CreateSlotTypeVersionCommandInput, @@ -277,21 +280,23 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { } /** - *

                            Deletes all versions of the bot, including the $LATEST version. To delete - * a specific version of the bot, use the DeleteBotVersion operation. The - * DeleteBot operation doesn't immediately remove the bot schema. Instead, it is - * marked for deletion and removed later.

                            - *

                            Amazon Lex stores utterances indefinitely for improving the ability of your bot to respond - * to user inputs. These utterances are not removed when the bot is deleted. To remove the - * utterances, use the DeleteUtterances operation.

                            - *

                            If a bot has an alias, you can't delete it. Instead, the DeleteBot - * operation returns a ResourceInUseException exception that includes a reference to - * the alias that refers to the bot. To remove the reference to the bot, delete the alias. If you - * get the same exception again, delete the referring alias until the DeleteBot - * operation is successful.

                            + *

                            Deletes all versions of the bot, including the $LATEST + * version. To delete a specific version of the bot, use the DeleteBotVersion operation. The DeleteBot + * operation doesn't immediately remove the bot schema. Instead, it is marked + * for deletion and removed later.

                            + *

                            Amazon Lex stores utterances indefinitely for improving the ability of + * your bot to respond to user inputs. These utterances are not removed when + * the bot is deleted. To remove the utterances, use the DeleteUtterances operation.

                            + *

                            If a bot has an alias, you can't delete it. Instead, the + * DeleteBot operation returns a + * ResourceInUseException exception that includes a reference + * to the alias that refers to the bot. To remove the reference to the bot, + * delete the alias. If you get the same exception again, delete the + * referring alias until the DeleteBot operation is + * successful.

                            * - *

                            This operation requires permissions for the lex:DeleteBot - * action.

                            + *

                            This operation requires permissions for the + * lex:DeleteBot action.

                            */ public deleteBot(args: DeleteBotCommandInput, options?: __HttpHandlerOptions): Promise; public deleteBot(args: DeleteBotCommandInput, cb: (err: any, data?: DeleteBotCommandOutput) => void): void; @@ -318,12 +323,14 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { /** *

                            Deletes an alias for the specified bot.

                            - *

                            You can't delete an alias that is used in the association between a bot and a messaging - * channel. If an alias is used in a channel association, the DeleteBot operation - * returns a ResourceInUseException exception that includes a reference to the - * channel association that refers to the bot. You can remove the reference to the alias by - * deleting the channel association. If you get the same exception again, delete the referring - * association until the DeleteBotAlias operation is successful.

                            + *

                            You can't delete an alias that is used in the association between a + * bot and a messaging channel. If an alias is used in a channel association, + * the DeleteBot operation returns a + * ResourceInUseException exception that includes a reference + * to the channel association that refers to the bot. You can remove the + * reference to the alias by deleting the channel association. If you get the + * same exception again, delete the referring association until the + * DeleteBotAlias operation is successful.

                            */ public deleteBotAlias( args: DeleteBotAliasCommandInput, @@ -355,9 +362,10 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { } /** - *

                            Deletes the association between an Amazon Lex bot and a messaging platform.

                            - *

                            This operation requires permission for the lex:DeleteBotChannelAssociation - * action.

                            + *

                            Deletes the association between an Amazon Lex bot and a messaging + * platform.

                            + *

                            This operation requires permission for the + * lex:DeleteBotChannelAssociation action.

                            */ public deleteBotChannelAssociation( args: DeleteBotChannelAssociationCommandInput, @@ -389,9 +397,10 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { } /** - *

                            Deletes a specific version of a bot. To delete all versions of a bot, use the DeleteBot operation.

                            - *

                            This operation requires permissions for the lex:DeleteBotVersion - * action.

                            + *

                            Deletes a specific version of a bot. To delete all versions of a + * bot, use the DeleteBot operation.

                            + *

                            This operation requires permissions for the + * lex:DeleteBotVersion action.

                            */ public deleteBotVersion( args: DeleteBotVersionCommandInput, @@ -423,22 +432,24 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { } /** - *

                            Deletes all versions of the intent, including the $LATEST version. To - * delete a specific version of the intent, use the DeleteIntentVersion - * operation.

                            - *

                            You can delete a version of an intent only if it is not referenced. To delete an - * intent that is referred to in one or more bots (see how-it-works), you must - * remove those references first.

                            + *

                            Deletes all versions of the intent, including the + * $LATEST version. To delete a specific version of the + * intent, use the DeleteIntentVersion operation.

                            + *

                            You can delete a version of an intent only if it is not + * referenced. To delete an intent that is referred to in one or more bots + * (see how-it-works), you must remove those references + * first.

                            * - *

                            If you get the ResourceInUseException exception, it provides an example - * reference that shows where the intent is referenced. To remove the reference to the intent, - * either update the bot or delete it. If you get the same exception when you attempt to delete - * the intent again, repeat until the intent has no references and the call to + *

                            If you get the ResourceInUseException exception, it + * provides an example reference that shows where the intent is referenced. + * To remove the reference to the intent, either update the bot or delete + * it. If you get the same exception when you attempt to delete the intent + * again, repeat until the intent has no references and the call to * DeleteIntent is successful.

                            *
                            * - *

                            This operation requires permission for the lex:DeleteIntent action. - *

                            + *

                            This operation requires permission for the + * lex:DeleteIntent action.

                            */ public deleteIntent( args: DeleteIntentCommandInput, @@ -467,10 +478,10 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { } /** - *

                            Deletes a specific version of an intent. To delete all versions of a intent, use the - * DeleteIntent operation.

                            - *

                            This operation requires permissions for the lex:DeleteIntentVersion - * action.

                            + *

                            Deletes a specific version of an intent. To delete all versions of + * a intent, use the DeleteIntent operation.

                            + *

                            This operation requires permissions for the + * lex:DeleteIntentVersion action.

                            */ public deleteIntentVersion( args: DeleteIntentVersionCommandInput, @@ -502,20 +513,23 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { } /** - *

                            Deletes all versions of the slot type, including the $LATEST version. To - * delete a specific version of the slot type, use the DeleteSlotTypeVersion - * operation.

                            - *

                            You can delete a version of a slot type only if it is not referenced. To delete a slot - * type that is referred to in one or more intents, you must remove those references first.

                            + *

                            Deletes all versions of the slot type, including the + * $LATEST version. To delete a specific version of the slot + * type, use the DeleteSlotTypeVersion operation.

                            + *

                            You can delete a version of a slot type only if it is not + * referenced. To delete a slot type that is referred to in one or more + * intents, you must remove those references first.

                            * - *

                            If you get the ResourceInUseException exception, the exception provides - * an example reference that shows the intent where the slot type is referenced. To remove the - * reference to the slot type, either update the intent or delete it. If you get the same - * exception when you attempt to delete the slot type again, repeat until the slot type has no - * references and the DeleteSlotType call is successful.

                            + *

                            If you get the ResourceInUseException exception, + * the exception provides an example reference that shows the intent where + * the slot type is referenced. To remove the reference to the slot type, + * either update the intent or delete it. If you get the same exception + * when you attempt to delete the slot type again, repeat until the slot + * type has no references and the DeleteSlotType call is + * successful.

                            *
                            - *

                            This operation requires permission for the lex:DeleteSlotType - * action.

                            + *

                            This operation requires permission for the + * lex:DeleteSlotType action.

                            */ public deleteSlotType( args: DeleteSlotTypeCommandInput, @@ -547,10 +561,10 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { } /** - *

                            Deletes a specific version of a slot type. To delete all versions of a slot type, use - * the DeleteSlotType operation.

                            - *

                            This operation requires permissions for the lex:DeleteSlotTypeVersion - * action.

                            + *

                            Deletes a specific version of a slot type. To delete all versions + * of a slot type, use the DeleteSlotType operation.

                            + *

                            This operation requires permissions for the + * lex:DeleteSlotTypeVersion action.

                            */ public deleteSlotTypeVersion( args: DeleteSlotTypeVersionCommandInput, @@ -583,16 +597,17 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { /** *

                            Deletes stored utterances.

                            - *

                            Amazon Lex stores the utterances that users send to your bot. Utterances are stored for 15 - * days for use with the GetUtterancesView operation, and then stored - * indefinitely for use in improving the ability of your bot to respond to user input.

                            - *

                            Use the DeleteUtterances operation to manually delete stored utterances - * for a specific user. When you use the DeleteUtterances operation, utterances - * stored for improving your bot's ability to respond to user input are deleted immediately. - * Utterances stored for use with the GetUtterancesView operation are deleted after - * 15 days.

                            - *

                            This operation requires permissions for the lex:DeleteUtterances - * action.

                            + *

                            Amazon Lex stores the utterances that users send to your bot. Utterances + * are stored for 15 days for use with the GetUtterancesView operation, and then stored indefinitely for use in improving the + * ability of your bot to respond to user input.

                            + *

                            Use the DeleteUtterances operation to manually delete + * stored utterances for a specific user. When you use the + * DeleteUtterances operation, utterances stored for improving + * your bot's ability to respond to user input are deleted immediately. + * Utterances stored for use with the GetUtterancesView + * operation are deleted after 15 days.

                            + *

                            This operation requires permissions for the + * lex:DeleteUtterances action.

                            */ public deleteUtterances( args: DeleteUtterancesCommandInput, @@ -624,9 +639,10 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { } /** - *

                            Returns metadata information for a specific bot. You must provide the bot name and the - * bot version or alias.

                            - *

                            This operation requires permissions for the lex:GetBot action.

                            + *

                            Returns metadata information for a specific bot. You must provide + * the bot name and the bot version or alias.

                            + *

                            This operation requires permissions for the + * lex:GetBot action.

                            */ public getBot(args: GetBotCommandInput, options?: __HttpHandlerOptions): Promise; public getBot(args: GetBotCommandInput, cb: (err: any, data?: GetBotCommandOutput) => void): void; @@ -652,10 +668,10 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { } /** - *

                            Returns information about an Amazon Lex bot alias. For more information about aliases, see - * versioning-aliases.

                            - *

                            This operation requires permissions for the lex:GetBotAlias - * action.

                            + *

                            Returns information about an Amazon Lex bot alias. For more information + * about aliases, see versioning-aliases.

                            + *

                            This operation requires permissions for the + * lex:GetBotAlias action.

                            */ public getBotAlias(args: GetBotAliasCommandInput, options?: __HttpHandlerOptions): Promise; public getBotAlias(args: GetBotAliasCommandInput, cb: (err: any, data?: GetBotAliasCommandOutput) => void): void; @@ -682,8 +698,8 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { /** *

                            Returns a list of aliases for a specified Amazon Lex bot.

                            - *

                            This operation requires permissions for the lex:GetBotAliases - * action.

                            + *

                            This operation requires permissions for the + * lex:GetBotAliases action.

                            */ public getBotAliases( args: GetBotAliasesCommandInput, @@ -715,10 +731,10 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { } /** - *

                            Returns information about the association between an Amazon Lex bot and a messaging - * platform.

                            - *

                            This operation requires permissions for the lex:GetBotChannelAssociation - * action.

                            + *

                            Returns information about the association between an Amazon Lex bot and + * a messaging platform.

                            + *

                            This operation requires permissions for the + * lex:GetBotChannelAssociation action.

                            */ public getBotChannelAssociation( args: GetBotChannelAssociationCommandInput, @@ -750,9 +766,11 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { } /** - *

                            Returns a list of all of the channels associated with the specified bot.

                            - *

                            The GetBotChannelAssociations operation requires permissions for the - * lex:GetBotChannelAssociations action.

                            + *

                            Returns a list of all of the channels associated with the + * specified bot.

                            + *

                            The GetBotChannelAssociations operation requires + * permissions for the lex:GetBotChannelAssociations + * action.

                            */ public getBotChannelAssociations( args: GetBotChannelAssociationsCommandInput, @@ -787,16 +805,18 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { *

                            Returns bot information as follows:

                            *
                              *
                            • - *

                              If you provide the nameContains field, the response includes - * information for the $LATEST version of all bots whose name contains the - * specified string.

                              + *

                              If you provide the nameContains field, the + * response includes information for the $LATEST version of + * all bots whose name contains the specified string.

                              *
                            • *
                            • - *

                              If you don't specify the nameContains field, the operation returns - * information about the $LATEST version of all of your bots.

                              + *

                              If you don't specify the nameContains field, the + * operation returns information about the $LATEST version + * of all of your bots.

                              *
                            • *
                            - *

                            This operation requires permission for the lex:GetBots action.

                            + *

                            This operation requires permission for the lex:GetBots + * action.

                            */ public getBots(args: GetBotsCommandInput, options?: __HttpHandlerOptions): Promise; public getBots(args: GetBotsCommandInput, cb: (err: any, data?: GetBotsCommandOutput) => void): void; @@ -823,14 +843,16 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { /** *

                            Gets information about all of the versions of a bot.

                            - *

                            The GetBotVersions operation returns a BotMetadata object for - * each version of a bot. For example, if a bot has three numbered versions, the - * GetBotVersions operation returns four BotMetadata objects in the - * response, one for each numbered version and one for the $LATEST version.

                            - *

                            The GetBotVersions operation always returns at least one version, the - * $LATEST version.

                            - *

                            This operation requires permissions for the lex:GetBotVersions - * action.

                            + *

                            The GetBotVersions operation returns a + * BotMetadata object for each version of a bot. For example, + * if a bot has three numbered versions, the GetBotVersions + * operation returns four BotMetadata objects in the response, + * one for each numbered version and one for the $LATEST + * version.

                            + *

                            The GetBotVersions operation always returns at least + * one version, the $LATEST version.

                            + *

                            This operation requires permissions for the + * lex:GetBotVersions action.

                            */ public getBotVersions( args: GetBotVersionsCommandInput, @@ -863,8 +885,8 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { /** *

                            Returns information about a built-in intent.

                            - *

                            This operation requires permission for the lex:GetBuiltinIntent - * action.

                            + *

                            This operation requires permission for the + * lex:GetBuiltinIntent action.

                            */ public getBuiltinIntent( args: GetBuiltinIntentCommandInput, @@ -896,9 +918,10 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { } /** - *

                            Gets a list of built-in intents that meet the specified criteria.

                            - *

                            This operation requires permission for the lex:GetBuiltinIntents - * action.

                            + *

                            Gets a list of built-in intents that meet the specified + * criteria.

                            + *

                            This operation requires permission for the + * lex:GetBuiltinIntents action.

                            */ public getBuiltinIntents( args: GetBuiltinIntentsCommandInput, @@ -930,11 +953,13 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { } /** - *

                            Gets a list of built-in slot types that meet the specified criteria.

                            - *

                            For a list of built-in slot types, see Slot Type Reference in the Alexa Skills Kit.

                            + *

                            Gets a list of built-in slot types that meet the specified + * criteria.

                            + *

                            For a list of built-in slot types, see Slot Type Reference in the Alexa Skills + * Kit.

                            * - *

                            This operation requires permission for the lex:GetBuiltInSlotTypes - * action.

                            + *

                            This operation requires permission for the + * lex:GetBuiltInSlotTypes action.

                            */ public getBuiltinSlotTypes( args: GetBuiltinSlotTypesCommandInput, @@ -966,7 +991,8 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { } /** - *

                            Exports the contents of a Amazon Lex resource in a specified format.

                            + *

                            Exports the contents of a Amazon Lex resource in a specified format. + *

                            */ public getExport(args: GetExportCommandInput, options?: __HttpHandlerOptions): Promise; public getExport(args: GetExportCommandInput, cb: (err: any, data?: GetExportCommandOutput) => void): void; @@ -992,8 +1018,8 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { } /** - *

                            Gets information about an import job started with the StartImport - * operation.

                            + *

                            Gets information about an import job started with the + * StartImport operation.

                            */ public getImport(args: GetImportCommandInput, options?: __HttpHandlerOptions): Promise; public getImport(args: GetImportCommandInput, cb: (err: any, data?: GetImportCommandOutput) => void): void; @@ -1019,10 +1045,10 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { } /** - *

                            Returns information about an intent. In addition to the intent name, you must specify - * the intent version.

                            - *

                            This operation requires permissions to perform the lex:GetIntent action. - *

                            + *

                            Returns information about an intent. In addition to the intent + * name, you must specify the intent version.

                            + *

                            This operation requires permissions to perform the + * lex:GetIntent action.

                            */ public getIntent(args: GetIntentCommandInput, options?: __HttpHandlerOptions): Promise; public getIntent(args: GetIntentCommandInput, cb: (err: any, data?: GetIntentCommandOutput) => void): void; @@ -1052,15 +1078,17 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { *
                              *
                            • *

                              If you specify the nameContains field, returns the - * $LATEST version of all intents that contain the specified string.

                              + * $LATEST version of all intents that contain the + * specified string.

                              *
                            • *
                            • - *

                              If you don't specify the nameContains field, returns information - * about the $LATEST version of all intents.

                              + *

                              If you don't specify the nameContains field, + * returns information about the $LATEST version of all + * intents.

                              *
                            • *
                            - *

                            The operation requires permission for the lex:GetIntents action. - *

                            + *

                            The operation requires permission for the + * lex:GetIntents action.

                            */ public getIntents(args: GetIntentsCommandInput, options?: __HttpHandlerOptions): Promise; public getIntents(args: GetIntentsCommandInput, cb: (err: any, data?: GetIntentsCommandOutput) => void): void; @@ -1087,14 +1115,16 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { /** *

                            Gets information about all of the versions of an intent.

                            - *

                            The GetIntentVersions operation returns an IntentMetadata - * object for each version of an intent. For example, if an intent has three numbered versions, - * the GetIntentVersions operation returns four IntentMetadata objects - * in the response, one for each numbered version and one for the $LATEST version.

                            - *

                            The GetIntentVersions operation always returns at least one version, the - * $LATEST version.

                            - *

                            This operation requires permissions for the lex:GetIntentVersions - * action.

                            + *

                            The GetIntentVersions operation returns an + * IntentMetadata object for each version of an intent. For + * example, if an intent has three numbered versions, the + * GetIntentVersions operation returns four + * IntentMetadata objects in the response, one for each + * numbered version and one for the $LATEST version.

                            + *

                            The GetIntentVersions operation always returns at + * least one version, the $LATEST version.

                            + *

                            This operation requires permissions for the + * lex:GetIntentVersions action.

                            */ public getIntentVersions( args: GetIntentVersionsCommandInput, @@ -1126,10 +1156,11 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { } /** - *

                            Returns information about a specific version of a slot type. In addition to specifying - * the slot type name, you must specify the slot type version.

                            - *

                            This operation requires permissions for the lex:GetSlotType - * action.

                            + *

                            Returns information about a specific version of a slot type. In + * addition to specifying the slot type name, you must specify the slot type + * version.

                            + *

                            This operation requires permissions for the + * lex:GetSlotType action.

                            */ public getSlotType(args: GetSlotTypeCommandInput, options?: __HttpHandlerOptions): Promise; public getSlotType(args: GetSlotTypeCommandInput, cb: (err: any, data?: GetSlotTypeCommandOutput) => void): void; @@ -1159,16 +1190,17 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { *
                              *
                            • *

                              If you specify the nameContains field, returns the - * $LATEST version of all slot types that contain the specified - * string.

                              + * $LATEST version of all slot types that contain the + * specified string.

                              *
                            • *
                            • - *

                              If you don't specify the nameContains field, returns information - * about the $LATEST version of all slot types.

                              + *

                              If you don't specify the nameContains field, + * returns information about the $LATEST version of all slot + * types.

                              *
                            • *
                            - *

                            The operation requires permission for the lex:GetSlotTypes action. - *

                            + *

                            The operation requires permission for the + * lex:GetSlotTypes action.

                            */ public getSlotTypes( args: GetSlotTypesCommandInput, @@ -1198,15 +1230,16 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { /** *

                            Gets information about all versions of a slot type.

                            - *

                            The GetSlotTypeVersions operation returns a SlotTypeMetadata - * object for each version of a slot type. For example, if a slot type has three numbered - * versions, the GetSlotTypeVersions operation returns four - * SlotTypeMetadata objects in the response, one for each numbered version and one - * for the $LATEST version.

                            - *

                            The GetSlotTypeVersions operation always returns at least one version, the - * $LATEST version.

                            - *

                            This operation requires permissions for the lex:GetSlotTypeVersions - * action.

                            + *

                            The GetSlotTypeVersions operation returns a + * SlotTypeMetadata object for each version of a slot type. + * For example, if a slot type has three numbered versions, the + * GetSlotTypeVersions operation returns four + * SlotTypeMetadata objects in the response, one for each + * numbered version and one for the $LATEST version.

                            + *

                            The GetSlotTypeVersions operation always returns at + * least one version, the $LATEST version.

                            + *

                            This operation requires permissions for the + * lex:GetSlotTypeVersions action.

                            */ public getSlotTypeVersions( args: GetSlotTypeVersionsCommandInput, @@ -1238,24 +1271,29 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { } /** - *

                            Use the GetUtterancesView operation to get information about the - * utterances that your users have made to your bot. You can use this list to tune the utterances - * that your bot responds to.

                            - *

                            For example, say that you have created a bot to order flowers. After your users have - * used your bot for a while, use the GetUtterancesView operation to see the - * requests that they have made and whether they have been successful. You might find that the - * utterance "I want flowers" is not being recognized. You could add this utterance to the - * OrderFlowers intent so that your bot recognizes that utterance.

                            - *

                            After you publish a new version of a bot, you can get information about the old version - * and the new so that you can compare the performance across the two versions.

                            - *

                            Utterance statistics are generated once a day. Data is available for the last 15 days. - * You can request information for up to 5 versions of your bot in each request. Amazon Lex returns - * the most frequent utterances received by the bot in the last 15 days. The response contains - * information about a maximum of 100 utterances for each version.

                            - *

                            If you set childDirected field to true when you created your bot, or if - * you opted out of participating in improving Amazon Lex, utterances are not available.

                            - *

                            This operation requires permissions for the lex:GetUtterancesView - * action.

                            + *

                            Use the GetUtterancesView operation to get information + * about the utterances that your users have made to your bot. You can use + * this list to tune the utterances that your bot responds to.

                            + *

                            For example, say that you have created a bot to order flowers. + * After your users have used your bot for a while, use the + * GetUtterancesView operation to see the requests that they + * have made and whether they have been successful. You might find that the + * utterance "I want flowers" is not being recognized. You could add this + * utterance to the OrderFlowers intent so that your bot + * recognizes that utterance.

                            + *

                            After you publish a new version of a bot, you can get information + * about the old version and the new so that you can compare the performance + * across the two versions.

                            + *

                            Utterance statistics are generated once a day. Data is available + * for the last 15 days. You can request information for up to 5 versions of + * your bot in each request. Amazon Lex returns the most frequent utterances + * received by the bot in the last 15 days. The response contains information + * about a maximum of 100 utterances for each version.

                            + *

                            If you set childDirected field to true when you + * created your bot, or if you opted out of participating in improving Amazon Lex, + * utterances are not available.

                            + *

                            This operation requires permissions for the + * lex:GetUtterancesView action.

                            */ public getUtterancesView( args: GetUtterancesViewCommandInput, @@ -1287,8 +1325,8 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { } /** - *

                            Gets a list of tags associated with the specified resource. Only bots, bot aliases, and - * bot channels can have tags associated with them.

                            + *

                            Gets a list of tags associated with the specified resource. Only bots, + * bot aliases, and bot channels can have tags associated with them.

                            */ public listTagsForResource( args: ListTagsForResourceCommandInput, @@ -1320,20 +1358,24 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { } /** - *

                            Creates an Amazon Lex conversational bot or replaces an existing bot. When you create or - * update a bot you are only required to specify a name, a locale, and whether the bot is - * directed toward children under age 13. You can use this to add intents later, or to remove - * intents from an existing bot. When you create a bot with the minimum information, the bot is - * created or updated but Amazon Lex returns the response FAILED. You can build - * the bot after you add one or more intents. For more information about Amazon Lex bots, see how-it-works.

                            - *

                            If you specify the name of an existing bot, the fields in the request replace the - * existing values in the $LATEST version of the bot. Amazon Lex removes any fields that - * you don't provide values for in the request, except for the idleTTLInSeconds and - * privacySettings fields, which are set to their default values. If you don't - * specify values for required fields, Amazon Lex throws an exception.

                            + *

                            Creates an Amazon Lex conversational bot or replaces an existing bot. + * When you create or update a bot you are only required to specify a name, a + * locale, and whether the bot is directed toward children under age 13. You + * can use this to add intents later, or to remove intents from an existing + * bot. When you create a bot with the minimum information, the bot is + * created or updated but Amazon Lex returns the response + * FAILED. You can build the bot after you add one or more + * intents. For more information about Amazon Lex bots, see how-it-works.

                            + *

                            If you specify the name of an existing bot, the fields in the + * request replace the existing values in the $LATEST version of + * the bot. Amazon Lex removes any fields that you don't provide values for in the + * request, except for the idleTTLInSeconds and + * privacySettings fields, which are set to their default + * values. If you don't specify values for required fields, Amazon Lex throws an + * exception.

                            * - *

                            This operation requires permissions for the lex:PutBot action. For more - * information, see security-iam.

                            + *

                            This operation requires permissions for the lex:PutBot + * action. For more information, see security-iam.

                            */ public putBot(args: PutBotCommandInput, options?: __HttpHandlerOptions): Promise; public putBot(args: PutBotCommandInput, cb: (err: any, data?: PutBotCommandOutput) => void): void; @@ -1359,11 +1401,12 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { } /** - *

                            Creates an alias for the specified version of the bot or replaces an alias for the - * specified bot. To change the version of the bot that the alias points to, replace the alias. - * For more information about aliases, see versioning-aliases.

                            - *

                            This operation requires permissions for the lex:PutBotAlias action. - *

                            + *

                            Creates an alias for the specified version of the bot or replaces + * an alias for the specified bot. To change the version of the bot that the + * alias points to, replace the alias. For more information about aliases, + * see versioning-aliases.

                            + *

                            This operation requires permissions for the + * lex:PutBotAlias action.

                            */ public putBotAlias(args: PutBotAliasCommandInput, options?: __HttpHandlerOptions): Promise; public putBotAlias(args: PutBotAliasCommandInput, cb: (err: any, data?: PutBotAliasCommandOutput) => void): void; @@ -1390,56 +1433,63 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { /** *

                            Creates an intent or replaces an existing intent.

                            - *

                            To define the interaction between the user and your bot, you use one or more intents. - * For a pizza ordering bot, for example, you would create an OrderPizza intent.

                            - *

                            To create an intent or replace an existing intent, you must provide the - * following:

                            + *

                            To define the interaction between the user and your bot, you use + * one or more intents. For a pizza ordering bot, for example, you would + * create an OrderPizza intent.

                            + *

                            To create an intent or replace an existing intent, you must provide + * the following:

                            *
                              *
                            • *

                              Intent name. For example, OrderPizza.

                              *
                            • *
                            • - *

                              Sample utterances. For example, "Can I order a pizza, please." and "I want to order - * a pizza."

                              + *

                              Sample utterances. For example, "Can I order a pizza, please." + * and "I want to order a pizza."

                              *
                            • *
                            • - *

                              Information to be gathered. You specify slot types for the information that your - * bot will request from the user. You can specify standard slot types, such as a date or a - * time, or custom slot types such as the size and crust of a pizza.

                              + *

                              Information to be gathered. You specify slot types for the + * information that your bot will request from the user. You can specify + * standard slot types, such as a date or a time, or custom slot types + * such as the size and crust of a pizza.

                              *
                            • *
                            • - *

                              How the intent will be fulfilled. You can provide a Lambda function or configure - * the intent to return the intent information to the client application. If you use a Lambda - * function, when all of the intent information is available, Amazon Lex invokes your Lambda - * function. If you configure your intent to return the intent information to the client - * application.

                              + *

                              How the intent will be fulfilled. You can provide a Lambda + * function or configure the intent to return the intent information to + * the client application. If you use a Lambda function, when all of the + * intent information is available, Amazon Lex invokes your Lambda function. + * If you configure your intent to return the intent information to the + * client application.

                              *
                            • *
                            - *

                            You can specify other optional information in the request, such as:

                            + *

                            You can specify other optional information in the request, such + * as:

                            * *
                              *
                            • - *

                              A confirmation prompt to ask the user to confirm an intent. For example, "Shall I - * order your pizza?"

                              + *

                              A confirmation prompt to ask the user to confirm an intent. For + * example, "Shall I order your pizza?"

                              *
                            • *
                            • - *

                              A conclusion statement to send to the user after the intent has been fulfilled. For - * example, "I placed your pizza order."

                              + *

                              A conclusion statement to send to the user after the intent has + * been fulfilled. For example, "I placed your pizza order."

                              *
                            • *
                            • - *

                              A follow-up prompt that asks the user for additional activity. For example, asking - * "Do you want to order a drink with your pizza?"

                              + *

                              A follow-up prompt that asks the user for additional activity. + * For example, asking "Do you want to order a drink with your + * pizza?"

                              *
                            • *
                            - *

                            If you specify an existing intent name to update the intent, Amazon Lex replaces the values - * in the $LATEST version of the intent with the values in the request. Amazon Lex - * removes fields that you don't provide in the request. If you don't specify the required - * fields, Amazon Lex throws an exception. When you update the $LATEST version of an - * intent, the status field of any bot that uses the $LATEST version of - * the intent is set to NOT_BUILT.

                            + *

                            If you specify an existing intent name to update the intent, Amazon Lex + * replaces the values in the $LATEST version of the intent with + * the values in the request. Amazon Lex removes fields that you don't provide in + * the request. If you don't specify the required fields, Amazon Lex throws an + * exception. When you update the $LATEST version of an intent, + * the status field of any bot that uses the + * $LATEST version of the intent is set to + * NOT_BUILT.

                            *

                            For more information, see how-it-works.

                            - *

                            This operation requires permissions for the lex:PutIntent - * action.

                            + *

                            This operation requires permissions for the + * lex:PutIntent action.

                            */ public putIntent(args: PutIntentCommandInput, options?: __HttpHandlerOptions): Promise; public putIntent(args: PutIntentCommandInput, cb: (err: any, data?: PutIntentCommandOutput) => void): void; @@ -1465,19 +1515,22 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { } /** - *

                            Creates a custom slot type or replaces an existing custom slot type.

                            - *

                            To create a custom slot type, specify a name for the slot type and a set of enumeration - * values, which are the values that a slot of this type can assume. For more information, see - * how-it-works.

                            - *

                            If you specify the name of an existing slot type, the fields in the request replace the - * existing values in the $LATEST version of the slot type. Amazon Lex removes the fields - * that you don't provide in the request. If you don't specify required fields, Amazon Lex throws an - * exception. When you update the $LATEST version of a slot type, if a bot uses the - * $LATEST version of an intent that contains the slot type, the bot's - * status field is set to NOT_BUILT.

                            + *

                            Creates a custom slot type or replaces an existing custom slot + * type.

                            + *

                            To create a custom slot type, specify a name for the slot type and + * a set of enumeration values, which are the values that a slot of this type + * can assume. For more information, see how-it-works.

                            + *

                            If you specify the name of an existing slot type, the fields in the + * request replace the existing values in the $LATEST version of + * the slot type. Amazon Lex removes the fields that you don't provide in the + * request. If you don't specify required fields, Amazon Lex throws an exception. + * When you update the $LATEST version of a slot type, if a bot + * uses the $LATEST version of an intent that contains the slot + * type, the bot's status field is set to + * NOT_BUILT.

                            * - *

                            This operation requires permissions for the lex:PutSlotType - * action.

                            + *

                            This operation requires permissions for the + * lex:PutSlotType action.

                            */ public putSlotType(args: PutSlotTypeCommandInput, options?: __HttpHandlerOptions): Promise; public putSlotType(args: PutSlotTypeCommandInput, cb: (err: any, data?: PutSlotTypeCommandOutput) => void): void; @@ -1529,8 +1582,8 @@ export class LexModelBuildingService extends LexModelBuildingServiceClient { } /** - *

                            Adds the specified tags to the specified resource. If a tag key already exists, the - * existing value is replaced with the new value.

                            + *

                            Adds the specified tags to the specified resource. If a tag key + * already exists, the existing value is replaced with the new value.

                            */ public tagResource(args: TagResourceCommandInput, options?: __HttpHandlerOptions): Promise; public tagResource(args: TagResourceCommandInput, cb: (err: any, data?: TagResourceCommandOutput) => void): void; diff --git a/clients/client-lex-model-building-service/LexModelBuildingServiceClient.ts b/clients/client-lex-model-building-service/LexModelBuildingServiceClient.ts index eadaa6f21ef9..c263f59202d3 100644 --- a/clients/client-lex-model-building-service/LexModelBuildingServiceClient.ts +++ b/clients/client-lex-model-building-service/LexModelBuildingServiceClient.ts @@ -312,9 +312,9 @@ export type LexModelBuildingServiceClientResolvedConfig = __SmithyResolvedConfig /** * Amazon Lex Build-Time Actions - *

                            Amazon Lex is an AWS service for building conversational voice and text interfaces. Use - * these actions to create, update, and delete conversational bots for new and existing client - * applications.

                            + *

                            Amazon Lex is an AWS service for building conversational voice and text + * interfaces. Use these actions to create, update, and delete conversational + * bots for new and existing client applications.

                            */ export class LexModelBuildingServiceClient extends __Client< __HttpHandlerOptions, diff --git a/clients/client-lex-model-building-service/models/models_0.ts b/clients/client-lex-model-building-service/models/models_0.ts index 91396cd40a6f..aa53cd7d58a7 100644 --- a/clients/client-lex-model-building-service/models/models_0.ts +++ b/clients/client-lex-model-building-service/models/models_0.ts @@ -2,8 +2,9 @@ import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; /** - *

                            The request is not well formed. For example, a value is invalid or a required field is - * missing. Check the field values, and try again.

                            + *

                            The request is not well formed. For example, a value is invalid or + * a required field is missing. Check the field values, and try + * again.

                            */ export interface BadRequestException extends __SmithyException, $MetadataBearer { name: "BadRequestException"; @@ -18,7 +19,8 @@ export namespace BadRequestException { } /** - *

                            There was a conflict processing the request. Try your request again.

                            + *

                            There was a conflict processing the request. Try your request + * again.

                            */ export interface ConflictException extends __SmithyException, $MetadataBearer { name: "ConflictException"; @@ -34,17 +36,18 @@ export namespace ConflictException { export interface CreateBotVersionRequest { /** - *

                            The name of the bot that you want to create a new version of. The name is case - * sensitive.

                            + *

                            The name of the bot that you want to create a new version of. The + * name is case sensitive.

                            */ name: string | undefined; /** - *

                            Identifies a specific revision of the $LATEST version of the bot. If you - * specify a checksum and the $LATEST version of the bot has a different checksum, a - * PreconditionFailedException exception is returned and Amazon Lex doesn't publish a - * new version. If you don't specify a checksum, Amazon Lex publishes the $LATEST - * version.

                            + *

                            Identifies a specific revision of the $LATEST version + * of the bot. If you specify a checksum and the $LATEST version + * of the bot has a different checksum, a + * PreconditionFailedException exception is returned and Amazon Lex + * doesn't publish a new version. If you don't specify a checksum, Amazon Lex + * publishes the $LATEST version.

                            */ checksum?: string; } @@ -62,7 +65,8 @@ export enum ContentType { } /** - *

                            The message object that provides the message text and its type.

                            + *

                            The message object that provides the message text and its + * type.

                            */ export interface Message { /** @@ -76,8 +80,9 @@ export interface Message { content: string | undefined; /** - *

                            Identifies the message group that the message belongs to. When a group is assigned to a - * message, Amazon Lex returns one message from each group in the response.

                            + *

                            Identifies the message group that the message belongs to. When a group + * is assigned to a message, Amazon Lex returns one message from each group in the + * response.

                            */ groupNumber?: number; } @@ -89,8 +94,8 @@ export namespace Message { } /** - *

                            A collection of messages that convey information to the user. At runtime, Amazon Lex selects - * the message to convey.

                            + *

                            A collection of messages that convey information to the user. At + * runtime, Amazon Lex selects the message to convey.

                            */ export interface Statement { /** @@ -99,9 +104,9 @@ export interface Statement { messages: Message[] | undefined; /** - *

                            At runtime, if the client is using the PostText - * API, Amazon Lex includes the response card in the response. It substitutes all of the session - * attributes and slot values for placeholders in the response card.

                            + *

                            At runtime, if the client is using the PostText API, Amazon Lex includes the response card in the response. + * It substitutes all of the session attributes and slot values for + * placeholders in the response card.

                            */ responseCard?: string; } @@ -113,16 +118,16 @@ export namespace Statement { } /** - *

                            Obtains information from the user. To define a prompt, provide one or more messages and - * specify the number of attempts to get information from the user. If you provide more than one - * message, Amazon Lex chooses one of the messages to use to prompt the user. For more information, - * see how-it-works.

                            + *

                            Obtains information from the user. To define a prompt, provide one + * or more messages and specify the number of attempts to get information + * from the user. If you provide more than one message, Amazon Lex chooses one of + * the messages to use to prompt the user. For more information, see how-it-works.

                            */ export interface Prompt { /** - *

                            An array of objects, each of which provides a message string and its type. You can - * specify the message string in plain text or in Speech Synthesis Markup Language - * (SSML).

                            + *

                            An array of objects, each of which provides a message string and + * its type. You can specify the message string in plain text or in Speech + * Synthesis Markup Language (SSML).

                            */ messages: Message[] | undefined; @@ -132,9 +137,10 @@ export interface Prompt { maxAttempts: number | undefined; /** - *

                            A response card. Amazon Lex uses this prompt at runtime, in the PostText API - * response. It substitutes session attributes and slot values for placeholders in the response - * card. For more information, see ex-resp-card.

                            + *

                            A response card. Amazon Lex uses this prompt at runtime, in the + * PostText API response. It substitutes session attributes + * and slot values for placeholders in the response card. For more + * information, see ex-resp-card.

                            */ responseCard?: string; } @@ -198,38 +204,42 @@ export interface CreateBotVersionResponse { description?: string; /** - *

                            An array of Intent objects. For more information, see PutBot.

                            + *

                            An array of Intent objects. For more information, see + * PutBot.

                            */ intents?: Intent[]; /** - *

                            The message that Amazon Lex uses when it doesn't understand the user's request. For more - * information, see PutBot.

                            + *

                            The message that Amazon Lex uses when it doesn't understand the user's + * request. For more information, see PutBot.

                            */ clarificationPrompt?: Prompt; /** - *

                            The message that Amazon Lex uses to cancel a conversation. For more information, see PutBot.

                            + *

                            The message that Amazon Lex uses to cancel a conversation. For more + * information, see PutBot.

                            */ abortStatement?: Statement; /** - *

                            When you send a request to create or update a bot, Amazon Lex sets the status - * response element to BUILDING. After Amazon Lex builds the bot, it sets - * status to READY. If Amazon Lex can't build the bot, it sets - * status to FAILED. Amazon Lex returns the reason for the failure in the + *

                            When you send a request to create or update a bot, Amazon Lex sets the + * status response element to BUILDING. After + * Amazon Lex builds the bot, it sets status to READY. + * If Amazon Lex can't build the bot, it sets status to + * FAILED. Amazon Lex returns the reason for the failure in the * failureReason response element.

                            */ status?: Status | string; /** - *

                            If status is FAILED, Amazon Lex provides the reason that it failed - * to build the bot.

                            + *

                            If status is FAILED, Amazon Lex provides the + * reason that it failed to build the bot.

                            */ failureReason?: string; /** - *

                            The date when the $LATEST version of this bot was updated.

                            + *

                            The date when the $LATEST version of this bot was + * updated.

                            */ lastUpdatedDate?: Date; @@ -239,19 +249,20 @@ export interface CreateBotVersionResponse { createdDate?: Date; /** - *

                            The maximum time in seconds that Amazon Lex retains the data gathered in a conversation. For - * more information, see PutBot.

                            + *

                            The maximum time in seconds that Amazon Lex retains the data gathered in + * a conversation. For more information, see PutBot.

                            */ idleSessionTTLInSeconds?: number; /** - *

                            The Amazon Polly voice ID that Amazon Lex uses for voice interactions with the - * user.

                            + *

                            The Amazon Polly voice ID that Amazon Lex uses for voice interactions + * with the user.

                            */ voiceId?: string; /** - *

                            Checksum identifying the version of the bot that was created.

                            + *

                            Checksum identifying the version of the bot that was + * created.

                            */ checksum?: string; @@ -266,38 +277,45 @@ export interface CreateBotVersionResponse { locale?: Locale | string; /** - *

                            For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify - * whether your use of Amazon Lex is related to a website, program, or other application that is - * directed or targeted, in whole or in part, to children under age 13 and subject to the - * Children's Online Privacy Protection Act (COPPA) by specifying true or - * false in the childDirected field. By specifying true - * in the childDirected field, you confirm that your use of Amazon Lex is related to a website, program, or other application that is - * directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. By - * specifying false in the childDirected field, you confirm that your - * use of Amazon Lex is not related to a website, program, or other - * application that is directed or targeted, in whole or in part, to children under age 13 and - * subject to COPPA. You may not specify a default value for the childDirected field - * that does not accurately reflect whether your use of Amazon Lex is related to a website, program, - * or other application that is directed or targeted, in whole or in part, to children under age - * 13 and subject to COPPA.

                            - *

                            If your use of Amazon Lex relates to a website, program, or other application that is - * directed in whole or in part, to children under age 13, you must obtain any required - * verifiable parental consent under COPPA. For information regarding the use of Amazon Lex in - * connection with websites, programs, or other applications that are directed or targeted, in - * whole or in part, to children under age 13, see the Amazon Lex FAQ. + *

                            For each Amazon Lex bot created with the Amazon Lex Model Building Service, + * you must specify whether your use of Amazon Lex is related to a website, + * program, or other application that is directed or targeted, in whole or in + * part, to children under age 13 and subject to the Children's Online + * Privacy Protection Act (COPPA) by specifying true or + * false in the childDirected field. By + * specifying true in the childDirected field, you + * confirm that your use of Amazon Lex is related + * to a website, program, or other application that is directed or targeted, + * in whole or in part, to children under age 13 and subject to COPPA. By + * specifying false in the childDirected field, you + * confirm that your use of Amazon Lex is not + * related to a website, program, or other application that is directed or + * targeted, in whole or in part, to children under age 13 and subject to + * COPPA. You may not specify a default value for the + * childDirected field that does not accurately reflect + * whether your use of Amazon Lex is related to a website, program, or other + * application that is directed or targeted, in whole or in part, to children + * under age 13 and subject to COPPA.

                            + *

                            If your use of Amazon Lex relates to a website, program, or other + * application that is directed in whole or in part, to children under age + * 13, you must obtain any required verifiable parental consent under COPPA. + * For information regarding the use of Amazon Lex in connection with websites, + * programs, or other applications that are directed or targeted, in whole or + * in part, to children under age 13, see the Amazon Lex FAQ. *

                            */ childDirected?: boolean; /** - *

                            Indicates whether the bot uses accuracy improvements. true - * indicates that the bot is using the improvements, otherwise, false.

                            + *

                            Indicates whether the bot uses accuracy improvements. + * true indicates that the bot is using the improvements, + * otherwise, false.

                            */ enableModelImprovements?: boolean; /** - *

                            Indicates whether utterances entered by the user should be sent to Amazon Comprehend for - * sentiment analysis.

                            + *

                            Indicates whether utterances entered by the user should be sent to + * Amazon Comprehend for sentiment analysis.

                            */ detectSentiment?: boolean; } @@ -340,8 +358,8 @@ export namespace LimitExceededException { } /** - *

                            The resource specified in the request was not found. Check the resource and try - * again.

                            + *

                            The resource specified in the request was not found. Check the + * resource and try again.

                            */ export interface NotFoundException extends __SmithyException, $MetadataBearer { name: "NotFoundException"; @@ -356,8 +374,9 @@ export namespace NotFoundException { } /** - *

                            The checksum of the resource that you are trying to change does not match the checksum - * in the request. Check the resource's checksum and try again.

                            + *

                            The checksum of the resource that you are trying to change does + * not match the checksum in the request. Check the resource's checksum and + * try again.

                            */ export interface PreconditionFailedException extends __SmithyException, $MetadataBearer { name: "PreconditionFailedException"; @@ -373,17 +392,18 @@ export namespace PreconditionFailedException { export interface CreateIntentVersionRequest { /** - *

                            The name of the intent that you want to create a new version of. The name is case - * sensitive.

                            + *

                            The name of the intent that you want to create a new version of. + * The name is case sensitive.

                            */ name: string | undefined; /** - *

                            Checksum of the $LATEST version of the intent that should be used to - * create the new version. If you specify a checksum and the $LATEST version of the - * intent has a different checksum, Amazon Lex returns a PreconditionFailedException - * exception and doesn't publish a new version. If you don't specify a checksum, Amazon Lex publishes - * the $LATEST version.

                            + *

                            Checksum of the $LATEST version of the intent that + * should be used to create the new version. If you specify a checksum and + * the $LATEST version of the intent has a different checksum, + * Amazon Lex returns a PreconditionFailedException exception and + * doesn't publish a new version. If you don't specify a checksum, Amazon Lex + * publishes the $LATEST version.

                            */ checksum?: string; } @@ -395,8 +415,8 @@ export namespace CreateIntentVersionRequest { } /** - *

                            Specifies a Lambda function that verifies requests to a bot or fulfills the user's - * request to a bot..

                            + *

                            Specifies a Lambda function that verifies requests to a bot or + * fulfills the user's request to a bot..

                            */ export interface CodeHook { /** @@ -405,8 +425,8 @@ export interface CodeHook { uri: string | undefined; /** - *

                            The version of the request-response that you want Amazon Lex to use to invoke your Lambda - * function. For more information, see using-lambda.

                            + *

                            The version of the request-response that you want Amazon Lex to use to + * invoke your Lambda function. For more information, see using-lambda.

                            */ messageVersion: string | undefined; } @@ -418,9 +438,10 @@ export namespace CodeHook { } /** - *

                            A prompt for additional activity after an intent is fulfilled. For example, after the - * OrderPizza intent is fulfilled, you might prompt the user to find out whether - * the user wants to order drinks.

                            + *

                            A prompt for additional activity after an intent is fulfilled. For + * example, after the OrderPizza intent is fulfilled, you might + * prompt the user to find out whether the user wants to order + * drinks.

                            */ export interface FollowUpPrompt { /** @@ -429,8 +450,9 @@ export interface FollowUpPrompt { prompt: Prompt | undefined; /** - *

                            If the user answers "no" to the question defined in the prompt field, - * Amazon Lex responds with this statement to acknowledge that the intent was canceled.

                            + *

                            If the user answers "no" to the question defined in the + * prompt field, Amazon Lex responds with this statement to + * acknowledge that the intent was canceled.

                            */ rejectionStatement: Statement | undefined; } @@ -447,36 +469,42 @@ export enum FulfillmentActivityType { } /** - *

                            Describes how the intent is fulfilled after the user provides all of the information - * required for the intent. You can provide a Lambda function to process the intent, or you can - * return the intent information to the client application. We recommend that you use a Lambda - * function so that the relevant logic lives in the Cloud and limit the client-side code - * primarily to presentation. If you need to update the logic, you only update the Lambda - * function; you don't need to upgrade your client application.

                            + *

                            Describes how the intent is fulfilled after the user provides all + * of the information required for the intent. You can provide a Lambda + * function to process the intent, or you can return the intent information + * to the client application. We recommend that you use a Lambda function so + * that the relevant logic lives in the Cloud and limit the client-side code + * primarily to presentation. If you need to update the logic, you only + * update the Lambda function; you don't need to upgrade your client + * application.

                            * * *

                            Consider the following examples:

                            *
                              *
                            • - *

                              In a pizza ordering application, after the user provides all of the information for - * placing an order, you use a Lambda function to place an order with a pizzeria.

                              + *

                              In a pizza ordering application, after the user provides all of + * the information for placing an order, you use a Lambda function to + * place an order with a pizzeria.

                              *
                            • *
                            • - *

                              In a gaming application, when a user says "pick up a rock," this information must - * go back to the client application so that it can perform the operation and update the - * graphics. In this case, you want Amazon Lex to return the intent data to the client.

                              + *

                              In a gaming application, when a user says "pick up a rock," + * this information must go back to the client application so that it can + * perform the operation and update the graphics. In this case, you want + * Amazon Lex to return the intent data to the client.

                              *
                            • *
                            */ export interface FulfillmentActivity { /** - *

                            How the intent should be fulfilled, either by running a Lambda function or by - * returning the slot data to the client application.

                            + *

                            How the intent should be fulfilled, either by running a Lambda + * function or by returning the slot data to the client application. + *

                            */ type: FulfillmentActivityType | string | undefined; /** - *

                            A description of the Lambda function that is run to fulfill the intent.

                            + *

                            A description of the Lambda function that is run to fulfill the + * intent.

                            */ codeHook?: CodeHook; } @@ -488,32 +516,54 @@ export namespace FulfillmentActivity { } /** - *

                            Provides configuration information for the AMAZON.KendraSearchIntent intent. When you use - * this intent, Amazon Lex searches the specified Amazon Kendra index and returns documents from the - * index that match the user's utterance. For more information, see + *

                            The name of a context that must be active for an intent to be selected + * by Amazon Lex.

                            + */ +export interface InputContext { + /** + *

                            The name of the context.

                            + */ + name: string | undefined; +} + +export namespace InputContext { + export const filterSensitiveLog = (obj: InputContext): any => ({ + ...obj, + }); +} + +/** + *

                            Provides configuration information for the AMAZON.KendraSearchIntent + * intent. When you use this intent, Amazon Lex searches the specified Amazon + * Kendra index and returns documents from the index that match the user's + * utterance. For more information, see * AMAZON.KendraSearchIntent.

                            */ export interface KendraConfiguration { /** - *

                            The Amazon Resource Name (ARN) of the Amazon Kendra index that you want the - * AMAZON.KendraSearchIntent intent to search. The index must be in the same account and Region - * as the Amazon Lex bot. If the Amazon Kendra index does not exist, you get an exception when you - * call the PutIntent operation.

                            + *

                            The Amazon Resource Name (ARN) of the Amazon Kendra index that you + * want the AMAZON.KendraSearchIntent intent to search. The index must be in + * the same account and Region as the Amazon Lex bot. If the Amazon Kendra index + * does not exist, you get an exception when you call the + * PutIntent operation.

                            */ kendraIndex: string | undefined; /** - *

                            A query filter that Amazon Lex sends to Amazon Kendra to filter the response from the query. - * The filter is in the format defined by Amazon Kendra. For more information, see Filtering queries.

                            - *

                            You can override this filter string with a new filter string at runtime.

                            + *

                            A query filter that Amazon Lex sends to Amazon Kendra to filter the + * response from the query. The filter is in the format defined by Amazon + * Kendra. For more information, see Filtering + * queries.

                            + *

                            You can override this filter string with a new filter string at + * runtime.

                            */ queryFilterString?: string; /** - *

                            The Amazon Resource Name (ARN) of an IAM role that has permission to search the Amazon - * Kendra index. The role must be in the same account and Region as the Amazon Lex bot. If the role - * does not exist, you get an exception when you call the PutIntent - * operation.

                            + *

                            The Amazon Resource Name (ARN) of an IAM role that has permission to + * search the Amazon Kendra index. The role must be in the same account and + * Region as the Amazon Lex bot. If the role does not exist, you get an exception + * when you call the PutIntent operation.

                            */ role: string | undefined; } @@ -524,6 +574,94 @@ export namespace KendraConfiguration { }); } +/** + *

                            The specification of an output context that is set when an intent is + * fulfilled.

                            + */ +export interface OutputContext { + /** + *

                            The name of the context.

                            + */ + name: string | undefined; + + /** + *

                            The number of seconds that the context should be active after it is + * first sent in a PostContent or PostText + * response. You can set the value between 5 and 86,400 seconds (24 + * hours).

                            + */ + timeToLiveInSeconds: number | undefined; + + /** + *

                            The number of conversation turns that the context should be active. A + * conversation turn is one PostContent or PostText + * request and the corresponding response from Amazon Lex.

                            + */ + turnsToLive: number | undefined; +} + +export namespace OutputContext { + export const filterSensitiveLog = (obj: OutputContext): any => ({ + ...obj, + }); +} + +/** + *

                            A default value for a slot.

                            + */ +export interface SlotDefaultValue { + /** + *

                            The default value for the slot. You can specify one of the + * following:

                            + *
                              + *
                            • + *

                              + * #context-name.slot-name - The slot value "slot-name" + * in the context "context-name."

                              + *
                            • + *
                            • + *

                              + * {attribute} - The slot value of the session attribute + * "attribute."

                              + *
                            • + *
                            • + *

                              + * 'value' - The discrete value "value."

                              + *
                            • + *
                            + */ + defaultValue: string | undefined; +} + +export namespace SlotDefaultValue { + export const filterSensitiveLog = (obj: SlotDefaultValue): any => ({ + ...obj, + }); +} + +/** + *

                            Contains the default values for a slot. Default values are used when + * Amazon Lex hasn't determined a value for a slot.

                            + */ +export interface SlotDefaultValueSpec { + /** + *

                            The default values for a slot. You can specify more than one default. + * For example, you can specify a default value to use from a matching + * context variable, a session attribute, or a fixed value.

                            + *

                            The default value chosen is selected based on the order that you + * specify them in the list. For example, if you specify a context variable + * and a fixed value in that order, Amazon Lex uses the context variable if it is + * available, else it uses the fixed value.

                            + */ + defaultValueList: SlotDefaultValue[] | undefined; +} + +export namespace SlotDefaultValueSpec { + export const filterSensitiveLog = (obj: SlotDefaultValueSpec): any => ({ + ...obj, + }); +} + export enum ObfuscationSetting { DEFAULT_OBFUSCATION = "DEFAULT_OBFUSCATION", NONE = "NONE", @@ -554,8 +692,8 @@ export interface Slot { slotConstraint: SlotConstraint | string | undefined; /** - *

                            The type of the slot, either a custom slot type that you defined or one of the built-in - * slot types.

                            + *

                            The type of the slot, either a custom slot type that you defined or + * one of the built-in slot types.

                            */ slotType?: string; @@ -565,40 +703,51 @@ export interface Slot { slotTypeVersion?: string; /** - *

                            The prompt that Amazon Lex uses to elicit the slot value from the user.

                            + *

                            The prompt that Amazon Lex uses to elicit the slot value from the + * user.

                            */ valueElicitationPrompt?: Prompt; /** - *

                            Directs Amazon Lex the order in which to elicit this slot value from the user. For example, - * if the intent has two slots with priorities 1 and 2, AWS Amazon Lex first elicits a value for the - * slot with priority 1.

                            - *

                            If multiple slots share the same priority, the order in which Amazon Lex elicits values is - * arbitrary.

                            + *

                            Directs Amazon Lex the order in which to elicit this slot value from + * the user. For example, if the intent has two slots with priorities 1 and + * 2, AWS Amazon Lex first elicits a value for the slot with priority 1.

                            + *

                            If multiple slots share the same priority, the order in which Amazon Lex + * elicits values is arbitrary.

                            */ priority?: number; /** - *

                            If you know a specific pattern with which users might respond to an Amazon Lex request for - * a slot value, you can provide those utterances to improve accuracy. This is optional. In most - * cases, Amazon Lex is capable of understanding user utterances.

                            + *

                            If you know a specific pattern with which users might respond to + * an Amazon Lex request for a slot value, you can provide those utterances to + * improve accuracy. This is optional. In most cases, Amazon Lex is capable of + * understanding user utterances.

                            */ sampleUtterances?: string[]; /** - *

                            A set of possible responses for the slot type used by text-based clients. A user - * chooses an option from the response card, instead of using text to reply.

                            + *

                            A set of possible responses for the slot type used by text-based + * clients. A user chooses an option from the response card, instead of using + * text to reply.

                            */ responseCard?: string; /** - *

                            Determines whether a slot is obfuscated in conversation logs and stored utterances. When - * you obfuscate a slot, the value is replaced by the slot name in curly braces ({}). For - * example, if the slot name is "full_name", obfuscated values are replaced with "{full_name}". - * For more information, see - * Slot Obfuscation .

                            + *

                            Determines whether a slot is obfuscated in conversation logs and + * stored utterances. When you obfuscate a slot, the value is replaced by the + * slot name in curly braces ({}). For example, if the slot name is + * "full_name", obfuscated values are replaced with "{full_name}". For more + * information, see Slot Obfuscation . + *

                            */ obfuscationSetting?: ObfuscationSetting | string; + + /** + *

                            A list of default values for the slot. Default values are used when + * Amazon Lex hasn't determined a value for a slot. You can specify default values + * from context variables, session attributes, and defined values.

                            + */ + defaultValueSpec?: SlotDefaultValueSpec; } export namespace Slot { @@ -619,8 +768,8 @@ export interface CreateIntentVersionResponse { description?: string; /** - *

                            An array of slot types that defines the information required to fulfill the - * intent.

                            + *

                            An array of slot types that defines the information required to + * fulfill the intent.

                            */ slots?: Slot[]; @@ -630,31 +779,34 @@ export interface CreateIntentVersionResponse { sampleUtterances?: string[]; /** - *

                            If defined, the prompt that Amazon Lex uses to confirm the user's intent before - * fulfilling it.

                            + *

                            If defined, the prompt that Amazon Lex uses to confirm the user's + * intent before fulfilling it.

                            */ confirmationPrompt?: Prompt; /** - *

                            If the user answers "no" to the question defined in confirmationPrompt, - * Amazon Lex responds with this statement to acknowledge that the intent was canceled.

                            + *

                            If the user answers "no" to the question defined in + * confirmationPrompt, Amazon Lex responds with this statement to + * acknowledge that the intent was canceled.

                            */ rejectionStatement?: Statement; /** - *

                            If defined, Amazon Lex uses this prompt to solicit additional user activity after the - * intent is fulfilled.

                            + *

                            If defined, Amazon Lex uses this prompt to solicit additional user + * activity after the intent is fulfilled.

                            */ followUpPrompt?: FollowUpPrompt; /** - *

                            After the Lambda function specified in the fulfillmentActivity field - * fulfills the intent, Amazon Lex conveys this statement to the user.

                            + *

                            After the Lambda function specified in the + * fulfillmentActivity field fulfills the intent, Amazon Lex + * conveys this statement to the user.

                            */ conclusionStatement?: Statement; /** - *

                            If defined, Amazon Lex invokes this Lambda function for each user input.

                            + *

                            If defined, Amazon Lex invokes this Lambda function for each user + * input.

                            */ dialogCodeHook?: CodeHook; @@ -679,7 +831,8 @@ export interface CreateIntentVersionResponse { createdDate?: Date; /** - *

                            The version number assigned to the new version of the intent.

                            + *

                            The version number assigned to the new version of the + * intent.

                            */ version?: string; @@ -689,10 +842,23 @@ export interface CreateIntentVersionResponse { checksum?: string; /** - *

                            Configuration information, if any, for connecting an Amazon Kendra index with the - * AMAZON.KendraSearchIntent intent.

                            + *

                            Configuration information, if any, for connecting an Amazon Kendra + * index with the AMAZON.KendraSearchIntent intent.

                            */ kendraConfiguration?: KendraConfiguration; + + /** + *

                            An array of InputContext objects that lists the contexts + * that must be active for Amazon Lex to choose the intent in a conversation with + * the user.

                            + */ + inputContexts?: InputContext[]; + + /** + *

                            An array of OutputContext objects that lists the contexts + * that the intent activates when the intent is fulfilled.

                            + */ + outputContexts?: OutputContext[]; } export namespace CreateIntentVersionResponse { @@ -703,17 +869,18 @@ export namespace CreateIntentVersionResponse { export interface CreateSlotTypeVersionRequest { /** - *

                            The name of the slot type that you want to create a new version for. The name is case - * sensitive.

                            + *

                            The name of the slot type that you want to create a new version + * for. The name is case sensitive.

                            */ name: string | undefined; /** - *

                            Checksum for the $LATEST version of the slot type that you want to - * publish. If you specify a checksum and the $LATEST version of the slot type has a - * different checksum, Amazon Lex returns a PreconditionFailedException exception and - * doesn't publish the new version. If you don't specify a checksum, Amazon Lex publishes the - * $LATEST version.

                            + *

                            Checksum for the $LATEST version of the slot type that + * you want to publish. If you specify a checksum and the + * $LATEST version of the slot type has a different checksum, + * Amazon Lex returns a PreconditionFailedException exception and + * doesn't publish the new version. If you don't specify a checksum, Amazon Lex + * publishes the $LATEST version.

                            */ checksum?: string; } @@ -725,10 +892,11 @@ export namespace CreateSlotTypeVersionRequest { } /** - *

                            Each slot type can have a set of values. Each enumeration value represents a value the - * slot type can take.

                            - *

                            For example, a pizza ordering bot could have a slot type that specifies the type of - * crust that the pizza should have. The slot type could include the values

                            + *

                            Each slot type can have a set of values. Each enumeration value + * represents a value the slot type can take.

                            + *

                            For example, a pizza ordering bot could have a slot type that + * specifies the type of crust that the pizza should have. The slot type + * could include the values

                            *
                              *
                            • *

                              thick

                              @@ -760,13 +928,14 @@ export namespace EnumerationValue { } /** - *

                              Provides a regular expression used to validate the value of a slot.

                              + *

                              Provides a regular expression used to validate the value of a + * slot.

                              */ export interface SlotTypeRegexConfiguration { /** *

                              A regular expression used to validate the value of a slot.

                              - *

                              Use a standard regular expression. Amazon Lex supports the following characters in the regular - * expression:

                              + *

                              Use a standard regular expression. Amazon Lex supports the following + * characters in the regular expression:

                              *
                                *
                              • *

                                A-Z, a-z

                                @@ -778,8 +947,8 @@ export interface SlotTypeRegexConfiguration { *

                                Unicode characters ("\ u")

                                *
                              • *
                              - *

                              Represent Unicode characters with four digits, for example "\u0041" or - * "\u005A".

                              + *

                              Represent Unicode characters with four digits, for example + * "\u0041" or "\u005A".

                              *

                              The following regular expression operators are not supported:

                              *
                                *
                              • @@ -832,14 +1001,14 @@ export interface CreateSlotTypeVersionResponse { description?: string; /** - *

                                A list of EnumerationValue objects that defines the values that the slot - * type can take.

                                + *

                                A list of EnumerationValue objects that defines the + * values that the slot type can take.

                                */ enumerationValues?: EnumerationValue[]; /** - *

                                The date that the slot type was updated. When you create a resource, the creation date - * and last update date are the same.

                                + *

                                The date that the slot type was updated. When you create a + * resource, the creation date and last update date are the same.

                                */ lastUpdatedDate?: Date; @@ -854,13 +1023,14 @@ export interface CreateSlotTypeVersionResponse { version?: string; /** - *

                                Checksum of the $LATEST version of the slot type.

                                + *

                                Checksum of the $LATEST version of the slot + * type.

                                */ checksum?: string; /** - *

                                The strategy that Amazon Lex uses to determine the value of the slot. For more information, - * see PutSlotType.

                                + *

                                The strategy that Amazon Lex uses to determine the value of the slot. + * For more information, see PutSlotType.

                                */ valueSelectionStrategy?: SlotValueSelectionStrategy | string; @@ -870,7 +1040,8 @@ export interface CreateSlotTypeVersionResponse { parentSlotTypeSignature?: string; /** - *

                                Configuration information that extends the parent built-in slot type.

                                + *

                                Configuration information that extends the parent built-in slot + * type.

                                */ slotTypeConfigurations?: SlotTypeConfiguration[]; } @@ -895,20 +1066,20 @@ export namespace DeleteBotRequest { } /** - *

                                Describes the resource that refers to the resource that you are attempting to delete. - * This object is returned as part of the ResourceInUseException exception. - *

                                + *

                                Describes the resource that refers to the resource that you are + * attempting to delete. This object is returned as part of the + * ResourceInUseException exception.

                                */ export interface ResourceReference { /** - *

                                The name of the resource that is using the resource that you are trying to - * delete.

                                + *

                                The name of the resource that is using the resource that you are + * trying to delete.

                                */ name?: string; /** - *

                                The version of the resource that is using the resource that you are trying to - * delete.

                                + *

                                The version of the resource that is using the resource that you are + * trying to delete.

                                */ version?: string; } @@ -927,18 +1098,21 @@ export enum ReferenceType { } /** - *

                                The resource that you are attempting to delete is referred to by another resource. Use - * this information to remove references to the resource that you are trying to delete.

                                - *

                                The body of the exception contains a JSON object that describes the resource.

                                + *

                                The resource that you are attempting to delete is referred to by + * another resource. Use this information to remove references to the + * resource that you are trying to delete.

                                + *

                                The body of the exception contains a JSON object that describes the + * resource.

                                *

                                - * { "resourceType": BOT | BOTALIAS | BOTCHANNEL | INTENT, + * { "resourceType": BOT | BOTALIAS | BOTCHANNEL | + * INTENT, *

                                *

                                * "resourceReference": { *

                                *

                                - * "name": string, "version": string } - * } + * "name": string, "version": + * string } } *

                                */ export interface ResourceInUseException extends __SmithyException, $MetadataBearer { @@ -946,9 +1120,9 @@ export interface ResourceInUseException extends __SmithyException, $MetadataBear $fault: "client"; referenceType?: ReferenceType | string; /** - *

                                Describes the resource that refers to the resource that you are attempting to delete. - * This object is returned as part of the ResourceInUseException exception. - *

                                + *

                                Describes the resource that refers to the resource that you are + * attempting to delete. This object is returned as part of the + * ResourceInUseException exception.

                                */ exampleReference?: ResourceReference; } @@ -961,7 +1135,8 @@ export namespace ResourceInUseException { export interface DeleteBotAliasRequest { /** - *

                                The name of the alias to delete. The name is case sensitive.

                                + *

                                The name of the alias to delete. The name is case sensitive. + *

                                */ name: string | undefined; @@ -989,8 +1164,8 @@ export interface DeleteBotChannelAssociationRequest { botName: string | undefined; /** - *

                                An alias that points to the specific version of the Amazon Lex bot to which this association - * is being made.

                                + *

                                An alias that points to the specific version of the Amazon Lex bot to + * which this association is being made.

                                */ botAlias: string | undefined; } @@ -1008,8 +1183,9 @@ export interface DeleteBotVersionRequest { name: string | undefined; /** - *

                                The version of the bot to delete. You cannot delete the $LATEST version of - * the bot. To delete the $LATEST version, use the DeleteBot + *

                                The version of the bot to delete. You cannot delete the + * $LATEST version of the bot. To delete the + * $LATEST version, use the DeleteBot * operation.

                                */ version: string | undefined; @@ -1041,8 +1217,10 @@ export interface DeleteIntentVersionRequest { name: string | undefined; /** - *

                                The version of the intent to delete. You cannot delete the $LATEST version - * of the intent. To delete the $LATEST version, use the DeleteIntent operation.

                                + *

                                The version of the intent to delete. You cannot delete the + * $LATEST version of the intent. To delete the + * $LATEST version, use the DeleteIntent + * operation.

                                */ version: string | undefined; } @@ -1073,8 +1251,10 @@ export interface DeleteSlotTypeVersionRequest { name: string | undefined; /** - *

                                The version of the slot type to delete. You cannot delete the $LATEST - * version of the slot type. To delete the $LATEST version, use the DeleteSlotType operation.

                                + *

                                The version of the slot type to delete. You cannot delete the + * $LATEST version of the slot type. To delete the + * $LATEST version, use the DeleteSlotType + * operation.

                                */ version: string | undefined; } @@ -1092,9 +1272,9 @@ export interface DeleteUtterancesRequest { botName: string | undefined; /** - *

                                The unique identifier for the user that made the utterances. This is the user ID that - * was sent in the PostContent or PostText - * operation request that contained the utterance.

                                + *

                                The unique identifier for the user that made the utterances. This + * is the user ID that was sent in the PostContent or PostText operation request that contained the + * utterance.

                                */ userId: string | undefined; } @@ -1135,60 +1315,68 @@ export interface GetBotResponse { description?: string; /** - *

                                An array of intent objects. For more information, see PutBot.

                                + *

                                An array of intent objects. For more information, see + * PutBot.

                                */ intents?: Intent[]; /** - *

                                Indicates whether the bot uses accuracy improvements. true - * indicates that the bot is using the improvements, otherwise, false.

                                + *

                                Indicates whether the bot uses accuracy improvements. + * true indicates that the bot is using the improvements, + * otherwise, false.

                                */ enableModelImprovements?: boolean; /** - *

                                The score that determines where Amazon Lex inserts the AMAZON.FallbackIntent, - * AMAZON.KendraSearchIntent, or both when returning alternative intents in a - * PostContent or PostText response. - * AMAZON.FallbackIntent is inserted if the confidence score for all intents is - * below this value. AMAZON.KendraSearchIntent is only inserted if it is configured - * for the bot.

                                + *

                                The score that determines where Amazon Lex inserts the + * AMAZON.FallbackIntent, + * AMAZON.KendraSearchIntent, or both when returning + * alternative intents in a PostContent or + * PostText response. + * AMAZON.FallbackIntent is inserted if the confidence score + * for all intents is below this value. + * AMAZON.KendraSearchIntent is only inserted if it is + * configured for the bot.

                                */ nluIntentConfidenceThreshold?: number; /** - *

                                The message Amazon Lex uses when it doesn't understand the user's request. For more - * information, see PutBot.

                                + *

                                The message Amazon Lex uses when it doesn't understand the user's + * request. For more information, see PutBot.

                                */ clarificationPrompt?: Prompt; /** - *

                                The message that Amazon Lex returns when the user elects to end the conversation without - * completing it. For more information, see PutBot.

                                + *

                                The message that Amazon Lex returns when the user elects to end the + * conversation without completing it. For more information, see PutBot.

                                */ abortStatement?: Statement; /** *

                                The status of the bot.

                                - *

                                When the status is BUILDING Amazon Lex is building the bot for testing and - * use.

                                - *

                                If the status of the bot is READY_BASIC_TESTING, you can test the bot - * using the exact utterances specified in the bot's intents. When the bot is ready for full - * testing or to run, the status is READY.

                                - *

                                If there was a problem with building the bot, the status is FAILED and the - * failureReason field explains why the bot did not build.

                                - *

                                If the bot was saved but not built, the status is NOT_BUILT.

                                + *

                                When the status is BUILDING Amazon Lex is building the bot + * for testing and use.

                                + *

                                If the status of the bot is READY_BASIC_TESTING, you + * can test the bot using the exact utterances specified in the bot's + * intents. When the bot is ready for full testing or to run, the status is + * READY.

                                + *

                                If there was a problem with building the bot, the status is + * FAILED and the failureReason field explains + * why the bot did not build.

                                + *

                                If the bot was saved but not built, the status is + * NOT_BUILT.

                                */ status?: Status | string; /** - *

                                If status is FAILED, Amazon Lex explains why it failed to build - * the bot.

                                + *

                                If status is FAILED, Amazon Lex explains why + * it failed to build the bot.

                                */ failureReason?: string; /** - *

                                The date that the bot was updated. When you create a resource, the creation date and - * last updated date are the same.

                                + *

                                The date that the bot was updated. When you create a resource, the + * creation date and last updated date are the same.

                                */ lastUpdatedDate?: Date; @@ -1198,26 +1386,26 @@ export interface GetBotResponse { createdDate?: Date; /** - *

                                The maximum time in seconds that Amazon Lex retains the data gathered in a conversation. For - * more information, see PutBot.

                                + *

                                The maximum time in seconds that Amazon Lex retains the data gathered in + * a conversation. For more information, see PutBot.

                                */ idleSessionTTLInSeconds?: number; /** - *

                                The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the user. For more - * information, see PutBot.

                                + *

                                The Amazon Polly voice ID that Amazon Lex uses for voice interaction + * with the user. For more information, see PutBot.

                                */ voiceId?: string; /** - *

                                Checksum of the bot used to identify a specific revision of the bot's - * $LATEST version.

                                + *

                                Checksum of the bot used to identify a specific revision of the + * bot's $LATEST version.

                                */ checksum?: string; /** *

                                The version of the bot. For a new bot, the version is always - * $LATEST.

                                + * $LATEST.

                                */ version?: string; @@ -1227,32 +1415,38 @@ export interface GetBotResponse { locale?: Locale | string; /** - *

                                For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify - * whether your use of Amazon Lex is related to a website, program, or other application that is - * directed or targeted, in whole or in part, to children under age 13 and subject to the - * Children's Online Privacy Protection Act (COPPA) by specifying true or - * false in the childDirected field. By specifying true - * in the childDirected field, you confirm that your use of Amazon Lex is related to a website, program, or other application that is - * directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. By - * specifying false in the childDirected field, you confirm that your - * use of Amazon Lex is not related to a website, program, or other - * application that is directed or targeted, in whole or in part, to children under age 13 and - * subject to COPPA. You may not specify a default value for the childDirected field - * that does not accurately reflect whether your use of Amazon Lex is related to a website, program, - * or other application that is directed or targeted, in whole or in part, to children under age - * 13 and subject to COPPA.

                                - *

                                If your use of Amazon Lex relates to a website, program, or other application that is - * directed in whole or in part, to children under age 13, you must obtain any required - * verifiable parental consent under COPPA. For information regarding the use of Amazon Lex in - * connection with websites, programs, or other applications that are directed or targeted, in - * whole or in part, to children under age 13, see the Amazon Lex FAQ. + *

                                For each Amazon Lex bot created with the Amazon Lex Model Building Service, + * you must specify whether your use of Amazon Lex is related to a website, + * program, or other application that is directed or targeted, in whole or in + * part, to children under age 13 and subject to the Children's Online + * Privacy Protection Act (COPPA) by specifying true or + * false in the childDirected field. By + * specifying true in the childDirected field, you + * confirm that your use of Amazon Lex is related + * to a website, program, or other application that is directed or targeted, + * in whole or in part, to children under age 13 and subject to COPPA. By + * specifying false in the childDirected field, you + * confirm that your use of Amazon Lex is not + * related to a website, program, or other application that is directed or + * targeted, in whole or in part, to children under age 13 and subject to + * COPPA. You may not specify a default value for the + * childDirected field that does not accurately reflect + * whether your use of Amazon Lex is related to a website, program, or other + * application that is directed or targeted, in whole or in part, to children + * under age 13 and subject to COPPA.

                                + *

                                If your use of Amazon Lex relates to a website, program, or other + * application that is directed in whole or in part, to children under age + * 13, you must obtain any required verifiable parental consent under COPPA. + * For information regarding the use of Amazon Lex in connection with websites, + * programs, or other applications that are directed or targeted, in whole or + * in part, to children under age 13, see the Amazon Lex FAQ. *

                                */ childDirected?: boolean; /** - *

                                Indicates whether user utterances should be sent to Amazon Comprehend for sentiment - * analysis.

                                + *

                                Indicates whether user utterances should be sent to Amazon Comprehend + * for sentiment analysis.

                                */ detectSentiment?: boolean; } @@ -1306,21 +1500,22 @@ export interface LogSettingsResponse { destination?: Destination | string; /** - *

                                The Amazon Resource Name (ARN) of the key used to encrypt audio logs in an S3 - * bucket.

                                + *

                                The Amazon Resource Name (ARN) of the key used to encrypt audio logs + * in an S3 bucket.

                                */ kmsKeyArn?: string; /** - *

                                The Amazon Resource Name (ARN) of the CloudWatch Logs log group or S3 bucket where the - * logs are delivered.

                                + *

                                The Amazon Resource Name (ARN) of the CloudWatch Logs log group or S3 + * bucket where the logs are delivered.

                                */ resourceArn?: string; /** - *

                                The resource prefix is the first part of the S3 object key within the S3 bucket that you - * specified to contain audio logs. For CloudWatch Logs it is the prefix of the log stream name - * within the log group that you specified.

                                + *

                                The resource prefix is the first part of the S3 object key within the + * S3 bucket that you specified to contain audio logs. For CloudWatch Logs it + * is the prefix of the log stream name within the log group that you + * specified.

                                */ resourcePrefix?: string; } @@ -1336,13 +1531,14 @@ export namespace LogSettingsResponse { */ export interface ConversationLogsResponse { /** - *

                                The settings for your conversation logs. You can log text, audio, or both.

                                + *

                                The settings for your conversation logs. You can log text, audio, or + * both.

                                */ logSettings?: LogSettingsResponse[]; /** - *

                                The Amazon Resource Name (ARN) of the IAM role used to write your logs to CloudWatch Logs - * or an S3 bucket.

                                + *

                                The Amazon Resource Name (ARN) of the IAM role used to write your logs + * to CloudWatch Logs or an S3 bucket.

                                */ iamRoleArn?: string; } @@ -1375,8 +1571,9 @@ export interface GetBotAliasResponse { botName?: string; /** - *

                                The date that the bot alias was updated. When you create a resource, the creation date - * and the last updated date are the same.

                                + *

                                The date that the bot alias was updated. When you create a + * resource, the creation date and the last updated date are the + * same.

                                */ lastUpdatedDate?: Date; @@ -1391,7 +1588,8 @@ export interface GetBotAliasResponse { checksum?: string; /** - *

                                The settings that determine how Amazon Lex uses conversation logs for the alias.

                                + *

                                The settings that determine how Amazon Lex uses conversation logs for the + * alias.

                                */ conversationLogs?: ConversationLogsResponse; } @@ -1409,21 +1607,23 @@ export interface GetBotAliasesRequest { botName: string | undefined; /** - *

                                A pagination token for fetching the next page of aliases. If the response to this call - * is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of - * aliases, specify the pagination token in the next request.

                                + *

                                A pagination token for fetching the next page of aliases. If the + * response to this call is truncated, Amazon Lex returns a pagination token in + * the response. To fetch the next page of aliases, specify the pagination + * token in the next request.

                                */ nextToken?: string; /** - *

                                The maximum number of aliases to return in the response. The default is 50. . - *

                                + *

                                The maximum number of aliases to return in the response. The + * default is 50. .

                                */ maxResults?: number; /** - *

                                Substring to match in bot alias names. An alias will be returned if any part of its - * name matches the substring. For example, "xyz" matches both "xyzabc" and "abcxyz."

                                + *

                                Substring to match in bot alias names. An alias will be returned if + * any part of its name matches the substring. For example, "xyz" matches + * both "xyzabc" and "abcxyz."

                                */ nameContains?: string; } @@ -1459,8 +1659,8 @@ export interface BotAliasMetadata { botName?: string; /** - *

                                The date that the bot alias was updated. When you create a resource, the creation date - * and last updated date are the same.

                                + *

                                The date that the bot alias was updated. When you create a + * resource, the creation date and last updated date are the same.

                                */ lastUpdatedDate?: Date; @@ -1475,7 +1675,8 @@ export interface BotAliasMetadata { checksum?: string; /** - *

                                Settings that determine how Amazon Lex uses conversation logs for the alias.

                                + *

                                Settings that determine how Amazon Lex uses conversation logs for the + * alias.

                                */ conversationLogs?: ConversationLogsResponse; } @@ -1488,15 +1689,16 @@ export namespace BotAliasMetadata { export interface GetBotAliasesResponse { /** - *

                                An array of BotAliasMetadata objects, each describing a bot - * alias.

                                + *

                                An array of BotAliasMetadata objects, each describing + * a bot alias.

                                */ BotAliases?: BotAliasMetadata[]; /** - *

                                A pagination token for fetching next page of aliases. If the response to this call is - * truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of - * aliases, specify the pagination token in the next request.

                                + *

                                A pagination token for fetching next page of aliases. If the + * response to this call is truncated, Amazon Lex returns a pagination token in + * the response. To fetch the next page of aliases, specify the pagination + * token in the next request.

                                */ nextToken?: string; } @@ -1509,8 +1711,8 @@ export namespace GetBotAliasesResponse { export interface GetBotChannelAssociationRequest { /** - *

                                The name of the association between the bot and the channel. The name is case - * sensitive.

                                + *

                                The name of the association between the bot and the channel. The + * name is case sensitive.

                                */ name: string | undefined; @@ -1520,8 +1722,8 @@ export interface GetBotChannelAssociationRequest { botName: string | undefined; /** - *

                                An alias pointing to the specific version of the Amazon Lex bot to which this association is - * being made.

                                + *

                                An alias pointing to the specific version of the Amazon Lex bot to which + * this association is being made.

                                */ botAlias: string | undefined; } @@ -1547,18 +1749,20 @@ export enum ChannelType { export interface GetBotChannelAssociationResponse { /** - *

                                The name of the association between the bot and the channel.

                                + *

                                The name of the association between the bot and the + * channel.

                                */ name?: string; /** - *

                                A description of the association between the bot and the channel.

                                + *

                                A description of the association between the bot and the + * channel.

                                */ description?: string; /** - *

                                An alias pointing to the specific version of the Amazon Lex bot to which this association is - * being made.

                                + *

                                An alias pointing to the specific version of the Amazon Lex bot to which + * this association is being made.

                                */ botAlias?: string; @@ -1568,7 +1772,8 @@ export interface GetBotChannelAssociationResponse { botName?: string; /** - *

                                The date that the association between the bot and the channel was created.

                                + *

                                The date that the association between the bot and the channel was + * created.

                                */ createdDate?: Date; @@ -1578,8 +1783,8 @@ export interface GetBotChannelAssociationResponse { type?: ChannelType | string; /** - *

                                Provides information that the messaging platform needs to communicate with the Amazon Lex - * bot.

                                + *

                                Provides information that the messaging platform needs to + * communicate with the Amazon Lex bot.

                                */ botConfiguration?: { [key: string]: string }; @@ -1588,24 +1793,27 @@ export interface GetBotChannelAssociationResponse { *
                                  *
                                • *

                                  - * CREATED - The channel has been created and is ready for use.

                                  + * CREATED - The channel has been created and is + * ready for use.

                                  *
                                • *
                                • *

                                  - * IN_PROGRESS - Channel creation is in progress.

                                  + * IN_PROGRESS - Channel creation is in + * progress.

                                  *
                                • *
                                • *

                                  - * FAILED - There was an error creating the channel. For information - * about the reason for the failure, see the failureReason field.

                                  + * FAILED - There was an error creating the channel. + * For information about the reason for the failure, see the + * failureReason field.

                                  *
                                • *
                                */ status?: ChannelStatus | string; /** - *

                                If status is FAILED, Amazon Lex provides the reason that it failed - * to create the association.

                                + *

                                If status is FAILED, Amazon Lex provides the + * reason that it failed to create the association.

                                */ failureReason?: string; } @@ -1624,28 +1832,30 @@ export interface GetBotChannelAssociationsRequest { botName: string | undefined; /** - *

                                An alias pointing to the specific version of the Amazon Lex bot to which this association is - * being made.

                                + *

                                An alias pointing to the specific version of the Amazon Lex bot to which + * this association is being made.

                                */ botAlias: string | undefined; /** - *

                                A pagination token for fetching the next page of associations. If the response to this - * call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of - * associations, specify the pagination token in the next request.

                                + *

                                A pagination token for fetching the next page of associations. If + * the response to this call is truncated, Amazon Lex returns a pagination token + * in the response. To fetch the next page of associations, specify the + * pagination token in the next request.

                                */ nextToken?: string; /** - *

                                The maximum number of associations to return in the response. The default is 50. - *

                                + *

                                The maximum number of associations to return in the response. The + * default is 50.

                                */ maxResults?: number; /** - *

                                Substring to match in channel association names. An association will be returned if any - * part of its name matches the substring. For example, "xyz" matches both "xyzabc" and "abcxyz." - * To return all bot channel associations, use a hyphen ("-") as the nameContains + *

                                Substring to match in channel association names. An association + * will be returned if any part of its name matches the substring. For + * example, "xyz" matches both "xyzabc" and "abcxyz." To return all bot + * channel associations, use a hyphen ("-") as the nameContains * parameter.

                                */ nameContains?: string; @@ -1658,12 +1868,13 @@ export namespace GetBotChannelAssociationsRequest { } /** - *

                                Represents an association between an Amazon Lex bot and an external messaging - * platform.

                                + *

                                Represents an association between an Amazon Lex bot and an external + * messaging platform.

                                */ export interface BotChannelAssociation { /** - *

                                The name of the association between the bot and the channel.

                                + *

                                The name of the association between the bot and the channel. + *

                                */ name?: string; @@ -1673,34 +1884,37 @@ export interface BotChannelAssociation { description?: string; /** - *

                                An alias pointing to the specific version of the Amazon Lex bot to which this association is - * being made.

                                + *

                                An alias pointing to the specific version of the Amazon Lex bot to which + * this association is being made.

                                */ botAlias?: string; /** *

                                The name of the Amazon Lex bot to which this association is being made.

                                * - *

                                Currently, Amazon Lex supports associations with Facebook and Slack, and Twilio.

                                + *

                                Currently, Amazon Lex supports associations with Facebook and Slack, + * and Twilio.

                                * *
                                */ botName?: string; /** - *

                                The date that the association between the Amazon Lex bot and the channel was created. - *

                                + *

                                The date that the association between the Amazon Lex bot and the channel + * was created.

                                */ createdDate?: Date; /** - *

                                Specifies the type of association by indicating the type of channel being established - * between the Amazon Lex bot and the external messaging platform.

                                + *

                                Specifies the type of association by indicating the type of channel + * being established between the Amazon Lex bot and the external messaging + * platform.

                                */ type?: ChannelType | string; /** - *

                                Provides information necessary to communicate with the messaging platform.

                                + *

                                Provides information necessary to communicate with the messaging + * platform.

                                */ botConfiguration?: { [key: string]: string }; @@ -1709,24 +1923,27 @@ export interface BotChannelAssociation { *
                                  *
                                • *

                                  - * CREATED - The channel has been created and is ready for use.

                                  + * CREATED - The channel has been created and is + * ready for use.

                                  *
                                • *
                                • *

                                  - * IN_PROGRESS - Channel creation is in progress.

                                  + * IN_PROGRESS - Channel creation is in + * progress.

                                  *
                                • *
                                • *

                                  - * FAILED - There was an error creating the channel. For information - * about the reason for the failure, see the failureReason field.

                                  + * FAILED - There was an error creating the channel. + * For information about the reason for the failure, see the + * failureReason field.

                                  *
                                • *
                                */ status?: ChannelStatus | string; /** - *

                                If status is FAILED, Amazon Lex provides the reason that it failed - * to create the association.

                                + *

                                If status is FAILED, Amazon Lex provides the + * reason that it failed to create the association.

                                */ failureReason?: string; } @@ -1740,15 +1957,17 @@ export namespace BotChannelAssociation { export interface GetBotChannelAssociationsResponse { /** - *

                                An array of objects, one for each association, that provides information about the - * Amazon Lex bot and its association with the channel.

                                + *

                                An array of objects, one for each association, that provides + * information about the Amazon Lex bot and its association with the channel. + *

                                */ botChannelAssociations?: BotChannelAssociation[]; /** - *

                                A pagination token that fetches the next page of associations. If the response to this - * call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of - * associations, specify the pagination token in the next request.

                                + *

                                A pagination token that fetches the next page of associations. If + * the response to this call is truncated, Amazon Lex returns a pagination token + * in the response. To fetch the next page of associations, specify the + * pagination token in the next request.

                                */ nextToken?: string; } @@ -1764,21 +1983,23 @@ export namespace GetBotChannelAssociationsResponse { export interface GetBotsRequest { /** - *

                                A pagination token that fetches the next page of bots. If the response to this call is - * truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of bots, - * specify the pagination token in the next request.

                                + *

                                A pagination token that fetches the next page of bots. If the + * response to this call is truncated, Amazon Lex returns a pagination token in + * the response. To fetch the next page of bots, specify the pagination token + * in the next request.

                                */ nextToken?: string; /** - *

                                The maximum number of bots to return in the response that the request will return. The - * default is 10.

                                + *

                                The maximum number of bots to return in the response that the + * request will return. The default is 10.

                                */ maxResults?: number; /** - *

                                Substring to match in bot names. A bot will be returned if any part of its name matches - * the substring. For example, "xyz" matches both "xyzabc" and "abcxyz."

                                + *

                                Substring to match in bot names. A bot will be returned if any part + * of its name matches the substring. For example, "xyz" matches both + * "xyzabc" and "abcxyz."

                                */ nameContains?: string; } @@ -1809,8 +2030,8 @@ export interface BotMetadata { status?: Status | string; /** - *

                                The date that the bot was updated. When you create a bot, the creation date and last - * updated date are the same.

                                + *

                                The date that the bot was updated. When you create a bot, the + * creation date and last updated date are the same.

                                */ lastUpdatedDate?: Date; @@ -1821,7 +2042,7 @@ export interface BotMetadata { /** *

                                The version of the bot. For a new bot, the version is always - * $LATEST.

                                + * $LATEST.

                                */ version?: string; } @@ -1834,13 +2055,15 @@ export namespace BotMetadata { export interface GetBotsResponse { /** - *

                                An array of botMetadata objects, with one entry for each bot.

                                + *

                                An array of botMetadata objects, with one entry for + * each bot.

                                */ bots?: BotMetadata[]; /** - *

                                If the response is truncated, it includes a pagination token that you can specify in - * your next request to fetch the next page of bots.

                                + *

                                If the response is truncated, it includes a pagination token that + * you can specify in your next request to fetch the next page of bots. + *

                                */ nextToken?: string; } @@ -1853,20 +2076,22 @@ export namespace GetBotsResponse { export interface GetBotVersionsRequest { /** - *

                                The name of the bot for which versions should be returned.

                                + *

                                The name of the bot for which versions should be + * returned.

                                */ name: string | undefined; /** - *

                                A pagination token for fetching the next page of bot versions. If the response to this - * call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of - * versions, specify the pagination token in the next request.

                                + *

                                A pagination token for fetching the next page of bot versions. If + * the response to this call is truncated, Amazon Lex returns a pagination token + * in the response. To fetch the next page of versions, specify the + * pagination token in the next request.

                                */ nextToken?: string; /** - *

                                The maximum number of bot versions to return in the response. The default is - * 10.

                                + *

                                The maximum number of bot versions to return in the response. The + * default is 10.

                                */ maxResults?: number; } @@ -1879,15 +2104,17 @@ export namespace GetBotVersionsRequest { export interface GetBotVersionsResponse { /** - *

                                An array of BotMetadata objects, one for each numbered version of the bot - * plus one for the $LATEST version.

                                + *

                                An array of BotMetadata objects, one for each numbered + * version of the bot plus one for the $LATEST + * version.

                                */ bots?: BotMetadata[]; /** - *

                                A pagination token for fetching the next page of bot versions. If the response to this - * call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of - * versions, specify the pagination token in the next request.

                                + *

                                A pagination token for fetching the next page of bot versions. If + * the response to this call is truncated, Amazon Lex returns a pagination token + * in the response. To fetch the next page of versions, specify the + * pagination token in the next request.

                                */ nextToken?: string; } @@ -1900,8 +2127,9 @@ export namespace GetBotVersionsResponse { export interface GetBuiltinIntentRequest { /** - *

                                The unique identifier for a built-in intent. To find the signature for an intent, see - * Standard Built-in Intents in the Alexa Skills Kit.

                                + *

                                The unique identifier for a built-in intent. To find the signature + * for an intent, see Standard Built-in Intents in the Alexa Skills + * Kit.

                                */ signature: string | undefined; } @@ -1913,7 +2141,8 @@ export namespace GetBuiltinIntentRequest { } /** - *

                                Provides information about a slot used in a built-in intent.

                                + *

                                Provides information about a slot used in a built-in + * intent.

                                */ export interface BuiltinIntentSlot { /** @@ -1940,8 +2169,8 @@ export interface GetBuiltinIntentResponse { supportedLocales?: (Locale | string)[]; /** - *

                                An array of BuiltinIntentSlot objects, one entry for each slot type in the - * intent.

                                + *

                                An array of BuiltinIntentSlot objects, one entry for + * each slot type in the intent.

                                */ slots?: BuiltinIntentSlot[]; } @@ -1959,21 +2188,25 @@ export interface GetBuiltinIntentsRequest { locale?: Locale | string; /** - *

                                Substring to match in built-in intent signatures. An intent will be returned if any - * part of its signature matches the substring. For example, "xyz" matches both "xyzabc" and - * "abcxyz." To find the signature for an intent, see Standard Built-in Intents in the Alexa Skills Kit.

                                + *

                                Substring to match in built-in intent signatures. An intent will be + * returned if any part of its signature matches the substring. For example, + * "xyz" matches both "xyzabc" and "abcxyz." To find the signature for an + * intent, see Standard Built-in Intents in the Alexa Skills + * Kit.

                                */ signatureContains?: string; /** - *

                                A pagination token that fetches the next page of intents. If this API call is - * truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of - * intents, use the pagination token in the next request.

                                + *

                                A pagination token that fetches the next page of intents. If this + * API call is truncated, Amazon Lex returns a pagination token in the response. + * To fetch the next page of intents, use the pagination token in the next + * request.

                                */ nextToken?: string; /** - *

                                The maximum number of intents to return in the response. The default is 10.

                                + *

                                The maximum number of intents to return in the response. The + * default is 10.

                                */ maxResults?: number; } @@ -1989,13 +2222,15 @@ export namespace GetBuiltinIntentsRequest { */ export interface BuiltinIntentMetadata { /** - *

                                A unique identifier for the built-in intent. To find the signature for an intent, see - * Standard Built-in Intents in the Alexa Skills Kit.

                                + *

                                A unique identifier for the built-in intent. To find the signature + * for an intent, see Standard Built-in Intents in the Alexa Skills + * Kit.

                                */ signature?: string; /** - *

                                A list of identifiers for the locales that the intent supports.

                                + *

                                A list of identifiers for the locales that the intent + * supports.

                                */ supportedLocales?: (Locale | string)[]; } @@ -2008,15 +2243,16 @@ export namespace BuiltinIntentMetadata { export interface GetBuiltinIntentsResponse { /** - *

                                An array of builtinIntentMetadata objects, one for each intent in the - * response.

                                + *

                                An array of builtinIntentMetadata objects, one for + * each intent in the response.

                                */ intents?: BuiltinIntentMetadata[]; /** - *

                                A pagination token that fetches the next page of intents. If the response to this API - * call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of - * intents, specify the pagination token in the next request.

                                + *

                                A pagination token that fetches the next page of intents. If the + * response to this API call is truncated, Amazon Lex returns a pagination token + * in the response. To fetch the next page of intents, specify the pagination + * token in the next request.

                                */ nextToken?: string; } @@ -2034,22 +2270,23 @@ export interface GetBuiltinSlotTypesRequest { locale?: Locale | string; /** - *

                                Substring to match in built-in slot type signatures. A slot type will be returned if - * any part of its signature matches the substring. For example, "xyz" matches both "xyzabc" and - * "abcxyz."

                                + *

                                Substring to match in built-in slot type signatures. A slot type + * will be returned if any part of its signature matches the substring. For + * example, "xyz" matches both "xyzabc" and "abcxyz."

                                */ signatureContains?: string; /** - *

                                A pagination token that fetches the next page of slot types. If the response to this - * API call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next - * page of slot types, specify the pagination token in the next request.

                                + *

                                A pagination token that fetches the next page of slot types. If the + * response to this API call is truncated, Amazon Lex returns a pagination token + * in the response. To fetch the next page of slot types, specify the + * pagination token in the next request.

                                */ nextToken?: string; /** - *

                                The maximum number of slot types to return in the response. The default is - * 10.

                                + *

                                The maximum number of slot types to return in the response. The + * default is 10.

                                */ maxResults?: number; } @@ -2065,8 +2302,9 @@ export namespace GetBuiltinSlotTypesRequest { */ export interface BuiltinSlotTypeMetadata { /** - *

                                A unique identifier for the built-in slot type. To find the signature for a slot type, - * see Slot Type Reference in the Alexa Skills Kit.

                                + *

                                A unique identifier for the built-in slot type. To find the + * signature for a slot type, see Slot Type Reference in the Alexa Skills + * Kit.

                                */ signature?: string; @@ -2084,14 +2322,15 @@ export namespace BuiltinSlotTypeMetadata { export interface GetBuiltinSlotTypesResponse { /** - *

                                An array of BuiltInSlotTypeMetadata objects, one entry for each slot type - * returned.

                                + *

                                An array of BuiltInSlotTypeMetadata objects, one entry + * for each slot type returned.

                                */ slotTypes?: BuiltinSlotTypeMetadata[]; /** - *

                                If the response is truncated, the response includes a pagination token that you can use - * in your next request to fetch the next page of slot types.

                                + *

                                If the response is truncated, the response includes a pagination + * token that you can use in your next request to fetch the next page of slot + * types.

                                */ nextToken?: string; } @@ -2181,22 +2420,24 @@ export interface GetExportResponse { *
                              • *
                              • *

                                - * FAILED - The export could not be completed.

                                + * FAILED - The export could not be + * completed.

                                *
                              • *
                              */ exportStatus?: ExportStatus | string; /** - *

                              If status is FAILED, Amazon Lex provides the reason that it failed - * to export the resource.

                              + *

                              If status is FAILED, Amazon Lex provides the + * reason that it failed to export the resource.

                              */ failureReason?: string; /** - *

                              An S3 pre-signed URL that provides the location of the exported resource. The exported - * resource is a ZIP archive that contains the exported resource in JSON format. The structure of - * the archive may change. Your code should not rely on the archive structure.

                              + *

                              An S3 pre-signed URL that provides the location of the exported + * resource. The exported resource is a ZIP archive that contains the + * exported resource in JSON format. The structure of the archive may change. + * Your code should not rely on the archive structure.

                              */ url?: string; } @@ -2243,8 +2484,8 @@ export interface GetImportResponse { resourceType?: ResourceType | string; /** - *

                              The action taken when there was a conflict between an existing resource and a resource - * in the import file.

                              + *

                              The action taken when there was a conflict between an existing + * resource and a resource in the import file.

                              */ mergeStrategy?: MergeStrategy | string; @@ -2254,18 +2495,21 @@ export interface GetImportResponse { importId?: string; /** - *

                              The status of the import job. If the status is FAILED, you can get the - * reason for the failure from the failureReason field.

                              + *

                              The status of the import job. If the status is FAILED, + * you can get the reason for the failure from the failureReason + * field.

                              */ importStatus?: ImportStatus | string; /** - *

                              A string that describes why an import job failed to complete.

                              + *

                              A string that describes why an import job failed to + * complete.

                              */ failureReason?: string[]; /** - *

                              A timestamp for the date and time that the import job was created.

                              + *

                              A timestamp for the date and time that the import job was + * created.

                              */ createdDate?: Date; } @@ -2316,37 +2560,41 @@ export interface GetIntentResponse { sampleUtterances?: string[]; /** - *

                              If defined in the bot, Amazon Lex uses prompt to confirm the intent before fulfilling the - * user's request. For more information, see PutIntent.

                              + *

                              If defined in the bot, Amazon Lex uses prompt to confirm the intent + * before fulfilling the user's request. For more information, see PutIntent.

                              */ confirmationPrompt?: Prompt; /** - *

                              If the user answers "no" to the question defined in confirmationPrompt, - * Amazon Lex responds with this statement to acknowledge that the intent was canceled.

                              + *

                              If the user answers "no" to the question defined in + * confirmationPrompt, Amazon Lex responds with this statement to + * acknowledge that the intent was canceled.

                              */ rejectionStatement?: Statement; /** - *

                              If defined in the bot, Amazon Lex uses this prompt to solicit additional user activity after - * the intent is fulfilled. For more information, see PutIntent.

                              + *

                              If defined in the bot, Amazon Lex uses this prompt to solicit additional + * user activity after the intent is fulfilled. For more information, see + * PutIntent.

                              */ followUpPrompt?: FollowUpPrompt; /** - *

                              After the Lambda function specified in the fulfillmentActivity element - * fulfills the intent, Amazon Lex conveys this statement to the user.

                              + *

                              After the Lambda function specified in the + * fulfillmentActivity element fulfills the intent, Amazon Lex + * conveys this statement to the user.

                              */ conclusionStatement?: Statement; /** - *

                              If defined in the bot, Amazon Amazon Lex invokes this Lambda function for each user input. - * For more information, see PutIntent.

                              + *

                              If defined in the bot, Amazon Amazon Lex invokes this Lambda function + * for each user input. For more information, see PutIntent.

                              */ dialogCodeHook?: CodeHook; /** - *

                              Describes how the intent is fulfilled. For more information, see PutIntent.

                              + *

                              Describes how the intent is fulfilled. For more information, see + * PutIntent.

                              */ fulfillmentActivity?: FulfillmentActivity; @@ -2356,8 +2604,8 @@ export interface GetIntentResponse { parentIntentSignature?: string; /** - *

                              The date that the intent was updated. When you create a resource, the creation date and - * the last updated date are the same.

                              + *

                              The date that the intent was updated. When you create a resource, + * the creation date and the last updated date are the same.

                              */ lastUpdatedDate?: Date; @@ -2377,10 +2625,23 @@ export interface GetIntentResponse { checksum?: string; /** - *

                              Configuration information, if any, to connect to an Amazon Kendra index with the - * AMAZON.KendraSearchIntent intent.

                              + *

                              Configuration information, if any, to connect to an Amazon Kendra + * index with the AMAZON.KendraSearchIntent intent.

                              */ kendraConfiguration?: KendraConfiguration; + + /** + *

                              An array of InputContext objects that lists the contexts + * that must be active for Amazon Lex to choose the intent in a conversation with + * the user.

                              + */ + inputContexts?: InputContext[]; + + /** + *

                              An array of OutputContext objects that lists the contexts + * that the intent activates when the intent is fulfilled.

                              + */ + outputContexts?: OutputContext[]; } export namespace GetIntentResponse { @@ -2391,20 +2652,23 @@ export namespace GetIntentResponse { export interface GetIntentsRequest { /** - *

                              A pagination token that fetches the next page of intents. If the response to this API - * call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of - * intents, specify the pagination token in the next request.

                              + *

                              A pagination token that fetches the next page of intents. If the + * response to this API call is truncated, Amazon Lex returns a pagination token + * in the response. To fetch the next page of intents, specify the pagination + * token in the next request.

                              */ nextToken?: string; /** - *

                              The maximum number of intents to return in the response. The default is 10.

                              + *

                              The maximum number of intents to return in the response. The + * default is 10.

                              */ maxResults?: number; /** - *

                              Substring to match in intent names. An intent will be returned if any part of its name - * matches the substring. For example, "xyz" matches both "xyzabc" and "abcxyz."

                              + *

                              Substring to match in intent names. An intent will be returned if + * any part of its name matches the substring. For example, "xyz" matches + * both "xyzabc" and "abcxyz."

                              */ nameContains?: string; } @@ -2430,8 +2694,8 @@ export interface IntentMetadata { description?: string; /** - *

                              The date that the intent was updated. When you create an intent, the creation date and - * last updated date are the same.

                              + *

                              The date that the intent was updated. When you create an intent, + * the creation date and last updated date are the same.

                              */ lastUpdatedDate?: Date; @@ -2454,13 +2718,15 @@ export namespace IntentMetadata { export interface GetIntentsResponse { /** - *

                              An array of Intent objects. For more information, see PutBot.

                              + *

                              An array of Intent objects. For more information, see + * PutBot.

                              */ intents?: IntentMetadata[]; /** - *

                              If the response is truncated, the response includes a pagination token that you can - * specify in your next request to fetch the next page of intents.

                              + *

                              If the response is truncated, the response includes a pagination + * token that you can specify in your next request to fetch the next page of + * intents.

                              */ nextToken?: string; } @@ -2473,20 +2739,22 @@ export namespace GetIntentsResponse { export interface GetIntentVersionsRequest { /** - *

                              The name of the intent for which versions should be returned.

                              + *

                              The name of the intent for which versions should be + * returned.

                              */ name: string | undefined; /** - *

                              A pagination token for fetching the next page of intent versions. If the response to - * this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next - * page of versions, specify the pagination token in the next request.

                              + *

                              A pagination token for fetching the next page of intent versions. + * If the response to this call is truncated, Amazon Lex returns a pagination + * token in the response. To fetch the next page of versions, specify the + * pagination token in the next request.

                              */ nextToken?: string; /** - *

                              The maximum number of intent versions to return in the response. The default is - * 10.

                              + *

                              The maximum number of intent versions to return in the response. + * The default is 10.

                              */ maxResults?: number; } @@ -2499,15 +2767,17 @@ export namespace GetIntentVersionsRequest { export interface GetIntentVersionsResponse { /** - *

                              An array of IntentMetadata objects, one for each numbered version of the - * intent plus one for the $LATEST version.

                              + *

                              An array of IntentMetadata objects, one for each + * numbered version of the intent plus one for the $LATEST + * version.

                              */ intents?: IntentMetadata[]; /** - *

                              A pagination token for fetching the next page of intent versions. If the response to - * this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next - * page of versions, specify the pagination token in the next request.

                              + *

                              A pagination token for fetching the next page of intent versions. + * If the response to this call is truncated, Amazon Lex returns a pagination + * token in the response. To fetch the next page of versions, specify the + * pagination token in the next request.

                              */ nextToken?: string; } @@ -2548,14 +2818,14 @@ export interface GetSlotTypeResponse { description?: string; /** - *

                              A list of EnumerationValue objects that defines the values that the slot - * type can take.

                              + *

                              A list of EnumerationValue objects that defines the + * values that the slot type can take.

                              */ enumerationValues?: EnumerationValue[]; /** - *

                              The date that the slot type was updated. When you create a resource, the creation date - * and last update date are the same.

                              + *

                              The date that the slot type was updated. When you create a + * resource, the creation date and last update date are the same.

                              */ lastUpdatedDate?: Date; @@ -2570,13 +2840,14 @@ export interface GetSlotTypeResponse { version?: string; /** - *

                              Checksum of the $LATEST version of the slot type.

                              + *

                              Checksum of the $LATEST version of the slot + * type.

                              */ checksum?: string; /** - *

                              The strategy that Amazon Lex uses to determine the value of the slot. For more information, - * see PutSlotType.

                              + *

                              The strategy that Amazon Lex uses to determine the value of the slot. + * For more information, see PutSlotType.

                              */ valueSelectionStrategy?: SlotValueSelectionStrategy | string; @@ -2586,7 +2857,8 @@ export interface GetSlotTypeResponse { parentSlotTypeSignature?: string; /** - *

                              Configuration information that extends the parent built-in slot type.

                              + *

                              Configuration information that extends the parent built-in slot + * type.

                              */ slotTypeConfigurations?: SlotTypeConfiguration[]; } @@ -2599,21 +2871,23 @@ export namespace GetSlotTypeResponse { export interface GetSlotTypesRequest { /** - *

                              A pagination token that fetches the next page of slot types. If the response to this - * API call is truncated, Amazon Lex returns a pagination token in the response. To fetch next page of - * slot types, specify the pagination token in the next request.

                              + *

                              A pagination token that fetches the next page of slot types. If the + * response to this API call is truncated, Amazon Lex returns a pagination token + * in the response. To fetch next page of slot types, specify the pagination + * token in the next request.

                              */ nextToken?: string; /** - *

                              The maximum number of slot types to return in the response. The default is - * 10.

                              + *

                              The maximum number of slot types to return in the response. The + * default is 10.

                              */ maxResults?: number; /** - *

                              Substring to match in slot type names. A slot type will be returned if any part of its - * name matches the substring. For example, "xyz" matches both "xyzabc" and "abcxyz."

                              + *

                              Substring to match in slot type names. A slot type will be returned + * if any part of its name matches the substring. For example, "xyz" matches + * both "xyzabc" and "abcxyz."

                              */ nameContains?: string; } @@ -2639,8 +2913,8 @@ export interface SlotTypeMetadata { description?: string; /** - *

                              The date that the slot type was updated. When you create a resource, the creation date - * and last updated date are the same.

                              + *

                              The date that the slot type was updated. When you create a + * resource, the creation date and last updated date are the same.

                              */ lastUpdatedDate?: Date; @@ -2663,14 +2937,16 @@ export namespace SlotTypeMetadata { export interface GetSlotTypesResponse { /** - *

                              An array of objects, one for each slot type, that provides information such as the name - * of the slot type, the version, and a description.

                              + *

                              An array of objects, one for each slot type, that provides + * information such as the name of the slot type, the version, and a + * description.

                              */ slotTypes?: SlotTypeMetadata[]; /** - *

                              If the response is truncated, it includes a pagination token that you can specify in - * your next request to fetch the next page of slot types.

                              + *

                              If the response is truncated, it includes a pagination token that + * you can specify in your next request to fetch the next page of slot + * types.

                              */ nextToken?: string; } @@ -2683,20 +2959,22 @@ export namespace GetSlotTypesResponse { export interface GetSlotTypeVersionsRequest { /** - *

                              The name of the slot type for which versions should be returned.

                              + *

                              The name of the slot type for which versions should be + * returned.

                              */ name: string | undefined; /** - *

                              A pagination token for fetching the next page of slot type versions. If the response to - * this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next - * page of versions, specify the pagination token in the next request.

                              + *

                              A pagination token for fetching the next page of slot type + * versions. If the response to this call is truncated, Amazon Lex returns a + * pagination token in the response. To fetch the next page of versions, + * specify the pagination token in the next request.

                              */ nextToken?: string; /** - *

                              The maximum number of slot type versions to return in the response. The default is - * 10.

                              + *

                              The maximum number of slot type versions to return in the response. + * The default is 10.

                              */ maxResults?: number; } @@ -2709,15 +2987,17 @@ export namespace GetSlotTypeVersionsRequest { export interface GetSlotTypeVersionsResponse { /** - *

                              An array of SlotTypeMetadata objects, one for each numbered version of the - * slot type plus one for the $LATEST version.

                              + *

                              An array of SlotTypeMetadata objects, one for each + * numbered version of the slot type plus one for the $LATEST + * version.

                              */ slotTypes?: SlotTypeMetadata[]; /** - *

                              A pagination token for fetching the next page of slot type versions. If the response to - * this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next - * page of versions, specify the pagination token in the next request.

                              + *

                              A pagination token for fetching the next page of slot type + * versions. If the response to this call is truncated, Amazon Lex returns a + * pagination token in the response. To fetch the next page of versions, + * specify the pagination token in the next request.

                              */ nextToken?: string; } @@ -2735,19 +3015,21 @@ export enum StatusType { export interface GetUtterancesViewRequest { /** - *

                              The name of the bot for which utterance information should be returned.

                              + *

                              The name of the bot for which utterance information should be + * returned.

                              */ botName: string | undefined; /** - *

                              An array of bot versions for which utterance information should be returned. The limit - * is 5 versions per request.

                              + *

                              An array of bot versions for which utterance information should be + * returned. The limit is 5 versions per request.

                              */ botVersions: string[] | undefined; /** - *

                              To return utterances that were recognized and handled, use Detected. To - * return utterances that were not recognized, use Missed.

                              + *

                              To return utterances that were recognized and handled, use + * Detected. To return utterances that were not recognized, + * use Missed.

                              */ statusType: StatusType | string | undefined; } @@ -2759,12 +3041,13 @@ export namespace GetUtterancesViewRequest { } /** - *

                              Provides information about a single utterance that was made to your bot.

                              + *

                              Provides information about a single utterance that was made to your + * bot.

                              */ export interface UtteranceData { /** - *

                              The text that was entered by the user or the text representation of an audio - * clip.

                              + *

                              The text that was entered by the user or the text representation of + * an audio clip.

                              */ utteranceString?: string; @@ -2796,8 +3079,9 @@ export namespace UtteranceData { } /** - *

                              Provides a list of utterances that have been made to a specific version of your bot. - * The list contains a maximum of 100 utterances.

                              + *

                              Provides a list of utterances that have been made to a specific + * version of your bot. The list contains a maximum of 100 + * utterances.

                              */ export interface UtteranceList { /** @@ -2806,8 +3090,9 @@ export interface UtteranceList { botVersion?: string; /** - *

                              One or more UtteranceData objects that contain information about the - * utterances that have been made to a bot. The maximum number of object is 100.

                              + *

                              One or more UtteranceData objects that contain + * information about the utterances that have been made to a bot. The maximum + * number of object is 100.

                              */ utterances?: UtteranceData[]; } @@ -2820,14 +3105,18 @@ export namespace UtteranceList { export interface GetUtterancesViewResponse { /** - *

                              The name of the bot for which utterance information was returned.

                              + *

                              The name of the bot for which utterance information was + * returned.

                              */ botName?: string; /** - *

                              An array of UtteranceList objects, each containing a list of UtteranceData objects describing the utterances that were processed by your bot. - * The response contains a maximum of 100 UtteranceData objects for each version. - * Amazon Lex returns the most frequent utterances received by the bot in the last 15 days.

                              + *

                              An array of UtteranceList objects, each + * containing a list of UtteranceData objects describing + * the utterances that were processed by your bot. The response contains a + * maximum of 100 UtteranceData objects for each version. Amazon Lex + * returns the most frequent utterances received by the bot in the last 15 + * days.

                              */ utterances?: UtteranceList[]; } @@ -2840,7 +3129,8 @@ export namespace GetUtterancesViewResponse { export interface ListTagsForResourceRequest { /** - *

                              The Amazon Resource Name (ARN) of the resource to get a list of tags for.

                              + *

                              The Amazon Resource Name (ARN) of the resource to get a list of tags + * for.

                              */ resourceArn: string | undefined; } @@ -2852,19 +3142,20 @@ export namespace ListTagsForResourceRequest { } /** - *

                              A list of key/value pairs that identify a bot, bot alias, or bot channel. Tag keys and - * values can consist of Unicode letters, digits, white space, and any of the following symbols: - * _ . : / = + - @.

                              + *

                              A list of key/value pairs that identify a bot, bot alias, or bot + * channel. Tag keys and values can consist of Unicode letters, digits, white + * space, and any of the following symbols: _ . : / = + - @.

                              */ export interface Tag { /** - *

                              The key for the tag. Keys are not case-sensitive and must be unique.

                              + *

                              The key for the tag. Keys are not case-sensitive and must be + * unique.

                              */ key: string | undefined; /** - *

                              The value associated with a key. The value may be an empty string but it can't be - * null.

                              + *

                              The value associated with a key. The value may be an empty string but + * it can't be null.

                              */ value: string | undefined; } @@ -2895,7 +3186,8 @@ export enum ProcessBehavior { export interface PutBotRequest { /** - *

                              The name of the bot. The name is not case sensitive.

                              + *

                              The name of the bot. The name is not case + * sensitive.

                              */ name: string | undefined; @@ -2905,22 +3197,24 @@ export interface PutBotRequest { description?: string; /** - *

                              An array of Intent objects. Each intent represents a command that a user - * can express. For example, a pizza ordering bot might support an OrderPizza intent. For more - * information, see how-it-works.

                              + *

                              An array of Intent objects. Each intent represents a + * command that a user can express. For example, a pizza ordering bot might + * support an OrderPizza intent. For more information, see how-it-works.

                              */ intents?: Intent[]; /** - *

                              Set to true to enable access to natural language understanding improvements. - *

                              - *

                              When you set the enableModelImprovements parameter to true you - * can use the nluIntentConfidenceThreshold parameter to configure confidence - * scores. For more information, see Confidence Scores.

                              - *

                              You can only set the enableModelImprovements parameter in certain Regions. If - * you set the parameter to true, your bot has access to accuracy improvements.

                              - *

                              The Regions where you can set the enableModelImprovements parameter to - * true are:

                              + *

                              Set to true to enable access to natural language + * understanding improvements.

                              + *

                              When you set the enableModelImprovements parameter to + * true you can use the + * nluIntentConfidenceThreshold parameter to configure + * confidence scores. For more information, see Confidence Scores.

                              + *

                              You can only set the enableModelImprovements parameter in + * certain Regions. If you set the parameter to true, your bot + * has access to accuracy improvements.

                              + *

                              The Regions where you can set the enableModelImprovements + * parameter to true are:

                              *
                                *
                              • *

                                US East (N. Virginia) (us-east-1)

                                @@ -2935,34 +3229,25 @@ export interface PutBotRequest { *

                                EU (Ireland) (eu-west-1)

                                *
                              • *
                              - *

                              In other Regions, the enableModelImprovements parameter is set to - * true by default. In these Regions setting the parameter to false - * throws a ValidationException exception.

                              - *
                                - *
                              • - *

                                Asia Pacific (Singapore) (ap-southeast-1)

                                - *
                              • - *
                              • - *

                                Asia Pacific (Tokyo) (ap-northeast-1)

                                - *
                              • - *
                              • - *

                                EU (Frankfurt) (eu-central-1)

                                - *
                              • - *
                              • - *

                                EU (London) (eu-west-2)

                                - *
                              • - *
                              + *

                              In other Regions, the enableModelImprovements parameter + * is set to true by default. In these Regions setting the + * parameter to false throws a ValidationException + * exception.

                              */ enableModelImprovements?: boolean; /** - *

                              Determines the threshold where Amazon Lex will insert the AMAZON.FallbackIntent, - * AMAZON.KendraSearchIntent, or both when returning alternative intents in a - * PostContent or PostText response. - * AMAZON.FallbackIntent and AMAZON.KendraSearchIntent are only - * inserted if they are configured for the bot.

                              - *

                              You must set the enableModelImprovements parameter to true to - * use confidence scores.

                              + *

                              Determines the threshold where Amazon Lex will insert the + * AMAZON.FallbackIntent, + * AMAZON.KendraSearchIntent, or both when returning + * alternative intents in a PostContent or + * PostText response. + * AMAZON.FallbackIntent and + * AMAZON.KendraSearchIntent are only inserted if they are + * configured for the bot.

                              + *

                              You must set the enableModelImprovements parameter to + * true to use confidence scores in the following + * regions.

                              *
                                *
                              • *

                                US East (N. Virginia) (us-east-1)

                                @@ -2977,12 +3262,13 @@ export interface PutBotRequest { *

                                EU (Ireland) (eu-west-1)

                                *
                              • *
                              - *

                              In other Regions, the enableModelImprovements parameter is set to - * true by default.

                              - *

                              For example, suppose a bot is configured with the confidence threshold of 0.80 and the - * AMAZON.FallbackIntent. Amazon Lex returns three alternative intents with the - * following confidence scores: IntentA (0.70), IntentB (0.60), IntentC (0.50). The response from - * the PostText operation would be:

                              + *

                              In other Regions, the enableModelImprovements parameter + * is set to true by default.

                              + *

                              For example, suppose a bot is configured with the confidence threshold + * of 0.80 and the AMAZON.FallbackIntent. Amazon Lex returns three + * alternative intents with the following confidence scores: IntentA (0.70), + * IntentB (0.60), IntentC (0.50). The response from the + * PostText operation would be:

                              *
                                *
                              • *

                                AMAZON.FallbackIntent

                                @@ -3001,152 +3287,177 @@ export interface PutBotRequest { nluIntentConfidenceThreshold?: number; /** - *

                                When Amazon Lex doesn't understand the user's intent, it uses this message to get - * clarification. To specify how many times Amazon Lex should repeat the clarification prompt, use the - * maxAttempts field. If Amazon Lex still doesn't understand, it sends the message in - * the abortStatement field.

                                - *

                                When you create a clarification prompt, make sure that it suggests the correct response - * from the user. for example, for a bot that orders pizza and drinks, you might create this - * clarification prompt: "What would you like to do? You can say 'Order a pizza' or 'Order a - * drink.'"

                                - *

                                If you have defined a fallback intent, it will be invoked if the clarification prompt is - * repeated the number of times defined in the maxAttempts field. For more - * information, see AMAZON.FallbackIntent.

                                - *

                                If you don't define a clarification prompt, at runtime Amazon Lex will return a 400 Bad Request - * exception in three cases:

                                + *

                                When Amazon Lex doesn't understand the user's intent, it uses this + * message to get clarification. To specify how many times Amazon Lex should + * repeat the clarification prompt, use the maxAttempts field. + * If Amazon Lex still doesn't understand, it sends the message in the + * abortStatement field.

                                + *

                                When you create a clarification prompt, make sure that it suggests + * the correct response from the user. for example, for a bot that orders + * pizza and drinks, you might create this clarification prompt: "What would + * you like to do? You can say 'Order a pizza' or 'Order a drink.'"

                                + *

                                If you have defined a fallback intent, it will be invoked if the + * clarification prompt is repeated the number of times defined in the + * maxAttempts field. For more information, see + * AMAZON.FallbackIntent.

                                + *

                                If you don't define a clarification prompt, at runtime Amazon Lex will + * return a 400 Bad Request exception in three cases:

                                *
                                  *
                                • - *

                                  Follow-up prompt - When the user responds to a follow-up prompt but does not provide - * an intent. For example, in response to a follow-up prompt that says "Would you like - * anything else today?" the user says "Yes." Amazon Lex will return a 400 Bad Request exception - * because it does not have a clarification prompt to send to the user to get an + *

                                  Follow-up prompt - When the user responds to a follow-up prompt + * but does not provide an intent. For example, in response to a + * follow-up prompt that says "Would you like anything else today?" the + * user says "Yes." Amazon Lex will return a 400 Bad Request exception because + * it does not have a clarification prompt to send to the user to get an * intent.

                                  *
                                • *
                                • *

                                  Lambda function - When using a Lambda function, you return an - * ElicitIntent dialog type. Since Amazon Lex does not have a clarification prompt - * to get an intent from the user, it returns a 400 Bad Request exception.

                                  + * ElicitIntent dialog type. Since Amazon Lex does not have a + * clarification prompt to get an intent from the user, it returns a 400 + * Bad Request exception.

                                  *
                                • *
                                • - *

                                  PutSession operation - When using the PutSession operation, you send an - * ElicitIntent dialog type. Since Amazon Lex does not have a clarification prompt - * to get an intent from the user, it returns a 400 Bad Request exception.

                                  + *

                                  PutSession operation - When using the PutSession + * operation, you send an ElicitIntent dialog type. Since + * Amazon Lex does not have a clarification prompt to get an intent from the + * user, it returns a 400 Bad Request exception.

                                  *
                                • *
                                */ clarificationPrompt?: Prompt; /** - *

                                When Amazon Lex can't understand the user's input in context, it tries to elicit the - * information a few times. After that, Amazon Lex sends the message defined in - * abortStatement to the user, and then cancels the conversation. To set the - * number of retries, use the valueElicitationPrompt field for the slot type.

                                - *

                                For example, in a pizza ordering bot, Amazon Lex might ask a user "What type of crust would - * you like?" If the user's response is not one of the expected responses (for example, "thin - * crust, "deep dish," etc.), Amazon Lex tries to elicit a correct response a few more times.

                                - *

                                For example, in a pizza ordering application, OrderPizza might be one of - * the intents. This intent might require the CrustType slot. You specify the - * valueElicitationPrompt field when you create the CrustType - * slot.

                                - *

                                If you have defined a fallback intent the cancel statement will not be sent to the user, - * the fallback intent is used instead. For more information, see AMAZON.FallbackIntent.

                                + *

                                When Amazon Lex can't understand the user's input in context, it tries + * to elicit the information a few times. After that, Amazon Lex sends the message + * defined in abortStatement to the user, and then cancels the + * conversation. To set the number of retries, use the + * valueElicitationPrompt field for the slot type.

                                + *

                                For example, in a pizza ordering bot, Amazon Lex might ask a user "What + * type of crust would you like?" If the user's response is not one of the + * expected responses (for example, "thin crust, "deep dish," etc.), Amazon Lex + * tries to elicit a correct response a few more times.

                                + *

                                For example, in a pizza ordering application, + * OrderPizza might be one of the intents. This intent might + * require the CrustType slot. You specify the + * valueElicitationPrompt field when you create the + * CrustType slot.

                                + *

                                If you have defined a fallback intent the cancel statement will not be + * sent to the user, the fallback intent is used instead. For more + * information, see + * AMAZON.FallbackIntent.

                                */ abortStatement?: Statement; /** - *

                                The maximum time in seconds that Amazon Lex retains the data gathered in a - * conversation.

                                - *

                                A user interaction session remains active for the amount of time specified. If no - * conversation occurs during this time, the session expires and Amazon Lex deletes any data provided - * before the timeout.

                                - *

                                For example, suppose that a user chooses the OrderPizza intent, but gets sidetracked - * halfway through placing an order. If the user doesn't complete the order within the specified - * time, Amazon Lex discards the slot information that it gathered, and the user must start - * over.

                                - *

                                If you don't include the idleSessionTTLInSeconds element in a - * PutBot operation request, Amazon Lex uses the default value. This is also true if - * the request replaces an existing bot.

                                + *

                                The maximum time in seconds that Amazon Lex retains the data gathered in + * a conversation.

                                + *

                                A user interaction session remains active for the amount of time + * specified. If no conversation occurs during this time, the session expires + * and Amazon Lex deletes any data provided before the timeout.

                                + *

                                For example, suppose that a user chooses the OrderPizza intent, but + * gets sidetracked halfway through placing an order. If the user doesn't + * complete the order within the specified time, Amazon Lex discards the slot + * information that it gathered, and the user must start over.

                                + *

                                If you don't include the idleSessionTTLInSeconds + * element in a PutBot operation request, Amazon Lex uses the default + * value. This is also true if the request replaces an existing + * bot.

                                *

                                The default is 300 seconds (5 minutes).

                                */ idleSessionTTLInSeconds?: number; /** - *

                                The Amazon Polly voice ID that you want Amazon Lex to use for voice interactions with the - * user. The locale configured for the voice must match the locale of the bot. For more - * information, see Voices in Amazon Polly in the Amazon Polly Developer - * Guide.

                                + *

                                The Amazon Polly voice ID that you want Amazon Lex to use for voice + * interactions with the user. The locale configured for the voice must match + * the locale of the bot. For more information, see Voices + * in Amazon Polly in the Amazon Polly Developer + * Guide.

                                */ voiceId?: string; /** - *

                                Identifies a specific revision of the $LATEST version.

                                - *

                                When you create a new bot, leave the checksum field blank. If you specify - * a checksum you get a BadRequestException exception.

                                - *

                                When you want to update a bot, set the checksum field to the checksum of - * the most recent revision of the $LATEST version. If you don't specify the - * checksum field, or if the checksum does not match the $LATEST version, - * you get a PreconditionFailedException exception.

                                + *

                                Identifies a specific revision of the $LATEST + * version.

                                + *

                                When you create a new bot, leave the checksum field + * blank. If you specify a checksum you get a + * BadRequestException exception.

                                + *

                                When you want to update a bot, set the checksum field + * to the checksum of the most recent revision of the $LATEST + * version. If you don't specify the checksum field, or if the + * checksum does not match the $LATEST version, you get a + * PreconditionFailedException exception.

                                */ checksum?: string; /** - *

                                If you set the processBehavior element to BUILD, Amazon Lex builds - * the bot so that it can be run. If you set the element to SAVE Amazon Lex saves the - * bot, but doesn't build it.

                                - *

                                If you don't specify this value, the default value is BUILD.

                                + *

                                If you set the processBehavior element to + * BUILD, Amazon Lex builds the bot so that it can be run. If you + * set the element to SAVE Amazon Lex saves the bot, but doesn't + * build it.

                                + *

                                If you don't specify this value, the default value is + * BUILD.

                                */ processBehavior?: ProcessBehavior | string; /** - *

                                Specifies the target locale for the bot. Any intent used in the bot must be compatible - * with the locale of the bot.

                                + *

                                Specifies the target locale for the bot. Any intent used in the + * bot must be compatible with the locale of the bot.

                                * *

                                The default is en-US.

                                */ locale: Locale | string | undefined; /** - *

                                For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify - * whether your use of Amazon Lex is related to a website, program, or other application that is - * directed or targeted, in whole or in part, to children under age 13 and subject to the - * Children's Online Privacy Protection Act (COPPA) by specifying true or - * false in the childDirected field. By specifying true - * in the childDirected field, you confirm that your use of Amazon Lex is related to a website, program, or other application that is - * directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. By - * specifying false in the childDirected field, you confirm that your - * use of Amazon Lex is not related to a website, program, or other - * application that is directed or targeted, in whole or in part, to children under age 13 and - * subject to COPPA. You may not specify a default value for the childDirected field - * that does not accurately reflect whether your use of Amazon Lex is related to a website, program, - * or other application that is directed or targeted, in whole or in part, to children under age - * 13 and subject to COPPA.

                                - *

                                If your use of Amazon Lex relates to a website, program, or other application that is - * directed in whole or in part, to children under age 13, you must obtain any required - * verifiable parental consent under COPPA. For information regarding the use of Amazon Lex in - * connection with websites, programs, or other applications that are directed or targeted, in - * whole or in part, to children under age 13, see the Amazon Lex FAQ. + *

                                For each Amazon Lex bot created with the Amazon Lex Model Building Service, + * you must specify whether your use of Amazon Lex is related to a website, + * program, or other application that is directed or targeted, in whole or in + * part, to children under age 13 and subject to the Children's Online + * Privacy Protection Act (COPPA) by specifying true or + * false in the childDirected field. By + * specifying true in the childDirected field, you + * confirm that your use of Amazon Lex is related + * to a website, program, or other application that is directed or targeted, + * in whole or in part, to children under age 13 and subject to COPPA. By + * specifying false in the childDirected field, you + * confirm that your use of Amazon Lex is not + * related to a website, program, or other application that is directed or + * targeted, in whole or in part, to children under age 13 and subject to + * COPPA. You may not specify a default value for the + * childDirected field that does not accurately reflect + * whether your use of Amazon Lex is related to a website, program, or other + * application that is directed or targeted, in whole or in part, to children + * under age 13 and subject to COPPA.

                                + *

                                If your use of Amazon Lex relates to a website, program, or other + * application that is directed in whole or in part, to children under age + * 13, you must obtain any required verifiable parental consent under COPPA. + * For information regarding the use of Amazon Lex in connection with websites, + * programs, or other applications that are directed or targeted, in whole or + * in part, to children under age 13, see the Amazon Lex FAQ. *

                                */ childDirected: boolean | undefined; /** - *

                                When set to true user utterances are sent to Amazon Comprehend for sentiment - * analysis. If you don't specify detectSentiment, the default is - * false.

                                + *

                                When set to true user utterances are sent to Amazon + * Comprehend for sentiment analysis. If you don't specify + * detectSentiment, the default is false.

                                */ detectSentiment?: boolean; /** - *

                                When set to true a new numbered version of the bot is created. This is the - * same as calling the CreateBotVersion operation. If you don't specify - * createVersion, the default is false.

                                + *

                                When set to true a new numbered version of the bot is + * created. This is the same as calling the CreateBotVersion + * operation. If you don't specify createVersion, the default is + * false.

                                */ createVersion?: boolean; /** - *

                                A list of tags to add to the bot. You can only add tags when you create a bot, you can't - * use the PutBot operation to update the tags on a bot. To update tags, use the - * TagResource operation.

                                + *

                                A list of tags to add to the bot. You can only add tags when you + * create a bot, you can't use the PutBot operation to update + * the tags on a bot. To update tags, use the TagResource + * operation.

                                */ tags?: Tag[]; } @@ -3169,62 +3480,69 @@ export interface PutBotResponse { description?: string; /** - *

                                An array of Intent objects. For more information, see PutBot.

                                + *

                                An array of Intent objects. For more information, see + * PutBot.

                                */ intents?: Intent[]; /** - *

                                Indicates whether the bot uses accuracy improvements. true - * indicates that the bot is using the improvements, otherwise, false.

                                + *

                                Indicates whether the bot uses accuracy improvements. + * true indicates that the bot is using the improvements, + * otherwise, false.

                                */ enableModelImprovements?: boolean; /** - *

                                The score that determines where Amazon Lex inserts the AMAZON.FallbackIntent, - * AMAZON.KendraSearchIntent, or both when returning alternative intents in a - * PostContent or PostText response. - * AMAZON.FallbackIntent is inserted if the confidence score for all intents is - * below this value. AMAZON.KendraSearchIntent is only inserted if it is configured - * for the bot.

                                + *

                                The score that determines where Amazon Lex inserts the + * AMAZON.FallbackIntent, + * AMAZON.KendraSearchIntent, or both when returning + * alternative intents in a PostContent or + * PostText response. + * AMAZON.FallbackIntent is inserted if the confidence score + * for all intents is below this value. + * AMAZON.KendraSearchIntent is only inserted if it is + * configured for the bot.

                                */ nluIntentConfidenceThreshold?: number; /** - *

                                The prompts that Amazon Lex uses when it doesn't understand the user's intent. For more - * information, see PutBot.

                                + *

                                The prompts that Amazon Lex uses when it doesn't understand the user's + * intent. For more information, see PutBot.

                                */ clarificationPrompt?: Prompt; /** - *

                                The message that Amazon Lex uses to cancel a conversation. For more information, see PutBot.

                                + *

                                The message that Amazon Lex uses to cancel a conversation. For more + * information, see PutBot.

                                */ abortStatement?: Statement; /** - *

                                When you send a request to create a bot with processBehavior set to - * BUILD, Amazon Lex sets the status response element to - * BUILDING.

                                - *

                                In the READY_BASIC_TESTING state you can test the bot with user inputs - * that exactly match the utterances configured for the bot's intents and values in the slot - * types.

                                - *

                                If Amazon Lex can't build the bot, Amazon Lex sets status to FAILED. - * Amazon Lex returns the reason for the failure in the failureReason response element.

                                - *

                                When you set processBehavior to SAVE, Amazon Lex sets the status - * code to NOT BUILT.

                                - *

                                When the bot is in the READY state you can test and publish the - * bot.

                                + *

                                When you send a request to create a bot with + * processBehavior set to BUILD, Amazon Lex sets the + * status response element to BUILDING.

                                + *

                                In the READY_BASIC_TESTING state you can test the bot + * with user inputs that exactly match the utterances configured for the + * bot's intents and values in the slot types.

                                + *

                                If Amazon Lex can't build the bot, Amazon Lex sets status to + * FAILED. Amazon Lex returns the reason for the failure in the + * failureReason response element.

                                + *

                                When you set processBehavior to SAVE, + * Amazon Lex sets the status code to NOT BUILT.

                                + *

                                When the bot is in the READY state you can test and + * publish the bot.

                                */ status?: Status | string; /** - *

                                If status is FAILED, Amazon Lex provides the reason that it failed - * to build the bot.

                                + *

                                If status is FAILED, Amazon Lex provides the + * reason that it failed to build the bot.

                                */ failureReason?: string; /** - *

                                The date that the bot was updated. When you create a resource, the creation date and - * last updated date are the same.

                                + *

                                The date that the bot was updated. When you create a resource, the + * creation date and last updated date are the same.

                                */ lastUpdatedDate?: Date; @@ -3234,14 +3552,14 @@ export interface PutBotResponse { createdDate?: Date; /** - *

                                The maximum length of time that Amazon Lex retains the data gathered in a conversation. For - * more information, see PutBot.

                                + *

                                The maximum length of time that Amazon Lex retains the data gathered in + * a conversation. For more information, see PutBot.

                                */ idleSessionTTLInSeconds?: number; /** - *

                                The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the user. For more - * information, see PutBot.

                                + *

                                The Amazon Polly voice ID that Amazon Lex uses for voice interaction + * with the user. For more information, see PutBot.

                                */ voiceId?: string; @@ -3252,7 +3570,7 @@ export interface PutBotResponse { /** *

                                The version of the bot. For a new bot, the version is always - * $LATEST.

                                + * $LATEST.

                                */ version?: string; @@ -3262,25 +3580,31 @@ export interface PutBotResponse { locale?: Locale | string; /** - *

                                For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify - * whether your use of Amazon Lex is related to a website, program, or other application that is - * directed or targeted, in whole or in part, to children under age 13 and subject to the - * Children's Online Privacy Protection Act (COPPA) by specifying true or - * false in the childDirected field. By specifying true - * in the childDirected field, you confirm that your use of Amazon Lex is related to a website, program, or other application that is - * directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. By - * specifying false in the childDirected field, you confirm that your - * use of Amazon Lex is not related to a website, program, or other - * application that is directed or targeted, in whole or in part, to children under age 13 and - * subject to COPPA. You may not specify a default value for the childDirected field - * that does not accurately reflect whether your use of Amazon Lex is related to a website, program, - * or other application that is directed or targeted, in whole or in part, to children under age - * 13 and subject to COPPA.

                                - *

                                If your use of Amazon Lex relates to a website, program, or other application that is - * directed in whole or in part, to children under age 13, you must obtain any required - * verifiable parental consent under COPPA. For information regarding the use of Amazon Lex in - * connection with websites, programs, or other applications that are directed or targeted, in - * whole or in part, to children under age 13, see the Amazon Lex FAQ. + *

                                For each Amazon Lex bot created with the Amazon Lex Model Building Service, + * you must specify whether your use of Amazon Lex is related to a website, + * program, or other application that is directed or targeted, in whole or in + * part, to children under age 13 and subject to the Children's Online + * Privacy Protection Act (COPPA) by specifying true or + * false in the childDirected field. By + * specifying true in the childDirected field, you + * confirm that your use of Amazon Lex is related + * to a website, program, or other application that is directed or targeted, + * in whole or in part, to children under age 13 and subject to COPPA. By + * specifying false in the childDirected field, you + * confirm that your use of Amazon Lex is not + * related to a website, program, or other application that is directed or + * targeted, in whole or in part, to children under age 13 and subject to + * COPPA. You may not specify a default value for the + * childDirected field that does not accurately reflect + * whether your use of Amazon Lex is related to a website, program, or other + * application that is directed or targeted, in whole or in part, to children + * under age 13 and subject to COPPA.

                                + *

                                If your use of Amazon Lex relates to a website, program, or other + * application that is directed in whole or in part, to children under age + * 13, you must obtain any required verifiable parental consent under COPPA. + * For information regarding the use of Amazon Lex in connection with websites, + * programs, or other applications that are directed or targeted, in whole or + * in part, to children under age 13, see the Amazon Lex FAQ. *

                                */ childDirected?: boolean; @@ -3289,15 +3613,18 @@ export interface PutBotResponse { *

                                * True if a new version of the bot was created. If the * createVersion field was not specified in the request, the - * createVersion field is set to false in the response.

                                + * createVersion field is set to false in the + * response.

                                */ createVersion?: boolean; /** *

                                - * true if the bot is configured to send user utterances to Amazon Comprehend - * for sentiment analysis. If the detectSentiment field was not specified in the - * request, the detectSentiment field is false in the response.

                                + * true if the bot is configured to send user utterances to + * Amazon Comprehend for sentiment analysis. If the + * detectSentiment field was not specified in the request, the + * detectSentiment field is false in the + * response.

                                */ detectSentiment?: boolean; @@ -3314,31 +3641,33 @@ export namespace PutBotResponse { } /** - *

                                Settings used to configure delivery mode and destination for conversation logs.

                                + *

                                Settings used to configure delivery mode and destination for + * conversation logs.

                                */ export interface LogSettingsRequest { /** - *

                                The type of logging to enable. Text logs are delivered to a CloudWatch Logs log group. - * Audio logs are delivered to an S3 bucket.

                                + *

                                The type of logging to enable. Text logs are delivered to a CloudWatch + * Logs log group. Audio logs are delivered to an S3 bucket.

                                */ logType: LogType | string | undefined; /** - *

                                Where the logs will be delivered. Text logs are delivered to a CloudWatch Logs log group. - * Audio logs are delivered to an S3 bucket.

                                + *

                                Where the logs will be delivered. Text logs are delivered to a + * CloudWatch Logs log group. Audio logs are delivered to an S3 + * bucket.

                                */ destination: Destination | string | undefined; /** - *

                                The Amazon Resource Name (ARN) of the AWS KMS customer managed key for encrypting audio - * logs delivered to an S3 bucket. The key does not apply to CloudWatch Logs and is optional for - * S3 buckets.

                                + *

                                The Amazon Resource Name (ARN) of the AWS KMS customer managed key for + * encrypting audio logs delivered to an S3 bucket. The key does not apply to + * CloudWatch Logs and is optional for S3 buckets.

                                */ kmsKeyArn?: string; /** - *

                                The Amazon Resource Name (ARN) of the CloudWatch Logs log group or S3 bucket where the - * logs should be delivered.

                                + *

                                The Amazon Resource Name (ARN) of the CloudWatch Logs log group or S3 + * bucket where the logs should be delivered.

                                */ resourceArn: string | undefined; } @@ -3354,17 +3683,18 @@ export namespace LogSettingsRequest { */ export interface ConversationLogsRequest { /** - *

                                The settings for your conversation logs. You can log the conversation text, conversation - * audio, or both.

                                + *

                                The settings for your conversation logs. You can log the conversation + * text, conversation audio, or both.

                                */ logSettings: LogSettingsRequest[] | undefined; /** - *

                                The Amazon Resource Name (ARN) of an IAM role with permission to write to your CloudWatch - * Logs for text logs and your S3 bucket for audio logs. If audio encryption is enabled, this - * role also provides access permission for the AWS KMS key used for encrypting audio logs. For - * more information, see Creating an IAM Role and Policy - * for Conversation Logs.

                                + *

                                The Amazon Resource Name (ARN) of an IAM role with permission to write + * to your CloudWatch Logs for text logs and your S3 bucket for audio logs. + * If audio encryption is enabled, this role also provides access permission + * for the AWS KMS key used for encrypting audio logs. For more information, + * see Creating an + * IAM Role and Policy for Conversation Logs.

                                */ iamRoleArn: string | undefined; } @@ -3377,7 +3707,8 @@ export namespace ConversationLogsRequest { export interface PutBotAliasRequest { /** - *

                                The name of the alias. The name is not case sensitive.

                                + *

                                The name of the alias. The name is not case + * sensitive.

                                */ name: string | undefined; @@ -3397,13 +3728,17 @@ export interface PutBotAliasRequest { botName: string | undefined; /** - *

                                Identifies a specific revision of the $LATEST version.

                                - *

                                When you create a new bot alias, leave the checksum field blank. If you - * specify a checksum you get a BadRequestException exception.

                                - *

                                When you want to update a bot alias, set the checksum field to the - * checksum of the most recent revision of the $LATEST version. If you don't specify - * the checksum field, or if the checksum does not match the $LATEST - * version, you get a PreconditionFailedException exception.

                                + *

                                Identifies a specific revision of the $LATEST + * version.

                                + *

                                When you create a new bot alias, leave the checksum + * field blank. If you specify a checksum you get a + * BadRequestException exception.

                                + *

                                When you want to update a bot alias, set the checksum + * field to the checksum of the most recent revision of the + * $LATEST version. If you don't specify the + * checksum field, or if the checksum does not match the + * $LATEST version, you get a + * PreconditionFailedException exception.

                                */ checksum?: string; @@ -3413,9 +3748,10 @@ export interface PutBotAliasRequest { conversationLogs?: ConversationLogsRequest; /** - *

                                A list of tags to add to the bot alias. You can only add tags when you create an alias, - * you can't use the PutBotAlias operation to update the tags on a bot alias. To - * update tags, use the TagResource operation.

                                + *

                                A list of tags to add to the bot alias. You can only add tags when you + * create an alias, you can't use the PutBotAlias operation to + * update the tags on a bot alias. To update tags, use the + * TagResource operation.

                                */ tags?: Tag[]; } @@ -3448,8 +3784,9 @@ export interface PutBotAliasResponse { botName?: string; /** - *

                                The date that the bot alias was updated. When you create a resource, the creation date - * and the last updated date are the same.

                                + *

                                The date that the bot alias was updated. When you create a + * resource, the creation date and the last updated date are the + * same.

                                */ lastUpdatedDate?: Date; @@ -3464,7 +3801,8 @@ export interface PutBotAliasResponse { checksum?: string; /** - *

                                The settings that determine how Amazon Lex uses conversation logs for the alias.

                                + *

                                The settings that determine how Amazon Lex uses conversation logs for the + * alias.

                                */ conversationLogs?: ConversationLogsResponse; @@ -3482,12 +3820,14 @@ export namespace PutBotAliasResponse { export interface PutIntentRequest { /** - *

                                The name of the intent. The name is not case sensitive.

                                - *

                                The name can't match a built-in intent name, or a built-in intent name with "AMAZON." - * removed. For example, because there is a built-in intent called - * AMAZON.HelpIntent, you can't create a custom intent called - * HelpIntent.

                                - *

                                For a list of built-in intents, see Standard Built-in Intents in the Alexa Skills Kit.

                                + *

                                The name of the intent. The name is not case + * sensitive.

                                + *

                                The name can't match a built-in intent name, or a built-in intent + * name with "AMAZON." removed. For example, because there is a built-in + * intent called AMAZON.HelpIntent, you can't create a custom + * intent called HelpIntent.

                                + *

                                For a list of built-in intents, see Standard Built-in Intents in the Alexa Skills + * Kit.

                                */ name: string | undefined; @@ -3497,38 +3837,42 @@ export interface PutIntentRequest { description?: string; /** - *

                                An array of intent slots. At runtime, Amazon Lex elicits required slot values from the user - * using prompts defined in the slots. For more information, see how-it-works. - *

                                + *

                                An array of intent slots. At runtime, Amazon Lex elicits required slot + * values from the user using prompts defined in the slots. For more + * information, see how-it-works.

                                */ slots?: Slot[]; /** - *

                                An array of utterances (strings) that a user might say to signal the intent. For - * example, "I want {PizzaSize} pizza", "Order {Quantity} {PizzaSize} pizzas".

                                + *

                                An array of utterances (strings) that a user might say to signal + * the intent. For example, "I want {PizzaSize} pizza", "Order {Quantity} + * {PizzaSize} pizzas".

                                * - *

                                In each utterance, a slot name is enclosed in curly braces.

                                + *

                                In each utterance, a slot name is enclosed in curly braces. + *

                                */ sampleUtterances?: string[]; /** - *

                                Prompts the user to confirm the intent. This question should have a yes or no - * answer.

                                - *

                                Amazon Lex uses this prompt to ensure that the user acknowledges that the intent is ready - * for fulfillment. For example, with the OrderPizza intent, you might want to - * confirm that the order is correct before placing it. For other intents, such as intents that - * simply respond to user questions, you might not need to ask the user for confirmation before - * providing the information.

                                + *

                                Prompts the user to confirm the intent. This question should have a + * yes or no answer.

                                + *

                                Amazon Lex uses this prompt to ensure that the user acknowledges that + * the intent is ready for fulfillment. For example, with the + * OrderPizza intent, you might want to confirm that the order + * is correct before placing it. For other intents, such as intents that + * simply respond to user questions, you might not need to ask the user for + * confirmation before providing the information.

                                * - *

                                You you must provide both the rejectionStatement and the - * confirmationPrompt, or neither.

                                + *

                                You you must provide both the rejectionStatement and + * the confirmationPrompt, or neither.

                                *
                                */ confirmationPrompt?: Prompt; /** - *

                                When the user answers "no" to the question defined in confirmationPrompt, - * Amazon Lex responds with this statement to acknowledge that the intent was canceled.

                                + *

                                When the user answers "no" to the question defined in + * confirmationPrompt, Amazon Lex responds with this statement to + * acknowledge that the intent was canceled.

                                * *

                                You must provide both the rejectionStatement and the * confirmationPrompt, or neither.

                                @@ -3537,98 +3881,124 @@ export interface PutIntentRequest { rejectionStatement?: Statement; /** - *

                                Amazon Lex uses this prompt to solicit additional activity after fulfilling an intent. For - * example, after the OrderPizza intent is fulfilled, you might prompt the user to - * order a drink.

                                - *

                                The action that Amazon Lex takes depends on the user's response, as follows:

                                + *

                                Amazon Lex uses this prompt to solicit additional activity after + * fulfilling an intent. For example, after the OrderPizza + * intent is fulfilled, you might prompt the user to order a drink.

                                + *

                                The action that Amazon Lex takes depends on the user's response, as + * follows:

                                *
                                  *
                                • - *

                                  If the user says "Yes" it responds with the clarification prompt that is configured - * for the bot.

                                  + *

                                  If the user says "Yes" it responds with the clarification + * prompt that is configured for the bot.

                                  *
                                • *
                                • - *

                                  if the user says "Yes" and continues with an utterance that triggers an intent it - * starts a conversation for the intent.

                                  + *

                                  if the user says "Yes" and continues with an utterance that + * triggers an intent it starts a conversation for the intent.

                                  *
                                • *
                                • - *

                                  If the user says "No" it responds with the rejection statement configured for the - * the follow-up prompt.

                                  + *

                                  If the user says "No" it responds with the rejection statement + * configured for the the follow-up prompt.

                                  *
                                • *
                                • - *

                                  If it doesn't recognize the utterance it repeats the follow-up prompt - * again.

                                  + *

                                  If it doesn't recognize the utterance it repeats the follow-up + * prompt again.

                                  *
                                • *
                                * - *

                                The followUpPrompt field and the conclusionStatement field - * are mutually exclusive. You can specify only one.

                                + *

                                The followUpPrompt field and the + * conclusionStatement field are mutually exclusive. You can + * specify only one.

                                */ followUpPrompt?: FollowUpPrompt; /** - *

                                The statement that you want Amazon Lex to convey to the user after the intent is - * successfully fulfilled by the Lambda function.

                                - *

                                This element is relevant only if you provide a Lambda function in the - * fulfillmentActivity. If you return the intent to the client application, you - * can't specify this element.

                                + *

                                The statement that you want Amazon Lex to convey to the user after the + * intent is successfully fulfilled by the Lambda function.

                                + *

                                This element is relevant only if you provide a Lambda function in + * the fulfillmentActivity. If you return the intent to the + * client application, you can't specify this element.

                                * - *

                                The followUpPrompt and conclusionStatement are mutually - * exclusive. You can specify only one.

                                + *

                                The followUpPrompt and + * conclusionStatement are mutually exclusive. You can + * specify only one.

                                *
                                */ conclusionStatement?: Statement; /** - *

                                Specifies a Lambda function to invoke for each user input. You can invoke this Lambda - * function to personalize user interaction.

                                - *

                                For example, suppose your bot determines that the user is John. Your Lambda function - * might retrieve John's information from a backend database and prepopulate some of the values. - * For example, if you find that John is gluten intolerant, you might set the corresponding - * intent slot, GlutenIntolerant, to true. You might find John's phone number and - * set the corresponding session attribute.

                                + *

                                Specifies a Lambda function to invoke for each user input. You can + * invoke this Lambda function to personalize user interaction.

                                + *

                                For example, suppose your bot determines that the user is John. + * Your Lambda function might retrieve John's information from a backend + * database and prepopulate some of the values. For example, if you find that + * John is gluten intolerant, you might set the corresponding intent slot, + * GlutenIntolerant, to true. You might find John's phone + * number and set the corresponding session attribute.

                                */ dialogCodeHook?: CodeHook; /** - *

                                Required. Describes how the intent is fulfilled. For example, after a user provides all - * of the information for a pizza order, fulfillmentActivity defines how the bot - * places an order with a local pizza store.

                                - *

                                You might configure Amazon Lex to return all of the intent information to the client - * application, or direct it to invoke a Lambda function that can process the intent (for - * example, place an order with a pizzeria).

                                + *

                                Required. Describes how the intent is fulfilled. For example, after + * a user provides all of the information for a pizza order, + * fulfillmentActivity defines how the bot places an order + * with a local pizza store.

                                + *

                                You might configure Amazon Lex to return all of the intent information + * to the client application, or direct it to invoke a Lambda function that + * can process the intent (for example, place an order with a pizzeria). + *

                                */ fulfillmentActivity?: FulfillmentActivity; /** - *

                                A unique identifier for the built-in intent to base this intent on. To find the - * signature for an intent, see Standard Built-in Intents in the Alexa Skills Kit.

                                + *

                                A unique identifier for the built-in intent to base this intent on. + * To find the signature for an intent, see Standard Built-in Intents in the Alexa Skills + * Kit.

                                */ parentIntentSignature?: string; /** - *

                                Identifies a specific revision of the $LATEST version.

                                - *

                                When you create a new intent, leave the checksum field blank. If you - * specify a checksum you get a BadRequestException exception.

                                - *

                                When you want to update a intent, set the checksum field to the checksum - * of the most recent revision of the $LATEST version. If you don't specify the - * checksum field, or if the checksum does not match the $LATEST - * version, you get a PreconditionFailedException exception.

                                + *

                                Identifies a specific revision of the $LATEST + * version.

                                + *

                                When you create a new intent, leave the checksum field + * blank. If you specify a checksum you get a + * BadRequestException exception.

                                + *

                                When you want to update a intent, set the checksum + * field to the checksum of the most recent revision of the + * $LATEST version. If you don't specify the + * checksum field, or if the checksum does not match the + * $LATEST version, you get a + * PreconditionFailedException exception.

                                */ checksum?: string; /** - *

                                When set to true a new numbered version of the intent is created. This is - * the same as calling the CreateIntentVersion operation. If you do not specify + *

                                When set to true a new numbered version of the intent + * is created. This is the same as calling the + * CreateIntentVersion operation. If you do not specify * createVersion, the default is false.

                                */ createVersion?: boolean; /** - *

                                Configuration information required to use the AMAZON.KendraSearchIntent - * intent to connect to an Amazon Kendra index. For more information, see + *

                                Configuration information required to use the + * AMAZON.KendraSearchIntent intent to connect to an Amazon + * Kendra index. For more information, see * AMAZON.KendraSearchIntent.

                                */ kendraConfiguration?: KendraConfiguration; + + /** + *

                                An array of InputContext objects that lists the contexts + * that must be active for Amazon Lex to choose the intent in a conversation with + * the user.

                                + */ + inputContexts?: InputContext[]; + + /** + *

                                An array of OutputContext objects that lists the contexts + * that the intent activates when the intent is fulfilled.

                                + */ + outputContexts?: OutputContext[]; } export namespace PutIntentRequest { @@ -3649,59 +4019,65 @@ export interface PutIntentResponse { description?: string; /** - *

                                An array of intent slots that are configured for the intent.

                                + *

                                An array of intent slots that are configured for the + * intent.

                                */ slots?: Slot[]; /** - *

                                An array of sample utterances that are configured for the intent.

                                + *

                                An array of sample utterances that are configured for the intent. + *

                                */ sampleUtterances?: string[]; /** - *

                                If defined in the intent, Amazon Lex prompts the user to confirm the intent before - * fulfilling it.

                                + *

                                If defined in the intent, Amazon Lex prompts the user to confirm the + * intent before fulfilling it.

                                */ confirmationPrompt?: Prompt; /** - *

                                If the user answers "no" to the question defined in confirmationPrompt - * Amazon Lex responds with this statement to acknowledge that the intent was canceled.

                                + *

                                If the user answers "no" to the question defined in + * confirmationPrompt Amazon Lex responds with this statement to + * acknowledge that the intent was canceled.

                                */ rejectionStatement?: Statement; /** - *

                                If defined in the intent, Amazon Lex uses this prompt to solicit additional user activity - * after the intent is fulfilled.

                                + *

                                If defined in the intent, Amazon Lex uses this prompt to solicit + * additional user activity after the intent is fulfilled.

                                */ followUpPrompt?: FollowUpPrompt; /** - *

                                After the Lambda function specified in thefulfillmentActivityintent - * fulfills the intent, Amazon Lex conveys this statement to the user.

                                + *

                                After the Lambda function specified in + * thefulfillmentActivityintent fulfills the intent, Amazon Lex + * conveys this statement to the user.

                                */ conclusionStatement?: Statement; /** - *

                                If defined in the intent, Amazon Lex invokes this Lambda function for each user - * input.

                                + *

                                If defined in the intent, Amazon Lex invokes this Lambda function for + * each user input.

                                */ dialogCodeHook?: CodeHook; /** - *

                                If defined in the intent, Amazon Lex invokes this Lambda function to fulfill the intent - * after the user provides all of the information required by the intent.

                                + *

                                If defined in the intent, Amazon Lex invokes this Lambda function to + * fulfill the intent after the user provides all of the information required + * by the intent.

                                */ fulfillmentActivity?: FulfillmentActivity; /** - *

                                A unique identifier for the built-in intent that this intent is based on.

                                + *

                                A unique identifier for the built-in intent that this intent is + * based on.

                                */ parentIntentSignature?: string; /** - *

                                The date that the intent was updated. When you create a resource, the creation date and - * last update dates are the same.

                                + *

                                The date that the intent was updated. When you create a resource, + * the creation date and last update dates are the same.

                                */ lastUpdatedDate?: Date; @@ -3712,28 +4088,44 @@ export interface PutIntentResponse { /** *

                                The version of the intent. For a new intent, the version is always - * $LATEST.

                                + * $LATEST.

                                */ version?: string; /** - *

                                Checksum of the $LATESTversion of the intent created or updated.

                                + *

                                Checksum of the $LATESTversion of the intent created + * or updated.

                                */ checksum?: string; /** *

                                - * True if a new version of the intent was created. If the - * createVersion field was not specified in the request, the - * createVersion field is set to false in the response.

                                + * True if a new version of the intent was created. If + * the createVersion field was not specified in the request, the + * createVersion field is set to false in the + * response.

                                */ createVersion?: boolean; /** - *

                                Configuration information, if any, required to connect to an Amazon Kendra index and use - * the AMAZON.KendraSearchIntent intent.

                                + *

                                Configuration information, if any, required to connect to an Amazon + * Kendra index and use the AMAZON.KendraSearchIntent + * intent.

                                */ kendraConfiguration?: KendraConfiguration; + + /** + *

                                An array of InputContext objects that lists the contexts + * that must be active for Amazon Lex to choose the intent in a conversation with + * the user.

                                + */ + inputContexts?: InputContext[]; + + /** + *

                                An array of OutputContext objects that lists the contexts + * that the intent activates when the intent is fulfilled.

                                + */ + outputContexts?: OutputContext[]; } export namespace PutIntentResponse { @@ -3744,12 +4136,14 @@ export namespace PutIntentResponse { export interface PutSlotTypeRequest { /** - *

                                The name of the slot type. The name is not case sensitive.

                                - *

                                The name can't match a built-in slot type name, or a built-in slot type name with - * "AMAZON." removed. For example, because there is a built-in slot type called - * AMAZON.DATE, you can't create a custom slot type called - * DATE.

                                - *

                                For a list of built-in slot types, see Slot Type Reference in the Alexa Skills Kit.

                                + *

                                The name of the slot type. The name is not + * case sensitive.

                                + *

                                The name can't match a built-in slot type name, or a built-in slot + * type name with "AMAZON." removed. For example, because there is a built-in + * slot type called AMAZON.DATE, you can't create a custom slot + * type called DATE.

                                + *

                                For a list of built-in slot types, see Slot Type Reference in the Alexa Skills + * Kit.

                                */ name: string | undefined; @@ -3759,69 +4153,80 @@ export interface PutSlotTypeRequest { description?: string; /** - *

                                A list of EnumerationValue objects that defines the values that the slot - * type can take. Each value can have a list of synonyms, which are additional - * values that help train the machine learning model about the values that it resolves for a - * slot.

                                - *

                                A regular expression slot type doesn't require enumeration values. All other slot types - * require a list of enumeration values.

                                - *

                                When Amazon Lex resolves a slot value, it generates a resolution list that contains up to - * five possible values for the slot. If you are using a Lambda function, this resolution list is - * passed to the function. If you are not using a Lambda function you can choose to return the - * value that the user entered or the first value in the resolution list as the slot value. The - * valueSelectionStrategy field indicates the option to use.

                                + *

                                A list of EnumerationValue objects that defines the + * values that the slot type can take. Each value can have a list of + * synonyms, which are additional values that help train the + * machine learning model about the values that it resolves for a slot.

                                + *

                                A regular expression slot type doesn't require enumeration values. + * All other slot types require a list of enumeration values.

                                + *

                                When Amazon Lex resolves a slot value, it generates a resolution list + * that contains up to five possible values for the slot. If you are using a + * Lambda function, this resolution list is passed to the function. If you + * are not using a Lambda function you can choose to return the value that + * the user entered or the first value in the resolution list as the slot + * value. The valueSelectionStrategy field indicates the option + * to use.

                                */ enumerationValues?: EnumerationValue[]; /** - *

                                Identifies a specific revision of the $LATEST version.

                                - *

                                When you create a new slot type, leave the checksum field blank. If you - * specify a checksum you get a BadRequestException exception.

                                - *

                                When you want to update a slot type, set the checksum field to the - * checksum of the most recent revision of the $LATEST version. If you don't specify - * the checksum field, or if the checksum does not match the $LATEST - * version, you get a PreconditionFailedException exception.

                                + *

                                Identifies a specific revision of the $LATEST + * version.

                                + *

                                When you create a new slot type, leave the checksum + * field blank. If you specify a checksum you get a + * BadRequestException exception.

                                + *

                                When you want to update a slot type, set the checksum + * field to the checksum of the most recent revision of the + * $LATEST version. If you don't specify the + * checksum field, or if the checksum does not match the + * $LATEST version, you get a + * PreconditionFailedException exception.

                                */ checksum?: string; /** - *

                                Determines the slot resolution strategy that Amazon Lex uses to return slot type values. The - * field can be set to one of the following values:

                                + *

                                Determines the slot resolution strategy that Amazon Lex uses to return + * slot type values. The field can be set to one of the following + * values:

                                *
                                  *
                                • *

                                  - * ORIGINAL_VALUE - Returns the value entered by the user, if the user - * value is similar to the slot value.

                                  + * ORIGINAL_VALUE - Returns the value entered by the + * user, if the user value is similar to the slot value.

                                  *
                                • *
                                • *

                                  - * TOP_RESOLUTION - If there is a resolution list for the slot, return - * the first value in the resolution list as the slot type value. If there is no resolution - * list, null is returned.

                                  + * TOP_RESOLUTION - If there is a resolution list for + * the slot, return the first value in the resolution list as the slot + * type value. If there is no resolution list, null is + * returned.

                                  *
                                • *
                                - *

                                If you don't specify the valueSelectionStrategy, the default is - * ORIGINAL_VALUE.

                                + *

                                If you don't specify the valueSelectionStrategy, the + * default is ORIGINAL_VALUE.

                                */ valueSelectionStrategy?: SlotValueSelectionStrategy | string; /** - *

                                When set to true a new numbered version of the slot type is created. This - * is the same as calling the CreateSlotTypeVersion operation. If you do not specify + *

                                When set to true a new numbered version of the slot + * type is created. This is the same as calling the + * CreateSlotTypeVersion operation. If you do not specify * createVersion, the default is false.

                                */ createVersion?: boolean; /** - *

                                The built-in slot type used as the parent of the slot type. When you define a parent slot - * type, the new slot type has all of the same configuration as the parent.

                                + *

                                The built-in slot type used as the parent of the slot type. When you + * define a parent slot type, the new slot type has all of the same + * configuration as the parent.

                                *

                                Only AMAZON.AlphaNumeric is supported.

                                */ parentSlotTypeSignature?: string; /** - *

                                Configuration information that extends the parent built-in slot type. The configuration is - * added to the settings for the parent slot type.

                                + *

                                Configuration information that extends the parent built-in slot type. + * The configuration is added to the settings for the parent slot + * type.

                                */ slotTypeConfigurations?: SlotTypeConfiguration[]; } @@ -3844,14 +4249,14 @@ export interface PutSlotTypeResponse { description?: string; /** - *

                                A list of EnumerationValue objects that defines the values that the slot - * type can take.

                                + *

                                A list of EnumerationValue objects that defines the + * values that the slot type can take.

                                */ enumerationValues?: EnumerationValue[]; /** - *

                                The date that the slot type was updated. When you create a slot type, the creation date - * and last update date are the same.

                                + *

                                The date that the slot type was updated. When you create a slot + * type, the creation date and last update date are the same.

                                */ lastUpdatedDate?: Date; @@ -3861,27 +4266,29 @@ export interface PutSlotTypeResponse { createdDate?: Date; /** - *

                                The version of the slot type. For a new slot type, the version is always - * $LATEST.

                                + *

                                The version of the slot type. For a new slot type, the version is + * always $LATEST.

                                */ version?: string; /** - *

                                Checksum of the $LATEST version of the slot type.

                                + *

                                Checksum of the $LATEST version of the slot + * type.

                                */ checksum?: string; /** - *

                                The slot resolution strategy that Amazon Lex uses to determine the value of the slot. For - * more information, see PutSlotType.

                                + *

                                The slot resolution strategy that Amazon Lex uses to determine the value + * of the slot. For more information, see PutSlotType.

                                */ valueSelectionStrategy?: SlotValueSelectionStrategy | string; /** *

                                - * True if a new version of the slot type was created. If the - * createVersion field was not specified in the request, the - * createVersion field is set to false in the response.

                                + * True if a new version of the slot type was created. If + * the createVersion field was not specified in the request, the + * createVersion field is set to false in the + * response.

                                */ createVersion?: boolean; @@ -3891,7 +4298,8 @@ export interface PutSlotTypeResponse { parentSlotTypeSignature?: string; /** - *

                                Configuration information that extends the parent built-in slot type.

                                + *

                                Configuration information that extends the parent built-in slot + * type.

                                */ slotTypeConfigurations?: SlotTypeConfiguration[]; } @@ -3904,15 +4312,15 @@ export namespace PutSlotTypeResponse { export interface StartImportRequest { /** - *

                                A zip archive in binary format. The archive should contain one file, a JSON file - * containing the resource to import. The resource should match the type specified in the - * resourceType field.

                                + *

                                A zip archive in binary format. The archive should contain one file, a + * JSON file containing the resource to import. The resource should match the + * type specified in the resourceType field.

                                */ payload: Uint8Array | undefined; /** - *

                                Specifies the type of resource to export. Each resource also exports any resources that - * it depends on.

                                + *

                                Specifies the type of resource to export. Each resource also + * exports any resources that it depends on.

                                *
                                  *
                                • *

                                  A bot exports dependent intents.

                                  @@ -3925,25 +4333,28 @@ export interface StartImportRequest { resourceType: ResourceType | string | undefined; /** - *

                                  Specifies the action that the StartImport operation should take when there - * is an existing resource with the same name.

                                  + *

                                  Specifies the action that the StartImport operation + * should take when there is an existing resource with the same + * name.

                                  *
                                    *
                                  • - *

                                    FAIL_ON_CONFLICT - The import operation is stopped on the first conflict between a - * resource in the import file and an existing resource. The name of the resource causing the - * conflict is in the failureReason field of the response to the + *

                                    FAIL_ON_CONFLICT - The import operation is stopped on the first + * conflict between a resource in the import file and an existing + * resource. The name of the resource causing the conflict is in the + * failureReason field of the response to the * GetImport operation.

                                    - *

                                    OVERWRITE_LATEST - The import operation proceeds even if there is a conflict with - * an existing resource. The $LASTEST version of the existing resource is overwritten with - * the data from the import file.

                                    + *

                                    OVERWRITE_LATEST - The import operation proceeds even if there + * is a conflict with an existing resource. The $LASTEST version of the + * existing resource is overwritten with the data from the import + * file.

                                    *
                                  • *
                                  */ mergeStrategy: MergeStrategy | string | undefined; /** - *

                                  A list of tags to add to the imported bot. You can only add tags when you import a bot, - * you can't add tags to an intent or slot type.

                                  + *

                                  A list of tags to add to the imported bot. You can only add tags when + * you import a bot, you can't add tags to an intent or slot type.

                                  */ tags?: Tag[]; } @@ -3976,8 +4387,9 @@ export interface StartImportResponse { importId?: string; /** - *

                                  The status of the import job. If the status is FAILED, you can get the - * reason for the failure using the GetImport operation.

                                  + *

                                  The status of the import job. If the status is FAILED, + * you can get the reason for the failure using the GetImport + * operation.

                                  */ importStatus?: ImportStatus | string; @@ -3987,7 +4399,8 @@ export interface StartImportResponse { tags?: Tag[]; /** - *

                                  A timestamp for the date and time that the import job was requested.

                                  + *

                                  A timestamp for the date and time that the import job was + * requested.

                                  */ createdDate?: Date; } @@ -4000,13 +4413,14 @@ export namespace StartImportResponse { export interface TagResourceRequest { /** - *

                                  The Amazon Resource Name (ARN) of the bot, bot alias, or bot channel to tag.

                                  + *

                                  The Amazon Resource Name (ARN) of the bot, bot alias, or bot channel + * to tag.

                                  */ resourceArn: string | undefined; /** - *

                                  A list of tag keys to add to the resource. If a tag key already exists, the existing value - * is replaced with the new value.

                                  + *

                                  A list of tag keys to add to the resource. If a tag key already + * exists, the existing value is replaced with the new value.

                                  */ tags: Tag[] | undefined; } @@ -4027,13 +4441,14 @@ export namespace TagResourceResponse { export interface UntagResourceRequest { /** - *

                                  The Amazon Resource Name (ARN) of the resource to remove the tags from.

                                  + *

                                  The Amazon Resource Name (ARN) of the resource to remove the tags + * from.

                                  */ resourceArn: string | undefined; /** - *

                                  A list of tag keys to remove from the resource. If a tag key does not exist on the - * resource, it is ignored.

                                  + *

                                  A list of tag keys to remove from the resource. If a tag key does not + * exist on the resource, it is ignored.

                                  */ tagKeys: string[] | undefined; } diff --git a/clients/client-lex-model-building-service/protocols/Aws_restJson1.ts b/clients/client-lex-model-building-service/protocols/Aws_restJson1.ts index 3afed28ddbfe..7e862e3cc627 100644 --- a/clients/client-lex-model-building-service/protocols/Aws_restJson1.ts +++ b/clients/client-lex-model-building-service/protocols/Aws_restJson1.ts @@ -82,6 +82,7 @@ import { EnumerationValue, FollowUpPrompt, FulfillmentActivity, + InputContext, Intent, IntentMetadata, InternalFailureException, @@ -92,11 +93,14 @@ import { LogSettingsResponse, Message, NotFoundException, + OutputContext, PreconditionFailedException, Prompt, ResourceInUseException, ResourceReference, Slot, + SlotDefaultValue, + SlotDefaultValueSpec, SlotTypeConfiguration, SlotTypeMetadata, SlotTypeRegexConfiguration, @@ -1368,9 +1372,15 @@ export const serializeAws_restJson1PutIntentCommand = async ( ...(input.fulfillmentActivity !== undefined && { fulfillmentActivity: serializeAws_restJson1FulfillmentActivity(input.fulfillmentActivity, context), }), + ...(input.inputContexts !== undefined && { + inputContexts: serializeAws_restJson1InputContextList(input.inputContexts, context), + }), ...(input.kendraConfiguration !== undefined && { kendraConfiguration: serializeAws_restJson1KendraConfiguration(input.kendraConfiguration, context), }), + ...(input.outputContexts !== undefined && { + outputContexts: serializeAws_restJson1OutputContextList(input.outputContexts, context), + }), ...(input.parentIntentSignature !== undefined && { parentIntentSignature: input.parentIntentSignature }), ...(input.rejectionStatement !== undefined && { rejectionStatement: serializeAws_restJson1Statement(input.rejectionStatement, context), @@ -1705,9 +1715,11 @@ export const deserializeAws_restJson1CreateIntentVersionCommand = async ( dialogCodeHook: undefined, followUpPrompt: undefined, fulfillmentActivity: undefined, + inputContexts: undefined, kendraConfiguration: undefined, lastUpdatedDate: undefined, name: undefined, + outputContexts: undefined, parentIntentSignature: undefined, rejectionStatement: undefined, sampleUtterances: undefined, @@ -1739,6 +1751,9 @@ export const deserializeAws_restJson1CreateIntentVersionCommand = async ( if (data.fulfillmentActivity !== undefined && data.fulfillmentActivity !== null) { contents.fulfillmentActivity = deserializeAws_restJson1FulfillmentActivity(data.fulfillmentActivity, context); } + if (data.inputContexts !== undefined && data.inputContexts !== null) { + contents.inputContexts = deserializeAws_restJson1InputContextList(data.inputContexts, context); + } if (data.kendraConfiguration !== undefined && data.kendraConfiguration !== null) { contents.kendraConfiguration = deserializeAws_restJson1KendraConfiguration(data.kendraConfiguration, context); } @@ -1748,6 +1763,9 @@ export const deserializeAws_restJson1CreateIntentVersionCommand = async ( if (data.name !== undefined && data.name !== null) { contents.name = data.name; } + if (data.outputContexts !== undefined && data.outputContexts !== null) { + contents.outputContexts = deserializeAws_restJson1OutputContextList(data.outputContexts, context); + } if (data.parentIntentSignature !== undefined && data.parentIntentSignature !== null) { contents.parentIntentSignature = data.parentIntentSignature; } @@ -3916,9 +3934,11 @@ export const deserializeAws_restJson1GetIntentCommand = async ( dialogCodeHook: undefined, followUpPrompt: undefined, fulfillmentActivity: undefined, + inputContexts: undefined, kendraConfiguration: undefined, lastUpdatedDate: undefined, name: undefined, + outputContexts: undefined, parentIntentSignature: undefined, rejectionStatement: undefined, sampleUtterances: undefined, @@ -3950,6 +3970,9 @@ export const deserializeAws_restJson1GetIntentCommand = async ( if (data.fulfillmentActivity !== undefined && data.fulfillmentActivity !== null) { contents.fulfillmentActivity = deserializeAws_restJson1FulfillmentActivity(data.fulfillmentActivity, context); } + if (data.inputContexts !== undefined && data.inputContexts !== null) { + contents.inputContexts = deserializeAws_restJson1InputContextList(data.inputContexts, context); + } if (data.kendraConfiguration !== undefined && data.kendraConfiguration !== null) { contents.kendraConfiguration = deserializeAws_restJson1KendraConfiguration(data.kendraConfiguration, context); } @@ -3959,6 +3982,9 @@ export const deserializeAws_restJson1GetIntentCommand = async ( if (data.name !== undefined && data.name !== null) { contents.name = data.name; } + if (data.outputContexts !== undefined && data.outputContexts !== null) { + contents.outputContexts = deserializeAws_restJson1OutputContextList(data.outputContexts, context); + } if (data.parentIntentSignature !== undefined && data.parentIntentSignature !== null) { contents.parentIntentSignature = data.parentIntentSignature; } @@ -4942,9 +4968,11 @@ export const deserializeAws_restJson1PutIntentCommand = async ( dialogCodeHook: undefined, followUpPrompt: undefined, fulfillmentActivity: undefined, + inputContexts: undefined, kendraConfiguration: undefined, lastUpdatedDate: undefined, name: undefined, + outputContexts: undefined, parentIntentSignature: undefined, rejectionStatement: undefined, sampleUtterances: undefined, @@ -4979,6 +5007,9 @@ export const deserializeAws_restJson1PutIntentCommand = async ( if (data.fulfillmentActivity !== undefined && data.fulfillmentActivity !== null) { contents.fulfillmentActivity = deserializeAws_restJson1FulfillmentActivity(data.fulfillmentActivity, context); } + if (data.inputContexts !== undefined && data.inputContexts !== null) { + contents.inputContexts = deserializeAws_restJson1InputContextList(data.inputContexts, context); + } if (data.kendraConfiguration !== undefined && data.kendraConfiguration !== null) { contents.kendraConfiguration = deserializeAws_restJson1KendraConfiguration(data.kendraConfiguration, context); } @@ -4988,6 +5019,9 @@ export const deserializeAws_restJson1PutIntentCommand = async ( if (data.name !== undefined && data.name !== null) { contents.name = data.name; } + if (data.outputContexts !== undefined && data.outputContexts !== null) { + contents.outputContexts = deserializeAws_restJson1OutputContextList(data.outputContexts, context); + } if (data.parentIntentSignature !== undefined && data.parentIntentSignature !== null) { contents.parentIntentSignature = data.parentIntentSignature; } @@ -5639,6 +5673,16 @@ const serializeAws_restJson1FulfillmentActivity = (input: FulfillmentActivity, c }; }; +const serializeAws_restJson1InputContext = (input: InputContext, context: __SerdeContext): any => { + return { + ...(input.name !== undefined && { name: input.name }), + }; +}; + +const serializeAws_restJson1InputContextList = (input: InputContext[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1InputContext(entry, context)); +}; + const serializeAws_restJson1Intent = (input: Intent, context: __SerdeContext): any => { return { ...(input.intentName !== undefined && { intentName: input.intentName }), @@ -5687,6 +5731,18 @@ const serializeAws_restJson1MessageList = (input: Message[], context: __SerdeCon return input.map((entry) => serializeAws_restJson1Message(entry, context)); }; +const serializeAws_restJson1OutputContext = (input: OutputContext, context: __SerdeContext): any => { + return { + ...(input.name !== undefined && { name: input.name }), + ...(input.timeToLiveInSeconds !== undefined && { timeToLiveInSeconds: input.timeToLiveInSeconds }), + ...(input.turnsToLive !== undefined && { turnsToLive: input.turnsToLive }), + }; +}; + +const serializeAws_restJson1OutputContextList = (input: OutputContext[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1OutputContext(entry, context)); +}; + const serializeAws_restJson1Prompt = (input: Prompt, context: __SerdeContext): any => { return { ...(input.maxAttempts !== undefined && { maxAttempts: input.maxAttempts }), @@ -5697,6 +5753,9 @@ const serializeAws_restJson1Prompt = (input: Prompt, context: __SerdeContext): a const serializeAws_restJson1Slot = (input: Slot, context: __SerdeContext): any => { return { + ...(input.defaultValueSpec !== undefined && { + defaultValueSpec: serializeAws_restJson1SlotDefaultValueSpec(input.defaultValueSpec, context), + }), ...(input.description !== undefined && { description: input.description }), ...(input.name !== undefined && { name: input.name }), ...(input.obfuscationSetting !== undefined && { obfuscationSetting: input.obfuscationSetting }), @@ -5714,6 +5773,24 @@ const serializeAws_restJson1Slot = (input: Slot, context: __SerdeContext): any = }; }; +const serializeAws_restJson1SlotDefaultValue = (input: SlotDefaultValue, context: __SerdeContext): any => { + return { + ...(input.defaultValue !== undefined && { defaultValue: input.defaultValue }), + }; +}; + +const serializeAws_restJson1SlotDefaultValueList = (input: SlotDefaultValue[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1SlotDefaultValue(entry, context)); +}; + +const serializeAws_restJson1SlotDefaultValueSpec = (input: SlotDefaultValueSpec, context: __SerdeContext): any => { + return { + ...(input.defaultValueList !== undefined && { + defaultValueList: serializeAws_restJson1SlotDefaultValueList(input.defaultValueList, context), + }), + }; +}; + const serializeAws_restJson1SlotList = (input: Slot[], context: __SerdeContext): any => { return input.map((entry) => serializeAws_restJson1Slot(entry, context)); }; @@ -5958,6 +6035,16 @@ const deserializeAws_restJson1FulfillmentActivity = (output: any, context: __Ser } as any; }; +const deserializeAws_restJson1InputContext = (output: any, context: __SerdeContext): InputContext => { + return { + name: output.name !== undefined && output.name !== null ? output.name : undefined, + } as any; +}; + +const deserializeAws_restJson1InputContextList = (output: any, context: __SerdeContext): InputContext[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1InputContext(entry, context)); +}; + const deserializeAws_restJson1Intent = (output: any, context: __SerdeContext): Intent => { return { intentName: output.intentName !== undefined && output.intentName !== null ? output.intentName : undefined, @@ -6047,6 +6134,21 @@ const deserializeAws_restJson1MessageList = (output: any, context: __SerdeContex return (output || []).map((entry: any) => deserializeAws_restJson1Message(entry, context)); }; +const deserializeAws_restJson1OutputContext = (output: any, context: __SerdeContext): OutputContext => { + return { + name: output.name !== undefined && output.name !== null ? output.name : undefined, + timeToLiveInSeconds: + output.timeToLiveInSeconds !== undefined && output.timeToLiveInSeconds !== null + ? output.timeToLiveInSeconds + : undefined, + turnsToLive: output.turnsToLive !== undefined && output.turnsToLive !== null ? output.turnsToLive : undefined, + } as any; +}; + +const deserializeAws_restJson1OutputContextList = (output: any, context: __SerdeContext): OutputContext[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1OutputContext(entry, context)); +}; + const deserializeAws_restJson1Prompt = (output: any, context: __SerdeContext): Prompt => { return { maxAttempts: output.maxAttempts !== undefined && output.maxAttempts !== null ? output.maxAttempts : undefined, @@ -6067,6 +6169,10 @@ const deserializeAws_restJson1ResourceReference = (output: any, context: __Serde const deserializeAws_restJson1Slot = (output: any, context: __SerdeContext): Slot => { return { + defaultValueSpec: + output.defaultValueSpec !== undefined && output.defaultValueSpec !== null + ? deserializeAws_restJson1SlotDefaultValueSpec(output.defaultValueSpec, context) + : undefined, description: output.description !== undefined && output.description !== null ? output.description : undefined, name: output.name !== undefined && output.name !== null ? output.name : undefined, obfuscationSetting: @@ -6091,6 +6197,25 @@ const deserializeAws_restJson1Slot = (output: any, context: __SerdeContext): Slo } as any; }; +const deserializeAws_restJson1SlotDefaultValue = (output: any, context: __SerdeContext): SlotDefaultValue => { + return { + defaultValue: output.defaultValue !== undefined && output.defaultValue !== null ? output.defaultValue : undefined, + } as any; +}; + +const deserializeAws_restJson1SlotDefaultValueList = (output: any, context: __SerdeContext): SlotDefaultValue[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1SlotDefaultValue(entry, context)); +}; + +const deserializeAws_restJson1SlotDefaultValueSpec = (output: any, context: __SerdeContext): SlotDefaultValueSpec => { + return { + defaultValueList: + output.defaultValueList !== undefined && output.defaultValueList !== null + ? deserializeAws_restJson1SlotDefaultValueList(output.defaultValueList, context) + : undefined, + } as any; +}; + const deserializeAws_restJson1SlotList = (output: any, context: __SerdeContext): Slot[] => { return (output || []).map((entry: any) => deserializeAws_restJson1Slot(entry, context)); }; diff --git a/clients/client-lex-runtime-service/models/models_0.ts b/clients/client-lex-runtime-service/models/models_0.ts index d201d166df19..a1b862eedd63 100644 --- a/clients/client-lex-runtime-service/models/models_0.ts +++ b/clients/client-lex-runtime-service/models/models_0.ts @@ -6,6 +6,62 @@ import { import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; import { Readable } from "stream"; +/** + *

                                  The length of time or number of turns that a context remains active.

                                  + */ +export interface ActiveContextTimeToLive { + /** + *

                                  The number of seconds that the context should be active after it is first sent in a + * PostContent or PostText response. You can set the value between 5 + * and 86,400 seconds (24 hours).

                                  + */ + timeToLiveInSeconds?: number; + + /** + *

                                  The number of conversation turns that the context should be active. A conversation turn is + * one PostContent or PostText request and the corresponding response + * from Amazon Lex.

                                  + */ + turnsToLive?: number; +} + +export namespace ActiveContextTimeToLive { + export const filterSensitiveLog = (obj: ActiveContextTimeToLive): any => ({ + ...obj, + }); +} + +/** + *

                                  A context is a variable that contains information about the current state of the + * conversation between a user and Amazon Lex. Context can be set automatically by Amazon Lex when an + * intent is fulfilled, or it can be set at runtime using the PutContent, + * PutText, or PutSession operation.

                                  + */ +export interface ActiveContext { + /** + *

                                  The name of the context.

                                  + */ + name: string | undefined; + + /** + *

                                  The length of time or number of turns that a context remains active.

                                  + */ + timeToLive: ActiveContextTimeToLive | undefined; + + /** + *

                                  State variables for the current context. You can use these values as default values for + * slots in subsequent events.

                                  + */ + parameters: { [key: string]: string } | undefined; +} + +export namespace ActiveContext { + export const filterSensitiveLog = (obj: ActiveContext): any => ({ + ...obj, + ...(obj.parameters && { parameters: SENSITIVE_STRING }), + }); +} + /** *

                                  Request validation failed, there is no usable message in the context, or the bot build * failed, is still in progress, or contains unbuilt changes.

                                  @@ -38,6 +94,11 @@ export namespace ConflictException { } export interface DeleteSessionRequest { + /** + *

                                  The name of the bot that contains the session data.

                                  + */ + botName: string | undefined; + /** *

                                  The alias in use for the bot that contains the session data.

                                  */ @@ -47,11 +108,6 @@ export interface DeleteSessionRequest { *

                                  The identifier of the user associated with the session data.

                                  */ userId: string | undefined; - - /** - *

                                  The name of the bot that contains the session data.

                                  - */ - botName: string | undefined; } export namespace DeleteSessionRequest { @@ -61,6 +117,11 @@ export namespace DeleteSessionRequest { } export interface DeleteSessionResponse { + /** + *

                                  The name of the bot associated with the session data.

                                  + */ + botName?: string; + /** *

                                  The alias in use for the bot associated with the session data.

                                  */ @@ -71,11 +132,6 @@ export interface DeleteSessionResponse { */ userId?: string; - /** - *

                                  The name of the bot associated with the session data.

                                  - */ - botName?: string; - /** *

                                  The unique identifier for the session.

                                  */ @@ -109,8 +165,8 @@ export namespace InternalFailureException { export interface LimitExceededException extends __SmithyException, $MetadataBearer { name: "LimitExceededException"; $fault: "client"; - message?: string; retryAfterSeconds?: string; + message?: string; } export namespace LimitExceededException { @@ -136,6 +192,11 @@ export namespace NotFoundException { } export interface GetSessionRequest { + /** + *

                                  The name of the bot that contains the session data.

                                  + */ + botName: string | undefined; + /** *

                                  The alias in use for the bot that contains the session data.

                                  */ @@ -147,11 +208,6 @@ export interface GetSessionRequest { */ userId: string | undefined; - /** - *

                                  The name of the bot that contains the session data.

                                  - */ - botName: string | undefined; - /** *

                                  A string used to filter the intents returned in the recentIntentSummaryView * structure.

                                  @@ -196,39 +252,49 @@ export enum DialogActionType { */ export interface DialogAction { /** - *

                                  Map of the slots that have been gathered and their values.

                                  - */ - slots?: { [key: string]: string }; - - /** - *
                                    + *

                                    The next action that the bot should take in its interaction with the user. The possible + * values are:

                                    + *
                                      *
                                    • *

                                      - * PlainText - The message contains plain UTF-8 text.

                                      + * ConfirmIntent - The next action is asking the user if the intent is + * complete and ready to be fulfilled. This is a yes/no question such as "Place the + * order?"

                                      *
                                    • *
                                    • *

                                      - * CustomPayload - The message is a custom format for the client.

                                      + * Close - Indicates that the there will not be a response from the user. + * For example, the statement "Your order has been placed" does not require a + * response.

                                      *
                                    • *
                                    • *

                                      - * SSML - The message contains text formatted for voice output.

                                      + * Delegate - The next action is determined by Amazon Lex.

                                      *
                                    • *
                                    • *

                                      - * Composite - The message contains an escaped JSON object containing one or - * more messages. For more information, see Message - * Groups.

                                      + * ElicitIntent - The next action is to determine the intent that the user + * wants to fulfill.

                                      + *
                                    • + *
                                    • + *

                                      + * ElicitSlot - The next action is to elicit a slot value from the + * user.

                                      *
                                    • *
                                    */ - messageFormat?: MessageFormatType | string; + type: DialogActionType | string | undefined; /** *

                                    The name of the intent.

                                    */ intentName?: string; + /** + *

                                    Map of the slots that have been gathered and their values.

                                    + */ + slots?: { [key: string]: string }; + /** *

                                    The name of the slot that should be elicited from the user.

                                    */ @@ -257,44 +323,34 @@ export interface DialogAction { fulfillmentState?: FulfillmentState | string; /** - *

                                    The next action that the bot should take in its interaction with the user. The possible - * values are:

                                    - *
                                      - *
                                    • - *

                                      - * ConfirmIntent - The next action is asking the user if the intent is - * complete and ready to be fulfilled. This is a yes/no question such as "Place the - * order?"

                                      - *
                                    • + *

                                      The message that should be shown to the user. If you don't specify a message, Amazon Lex will + * use the message configured for the intent.

                                      + */ + message?: string; + + /** + *
                                        *
                                      • *

                                        - * Close - Indicates that the there will not be a response from the user. - * For example, the statement "Your order has been placed" does not require a - * response.

                                        + * PlainText - The message contains plain UTF-8 text.

                                        *
                                      • *
                                      • *

                                        - * Delegate - The next action is determined by Amazon Lex.

                                        + * CustomPayload - The message is a custom format for the client.

                                        *
                                      • *
                                      • *

                                        - * ElicitIntent - The next action is to determine the intent that the user - * wants to fulfill.

                                        + * SSML - The message contains text formatted for voice output.

                                        *
                                      • *
                                      • *

                                        - * ElicitSlot - The next action is to elicit a slot value from the - * user.

                                        + * Composite - The message contains an escaped JSON object containing one or + * more messages. For more information, see Message + * Groups.

                                        *
                                      • *
                                      */ - type: DialogActionType | string | undefined; - - /** - *

                                      The message that should be shown to the user. If you don't specify a message, Amazon Lex will - * use the message configured for the intent.

                                      - */ - message?: string; + messageFormat?: MessageFormatType | string; } export namespace DialogAction { @@ -317,6 +373,11 @@ export enum ConfirmationStatus { * intent to its previous state.

                                      */ export interface IntentSummary { + /** + *

                                      The name of the intent.

                                      + */ + intentName?: string; + /** *

                                      A user-defined label that identifies a particular intent. You can use this label to return * to a previous intent.

                                      @@ -326,6 +387,11 @@ export interface IntentSummary { */ checkpointLabel?: string; + /** + *

                                      Map of the slots that have been gathered and their values.

                                      + */ + slots?: { [key: string]: string }; + /** *

                                      The status of the intent after the user responds to the confirmation prompt. If the user * confirms the intent, Amazon Lex sets this field to Confirmed. If the user denies the @@ -350,14 +416,34 @@ export interface IntentSummary { confirmationStatus?: ConfirmationStatus | string; /** - *

                                      The name of the intent.

                                      - */ - intentName?: string; - - /** - *

                                      Map of the slots that have been gathered and their values.

                                      + *

                                      The next action that the bot should take in its interaction with the user. The possible + * values are:

                                      + *
                                        + *
                                      • + *

                                        + * ConfirmIntent - The next action is asking the user if the intent is + * complete and ready to be fulfilled. This is a yes/no question such as "Place the + * order?"

                                        + *
                                      • + *
                                      • + *

                                        + * Close - Indicates that the there will not be a response from the user. + * For example, the statement "Your order has been placed" does not require a + * response.

                                        + *
                                      • + *
                                      • + *

                                        + * ElicitIntent - The next action is to determine the intent that the user + * wants to fulfill.

                                        + *
                                      • + *
                                      • + *

                                        + * ElicitSlot - The next action is to elicit a slot value from the + * user.

                                        + *
                                      • + *
                                      */ - slots?: { [key: string]: string }; + dialogActionType: DialogActionType | string | undefined; /** *

                                      The fulfillment state of the intent. The possible values are:

                                      @@ -386,36 +472,6 @@ export interface IntentSummary { * blank.

                                      */ slotToElicit?: string; - - /** - *

                                      The next action that the bot should take in its interaction with the user. The possible - * values are:

                                      - *
                                        - *
                                      • - *

                                        - * ConfirmIntent - The next action is asking the user if the intent is - * complete and ready to be fulfilled. This is a yes/no question such as "Place the - * order?"

                                        - *
                                      • - *
                                      • - *

                                        - * Close - Indicates that the there will not be a response from the user. - * For example, the statement "Your order has been placed" does not require a - * response.

                                        - *
                                      • - *
                                      • - *

                                        - * ElicitIntent - The next action is to determine the intent that the user - * wants to fulfill.

                                        - *
                                      • - *
                                      • - *

                                        - * ElicitSlot - The next action is to elicit a slot value from the - * user.

                                        - *
                                      • - *
                                      - */ - dialogActionType: DialogActionType | string | undefined; } export namespace IntentSummary { @@ -426,11 +482,6 @@ export namespace IntentSummary { } export interface GetSessionResponse { - /** - *

                                      Describes the current state of the bot.

                                      - */ - dialogAction?: DialogAction; - /** *

                                      An array of information about the intents used in the session. The array can contain a * maximum of three summaries. If more than three intents are used in the session, the @@ -441,26 +492,41 @@ export interface GetSessionResponse { */ recentIntentSummaryView?: IntentSummary[]; + /** + *

                                      Map of key/value pairs representing the session-specific context information. It contains + * application information passed between Amazon Lex and a client application.

                                      + */ + sessionAttributes?: { [key: string]: string }; + /** *

                                      A unique identifier for the session.

                                      */ sessionId?: string; /** - *

                                      Map of key/value pairs representing the session-specific context information. It contains - * application information passed between Amazon Lex and a client application.

                                      + *

                                      Describes the current state of the bot.

                                      */ - sessionAttributes?: { [key: string]: string }; + dialogAction?: DialogAction; + + /** + *

                                      A list of active contexts for the session. A context can be set when an intent + * is fulfilled or by calling the PostContent, PostText, + * or PutSession operation.

                                      + *

                                      You can use a context to control the intents that can follow up an intent, + * or to modify the operation of your application.

                                      + */ + activeContexts?: ActiveContext[]; } export namespace GetSessionResponse { export const filterSensitiveLog = (obj: GetSessionResponse): any => ({ ...obj, - ...(obj.dialogAction && { dialogAction: DialogAction.filterSensitiveLog(obj.dialogAction) }), ...(obj.recentIntentSummaryView && { recentIntentSummaryView: obj.recentIntentSummaryView.map((item) => IntentSummary.filterSensitiveLog(item)), }), ...(obj.sessionAttributes && { sessionAttributes: SENSITIVE_STRING }), + ...(obj.dialogAction && { dialogAction: DialogAction.filterSensitiveLog(obj.dialogAction) }), + ...(obj.activeContexts && { activeContexts: SENSITIVE_STRING }), }); } @@ -538,48 +604,15 @@ export namespace NotAcceptableException { } export interface PostContentRequest { - /** - *

                                      You pass this value as the x-amz-lex-request-attributes HTTP header.

                                      - *

                                      Request-specific information passed between Amazon Lex and a client application. The value must - * be a JSON serialized and base64 encoded map with string keys and values. The total size of the - * requestAttributes and sessionAttributes headers is limited to 12 - * KB.

                                      - *

                                      The namespace x-amz-lex: is reserved for special attributes. Don't create any - * request attributes with the prefix x-amz-lex:.

                                      - *

                                      For more information, see Setting Request - * Attributes.

                                      - */ - requestAttributes?: __LazyJsonString | string; - - /** - *

                                      Alias of the Amazon Lex bot.

                                      - */ - botAlias: string | undefined; - /** *

                                      Name of the Amazon Lex bot.

                                      */ botName: string | undefined; /** - *

                                      User input in PCM or Opus audio format or text format as described in the - * Content-Type HTTP header.

                                      - *

                                      You can stream audio data to Amazon Lex or you can create a local buffer that captures all of - * the audio data before sending. In general, you get better performance if you stream audio data - * rather than buffering the data locally.

                                      + *

                                      Alias of the Amazon Lex bot.

                                      */ - inputStream: Readable | ReadableStream | Blob | undefined; - - /** - *

                                      You pass this value as the x-amz-lex-session-attributes HTTP header.

                                      - *

                                      Application-specific information passed between Amazon Lex and a client application. The value - * must be a JSON serialized and base64 encoded map with string keys and values. The total size - * of the sessionAttributes and requestAttributes headers is limited to - * 12 KB.

                                      - *

                                      For more information, see Setting Session - * Attributes.

                                      - */ - sessionAttributes?: __LazyJsonString | string; + botAlias: string | undefined; /** *

                                      The ID of the client application user. Amazon Lex uses this to identify a user's conversation @@ -610,6 +643,30 @@ export interface PostContentRequest { */ userId: string | undefined; + /** + *

                                      You pass this value as the x-amz-lex-session-attributes HTTP header.

                                      + *

                                      Application-specific information passed between Amazon Lex and a client application. The value + * must be a JSON serialized and base64 encoded map with string keys and values. The total size + * of the sessionAttributes and requestAttributes headers is limited to + * 12 KB.

                                      + *

                                      For more information, see Setting Session + * Attributes.

                                      + */ + sessionAttributes?: __LazyJsonString | string; + + /** + *

                                      You pass this value as the x-amz-lex-request-attributes HTTP header.

                                      + *

                                      Request-specific information passed between Amazon Lex and a client application. The value must + * be a JSON serialized and base64 encoded map with string keys and values. The total size of the + * requestAttributes and sessionAttributes headers is limited to 12 + * KB.

                                      + *

                                      The namespace x-amz-lex: is reserved for special attributes. Don't create any + * request attributes with the prefix x-amz-lex:.

                                      + *

                                      For more information, see Setting Request + * Attributes.

                                      + */ + requestAttributes?: __LazyJsonString | string; + /** *

                                      You pass this value as the Content-Type HTTP header.

                                      *

                                      Indicates the audio format or text. The header value must start with one of the following @@ -694,13 +751,31 @@ export interface PostContentRequest { *

                                    */ accept?: string; + + /** + *

                                    User input in PCM or Opus audio format or text format as described in the + * Content-Type HTTP header.

                                    + *

                                    You can stream audio data to Amazon Lex or you can create a local buffer that captures all of + * the audio data before sending. In general, you get better performance if you stream audio data + * rather than buffering the data locally.

                                    + */ + inputStream: Readable | ReadableStream | Blob | undefined; + + /** + *

                                    A list of contexts active for the request. A context can be activated when a previous + * intent is fulfilled, or by including the context in the request,

                                    + *

                                    If you don't specify a list of contexts, Amazon Lex will use the current list of contexts for + * the session. If you specify an empty list, all contexts for the session are cleared.

                                    + */ + activeContexts?: __LazyJsonString | string; } export namespace PostContentRequest { export const filterSensitiveLog = (obj: PostContentRequest): any => ({ ...obj, - ...(obj.requestAttributes && { requestAttributes: SENSITIVE_STRING }), ...(obj.sessionAttributes && { sessionAttributes: SENSITIVE_STRING }), + ...(obj.requestAttributes && { requestAttributes: SENSITIVE_STRING }), + ...(obj.activeContexts && { activeContexts: SENSITIVE_STRING }), }); } @@ -714,85 +789,30 @@ export enum DialogState { } export interface PostContentResponse { - /** - *

                                    One to four alternative intents that may be applicable to the user's intent.

                                    - *

                                    Each alternative includes a score that indicates how confident Amazon Lex is that the intent - * matches the user's intent. The intents are sorted by the confidence score.

                                    - */ - alternativeIntents?: __LazyJsonString | string; - - /** - *

                                    The format of the response message. One of the following values:

                                    - *
                                      - *
                                    • - *

                                      - * PlainText - The message contains plain UTF-8 text.

                                      - *
                                    • - *
                                    • - *

                                      - * CustomPayload - The message is a custom format for the client.

                                      - *
                                    • - *
                                    • - *

                                      - * SSML - The message contains text formatted for voice output.

                                      - *
                                    • - *
                                    • - *

                                      - * Composite - The message contains an escaped JSON object containing one or - * more messages from the groups that messages were assigned to when the intent was - * created.

                                      - *
                                    • - *
                                    - */ - messageFormat?: MessageFormatType | string; - /** *

                                    Content type as specified in the Accept HTTP header in the request.

                                    */ contentType?: string; /** - *

                                    The prompt (or statement) to convey to the user. This is based on the bot configuration - * and context. For example, if Amazon Lex did not understand the user intent, it sends the - * clarificationPrompt configured for the bot. If the intent requires confirmation - * before taking the fulfillment action, it sends the confirmationPrompt. Another - * example: Suppose that the Lambda function successfully fulfilled the intent, and sent a message - * to convey to the user. Then Amazon Lex sends that message in the response.

                                    - */ - audioStream?: Readable | ReadableStream | Blob; - - /** - *

                                    The message to convey to the user. The message can come from the bot's configuration or - * from a Lambda function.

                                    - *

                                    If the intent is not configured with a Lambda function, or if the Lambda function returned - * Delegate as the dialogAction.type in its response, Amazon Lex decides - * on the next course of action and selects an appropriate message from the bot's configuration - * based on the current interaction context. For example, if Amazon Lex isn't able to understand user - * input, it uses a clarification prompt message.

                                    - *

                                    When you create an intent you can assign messages to groups. When messages are assigned to - * groups Amazon Lex returns one message from each group in the response. The message field is an - * escaped JSON string containing the messages. For more information about the structure of the - * JSON string returned, see msg-prompts-formats.

                                    - *

                                    If the Lambda function returns a message, Amazon Lex passes it to the client in its - * response.

                                    + *

                                    Current user intent that Amazon Lex is aware of.

                                    */ - message?: string; + intentName?: string; /** - *

                                    The version of the bot that responded to the conversation. You can use this information to - * help determine if one version of a bot is performing better than another version.

                                    - *

                                    If you have enabled the new natural language understanding (NLU) model, you can use this - * to determine if the improvement is due to changes to the bot or changes to the NLU.

                                    - *

                                    For more information about enabling the new NLU, see the enableModelImprovements parameter of the PutBot operation.

                                    + *

                                    Provides a score that indicates how confident Amazon Lex is that the returned intent is the one + * that matches the user's intent. The score is between 0.0 and 1.0.

                                    + *

                                    The score is a relative score, not an absolute score. The score may change based on + * improvements to Amazon Lex.

                                    */ - botVersion?: string; + nluIntentConfidence?: __LazyJsonString | string; /** - *

                                    The sentiment expressed in an utterance.

                                    - *

                                    When the bot is configured to send utterances to Amazon Comprehend for sentiment analysis, - * this field contains the result of the analysis.

                                    + *

                                    One to four alternative intents that may be applicable to the user's intent.

                                    + *

                                    Each alternative includes a score that indicates how confident Amazon Lex is that the intent + * matches the user's intent. The intents are sorted by the confidence score.

                                    */ - sentimentResponse?: string; + alternativeIntents?: __LazyJsonString | string; /** *

                                    Map of zero or more intent slots (name/value pairs) Amazon Lex detected from the user input @@ -809,29 +829,58 @@ export interface PostContentResponse { slots?: __LazyJsonString | string; /** - *

                                    The text used to process the request.

                                    - *

                                    If the input was an audio stream, the inputTranscript field contains the text - * extracted from the audio stream. This is the text that is actually processed to recognize - * intents and slot values. You can use this information to determine if Amazon Lex is correctly - * processing the audio that you send.

                                    + *

                                    Map of key/value pairs representing the session-specific context information.

                                    */ - inputTranscript?: string; + sessionAttributes?: __LazyJsonString | string; /** - *

                                    If the dialogState value is ElicitSlot, returns the name of the - * slot for which Amazon Lex is eliciting a value.

                                    + *

                                    The sentiment expressed in an utterance.

                                    + *

                                    When the bot is configured to send utterances to Amazon Comprehend for sentiment analysis, + * this field contains the result of the analysis.

                                    */ - slotToElicit?: string; + sentimentResponse?: string; /** - *

                                    Map of key/value pairs representing the session-specific context information.

                                    + *

                                    The message to convey to the user. The message can come from the bot's configuration or + * from a Lambda function.

                                    + *

                                    If the intent is not configured with a Lambda function, or if the Lambda function returned + * Delegate as the dialogAction.type in its response, Amazon Lex decides + * on the next course of action and selects an appropriate message from the bot's configuration + * based on the current interaction context. For example, if Amazon Lex isn't able to understand user + * input, it uses a clarification prompt message.

                                    + *

                                    When you create an intent you can assign messages to groups. When messages are assigned to + * groups Amazon Lex returns one message from each group in the response. The message field is an + * escaped JSON string containing the messages. For more information about the structure of the + * JSON string returned, see msg-prompts-formats.

                                    + *

                                    If the Lambda function returns a message, Amazon Lex passes it to the client in its + * response.

                                    */ - sessionAttributes?: __LazyJsonString | string; + message?: string; /** - *

                                    The unique identifier for the session.

                                    + *

                                    The format of the response message. One of the following values:

                                    + *
                                      + *
                                    • + *

                                      + * PlainText - The message contains plain UTF-8 text.

                                      + *
                                    • + *
                                    • + *

                                      + * CustomPayload - The message is a custom format for the client.

                                      + *
                                    • + *
                                    • + *

                                      + * SSML - The message contains text formatted for voice output.

                                      + *
                                    • + *
                                    • + *

                                      + * Composite - The message contains an escaped JSON object containing one or + * more messages from the groups that messages were assigned to when the intent was + * created.

                                      + *
                                    • + *
                                    */ - sessionId?: string; + messageFormat?: MessageFormatType | string; /** *

                                    Identifies the current state of the user interaction. Amazon Lex returns one of the following @@ -886,23 +935,56 @@ export interface PostContentResponse { dialogState?: DialogState | string; /** - *

                                    Current user intent that Amazon Lex is aware of.

                                    + *

                                    If the dialogState value is ElicitSlot, returns the name of the + * slot for which Amazon Lex is eliciting a value.

                                    */ - intentName?: string; + slotToElicit?: string; /** - *

                                    Provides a score that indicates how confident Amazon Lex is that the returned intent is the one - * that matches the user's intent. The score is between 0.0 and 1.0.

                                    - *

                                    The score is a relative score, not an absolute score. The score may change based on - * improvements to the Amazon Lex NLU.

                                    + *

                                    The text used to process the request.

                                    + *

                                    If the input was an audio stream, the inputTranscript field contains the text + * extracted from the audio stream. This is the text that is actually processed to recognize + * intents and slot values. You can use this information to determine if Amazon Lex is correctly + * processing the audio that you send.

                                    */ - nluIntentConfidence?: __LazyJsonString | string; + inputTranscript?: string; + + /** + *

                                    The prompt (or statement) to convey to the user. This is based on the bot configuration + * and context. For example, if Amazon Lex did not understand the user intent, it sends the + * clarificationPrompt configured for the bot. If the intent requires confirmation + * before taking the fulfillment action, it sends the confirmationPrompt. Another + * example: Suppose that the Lambda function successfully fulfilled the intent, and sent a message + * to convey to the user. Then Amazon Lex sends that message in the response.

                                    + */ + audioStream?: Readable | ReadableStream | Blob; + + /** + *

                                    The version of the bot that responded to the conversation. You can use this information to + * help determine if one version of a bot is performing better than another version.

                                    + */ + botVersion?: string; + + /** + *

                                    The unique identifier for the session.

                                    + */ + sessionId?: string; + + /** + *

                                    A list of active contexts for the session. A context can be set when an intent + * is fulfilled or by calling the PostContent, PostText, + * or PutSession operation.

                                    + *

                                    You can use a context to control the intents that can follow up an intent, + * or to modify the operation of your application.

                                    + */ + activeContexts?: __LazyJsonString | string; } export namespace PostContentResponse { export const filterSensitiveLog = (obj: PostContentResponse): any => ({ ...obj, ...(obj.message && { message: SENSITIVE_STRING }), + ...(obj.activeContexts && { activeContexts: SENSITIVE_STRING }), }); } @@ -937,6 +1019,16 @@ export namespace UnsupportedMediaTypeException { } export interface PostTextRequest { + /** + *

                                    The name of the Amazon Lex bot.

                                    + */ + botName: string | undefined; + + /** + *

                                    The alias of the Amazon Lex bot.

                                    + */ + botAlias: string | undefined; + /** *

                                    The ID of the client application user. Amazon Lex uses this to identify a user's conversation * with your bot. At runtime, each request must contain the userID field.

                                    @@ -966,6 +1058,13 @@ export interface PostTextRequest { */ userId: string | undefined; + /** + *

                                    Application-specific information passed between Amazon Lex and a client application.

                                    + *

                                    For more information, see Setting Session + * Attributes.

                                    + */ + sessionAttributes?: { [key: string]: string }; + /** *

                                    Request-specific information passed between Amazon Lex and a client application.

                                    *

                                    The namespace x-amz-lex: is reserved for special attributes. Don't create any @@ -975,35 +1074,27 @@ export interface PostTextRequest { */ requestAttributes?: { [key: string]: string }; - /** - *

                                    The alias of the Amazon Lex bot.

                                    - */ - botAlias: string | undefined; - /** *

                                    The text that the user entered (Amazon Lex interprets this text).

                                    */ inputText: string | undefined; /** - *

                                    Application-specific information passed between Amazon Lex and a client application.

                                    - *

                                    For more information, see Setting Session - * Attributes.

                                    - */ - sessionAttributes?: { [key: string]: string }; - - /** - *

                                    The name of the Amazon Lex bot.

                                    + *

                                    A list of contexts active for the request. A context can be activated when a previous + * intent is fulfilled, or by including the context in the request,

                                    + *

                                    If you don't specify a list of contexts, Amazon Lex will use the current list of contexts for + * the session. If you specify an empty list, all contexts for the session are cleared.

                                    */ - botName: string | undefined; + activeContexts?: ActiveContext[]; } export namespace PostTextRequest { export const filterSensitiveLog = (obj: PostTextRequest): any => ({ ...obj, + ...(obj.sessionAttributes && { sessionAttributes: SENSITIVE_STRING }), ...(obj.requestAttributes && { requestAttributes: SENSITIVE_STRING }), ...(obj.inputText && { inputText: SENSITIVE_STRING }), - ...(obj.sessionAttributes && { sessionAttributes: SENSITIVE_STRING }), + ...(obj.activeContexts && { activeContexts: SENSITIVE_STRING }), }); } @@ -1032,9 +1123,9 @@ export namespace IntentConfidence { */ export interface PredictedIntent { /** - *

                                    The slot and slot values associated with the predicted intent.

                                    + *

                                    The name of the intent that Amazon Lex suggests satisfies the user's intent.

                                    */ - slots?: { [key: string]: string }; + intentName?: string; /** *

                                    Indicates how confident Amazon Lex is that an intent satisfies the user's intent.

                                    @@ -1042,9 +1133,9 @@ export interface PredictedIntent { nluIntentConfidence?: IntentConfidence; /** - *

                                    The name of the intent that Amazon Lex suggests satisfies the user's intent.

                                    + *

                                    The slot and slot values associated with the predicted intent.

                                    */ - intentName?: string; + slots?: { [key: string]: string }; } export namespace PredictedIntent { @@ -1085,6 +1176,11 @@ export namespace Button { * button, a link, or text.

                                    */ export interface GenericAttachment { + /** + *

                                    The title of the option.

                                    + */ + title?: string; + /** *

                                    The subtitle shown below the title.

                                    */ @@ -1096,19 +1192,14 @@ export interface GenericAttachment { attachmentLinkUrl?: string; /** - *

                                    The list of options to show to the user.

                                    - */ - buttons?: Button[]; - - /** - *

                                    The title of the option.

                                    + *

                                    The URL of an image that is displayed to the user.

                                    */ - title?: string; + imageUrl?: string; /** - *

                                    The URL of an image that is displayed to the user.

                                    + *

                                    The list of options to show to the user.

                                    */ - imageUrl?: string; + buttons?: Button[]; } export namespace GenericAttachment { @@ -1125,14 +1216,14 @@ export namespace GenericAttachment { */ export interface ResponseCard { /** - *

                                    The content type of the response.

                                    + *

                                    The version of the response card format.

                                    */ - contentType?: ContentType | string; + version?: string; /** - *

                                    The version of the response card format.

                                    + *

                                    The content type of the response.

                                    */ - version?: string; + contentType?: ContentType | string; /** *

                                    An array of attachment objects representing options.

                                    @@ -1171,35 +1262,19 @@ export namespace SentimentResponse { export interface PostTextResponse { /** - *

                                    The format of the response message. One of the following values:

                                    - *
                                      - *
                                    • - *

                                      - * PlainText - The message contains plain UTF-8 text.

                                      - *
                                    • - *
                                    • - *

                                      - * CustomPayload - The message is a custom format defined by the Lambda - * function.

                                      - *
                                    • - *
                                    • - *

                                      - * SSML - The message contains text formatted for voice output.

                                      - *
                                    • - *
                                    • - *

                                      - * Composite - The message contains an escaped JSON object containing one or - * more messages from the groups that messages were assigned to when the intent was - * created.

                                      - *
                                    • - *
                                    + *

                                    The current user intent that Amazon Lex is aware of.

                                    */ - messageFormat?: MessageFormatType | string; + intentName?: string; /** - *

                                    The current user intent that Amazon Lex is aware of.

                                    + *

                                    Provides a score that indicates how confident Amazon Lex is that the returned intent is the one + * that matches the user's intent. The score is between 0.0 and 1.0. For more information, see + * Confidence + * Scores.

                                    + *

                                    The score is a relative score, not an absolute score. The score may change based on + * improvements to Amazon Lex.

                                    */ - intentName?: string; + nluIntentConfidence?: IntentConfidence; /** *

                                    One to four alternative intents that may be applicable to the user's intent.

                                    @@ -1208,6 +1283,24 @@ export interface PostTextResponse { */ alternativeIntents?: PredictedIntent[]; + /** + *

                                    The intent slots that Amazon Lex detected from the user input in the conversation.

                                    + *

                                    Amazon Lex creates a resolution list containing likely values for a slot. The value that it + * returns is determined by the valueSelectionStrategy selected when the slot type + * was created or updated. If valueSelectionStrategy is set to + * ORIGINAL_VALUE, the value provided by the user is returned, if the user value + * is similar to the slot values. If valueSelectionStrategy is set to + * TOP_RESOLUTION Amazon Lex returns the first value in the resolution list or, if + * there is no resolution list, null. If you don't specify a valueSelectionStrategy, + * the default is ORIGINAL_VALUE.

                                    + */ + slots?: { [key: string]: string }; + + /** + *

                                    A map of key-value pairs representing the session-specific context information.

                                    + */ + sessionAttributes?: { [key: string]: string }; + /** *

                                    The message to convey to the user. The message can come from the bot's configuration or * from a Lambda function.

                                    @@ -1225,6 +1318,39 @@ export interface PostTextResponse { */ message?: string; + /** + *

                                    The sentiment expressed in and utterance.

                                    + *

                                    When the bot is configured to send utterances to Amazon Comprehend for sentiment analysis, + * this field contains the result of the analysis.

                                    + */ + sentimentResponse?: SentimentResponse; + + /** + *

                                    The format of the response message. One of the following values:

                                    + *
                                      + *
                                    • + *

                                      + * PlainText - The message contains plain UTF-8 text.

                                      + *
                                    • + *
                                    • + *

                                      + * CustomPayload - The message is a custom format defined by the Lambda + * function.

                                      + *
                                    • + *
                                    • + *

                                      + * SSML - The message contains text formatted for voice output.

                                      + *
                                    • + *
                                    • + *

                                      + * Composite - The message contains an escaped JSON object containing one or + * more messages from the groups that messages were assigned to when the intent was + * created.

                                      + *
                                    • + *
                                    + */ + messageFormat?: MessageFormatType | string; + /** *

                                    Identifies the current state of the user interaction. Amazon Lex returns one of the following * values as dialogState. The client can optionally use this information to @@ -1277,25 +1403,10 @@ export interface PostTextResponse { dialogState?: DialogState | string; /** - *

                                    A unique identifier for the session.

                                    - */ - sessionId?: string; - - /** - *

                                    The version of the bot that responded to the conversation. You can use this information to - * help determine if one version of a bot is performing better than another version.

                                    - *

                                    If you have enabled the new natural language understanding (NLU) model, you can use this - * to determine if the improvement is due to changes to the bot or changes to the NLU.

                                    - *

                                    For more information about enabling the new NLU, see the enableModelImprovements parameter of the PutBot operation.

                                    - */ - botVersion?: string; - - /** - *

                                    The sentiment expressed in and utterance.

                                    - *

                                    When the bot is configured to send utterances to Amazon Comprehend for sentiment analysis, - * this field contains the result of the analysis.

                                    + *

                                    If the dialogState value is ElicitSlot, returns the name of the + * slot for which Amazon Lex is eliciting a value.

                                    */ - sentimentResponse?: SentimentResponse; + slotToElicit?: string; /** *

                                    Represents the options that the user has to respond to the current prompt. Response Card @@ -1305,38 +1416,24 @@ export interface PostTextResponse { responseCard?: ResponseCard; /** - *

                                    A map of key-value pairs representing the session-specific context information.

                                    - */ - sessionAttributes?: { [key: string]: string }; - - /** - *

                                    Provides a score that indicates how confident Amazon Lex is that the returned intent is the one - * that matches the user's intent. The score is between 0.0 and 1.0. For more information, see - * Confidence - * Scores.

                                    - *

                                    The score is a relative score, not an absolute score. The score may change based on - * improvements to the Amazon Lex natural language understanding (NLU) model.

                                    + *

                                    A unique identifier for the session.

                                    */ - nluIntentConfidence?: IntentConfidence; + sessionId?: string; /** - *

                                    If the dialogState value is ElicitSlot, returns the name of the - * slot for which Amazon Lex is eliciting a value.

                                    + *

                                    The version of the bot that responded to the conversation. You can use this information to + * help determine if one version of a bot is performing better than another version.

                                    */ - slotToElicit?: string; + botVersion?: string; /** - *

                                    The intent slots that Amazon Lex detected from the user input in the conversation.

                                    - *

                                    Amazon Lex creates a resolution list containing likely values for a slot. The value that it - * returns is determined by the valueSelectionStrategy selected when the slot type - * was created or updated. If valueSelectionStrategy is set to - * ORIGINAL_VALUE, the value provided by the user is returned, if the user value - * is similar to the slot values. If valueSelectionStrategy is set to - * TOP_RESOLUTION Amazon Lex returns the first value in the resolution list or, if - * there is no resolution list, null. If you don't specify a valueSelectionStrategy, - * the default is ORIGINAL_VALUE.

                                    + *

                                    A list of active contexts for the session. A context can be set when an intent + * is fulfilled or by calling the PostContent, PostText, + * or PutSession operation.

                                    + *

                                    You can use a context to control the intents that can follow up an intent, + * or to modify the operation of your application.

                                    */ - slots?: { [key: string]: string }; + activeContexts?: ActiveContext[]; } export namespace PostTextResponse { @@ -1345,13 +1442,70 @@ export namespace PostTextResponse { ...(obj.alternativeIntents && { alternativeIntents: obj.alternativeIntents.map((item) => PredictedIntent.filterSensitiveLog(item)), }), - ...(obj.message && { message: SENSITIVE_STRING }), - ...(obj.sessionAttributes && { sessionAttributes: SENSITIVE_STRING }), ...(obj.slots && { slots: SENSITIVE_STRING }), + ...(obj.sessionAttributes && { sessionAttributes: SENSITIVE_STRING }), + ...(obj.message && { message: SENSITIVE_STRING }), + ...(obj.activeContexts && { activeContexts: SENSITIVE_STRING }), }); } export interface PutSessionRequest { + /** + *

                                    The name of the bot that contains the session data.

                                    + */ + botName: string | undefined; + + /** + *

                                    The alias in use for the bot that contains the session data.

                                    + */ + botAlias: string | undefined; + + /** + *

                                    The ID of the client application user. Amazon Lex uses this to identify a user's conversation + * with your bot.

                                    + */ + userId: string | undefined; + + /** + *

                                    Map of key/value pairs representing the session-specific context information. It contains + * application information passed between Amazon Lex and a client application.

                                    + */ + sessionAttributes?: { [key: string]: string }; + + /** + *

                                    Sets the next action that the bot should take to fulfill the conversation.

                                    + */ + dialogAction?: DialogAction; + + /** + *

                                    A summary of the recent intents for the bot. You can use the intent summary view to set a + * checkpoint label on an intent and modify attributes of intents. You can also use it to remove + * or add intent summary objects to the list.

                                    + *

                                    An intent that you modify or add to the list must make sense for the bot. For example, the + * intent name must be valid for the bot. You must provide valid values for:

                                    + *
                                      + *
                                    • + *

                                      + * intentName + *

                                      + *
                                    • + *
                                    • + *

                                      slot names

                                      + *
                                    • + *
                                    • + *

                                      + * slotToElict + *

                                      + *
                                    • + *
                                    + *

                                    If you send the recentIntentSummaryView parameter in a + * PutSession request, the contents of the new summary view replaces the old + * summary view. For example, if a GetSession request returns three intents in the + * summary view and you call PutSession with one intent in the summary view, the + * next call to GetSession will only return one intent.

                                    + */ + recentIntentSummaryView?: IntentSummary[]; + /** *

                                    The message that Amazon Lex returns in the response can be either text or speech based * depending on the value of this field.

                                    @@ -1404,70 +1558,23 @@ export interface PutSessionRequest { accept?: string; /** - *

                                    Sets the next action that the bot should take to fulfill the conversation.

                                    - */ - dialogAction?: DialogAction; - - /** - *

                                    A summary of the recent intents for the bot. You can use the intent summary view to set a - * checkpoint label on an intent and modify attributes of intents. You can also use it to remove - * or add intent summary objects to the list.

                                    - *

                                    An intent that you modify or add to the list must make sense for the bot. For example, the - * intent name must be valid for the bot. You must provide valid values for:

                                    - *
                                      - *
                                    • - *

                                      - * intentName - *

                                      - *
                                    • - *
                                    • - *

                                      slot names

                                      - *
                                    • - *
                                    • - *

                                      - * slotToElict - *

                                      - *
                                    • - *
                                    - *

                                    If you send the recentIntentSummaryView parameter in a - * PutSession request, the contents of the new summary view replaces the old - * summary view. For example, if a GetSession request returns three intents in the - * summary view and you call PutSession with one intent in the summary view, the - * next call to GetSession will only return one intent.

                                    - */ - recentIntentSummaryView?: IntentSummary[]; - - /** - *

                                    Map of key/value pairs representing the session-specific context information. It contains - * application information passed between Amazon Lex and a client application.

                                    - */ - sessionAttributes?: { [key: string]: string }; - - /** - *

                                    The ID of the client application user. Amazon Lex uses this to identify a user's conversation - * with your bot.

                                    + *

                                    A list of contexts active for the request. A context can be activated when a previous + * intent is fulfilled, or by including the context in the request,

                                    + *

                                    If you don't specify a list of contexts, Amazon Lex will use the current list of contexts for + * the session. If you specify an empty list, all contexts for the session are cleared.

                                    */ - userId: string | undefined; - - /** - *

                                    The alias in use for the bot that contains the session data.

                                    - */ - botAlias: string | undefined; - - /** - *

                                    The name of the bot that contains the session data.

                                    - */ - botName: string | undefined; + activeContexts?: ActiveContext[]; } export namespace PutSessionRequest { export const filterSensitiveLog = (obj: PutSessionRequest): any => ({ ...obj, + ...(obj.sessionAttributes && { sessionAttributes: SENSITIVE_STRING }), ...(obj.dialogAction && { dialogAction: DialogAction.filterSensitiveLog(obj.dialogAction) }), ...(obj.recentIntentSummaryView && { recentIntentSummaryView: obj.recentIntentSummaryView.map((item) => IntentSummary.filterSensitiveLog(item)), }), - ...(obj.sessionAttributes && { sessionAttributes: SENSITIVE_STRING }), + ...(obj.activeContexts && { activeContexts: SENSITIVE_STRING }), }); } @@ -1482,6 +1589,30 @@ export interface PutSessionResponse { */ intentName?: string; + /** + *

                                    Map of zero or more intent slots Amazon Lex detected from the user input during the + * conversation.

                                    + *

                                    Amazon Lex creates a resolution list containing likely values for a slot. The value that it + * returns is determined by the valueSelectionStrategy selected when the slot type + * was created or updated. If valueSelectionStrategy is set to + * ORIGINAL_VALUE, the value provided by the user is returned, if the user value + * is similar to the slot values. If valueSelectionStrategy is set to + * TOP_RESOLUTION Amazon Lex returns the first value in the resolution list or, if + * there is no resolution list, null. If you don't specify a valueSelectionStrategy + * the default is ORIGINAL_VALUE.

                                    + */ + slots?: __LazyJsonString | string; + + /** + *

                                    Map of key/value pairs representing session-specific context information.

                                    + */ + sessionAttributes?: __LazyJsonString | string; + + /** + *

                                    The next message that should be presented to the user.

                                    + */ + message?: string; + /** *

                                    The format of the response message. One of the following values:

                                    *
                                      @@ -1507,41 +1638,6 @@ export interface PutSessionResponse { */ messageFormat?: MessageFormatType | string; - /** - *

                                      Map of key/value pairs representing session-specific context information.

                                      - */ - sessionAttributes?: __LazyJsonString | string; - - /** - *

                                      A unique identifier for the session.

                                      - */ - sessionId?: string; - - /** - *

                                      If the dialogState is ElicitSlot, returns the name of the slot - * for which Amazon Lex is eliciting a value.

                                      - */ - slotToElicit?: string; - - /** - *

                                      Map of zero or more intent slots Amazon Lex detected from the user input during the - * conversation.

                                      - *

                                      Amazon Lex creates a resolution list containing likely values for a slot. The value that it - * returns is determined by the valueSelectionStrategy selected when the slot type - * was created or updated. If valueSelectionStrategy is set to - * ORIGINAL_VALUE, the value provided by the user is returned, if the user value - * is similar to the slot values. If valueSelectionStrategy is set to - * TOP_RESOLUTION Amazon Lex returns the first value in the resolution list or, if - * there is no resolution list, null. If you don't specify a valueSelectionStrategy - * the default is ORIGINAL_VALUE.

                                      - */ - slots?: __LazyJsonString | string; - - /** - *

                                      The next message that should be presented to the user.

                                      - */ - message?: string; - /** *

                                      *
                                        @@ -1579,15 +1675,32 @@ export interface PutSessionResponse { */ dialogState?: DialogState | string; + /** + *

                                        If the dialogState is ElicitSlot, returns the name of the slot + * for which Amazon Lex is eliciting a value.

                                        + */ + slotToElicit?: string; + /** *

                                        The audio version of the message to convey to the user.

                                        */ audioStream?: Readable | ReadableStream | Blob; + + /** + *

                                        A unique identifier for the session.

                                        + */ + sessionId?: string; + + /** + *

                                        A list of active contexts for the session.

                                        + */ + activeContexts?: __LazyJsonString | string; } export namespace PutSessionResponse { export const filterSensitiveLog = (obj: PutSessionResponse): any => ({ ...obj, ...(obj.message && { message: SENSITIVE_STRING }), + ...(obj.activeContexts && { activeContexts: SENSITIVE_STRING }), }); } diff --git a/clients/client-lex-runtime-service/protocols/Aws_restJson1.ts b/clients/client-lex-runtime-service/protocols/Aws_restJson1.ts index c302025e9ab5..488fa86adedd 100644 --- a/clients/client-lex-runtime-service/protocols/Aws_restJson1.ts +++ b/clients/client-lex-runtime-service/protocols/Aws_restJson1.ts @@ -4,6 +4,8 @@ import { PostContentCommandInput, PostContentCommandOutput } from "../commands/P import { PostTextCommandInput, PostTextCommandOutput } from "../commands/PostTextCommand"; import { PutSessionCommandInput, PutSessionCommandOutput } from "../commands/PutSessionCommand"; import { + ActiveContext, + ActiveContextTimeToLive, BadGatewayException, BadRequestException, Button, @@ -45,6 +47,15 @@ export const serializeAws_restJson1DeleteSessionCommand = async ( "Content-Type": "", }; let resolvedPath = "/bot/{botName}/alias/{botAlias}/user/{userId}/session"; + if (input.botName !== undefined) { + const labelValue: string = input.botName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: botName."); + } + resolvedPath = resolvedPath.replace("{botName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: botName."); + } if (input.botAlias !== undefined) { const labelValue: string = input.botAlias; if (labelValue.length <= 0) { @@ -63,15 +74,6 @@ export const serializeAws_restJson1DeleteSessionCommand = async ( } else { throw new Error("No value provided for input HTTP label: userId."); } - if (input.botName !== undefined) { - const labelValue: string = input.botName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: botName."); - } - resolvedPath = resolvedPath.replace("{botName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: botName."); - } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -93,6 +95,15 @@ export const serializeAws_restJson1GetSessionCommand = async ( "Content-Type": "", }; let resolvedPath = "/bot/{botName}/alias/{botAlias}/user/{userId}/session"; + if (input.botName !== undefined) { + const labelValue: string = input.botName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: botName."); + } + resolvedPath = resolvedPath.replace("{botName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: botName."); + } if (input.botAlias !== undefined) { const labelValue: string = input.botAlias; if (labelValue.length <= 0) { @@ -111,15 +122,6 @@ export const serializeAws_restJson1GetSessionCommand = async ( } else { throw new Error("No value provided for input HTTP label: userId."); } - if (input.botName !== undefined) { - const labelValue: string = input.botName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: botName."); - } - resolvedPath = resolvedPath.replace("{botName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: botName."); - } const query: any = { ...(input.checkpointLabelFilter !== undefined && { checkpointLabelFilter: input.checkpointLabelFilter }), }; @@ -144,25 +146,19 @@ export const serializeAws_restJson1PostContentCommand = async ( const headers: any = { "Content-Type": "application/octet-stream", "x-amz-content-sha256": "UNSIGNED-PAYLOAD", - ...(isSerializableHeaderValue(input.requestAttributes) && { - "x-amz-lex-request-attributes": __LazyJsonString.fromObject(input.requestAttributes!), - }), ...(isSerializableHeaderValue(input.sessionAttributes) && { "x-amz-lex-session-attributes": __LazyJsonString.fromObject(input.sessionAttributes!), }), + ...(isSerializableHeaderValue(input.requestAttributes) && { + "x-amz-lex-request-attributes": __LazyJsonString.fromObject(input.requestAttributes!), + }), ...(isSerializableHeaderValue(input.contentType) && { "Content-Type": input.contentType! }), ...(isSerializableHeaderValue(input.accept) && { Accept: input.accept! }), + ...(isSerializableHeaderValue(input.activeContexts) && { + "x-amz-lex-active-contexts": __LazyJsonString.fromObject(input.activeContexts!), + }), }; let resolvedPath = "/bot/{botName}/alias/{botAlias}/user/{userId}/content"; - if (input.botAlias !== undefined) { - const labelValue: string = input.botAlias; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: botAlias."); - } - resolvedPath = resolvedPath.replace("{botAlias}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: botAlias."); - } if (input.botName !== undefined) { const labelValue: string = input.botName; if (labelValue.length <= 0) { @@ -172,6 +168,15 @@ export const serializeAws_restJson1PostContentCommand = async ( } else { throw new Error("No value provided for input HTTP label: botName."); } + if (input.botAlias !== undefined) { + const labelValue: string = input.botAlias; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: botAlias."); + } + resolvedPath = resolvedPath.replace("{botAlias}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: botAlias."); + } if (input.userId !== undefined) { const labelValue: string = input.userId; if (labelValue.length <= 0) { @@ -205,14 +210,14 @@ export const serializeAws_restJson1PostTextCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/bot/{botName}/alias/{botAlias}/user/{userId}/text"; - if (input.userId !== undefined) { - const labelValue: string = input.userId; + if (input.botName !== undefined) { + const labelValue: string = input.botName; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: userId."); + throw new Error("Empty value provided for input HTTP label: botName."); } - resolvedPath = resolvedPath.replace("{userId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{botName}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: userId."); + throw new Error("No value provided for input HTTP label: botName."); } if (input.botAlias !== undefined) { const labelValue: string = input.botAlias; @@ -223,17 +228,20 @@ export const serializeAws_restJson1PostTextCommand = async ( } else { throw new Error("No value provided for input HTTP label: botAlias."); } - if (input.botName !== undefined) { - const labelValue: string = input.botName; + if (input.userId !== undefined) { + const labelValue: string = input.userId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: botName."); + throw new Error("Empty value provided for input HTTP label: userId."); } - resolvedPath = resolvedPath.replace("{botName}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{userId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: botName."); + throw new Error("No value provided for input HTTP label: userId."); } let body: any; body = JSON.stringify({ + ...(input.activeContexts !== undefined && { + activeContexts: serializeAws_restJson1ActiveContextsList(input.activeContexts, context), + }), ...(input.inputText !== undefined && { inputText: input.inputText }), ...(input.requestAttributes !== undefined && { requestAttributes: serializeAws_restJson1StringMap(input.requestAttributes, context), @@ -263,14 +271,14 @@ export const serializeAws_restJson1PutSessionCommand = async ( ...(isSerializableHeaderValue(input.accept) && { Accept: input.accept! }), }; let resolvedPath = "/bot/{botName}/alias/{botAlias}/user/{userId}/session"; - if (input.userId !== undefined) { - const labelValue: string = input.userId; + if (input.botName !== undefined) { + const labelValue: string = input.botName; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: userId."); + throw new Error("Empty value provided for input HTTP label: botName."); } - resolvedPath = resolvedPath.replace("{userId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{botName}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: userId."); + throw new Error("No value provided for input HTTP label: botName."); } if (input.botAlias !== undefined) { const labelValue: string = input.botAlias; @@ -281,17 +289,20 @@ export const serializeAws_restJson1PutSessionCommand = async ( } else { throw new Error("No value provided for input HTTP label: botAlias."); } - if (input.botName !== undefined) { - const labelValue: string = input.botName; + if (input.userId !== undefined) { + const labelValue: string = input.userId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: botName."); + throw new Error("Empty value provided for input HTTP label: userId."); } - resolvedPath = resolvedPath.replace("{botName}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{userId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: botName."); + throw new Error("No value provided for input HTTP label: userId."); } let body: any; body = JSON.stringify({ + ...(input.activeContexts !== undefined && { + activeContexts: serializeAws_restJson1ActiveContextsList(input.activeContexts, context), + }), ...(input.dialogAction !== undefined && { dialogAction: serializeAws_restJson1DialogAction(input.dialogAction, context), }), @@ -422,12 +433,16 @@ export const deserializeAws_restJson1GetSessionCommand = async ( } const contents: GetSessionCommandOutput = { $metadata: deserializeMetadata(output), + activeContexts: undefined, dialogAction: undefined, recentIntentSummaryView: undefined, sessionAttributes: undefined, sessionId: undefined, }; const data: any = await parseBody(output.body, context); + if (data.activeContexts !== undefined && data.activeContexts !== null) { + contents.activeContexts = deserializeAws_restJson1ActiveContextsList(data.activeContexts, context); + } if (data.dialogAction !== undefined && data.dialogAction !== null) { contents.dialogAction = deserializeAws_restJson1DialogAction(data.dialogAction, context); } @@ -513,6 +528,7 @@ export const deserializeAws_restJson1PostContentCommand = async ( } const contents: PostContentCommandOutput = { $metadata: deserializeMetadata(output), + activeContexts: undefined, alternativeIntents: undefined, audioStream: undefined, botVersion: undefined, @@ -529,47 +545,50 @@ export const deserializeAws_restJson1PostContentCommand = async ( slotToElicit: undefined, slots: undefined, }; + if (output.headers["content-type"] !== undefined) { + contents.contentType = output.headers["content-type"]; + } + if (output.headers["x-amz-lex-intent-name"] !== undefined) { + contents.intentName = output.headers["x-amz-lex-intent-name"]; + } + if (output.headers["x-amz-lex-nlu-intent-confidence"] !== undefined) { + contents.nluIntentConfidence = new __LazyJsonString(output.headers["x-amz-lex-nlu-intent-confidence"]); + } if (output.headers["x-amz-lex-alternative-intents"] !== undefined) { contents.alternativeIntents = new __LazyJsonString(output.headers["x-amz-lex-alternative-intents"]); } - if (output.headers["x-amz-lex-message-format"] !== undefined) { - contents.messageFormat = output.headers["x-amz-lex-message-format"]; + if (output.headers["x-amz-lex-slots"] !== undefined) { + contents.slots = new __LazyJsonString(output.headers["x-amz-lex-slots"]); } - if (output.headers["content-type"] !== undefined) { - contents.contentType = output.headers["content-type"]; + if (output.headers["x-amz-lex-session-attributes"] !== undefined) { + contents.sessionAttributes = new __LazyJsonString(output.headers["x-amz-lex-session-attributes"]); + } + if (output.headers["x-amz-lex-sentiment"] !== undefined) { + contents.sentimentResponse = output.headers["x-amz-lex-sentiment"]; } if (output.headers["x-amz-lex-message"] !== undefined) { contents.message = output.headers["x-amz-lex-message"]; } - if (output.headers["x-amz-lex-bot-version"] !== undefined) { - contents.botVersion = output.headers["x-amz-lex-bot-version"]; + if (output.headers["x-amz-lex-message-format"] !== undefined) { + contents.messageFormat = output.headers["x-amz-lex-message-format"]; } - if (output.headers["x-amz-lex-sentiment"] !== undefined) { - contents.sentimentResponse = output.headers["x-amz-lex-sentiment"]; + if (output.headers["x-amz-lex-dialog-state"] !== undefined) { + contents.dialogState = output.headers["x-amz-lex-dialog-state"]; } - if (output.headers["x-amz-lex-slots"] !== undefined) { - contents.slots = new __LazyJsonString(output.headers["x-amz-lex-slots"]); + if (output.headers["x-amz-lex-slot-to-elicit"] !== undefined) { + contents.slotToElicit = output.headers["x-amz-lex-slot-to-elicit"]; } if (output.headers["x-amz-lex-input-transcript"] !== undefined) { contents.inputTranscript = output.headers["x-amz-lex-input-transcript"]; } - if (output.headers["x-amz-lex-slot-to-elicit"] !== undefined) { - contents.slotToElicit = output.headers["x-amz-lex-slot-to-elicit"]; - } - if (output.headers["x-amz-lex-session-attributes"] !== undefined) { - contents.sessionAttributes = new __LazyJsonString(output.headers["x-amz-lex-session-attributes"]); + if (output.headers["x-amz-lex-bot-version"] !== undefined) { + contents.botVersion = output.headers["x-amz-lex-bot-version"]; } if (output.headers["x-amz-lex-session-id"] !== undefined) { contents.sessionId = output.headers["x-amz-lex-session-id"]; } - if (output.headers["x-amz-lex-dialog-state"] !== undefined) { - contents.dialogState = output.headers["x-amz-lex-dialog-state"]; - } - if (output.headers["x-amz-lex-intent-name"] !== undefined) { - contents.intentName = output.headers["x-amz-lex-intent-name"]; - } - if (output.headers["x-amz-lex-nlu-intent-confidence"] !== undefined) { - contents.nluIntentConfidence = new __LazyJsonString(output.headers["x-amz-lex-nlu-intent-confidence"]); + if (output.headers["x-amz-lex-active-contexts"] !== undefined) { + contents.activeContexts = new __LazyJsonString(output.headers["x-amz-lex-active-contexts"]); } const data: any = output.body; contents.audioStream = data; @@ -702,6 +721,7 @@ export const deserializeAws_restJson1PostTextCommand = async ( } const contents: PostTextCommandOutput = { $metadata: deserializeMetadata(output), + activeContexts: undefined, alternativeIntents: undefined, botVersion: undefined, dialogState: undefined, @@ -717,6 +737,9 @@ export const deserializeAws_restJson1PostTextCommand = async ( slots: undefined, }; const data: any = await parseBody(output.body, context); + if (data.activeContexts !== undefined && data.activeContexts !== null) { + contents.activeContexts = deserializeAws_restJson1ActiveContextsList(data.activeContexts, context); + } if (data.alternativeIntents !== undefined && data.alternativeIntents !== null) { contents.alternativeIntents = deserializeAws_restJson1IntentList(data.alternativeIntents, context); } @@ -861,6 +884,7 @@ export const deserializeAws_restJson1PutSessionCommand = async ( } const contents: PutSessionCommandOutput = { $metadata: deserializeMetadata(output), + activeContexts: undefined, audioStream: undefined, contentType: undefined, dialogState: undefined, @@ -878,27 +902,30 @@ export const deserializeAws_restJson1PutSessionCommand = async ( if (output.headers["x-amz-lex-intent-name"] !== undefined) { contents.intentName = output.headers["x-amz-lex-intent-name"]; } - if (output.headers["x-amz-lex-message-format"] !== undefined) { - contents.messageFormat = output.headers["x-amz-lex-message-format"]; + if (output.headers["x-amz-lex-slots"] !== undefined) { + contents.slots = new __LazyJsonString(output.headers["x-amz-lex-slots"]); } if (output.headers["x-amz-lex-session-attributes"] !== undefined) { contents.sessionAttributes = new __LazyJsonString(output.headers["x-amz-lex-session-attributes"]); } - if (output.headers["x-amz-lex-session-id"] !== undefined) { - contents.sessionId = output.headers["x-amz-lex-session-id"]; - } - if (output.headers["x-amz-lex-slot-to-elicit"] !== undefined) { - contents.slotToElicit = output.headers["x-amz-lex-slot-to-elicit"]; - } - if (output.headers["x-amz-lex-slots"] !== undefined) { - contents.slots = new __LazyJsonString(output.headers["x-amz-lex-slots"]); - } if (output.headers["x-amz-lex-message"] !== undefined) { contents.message = output.headers["x-amz-lex-message"]; } + if (output.headers["x-amz-lex-message-format"] !== undefined) { + contents.messageFormat = output.headers["x-amz-lex-message-format"]; + } if (output.headers["x-amz-lex-dialog-state"] !== undefined) { contents.dialogState = output.headers["x-amz-lex-dialog-state"]; } + if (output.headers["x-amz-lex-slot-to-elicit"] !== undefined) { + contents.slotToElicit = output.headers["x-amz-lex-slot-to-elicit"]; + } + if (output.headers["x-amz-lex-session-id"] !== undefined) { + contents.sessionId = output.headers["x-amz-lex-session-id"]; + } + if (output.headers["x-amz-lex-active-contexts"] !== undefined) { + contents.activeContexts = new __LazyJsonString(output.headers["x-amz-lex-active-contexts"]); + } const data: any = output.body; contents.audioStream = data; return Promise.resolve(contents); @@ -1188,6 +1215,45 @@ const deserializeAws_restJson1UnsupportedMediaTypeExceptionResponse = async ( return contents; }; +const serializeAws_restJson1ActiveContext = (input: ActiveContext, context: __SerdeContext): any => { + return { + ...(input.name !== undefined && { name: input.name }), + ...(input.parameters !== undefined && { + parameters: serializeAws_restJson1ActiveContextParametersMap(input.parameters, context), + }), + ...(input.timeToLive !== undefined && { + timeToLive: serializeAws_restJson1ActiveContextTimeToLive(input.timeToLive, context), + }), + }; +}; + +const serializeAws_restJson1ActiveContextParametersMap = ( + input: { [key: string]: string }, + context: __SerdeContext +): any => { + return Object.entries(input).reduce( + (acc: { [key: string]: string }, [key, value]: [string, any]) => ({ + ...acc, + [key]: value, + }), + {} + ); +}; + +const serializeAws_restJson1ActiveContextsList = (input: ActiveContext[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1ActiveContext(entry, context)); +}; + +const serializeAws_restJson1ActiveContextTimeToLive = ( + input: ActiveContextTimeToLive, + context: __SerdeContext +): any => { + return { + ...(input.timeToLiveInSeconds !== undefined && { timeToLiveInSeconds: input.timeToLiveInSeconds }), + ...(input.turnsToLive !== undefined && { turnsToLive: input.turnsToLive }), + }; +}; + const serializeAws_restJson1DialogAction = (input: DialogAction, context: __SerdeContext): any => { return { ...(input.fulfillmentState !== undefined && { fulfillmentState: input.fulfillmentState }), @@ -1226,6 +1292,50 @@ const serializeAws_restJson1StringMap = (input: { [key: string]: string }, conte ); }; +const deserializeAws_restJson1ActiveContext = (output: any, context: __SerdeContext): ActiveContext => { + return { + name: output.name !== undefined && output.name !== null ? output.name : undefined, + parameters: + output.parameters !== undefined && output.parameters !== null + ? deserializeAws_restJson1ActiveContextParametersMap(output.parameters, context) + : undefined, + timeToLive: + output.timeToLive !== undefined && output.timeToLive !== null + ? deserializeAws_restJson1ActiveContextTimeToLive(output.timeToLive, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1ActiveContextParametersMap = ( + output: any, + context: __SerdeContext +): { [key: string]: string } => { + return Object.entries(output).reduce( + (acc: { [key: string]: string }, [key, value]: [string, any]) => ({ + ...acc, + [key]: value, + }), + {} + ); +}; + +const deserializeAws_restJson1ActiveContextsList = (output: any, context: __SerdeContext): ActiveContext[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1ActiveContext(entry, context)); +}; + +const deserializeAws_restJson1ActiveContextTimeToLive = ( + output: any, + context: __SerdeContext +): ActiveContextTimeToLive => { + return { + timeToLiveInSeconds: + output.timeToLiveInSeconds !== undefined && output.timeToLiveInSeconds !== null + ? output.timeToLiveInSeconds + : undefined, + turnsToLive: output.turnsToLive !== undefined && output.turnsToLive !== null ? output.turnsToLive : undefined, + } as any; +}; + const deserializeAws_restJson1Button = (output: any, context: __SerdeContext): Button => { return { text: output.text !== undefined && output.text !== null ? output.text : undefined, diff --git a/clients/client-macie2/models/models_0.ts b/clients/client-macie2/models/models_0.ts index ea07fcb03c5b..bf880f5f2d2b 100644 --- a/clients/client-macie2/models/models_0.ts +++ b/clients/client-macie2/models/models_0.ts @@ -68,6 +68,49 @@ export namespace BatchGetCustomDataIdentifierSummary { }); } +export enum IsDefinedInJob { + FALSE = "FALSE", + TRUE = "TRUE", + UNKNOWN = "UNKNOWN", +} + +export enum IsMonitoredByJob { + FALSE = "FALSE", + TRUE = "TRUE", + UNKNOWN = "UNKNOWN", +} + +/** + *

                                        Specifies whether any one-time or recurring classification jobs are configured to analyze data in an S3 bucket, and, if so, the details of the job that ran most recently.

                                        + */ +export interface JobDetails { + /** + *

                                        Specifies whether any one-time or recurring jobs are configured to analyze data in the bucket. Possible values are:

                                        • TRUE - One or more jobs is configured to analyze data in the bucket, and at least one of those jobs has a status other than CANCELLED.

                                        • FALSE - No jobs are configured to analyze data in the bucket, or all the jobs that are configured to analyze data in the bucket have a status of CANCELLED.

                                        • UNKNOWN - An exception occurred when Amazon Macie attempted to retrieve job data for the bucket.

                                        + */ + isDefinedInJob?: IsDefinedInJob | string; + + /** + *

                                        Specifies whether any recurring jobs are configured to analyze data in the bucket. Possible values are:

                                        • TRUE - One or more recurring jobs is configured to analyze data in the bucket, and at least one of those jobs has a status other than CANCELLED.

                                        • FALSE - No recurring jobs are configured to analyze data in the bucket, or all the recurring jobs that are configured to analyze data in the bucket have a status of CANCELLED.

                                        • UNKNOWN - An exception occurred when Amazon Macie attempted to retrieve job data for the bucket.

                                        + */ + isMonitoredByJob?: IsMonitoredByJob | string; + + /** + *

                                        The unique identifier for the job that ran most recently (either the latest run of a recurring job or the only run of a one-time job) and is configured to analyze data in the bucket.

                                        This value is null if the value for the isDefinedInJob property is FALSE or UNKNOWN.

                                        + */ + lastJobId?: string; + + /** + *

                                        The date and time, in UTC and extended ISO 8601 format, when the job (lastJobId) started. If the job is a recurring job, this value indicates when the most recent run started.

                                        This value is null if the value for the isDefinedInJob property is FALSE or UNKNOWN.

                                        + */ + lastJobRunTime?: Date; +} + +export namespace JobDetails { + export const filterSensitiveLog = (obj: JobDetails): any => ({ + ...obj, + }); +} + /** *

                                        Provides information about the number of objects that are in an S3 bucket and use certain types of server-side encryption, use client-side encryption, or aren't encrypted.

                                        */ @@ -78,12 +121,12 @@ export interface ObjectCountByEncryptionType { customerManaged?: number; /** - *

                                        The total number of objects that are encrypted using an AWS Key Management Service (AWS KMS) customer master key (CMK). The objects use AWS KMS AWS-managed (AWS-KMS) encryption or AWS KMS customer-managed (SSE-KMS) encryption.

                                        + *

                                        The total number of objects that are encrypted using an AWS Key Management Service (AWS KMS) customer master key (CMK). The objects use AWS managed AWS KMS (AWS-KMS) encryption or customer managed AWS KMS (SSE-KMS) encryption.

                                        */ kmsManaged?: number; /** - *

                                        The total number of objects that are encrypted using an Amazon S3-managed key. The objects use Amazon S3-managed (SSE-S3) encryption.

                                        + *

                                        The total number of objects that are encrypted using an Amazon S3 managed key. The objects use Amazon S3 managed (SSE-S3) encryption.

                                        */ s3Managed?: number; @@ -376,6 +419,11 @@ export interface BucketMetadata { */ classifiableSizeInBytes?: number; + /** + *

                                        Specifies whether any one-time or recurring classification jobs are configured to analyze data in the bucket, and, if so, the details of the job that ran most recently.

                                        + */ + jobDetails?: JobDetails; + /** *

                                        The date and time, in UTC and extended ISO 8601 format, when Amazon Macie most recently retrieved data about the bucket from Amazon S3.

                                        */ @@ -1942,11 +1990,11 @@ export namespace JobScopeTerm { } /** - *

                                        Specifies which S3 buckets contain the objects that a classification job analyzes.

                                        + *

                                        Specifies which AWS account owns the S3 buckets that a classification job analyzes, and the buckets to analyze for the account.

                                        */ export interface S3BucketDefinitionForJob { /** - *

                                        The unique identifier for the AWS account that owns one or more of the buckets. If specified, the job analyzes objects in all the buckets that are owned by the account and meet other conditions specified for the job.

                                        + *

                                        The unique identifier for the AWS account that owns the buckets. If you specify this value and don't specify a value for the buckets array, the job analyzes objects in all the buckets that are owned by the account and meet other conditions specified for the job.

                                        */ accountId?: string; @@ -1998,7 +2046,7 @@ export namespace LastRunErrorStatus { } /** - *

                                        Provides information about when a classification job was paused and when it will expire and be cancelled if it isn't resumed. This object is present only if a job's current status (jobStatus) is USER_PAUSED.

                                        + *

                                        Provides information about when a classification job was paused and when it will expire and be cancelled if it isn't resumed. This object is present only if a job's current status (jobStatus) is USER_PAUSED. The information in this object applies only to a job that was paused while it had a status of RUNNING.

                                        */ export interface UserPausedDetails { /** @@ -2043,7 +2091,7 @@ export interface JobSummary { jobId?: string; /** - *

                                        The current status of the job. Possible values are:

                                        • CANCELLED - You cancelled the job, or you paused the job and didn't resume it within 30 days of pausing it.

                                        • COMPLETE - For a one-time job, Amazon Macie finished processing all the data specified for the job. This value doesn't apply to recurring jobs.

                                        • IDLE - For a recurring job, the previous scheduled run is complete and the next scheduled run is pending. This value doesn't apply to one-time jobs.

                                        • PAUSED - Amazon Macie started running the job but completion of the job would exceed one or more quotas for your account.

                                        • RUNNING - For a one-time job, the job is in progress. For a recurring job, a scheduled run is in progress.

                                        • USER_PAUSED - You paused the job. If you don't resume the job within 30 days of pausing it, the job will expire and be cancelled.

                                        + *

                                        The current status of the job. Possible values are:

                                        • CANCELLED - You cancelled the job, or you paused the job while it had a status of RUNNING and you didn't resume it within 30 days of pausing it.

                                        • COMPLETE - For a one-time job, Amazon Macie finished processing the data specified for the job. This value doesn't apply to recurring jobs.

                                        • IDLE - For a recurring job, the previous scheduled run is complete and the next scheduled run is pending. This value doesn't apply to one-time jobs.

                                        • PAUSED - Amazon Macie started running the job but additional processing would exceed the monthly sensitive data discovery quota for your account or one or more member accounts that the job analyzes data for.

                                        • RUNNING - For a one-time job, the job is in progress. For a recurring job, a scheduled run is in progress.

                                        • USER_PAUSED - You paused the job. If you paused the job while it had a status of RUNNING and you don't resume the job within 30 days of pausing it, the job expires and is cancelled. To check the job's expiration date, refer to the UserPausedDetails.jobExpiresAt property.

                                        */ jobStatus?: JobStatus | string; @@ -2594,12 +2642,12 @@ export namespace BucketCountByEffectivePermission { */ export interface BucketCountByEncryptionType { /** - *

                                        The total number of buckets that use an AWS Key Management Service (AWS KMS) customer master key (CMK) to encrypt objects. These buckets use AWS KMS AWS-managed (AWS-KMS) encryption or AWS KMS customer-managed (SSE-KMS) encryption.

                                        + *

                                        The total number of buckets that use an AWS Key Management Service (AWS KMS) customer master key (CMK) to encrypt objects. These buckets use AWS managed AWS KMS (AWS-KMS) encryption or customer managed AWS KMS (SSE-KMS) encryption.

                                        */ kmsManaged?: number; /** - *

                                        The total number of buckets that use an Amazon S3-managed key to encrypt objects. These buckets use Amazon S3-managed (SSE-S3) encryption.

                                        + *

                                        The total number of buckets that use an Amazon S3 managed key to encrypt objects. These buckets use Amazon S3 managed (SSE-S3) encryption.

                                        */ s3Managed?: number; @@ -2802,7 +2850,7 @@ export namespace Scoping { */ export interface S3JobDefinition { /** - *

                                        An array of objects, one for each bucket that contains objects to analyze.

                                        + *

                                        An array of objects, one for each AWS account that owns buckets to analyze. Each object specifies the account ID for an account and one or more buckets to analyze for the account.

                                        */ bucketDefinitions?: S3BucketDefinitionForJob[]; @@ -3044,7 +3092,7 @@ export interface CriterionAdditionalProperties { eq?: string[]; /** - *

                                        A condition that requires an array field on a finding to exactly match the specified property values. You can use this operator with the following properties: customDataIdentifiers.detections.arn, customDataIdentifiers.detections.name, resourcesAffected.s3Bucket.tags.key, resourcesAffected.s3Bucket.tags.value, resourcesAffected.s3Object.tags.key, resourcesAffected.s3Object.tags.value, sensitiveData.category, and sensitiveData.detections.type.

                                        + *

                                        A condition that requires an array field to exactly match the specified property values. You can use this operator with the following properties: customDataIdentifiers.detections.arn, customDataIdentifiers.detections.name, resourcesAffected.s3Bucket.tags.key, resourcesAffected.s3Bucket.tags.value, resourcesAffected.s3Object.tags.key, resourcesAffected.s3Object.tags.value, sensitiveData.category, and sensitiveData.detections.type.

                                        */ eqExactMatch?: string[]; @@ -3477,7 +3525,7 @@ export interface DescribeClassificationJobResponse { jobId?: string; /** - *

                                        The current status of the job. Possible values are:

                                        • CANCELLED - You cancelled the job, or you paused the job and didn't resume it within 30 days of pausing it.

                                        • COMPLETE - For a one-time job, Amazon Macie finished processing all the data specified for the job. This value doesn't apply to recurring jobs.

                                        • IDLE - For a recurring job, the previous scheduled run is complete and the next scheduled run is pending. This value doesn't apply to one-time jobs.

                                        • PAUSED - Amazon Macie started running the job but completion of the job would exceed one or more quotas for your account.

                                        • RUNNING - For a one-time job, the job is in progress. For a recurring job, a scheduled run is in progress.

                                        • USER_PAUSED - You paused the job. If you don't resume the job within 30 days of pausing it, the job will expire and be cancelled.

                                        + *

                                        The current status of the job. Possible values are:

                                        • CANCELLED - You cancelled the job, or you paused the job while it had a status of RUNNING and you didn't resume it within 30 days of pausing it.

                                        • COMPLETE - For a one-time job, Amazon Macie finished processing the data specified for the job. This value doesn't apply to recurring jobs.

                                        • IDLE - For a recurring job, the previous scheduled run is complete and the next scheduled run is pending. This value doesn't apply to one-time jobs.

                                        • PAUSED - Amazon Macie started running the job but additional processing would exceed the monthly sensitive data discovery quota for your account or one or more member accounts that the job analyzes data for.

                                        • RUNNING - For a one-time job, the job is in progress. For a recurring job, a scheduled run is in progress.

                                        • USER_PAUSED - You paused the job. If you paused the job while it had a status of RUNNING and you don't resume the job within 30 days of pausing it, the job expires and is cancelled. To check the job's expiration date, refer to the UserPausedDetails.jobExpiresAt property.

                                        */ jobStatus?: JobStatus | string; @@ -3492,7 +3540,7 @@ export interface DescribeClassificationJobResponse { lastRunErrorStatus?: LastRunErrorStatus; /** - *

                                        The date and time, in UTC and extended ISO 8601 format, when the job last ran.

                                        + *

                                        The date and time, in UTC and extended ISO 8601 format, when the job started. If the job is a recurring job, this value indicates when the most recent run started.

                                        */ lastRunTime?: Date; @@ -4793,7 +4841,7 @@ export interface UpdateClassificationJobRequest { jobId: string | undefined; /** - *

                                        The new status for the job. Valid values are:

                                        • CANCELLED - Stops the job permanently and cancels it. You can't resume a job after you cancel it. This value is valid only if the job's current status is IDLE, PAUSED, RUNNING, or USER_PAUSED.

                                        • RUNNING - Resumes the job. This value is valid only if the job's current status is USER_PAUSED. If you specify this value, Amazon Macie immediately resumes the job.

                                        • USER_PAUSED - Pauses the job. This value is valid only if the job's current status is IDLE or RUNNING. If you specify this value and the job is currently running, Macie immediately stops running the job.

                                          To resume a job after you pause it, change the job's status to RUNNING. If you don't resume a job within 30 days of pausing it, the job expires and Macie cancels it. You can't resume a job after it's cancelled.

                                        + *

                                        The new status for the job. Valid values are:

                                        • CANCELLED - Stops the job permanently and cancels it. You can't resume a job after you cancel it. This value is valid only if the job's current status is IDLE, PAUSED, RUNNING, or USER_PAUSED.

                                        • RUNNING - Resumes the job. This value is valid only if the job's current status is USER_PAUSED. If you specify this value, Amazon Macie immediately resumes processing from the point where you paused the job. Otherwise, Macie resumes the job according to the schedule and other configuration settings for the job.

                                        • USER_PAUSED - Pauses the job. This value is valid only if the job's current status is IDLE or RUNNING. If you specify this value and the job's current status is RUNNING, Macie immediately begins to pause all processing tasks for the job.

                                          If you pause a job when its status is RUNNING and you don't resume the job within 30 days, the job expires and Macie cancels it. You can't resume a job after it's cancelled.

                                        */ jobStatus: JobStatus | string | undefined; } diff --git a/clients/client-macie2/protocols/Aws_restJson1.ts b/clients/client-macie2/protocols/Aws_restJson1.ts index bc65951704ce..07bfe7f5d8b4 100644 --- a/clients/client-macie2/protocols/Aws_restJson1.ts +++ b/clients/client-macie2/protocols/Aws_restJson1.ts @@ -185,6 +185,7 @@ import { IpCountry, IpGeoLocation, IpOwner, + JobDetails, JobScheduleFrequency, JobScopeTerm, JobScopingBlock, @@ -7689,6 +7690,10 @@ const deserializeAws_restJson1BucketMetadata = (output: any, context: __SerdeCon output.classifiableSizeInBytes !== undefined && output.classifiableSizeInBytes !== null ? output.classifiableSizeInBytes : undefined, + jobDetails: + output.jobDetails !== undefined && output.jobDetails !== null + ? deserializeAws_restJson1JobDetails(output.jobDetails, context) + : undefined, lastUpdated: output.lastUpdated !== undefined && output.lastUpdated !== null ? new Date(output.lastUpdated) : undefined, objectCount: output.objectCount !== undefined && output.objectCount !== null ? output.objectCount : undefined, @@ -8125,6 +8130,20 @@ const deserializeAws_restJson1IpOwner = (output: any, context: __SerdeContext): } as any; }; +const deserializeAws_restJson1JobDetails = (output: any, context: __SerdeContext): JobDetails => { + return { + isDefinedInJob: + output.isDefinedInJob !== undefined && output.isDefinedInJob !== null ? output.isDefinedInJob : undefined, + isMonitoredByJob: + output.isMonitoredByJob !== undefined && output.isMonitoredByJob !== null ? output.isMonitoredByJob : undefined, + lastJobId: output.lastJobId !== undefined && output.lastJobId !== null ? output.lastJobId : undefined, + lastJobRunTime: + output.lastJobRunTime !== undefined && output.lastJobRunTime !== null + ? new Date(output.lastJobRunTime) + : undefined, + } as any; +}; + const deserializeAws_restJson1JobScheduleFrequency = (output: any, context: __SerdeContext): JobScheduleFrequency => { return { dailySchedule: diff --git a/clients/client-medialive/models/models_0.ts b/clients/client-medialive/models/models_0.ts index 0a5cc0b86c46..12b396b6676d 100644 --- a/clients/client-medialive/models/models_0.ts +++ b/clients/client-medialive/models/models_0.ts @@ -2604,6 +2604,11 @@ export enum DeviceSettingsSyncState { SYNCING = "SYNCING", } +export enum DeviceUpdateStatus { + NOT_UP_TO_DATE = "NOT_UP_TO_DATE", + UP_TO_DATE = "UP_TO_DATE", +} + export enum InputDeviceActiveInput { HDMI = "HDMI", SDI = "SDI", @@ -2740,6 +2745,11 @@ export interface InputDeviceSummary { */ DeviceSettingsSyncState?: DeviceSettingsSyncState | string; + /** + * The status of software on the input device. + */ + DeviceUpdateStatus?: DeviceUpdateStatus | string; + /** * Settings that describe an input device that is type HD. */ @@ -5359,10 +5369,3 @@ export namespace PipelinePauseStateSettings { ...obj, }); } - -export enum ReservationState { - ACTIVE = "ACTIVE", - CANCELED = "CANCELED", - DELETED = "DELETED", - EXPIRED = "EXPIRED", -} diff --git a/clients/client-medialive/models/models_1.ts b/clients/client-medialive/models/models_1.ts index 37160522c70c..3b18483ef99f 100644 --- a/clients/client-medialive/models/models_1.ts +++ b/clients/client-medialive/models/models_1.ts @@ -9,6 +9,7 @@ import { ChannelState, ChannelSummary, DeviceSettingsSyncState, + DeviceUpdateStatus, Input, InputAttachment, InputClass, @@ -49,12 +50,18 @@ import { PipelineDetail, PipelinePauseStateSettings, ReservationResourceSpecification, - ReservationState, } from "./models_0"; import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; import { Readable } from "stream"; +export enum ReservationState { + ACTIVE = "ACTIVE", + CANCELED = "CANCELED", + DELETED = "DELETED", + EXPIRED = "EXPIRED", +} + /** * Reserved resources available to use */ @@ -4356,6 +4363,11 @@ export interface DescribeInputDeviceResponse { */ DeviceSettingsSyncState?: DeviceSettingsSyncState | string; + /** + * The status of software on the input device. + */ + DeviceUpdateStatus?: DeviceUpdateStatus | string; + /** * Settings that describe an input device that is type HD. */ @@ -6146,6 +6158,11 @@ export interface UpdateInputDeviceResponse { */ DeviceSettingsSyncState?: DeviceSettingsSyncState | string; + /** + * The status of software on the input device. + */ + DeviceUpdateStatus?: DeviceUpdateStatus | string; + /** * Settings that describe an input device that is type HD. */ diff --git a/clients/client-medialive/protocols/Aws_restJson1.ts b/clients/client-medialive/protocols/Aws_restJson1.ts index f7b079564746..c7ff97c96997 100644 --- a/clients/client-medialive/protocols/Aws_restJson1.ts +++ b/clients/client-medialive/protocols/Aws_restJson1.ts @@ -4789,6 +4789,7 @@ export const deserializeAws_restJson1DescribeInputDeviceCommand = async ( Arn: undefined, ConnectionState: undefined, DeviceSettingsSyncState: undefined, + DeviceUpdateStatus: undefined, HdDeviceSettings: undefined, Id: undefined, MacAddress: undefined, @@ -4807,6 +4808,9 @@ export const deserializeAws_restJson1DescribeInputDeviceCommand = async ( if (data.deviceSettingsSyncState !== undefined && data.deviceSettingsSyncState !== null) { contents.DeviceSettingsSyncState = data.deviceSettingsSyncState; } + if (data.deviceUpdateStatus !== undefined && data.deviceUpdateStatus !== null) { + contents.DeviceUpdateStatus = data.deviceUpdateStatus; + } if (data.hdDeviceSettings !== undefined && data.hdDeviceSettings !== null) { contents.HdDeviceSettings = deserializeAws_restJson1InputDeviceHdSettings(data.hdDeviceSettings, context); } @@ -8159,6 +8163,7 @@ export const deserializeAws_restJson1UpdateInputDeviceCommand = async ( Arn: undefined, ConnectionState: undefined, DeviceSettingsSyncState: undefined, + DeviceUpdateStatus: undefined, HdDeviceSettings: undefined, Id: undefined, MacAddress: undefined, @@ -8177,6 +8182,9 @@ export const deserializeAws_restJson1UpdateInputDeviceCommand = async ( if (data.deviceSettingsSyncState !== undefined && data.deviceSettingsSyncState !== null) { contents.DeviceSettingsSyncState = data.deviceSettingsSyncState; } + if (data.deviceUpdateStatus !== undefined && data.deviceUpdateStatus !== null) { + contents.DeviceUpdateStatus = data.deviceUpdateStatus; + } if (data.hdDeviceSettings !== undefined && data.hdDeviceSettings !== null) { contents.HdDeviceSettings = deserializeAws_restJson1InputDeviceHdSettings(data.hdDeviceSettings, context); } @@ -13137,6 +13145,10 @@ const deserializeAws_restJson1InputDeviceSummary = (output: any, context: __Serd output.deviceSettingsSyncState !== undefined && output.deviceSettingsSyncState !== null ? output.deviceSettingsSyncState : undefined, + DeviceUpdateStatus: + output.deviceUpdateStatus !== undefined && output.deviceUpdateStatus !== null + ? output.deviceUpdateStatus + : undefined, HdDeviceSettings: output.hdDeviceSettings !== undefined && output.hdDeviceSettings !== null ? deserializeAws_restJson1InputDeviceHdSettings(output.hdDeviceSettings, context) diff --git a/clients/client-redshift/index.ts b/clients/client-redshift/index.ts index 27f78973d86b..dc7f08e1cd3d 100644 --- a/clients/client-redshift/index.ts +++ b/clients/client-redshift/index.ts @@ -35,6 +35,7 @@ export * from "./commands/DeleteTagsCommand"; export * from "./commands/DeleteUsageLimitCommand"; export * from "./commands/DescribeAccountAttributesCommand"; export * from "./commands/DescribeClusterDbRevisionsCommand"; +export * from "./pagination/DescribeClusterDbRevisionsPaginator"; export * from "./commands/DescribeClusterParameterGroupsCommand"; export * from "./pagination/DescribeClusterParameterGroupsPaginator"; export * from "./commands/DescribeClusterParametersCommand"; @@ -48,6 +49,7 @@ export * from "./pagination/DescribeClusterSnapshotsPaginator"; export * from "./commands/DescribeClusterSubnetGroupsCommand"; export * from "./pagination/DescribeClusterSubnetGroupsPaginator"; export * from "./commands/DescribeClusterTracksCommand"; +export * from "./pagination/DescribeClusterTracksPaginator"; export * from "./commands/DescribeClusterVersionsCommand"; export * from "./pagination/DescribeClusterVersionsPaginator"; export * from "./commands/DescribeDefaultClusterParametersCommand"; @@ -74,10 +76,14 @@ export * from "./commands/DescribeResizeCommand"; export * from "./commands/DescribeScheduledActionsCommand"; export * from "./pagination/DescribeScheduledActionsPaginator"; export * from "./commands/DescribeSnapshotCopyGrantsCommand"; +export * from "./pagination/DescribeSnapshotCopyGrantsPaginator"; export * from "./commands/DescribeSnapshotSchedulesCommand"; +export * from "./pagination/DescribeSnapshotSchedulesPaginator"; export * from "./commands/DescribeStorageCommand"; export * from "./commands/DescribeTableRestoreStatusCommand"; +export * from "./pagination/DescribeTableRestoreStatusPaginator"; export * from "./commands/DescribeTagsCommand"; +export * from "./pagination/DescribeTagsPaginator"; export * from "./commands/DescribeUsageLimitsCommand"; export * from "./pagination/DescribeUsageLimitsPaginator"; export * from "./commands/DisableLoggingCommand"; @@ -86,6 +92,7 @@ export * from "./commands/EnableLoggingCommand"; export * from "./commands/EnableSnapshotCopyCommand"; export * from "./commands/GetClusterCredentialsCommand"; export * from "./commands/GetReservedNodeExchangeOfferingsCommand"; +export * from "./pagination/GetReservedNodeExchangeOfferingsPaginator"; export * from "./commands/ModifyClusterCommand"; export * from "./commands/ModifyClusterDbRevisionCommand"; export * from "./commands/ModifyClusterIamRolesCommand"; diff --git a/clients/client-redshift/models/models_0.ts b/clients/client-redshift/models/models_0.ts index 8e490cc96bf3..3b3ff40516d7 100644 --- a/clients/client-redshift/models/models_0.ts +++ b/clients/client-redshift/models/models_0.ts @@ -2,18 +2,18 @@ import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; export interface AcceptReservedNodeExchangeInputMessage { + /** + *

                                        A string representing the node identifier of the DC1 Reserved Node to be + * exchanged.

                                        + */ + ReservedNodeId: string | undefined; + /** *

                                        The unique identifier of the DC2 Reserved Node offering to be used for the exchange. * You can obtain the value for the parameter by calling GetReservedNodeExchangeOfferings *

                                        */ TargetReservedNodeOfferingId: string | undefined; - - /** - *

                                        A string representing the node identifier of the DC1 Reserved Node to be - * exchanged.

                                        - */ - ReservedNodeId: string | undefined; } export namespace AcceptReservedNodeExchangeInputMessage { @@ -51,11 +51,52 @@ export type ReservedNodeOfferingType = "Regular" | "Upgradable"; * offerings.

                                        */ export interface ReservedNode { + /** + *

                                        The unique identifier for the reservation.

                                        + */ + ReservedNodeId?: string; + + /** + *

                                        The identifier for the reserved node offering.

                                        + */ + ReservedNodeOfferingId?: string; + + /** + *

                                        The node type of the reserved node.

                                        + */ + NodeType?: string; + + /** + *

                                        The time the reservation started. You purchase a reserved node offering for a + * duration. This is the start time of that duration.

                                        + */ + StartTime?: Date; + + /** + *

                                        The duration of the node reservation in seconds.

                                        + */ + Duration?: number; + /** *

                                        The fixed cost Amazon Redshift charges you for this reserved node.

                                        */ FixedPrice?: number; + /** + *

                                        The hourly rate Amazon Redshift charges you for this reserved node.

                                        + */ + UsagePrice?: number; + + /** + *

                                        The currency code for the reserved cluster.

                                        + */ + CurrencyCode?: string; + + /** + *

                                        The number of reserved compute nodes.

                                        + */ + NodeCount?: number; + /** *

                                        The state of the reserved compute node.

                                        *

                                        Possible Values:

                                        @@ -82,36 +123,6 @@ export interface ReservedNode { */ State?: string; - /** - *

                                        The currency code for the reserved cluster.

                                        - */ - CurrencyCode?: string; - - /** - *

                                        The identifier for the reserved node offering.

                                        - */ - ReservedNodeOfferingId?: string; - - /** - *

                                        The node type of the reserved node.

                                        - */ - NodeType?: string; - - /** - *

                                        - */ - ReservedNodeOfferingType?: ReservedNodeOfferingType | string; - - /** - *

                                        The recurring charges for the reserved node.

                                        - */ - RecurringCharges?: RecurringCharge[]; - - /** - *

                                        The number of reserved compute nodes.

                                        - */ - NodeCount?: number; - /** *

                                        The anticipated utilization of the reserved node, as defined in the reserved node * offering.

                                        @@ -119,25 +130,14 @@ export interface ReservedNode { OfferingType?: string; /** - *

                                        The time the reservation started. You purchase a reserved node offering for a - * duration. This is the start time of that duration.

                                        - */ - StartTime?: Date; - - /** - *

                                        The duration of the node reservation in seconds.

                                        - */ - Duration?: number; - - /** - *

                                        The hourly rate Amazon Redshift charges you for this reserved node.

                                        + *

                                        The recurring charges for the reserved node.

                                        */ - UsagePrice?: number; + RecurringCharges?: RecurringCharge[]; /** - *

                                        The unique identifier for the reservation.

                                        + *

                                        */ - ReservedNodeId?: string; + ReservedNodeOfferingType?: ReservedNodeOfferingType | string; } export namespace ReservedNode { @@ -302,14 +302,14 @@ export namespace AttributeValueTarget { */ export interface AccountAttribute { /** - *

                                        A list of attribute values.

                                        + *

                                        The name of the attribute.

                                        */ - AttributeValues?: AttributeValueTarget[]; + AttributeName?: string; /** - *

                                        The name of the attribute.

                                        + *

                                        A list of attribute values.

                                        */ - AttributeName?: string; + AttributeValues?: AttributeValueTarget[]; } export namespace AccountAttribute { @@ -335,17 +335,17 @@ export namespace AccountAttributeList { *

                                        Describes an AWS customer account authorized to restore a snapshot.

                                        */ export interface AccountWithRestoreAccess { - /** - *

                                        The identifier of an AWS support account authorized to restore a snapshot. For AWS - * support, the identifier is amazon-redshift-support.

                                        - */ - AccountAlias?: string; - /** *

                                        The identifier of an AWS customer account authorized to restore a * snapshot.

                                        */ AccountId?: string; + + /** + *

                                        The identifier of an AWS support account authorized to restore a snapshot. For AWS + * support, the identifier is amazon-redshift-support.

                                        + */ + AccountAlias?: string; } export namespace AccountWithRestoreAccess { @@ -435,15 +435,20 @@ export namespace AuthorizationQuotaExceededFault { */ export interface AuthorizeClusterSecurityGroupIngressMessage { /** - *

                                        The EC2 security group to be added the Amazon Redshift security group.

                                        + *

                                        The name of the security group to which the ingress rule is added.

                                        */ - EC2SecurityGroupName?: string; + ClusterSecurityGroupName: string | undefined; /** *

                                        The IP range to be added the Amazon Redshift security group.

                                        */ CIDRIP?: string; + /** + *

                                        The EC2 security group to be added the Amazon Redshift security group.

                                        + */ + EC2SecurityGroupName?: string; + /** *

                                        The AWS account number of the owner of the security group specified by the * EC2SecurityGroupName parameter. The AWS Access Key ID is not an @@ -452,11 +457,6 @@ export interface AuthorizeClusterSecurityGroupIngressMessage { *

                                        */ EC2SecurityGroupOwnerId?: string; - - /** - *

                                        The name of the security group to which the ingress rule is added.

                                        - */ - ClusterSecurityGroupName: string | undefined; } export namespace AuthorizeClusterSecurityGroupIngressMessage { @@ -491,25 +491,25 @@ export namespace Tag { */ export interface EC2SecurityGroup { /** - *

                                        The AWS ID of the owner of the EC2 security group specified in the - * EC2SecurityGroupName field.

                                        + *

                                        The status of the EC2 security group.

                                        */ - EC2SecurityGroupOwnerId?: string; + Status?: string; /** - *

                                        The list of tags for the EC2 security group.

                                        + *

                                        The name of the EC2 Security Group.

                                        */ - Tags?: Tag[]; + EC2SecurityGroupName?: string; /** - *

                                        The name of the EC2 Security Group.

                                        + *

                                        The AWS ID of the owner of the EC2 security group specified in the + * EC2SecurityGroupName field.

                                        */ - EC2SecurityGroupName?: string; + EC2SecurityGroupOwnerId?: string; /** - *

                                        The status of the EC2 security group.

                                        + *

                                        The list of tags for the EC2 security group.

                                        */ - Status?: string; + Tags?: Tag[]; } export namespace EC2SecurityGroup { @@ -523,9 +523,9 @@ export namespace EC2SecurityGroup { */ export interface IPRange { /** - *

                                        The list of tags for the IP range.

                                        + *

                                        The status of the IP range, for example, "authorized".

                                        */ - Tags?: Tag[]; + Status?: string; /** *

                                        The IP range in Classless Inter-Domain Routing (CIDR) notation.

                                        @@ -533,9 +533,9 @@ export interface IPRange { CIDRIP?: string; /** - *

                                        The status of the IP range, for example, "authorized".

                                        + *

                                        The list of tags for the IP range.

                                        */ - Status?: string; + Tags?: Tag[]; } export namespace IPRange { @@ -548,6 +548,17 @@ export namespace IPRange { *

                                        Describes a security group.

                                        */ export interface ClusterSecurityGroup { + /** + *

                                        The name of the cluster security group to which the operation was + * applied.

                                        + */ + ClusterSecurityGroupName?: string; + + /** + *

                                        A description of the security group.

                                        + */ + Description?: string; + /** *

                                        A list of EC2 security groups that are permitted to access clusters associated with * this cluster security group.

                                        @@ -560,21 +571,10 @@ export interface ClusterSecurityGroup { */ IPRanges?: IPRange[]; - /** - *

                                        The name of the cluster security group to which the operation was - * applied.

                                        - */ - ClusterSecurityGroupName?: string; - /** *

                                        The list of tags for the cluster security group.

                                        */ Tags?: Tag[]; - - /** - *

                                        A description of the security group.

                                        - */ - Description?: string; } export namespace ClusterSecurityGroup { @@ -631,6 +631,11 @@ export namespace InvalidClusterSecurityGroupStateFault { *

                                        */ export interface AuthorizeSnapshotAccessMessage { + /** + *

                                        The identifier of the snapshot the account is authorized to restore.

                                        + */ + SnapshotIdentifier: string | undefined; + /** *

                                        The identifier of the cluster the snapshot was created from. This parameter is * required if your IAM user has a policy containing a snapshot resource element that @@ -644,11 +649,6 @@ export interface AuthorizeSnapshotAccessMessage { *

                                        To share a snapshot with AWS support, specify amazon-redshift-support.

                                        */ AccountWithRestoreAccess: string | undefined; - - /** - *

                                        The identifier of the snapshot the account is authorized to restore.

                                        - */ - SnapshotIdentifier: string | undefined; } export namespace AuthorizeSnapshotAccessMessage { @@ -662,20 +662,20 @@ export namespace AuthorizeSnapshotAccessMessage { */ export interface Snapshot { /** - *

                                        The identifier of the cluster for which the snapshot was taken.

                                        + *

                                        The snapshot identifier that is provided in the request.

                                        */ - ClusterIdentifier?: string; + SnapshotIdentifier?: string; /** - *

                                        The VPC identifier of the cluster if the snapshot is from a cluster in a VPC. - * Otherwise, this field is not in the output.

                                        + *

                                        The identifier of the cluster for which the snapshot was taken.

                                        */ - VpcId?: string; + ClusterIdentifier?: string; /** - *

                                        The list of tags for the cluster snapshot.

                                        + *

                                        The time (in UTC format) when Amazon Redshift began the snapshot. A snapshot contains a + * copy of the cluster data as of this exact time.

                                        */ - Tags?: Tag[]; + SnapshotCreateTime?: Date; /** *

                                        The snapshot status. The value of the status depends on the API operation used:

                                        @@ -698,139 +698,133 @@ export interface Snapshot { Status?: string; /** - *

                                        The number of days until a manual snapshot will pass its retention period.

                                        + *

                                        The port that the cluster is listening on.

                                        */ - ManualSnapshotRemainingDays?: number; + Port?: number; /** - *

                                        If true, the data in the snapshot is encrypted at rest.

                                        + *

                                        The Availability Zone in which the cluster was created.

                                        */ - Encrypted?: boolean; + AvailabilityZone?: string; /** - *

                                        The amount of time an in-progress snapshot backup has been running, or the amount - * of time it took a completed backup to finish.

                                        + *

                                        The time (UTC) when the cluster was originally created.

                                        */ - ElapsedTimeInSeconds?: number; + ClusterCreateTime?: Date; /** - *

                                        The AWS Key Management Service (KMS) key ID of the encryption key that was used to - * encrypt data in the cluster from which the snapshot was taken.

                                        + *

                                        The master user name for the cluster.

                                        */ - KmsKeyId?: string; + MasterUsername?: string; /** - *

                                        The source region from which the snapshot was copied.

                                        + *

                                        The version ID of the Amazon Redshift engine that is running on the cluster.

                                        */ - SourceRegion?: string; + ClusterVersion?: string; /** - *

                                        The number of days that a manual snapshot is retained. If the value is -1, the manual - * snapshot is retained indefinitely.

                                        - * - *

                                        The value must be either -1 or an integer between 1 and 3,653.

                                        + *

                                        The snapshot type. Snapshots created using CreateClusterSnapshot + * and CopyClusterSnapshot are of type "manual".

                                        */ - ManualSnapshotRetentionPeriod?: number; + SnapshotType?: string; /** - *

                                        The name of the database that was created when the cluster was created.

                                        + *

                                        The node type of the nodes in the cluster.

                                        */ - DBName?: string; + NodeType?: string; /** - *

                                        The Availability Zone in which the cluster was created.

                                        + *

                                        The number of nodes in the cluster.

                                        */ - AvailabilityZone?: string; + NumberOfNodes?: number; /** - *

                                        The number of megabytes that have been transferred to the snapshot - * backup.

                                        + *

                                        The name of the database that was created when the cluster was created.

                                        */ - BackupProgressInMegaBytes?: number; + DBName?: string; /** - *

                                        A list of the AWS customer accounts authorized to restore the snapshot. Returns - * null if no accounts are authorized. Visible only to the snapshot owner. - *

                                        + *

                                        The VPC identifier of the cluster if the snapshot is from a cluster in a VPC. + * Otherwise, this field is not in the output.

                                        */ - AccountsWithRestoreAccess?: AccountWithRestoreAccess[]; + VpcId?: string; /** - *

                                        The size of the incremental backup.

                                        + *

                                        If true, the data in the snapshot is encrypted at rest.

                                        */ - ActualIncrementalBackupSizeInMegaBytes?: number; + Encrypted?: boolean; /** - *

                                        The master user name for the cluster.

                                        + *

                                        The AWS Key Management Service (KMS) key ID of the encryption key that was used to + * encrypt data in the cluster from which the snapshot was taken.

                                        */ - MasterUsername?: string; + KmsKeyId?: string; /** - *

                                        The number of megabytes per second being transferred to the snapshot backup. - * Returns 0 for a completed backup.

                                        + *

                                        A boolean that indicates whether the snapshot data is encrypted using the HSM keys + * of the source cluster. true indicates that the data is encrypted using HSM + * keys.

                                        */ - CurrentBackupRateInMegaBytesPerSecond?: number; + EncryptedWithHSM?: boolean; /** - *

                                        The size of the complete set of backup data that would be used to restore the - * cluster.

                                        + *

                                        A list of the AWS customer accounts authorized to restore the snapshot. Returns + * null if no accounts are authorized. Visible only to the snapshot owner. + *

                                        */ - TotalBackupSizeInMegaBytes?: number; + AccountsWithRestoreAccess?: AccountWithRestoreAccess[]; /** - *

                                        The estimate of the time remaining before the snapshot backup will complete. - * Returns 0 for a completed backup.

                                        + *

                                        For manual snapshots, the AWS customer account used to create or copy the snapshot. + * For automatic snapshots, the owner of the cluster. The owner can perform all snapshot + * actions, such as sharing a manual snapshot.

                                        */ - EstimatedSecondsToCompletion?: number; + OwnerAccount?: string; /** - *

                                        The port that the cluster is listening on.

                                        + *

                                        The size of the complete set of backup data that would be used to restore the + * cluster.

                                        */ - Port?: number; + TotalBackupSizeInMegaBytes?: number; /** - *

                                        The time (in UTC format) when Amazon Redshift began the snapshot. A snapshot contains a - * copy of the cluster data as of this exact time.

                                        + *

                                        The size of the incremental backup.

                                        */ - SnapshotCreateTime?: Date; + ActualIncrementalBackupSizeInMegaBytes?: number; /** - *

                                        An option that specifies whether to create the cluster with enhanced VPC routing - * enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a - * VPC. For more information, see Enhanced VPC Routing in - * the Amazon Redshift Cluster Management Guide.

                                        - *

                                        If this option is true, enhanced VPC routing is enabled.

                                        - *

                                        Default: false

                                        + *

                                        The number of megabytes that have been transferred to the snapshot + * backup.

                                        */ - EnhancedVpcRouting?: boolean; + BackupProgressInMegaBytes?: number; /** - *

                                        The snapshot type. Snapshots created using CreateClusterSnapshot - * and CopyClusterSnapshot are of type "manual".

                                        + *

                                        The number of megabytes per second being transferred to the snapshot backup. + * Returns 0 for a completed backup.

                                        */ - SnapshotType?: string; + CurrentBackupRateInMegaBytesPerSecond?: number; /** - *

                                        The time (UTC) when the cluster was originally created.

                                        + *

                                        The estimate of the time remaining before the snapshot backup will complete. + * Returns 0 for a completed backup.

                                        */ - ClusterCreateTime?: Date; + EstimatedSecondsToCompletion?: number; /** - *

                                        The number of nodes in the cluster.

                                        + *

                                        The amount of time an in-progress snapshot backup has been running, or the amount + * of time it took a completed backup to finish.

                                        */ - NumberOfNodes?: number; + ElapsedTimeInSeconds?: number; /** - *

                                        The node type of the nodes in the cluster.

                                        + *

                                        The source region from which the snapshot was copied.

                                        */ - NodeType?: string; + SourceRegion?: string; /** - *

                                        A boolean that indicates whether the snapshot data is encrypted using the HSM keys - * of the source cluster. true indicates that the data is encrypted using HSM - * keys.

                                        + *

                                        The list of tags for the cluster snapshot.

                                        */ - EncryptedWithHSM?: boolean; + Tags?: Tag[]; /** *

                                        The list of node types that this cluster snapshot is able to restore @@ -839,9 +833,14 @@ export interface Snapshot { RestorableNodeTypes?: string[]; /** - *

                                        A timestamp representing the start of the retention period for the snapshot.

                                        + *

                                        An option that specifies whether to create the cluster with enhanced VPC routing + * enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a + * VPC. For more information, see Enhanced VPC Routing in + * the Amazon Redshift Cluster Management Guide.

                                        + *

                                        If this option is true, enhanced VPC routing is enabled.

                                        + *

                                        Default: false

                                        */ - SnapshotRetentionStartTime?: Date; + EnhancedVpcRouting?: boolean; /** *

                                        The name of the maintenance track for the snapshot.

                                        @@ -849,21 +848,22 @@ export interface Snapshot { MaintenanceTrackName?: string; /** - *

                                        For manual snapshots, the AWS customer account used to create or copy the snapshot. - * For automatic snapshots, the owner of the cluster. The owner can perform all snapshot - * actions, such as sharing a manual snapshot.

                                        + *

                                        The number of days that a manual snapshot is retained. If the value is -1, the manual + * snapshot is retained indefinitely.

                                        + * + *

                                        The value must be either -1 or an integer between 1 and 3,653.

                                        */ - OwnerAccount?: string; + ManualSnapshotRetentionPeriod?: number; /** - *

                                        The snapshot identifier that is provided in the request.

                                        + *

                                        The number of days until a manual snapshot will pass its retention period.

                                        */ - SnapshotIdentifier?: string; + ManualSnapshotRemainingDays?: number; /** - *

                                        The version ID of the Amazon Redshift engine that is running on the cluster.

                                        + *

                                        A timestamp representing the start of the retention period for the snapshot.

                                        */ - ClusterVersion?: string; + SnapshotRetentionStartTime?: Date; } export namespace Snapshot { @@ -968,14 +968,14 @@ export namespace SupportedPlatform { */ export interface AvailabilityZone { /** - *

                                        + *

                                        The name of the availability zone.

                                        */ - SupportedPlatforms?: SupportedPlatform[]; + Name?: string; /** - *

                                        The name of the availability zone.

                                        + *

                                        */ - Name?: string; + SupportedPlatforms?: SupportedPlatform[]; } export namespace AvailabilityZone { @@ -1029,9 +1029,9 @@ export namespace BatchDeleteClusterSnapshotsRequest { */ export interface SnapshotErrorMessage { /** - *

                                        The text message describing the error.

                                        + *

                                        A unique identifier for the snapshot returning the error.

                                        */ - FailureReason?: string; + SnapshotIdentifier?: string; /** *

                                        A unique identifier for the cluster.

                                        @@ -1044,9 +1044,9 @@ export interface SnapshotErrorMessage { FailureCode?: string; /** - *

                                        A unique identifier for the snapshot returning the error.

                                        + *

                                        The text message describing the error.

                                        */ - SnapshotIdentifier?: string; + FailureReason?: string; } export namespace SnapshotErrorMessage { @@ -1106,6 +1106,11 @@ export namespace BatchModifyClusterSnapshotsLimitExceededFault { } export interface BatchModifyClusterSnapshotsMessage { + /** + *

                                        A list of snapshot identifiers you want to modify.

                                        + */ + SnapshotIdentifierList: string[] | undefined; + /** *

                                        The number of days that a manual snapshot is retained. If you specify the value -1, * the manual snapshot is retained indefinitely.

                                        @@ -1116,11 +1121,6 @@ export interface BatchModifyClusterSnapshotsMessage { */ ManualSnapshotRetentionPeriod?: number; - /** - *

                                        A list of snapshot identifiers you want to modify.

                                        - */ - SnapshotIdentifierList: string[] | undefined; - /** *

                                        A boolean value indicating whether to override an exception if the retention period * has passed.

                                        @@ -1136,14 +1136,14 @@ export namespace BatchModifyClusterSnapshotsMessage { export interface BatchModifyClusterSnapshotsOutputMessage { /** - *

                                        A list of any errors returned.

                                        + *

                                        A list of the snapshots that were modified.

                                        */ - Errors?: SnapshotErrorMessage[]; + Resources?: string[]; /** - *

                                        A list of the snapshots that were modified.

                                        + *

                                        A list of any errors returned.

                                        */ - Resources?: string[]; + Errors?: SnapshotErrorMessage[]; } export namespace BatchModifyClusterSnapshotsOutputMessage { @@ -1248,25 +1248,16 @@ export namespace ResizeNotFoundFault { */ export interface ResizeProgressMessage { /** - *

                                        The status of the resize operation.

                                        - *

                                        Valid Values: NONE | IN_PROGRESS | FAILED | - * SUCCEEDED | CANCELLING - *

                                        - */ - Status?: string; - - /** - *

                                        The amount of seconds that have elapsed since the resize operation began. After the - * resize operation completes, this value shows the total actual time, in seconds, for the - * resize operation.

                                        + *

                                        The node type that the cluster will have after the resize operation is + * complete.

                                        */ - ElapsedTimeInSeconds?: number; + TargetNodeType?: string; /** - *

                                        The names of tables that have not been yet imported.

                                        - *

                                        Valid Values: List of table names

                                        + *

                                        The number of nodes that the cluster will have after the resize operation is + * complete.

                                        */ - ImportTablesNotStarted?: string[]; + TargetNumberOfNodes?: number; /** *

                                        The cluster type after the resize operation is complete.

                                        @@ -1276,43 +1267,43 @@ export interface ResizeProgressMessage { TargetClusterType?: string; /** - *

                                        The type of encryption for the cluster after the resize is complete.

                                        - *

                                        Possible values are KMS and None.

                                        + *

                                        The status of the resize operation.

                                        + *

                                        Valid Values: NONE | IN_PROGRESS | FAILED | + * SUCCEEDED | CANCELLING + *

                                        */ - TargetEncryptionType?: string; + Status?: string; /** - *

                                        The estimated time remaining, in seconds, until the resize operation is complete. - * This value is calculated based on the average resize rate and the estimated amount of - * data remaining to be processed. Once the resize operation is complete, this value will - * be 0.

                                        + *

                                        The names of tables that have been completely imported .

                                        + *

                                        Valid Values: List of table names.

                                        */ - EstimatedTimeToCompletionInSeconds?: number; + ImportTablesCompleted?: string[]; /** - *

                                        The node type that the cluster will have after the resize operation is - * complete.

                                        + *

                                        The names of tables that are being currently imported.

                                        + *

                                        Valid Values: List of table names.

                                        */ - TargetNodeType?: string; + ImportTablesInProgress?: string[]; /** - *

                                        The names of tables that have been completely imported .

                                        - *

                                        Valid Values: List of table names.

                                        + *

                                        The names of tables that have not been yet imported.

                                        + *

                                        Valid Values: List of table names

                                        */ - ImportTablesCompleted?: string[]; + ImportTablesNotStarted?: string[]; /** - *

                                        The number of nodes that the cluster will have after the resize operation is - * complete.

                                        + *

                                        The average rate of the resize operation over the last few minutes, measured in + * megabytes per second. After the resize operation completes, this value shows the average + * rate of the entire resize operation.

                                        */ - TargetNumberOfNodes?: number; + AvgResizeRateInMegaBytesPerSecond?: number; /** - *

                                        An enum with possible values of ClassicResize and - * ElasticResize. These values describe the type of resize operation being - * performed.

                                        + *

                                        The estimated total amount of data, in megabytes, on the cluster before the resize + * operation began.

                                        */ - ResizeType?: string; + TotalResizeDataInMegaBytes?: number; /** *

                                        While the resize operation is in progress, this value shows the current amount of @@ -1324,17 +1315,26 @@ export interface ResizeProgressMessage { ProgressInMegaBytes?: number; /** - *

                                        The average rate of the resize operation over the last few minutes, measured in - * megabytes per second. After the resize operation completes, this value shows the average - * rate of the entire resize operation.

                                        + *

                                        The amount of seconds that have elapsed since the resize operation began. After the + * resize operation completes, this value shows the total actual time, in seconds, for the + * resize operation.

                                        */ - AvgResizeRateInMegaBytesPerSecond?: number; + ElapsedTimeInSeconds?: number; /** - *

                                        The names of tables that are being currently imported.

                                        - *

                                        Valid Values: List of table names.

                                        + *

                                        The estimated time remaining, in seconds, until the resize operation is complete. + * This value is calculated based on the average resize rate and the estimated amount of + * data remaining to be processed. Once the resize operation is complete, this value will + * be 0.

                                        */ - ImportTablesInProgress?: string[]; + EstimatedTimeToCompletionInSeconds?: number; + + /** + *

                                        An enum with possible values of ClassicResize and + * ElasticResize. These values describe the type of resize operation being + * performed.

                                        + */ + ResizeType?: string; /** *

                                        An optional string to provide additional details about the resize action.

                                        @@ -1342,10 +1342,10 @@ export interface ResizeProgressMessage { Message?: string; /** - *

                                        The estimated total amount of data, in megabytes, on the cluster before the resize - * operation began.

                                        + *

                                        The type of encryption for the cluster after the resize is complete.

                                        + *

                                        Possible values are KMS and None.

                                        */ - TotalResizeDataInMegaBytes?: number; + TargetEncryptionType?: string; /** *

                                        The percent of data transferred from source cluster to target cluster.

                                        @@ -1364,9 +1364,9 @@ export namespace ResizeProgressMessage { */ export interface ClusterNode { /** - *

                                        The public IP address of a node within a cluster.

                                        + *

                                        Whether the node is a leader node or a compute node.

                                        */ - PublicIPAddress?: string; + NodeRole?: string; /** *

                                        The private IP address of a node within a cluster.

                                        @@ -1374,9 +1374,9 @@ export interface ClusterNode { PrivateIPAddress?: string; /** - *

                                        Whether the node is a leader node or a compute node.

                                        + *

                                        The public IP address of a node within a cluster.

                                        */ - NodeRole?: string; + PublicIPAddress?: string; } export namespace ClusterNode { @@ -1389,6 +1389,11 @@ export namespace ClusterNode { *

                                        Describes the status of a parameter group.

                                        */ export interface ClusterParameterStatus { + /** + *

                                        The name of the parameter.

                                        + */ + ParameterName?: string; + /** *

                                        The status of the parameter that indicates whether the parameter is in sync with * the database, waiting for a cluster reboot, or encountered an error when being @@ -1434,11 +1439,6 @@ export interface ClusterParameterStatus { */ ParameterApplyStatus?: string; - /** - *

                                        The name of the parameter.

                                        - */ - ParameterName?: string; - /** *

                                        The error that prevented the parameter from being applied to the * database.

                                        @@ -1457,13 +1457,9 @@ export namespace ClusterParameterStatus { */ export interface ClusterParameterGroupStatus { /** - *

                                        The list of parameter statuses.

                                        - *

                                        - * For more information about parameters and parameter groups, go to - * Amazon Redshift Parameter Groups - * in the Amazon Redshift Cluster Management Guide.

                                        + *

                                        The name of the cluster parameter group.

                                        */ - ClusterParameterStatusList?: ClusterParameterStatus[]; + ParameterGroupName?: string; /** *

                                        The status of parameter updates.

                                        @@ -1471,9 +1467,13 @@ export interface ClusterParameterGroupStatus { ParameterApplyStatus?: string; /** - *

                                        The name of the cluster parameter group.

                                        + *

                                        The list of parameter statuses.

                                        + *

                                        + * For more information about parameters and parameter groups, go to + * Amazon Redshift Parameter Groups + * in the Amazon Redshift Cluster Management Guide.

                                        */ - ParameterGroupName?: string; + ClusterParameterStatusList?: ClusterParameterStatus[]; } export namespace ClusterParameterGroupStatus { @@ -1509,9 +1509,10 @@ export namespace ClusterSecurityGroupMembership { */ export interface ClusterSnapshotCopyStatus { /** - *

                                        The name of the snapshot copy grant.

                                        + *

                                        The destination region that snapshots are automatically copied to when cross-region + * snapshot copy is enabled.

                                        */ - SnapshotCopyGrantName?: string; + DestinationRegion?: string; /** *

                                        The number of days that automated snapshots are retained in the destination region @@ -1528,10 +1529,9 @@ export interface ClusterSnapshotCopyStatus { ManualSnapshotRetentionPeriod?: number; /** - *

                                        The destination region that snapshots are automatically copied to when cross-region - * snapshot copy is enabled.

                                        + *

                                        The name of the snapshot copy grant.

                                        */ - DestinationRegion?: string; + SnapshotCopyGrantName?: string; } export namespace ClusterSnapshotCopyStatus { @@ -1545,11 +1545,6 @@ export namespace ClusterSnapshotCopyStatus { * incremental resize.

                                        */ export interface DataTransferProgress { - /** - *

                                        Describes the estimated number of seconds remaining to complete the transfer.

                                        - */ - EstimatedTimeToCompletionInSeconds?: number; - /** *

                                        Describes the status of the cluster. While the transfer is in progress the status is * transferringdata.

                                        @@ -1561,11 +1556,6 @@ export interface DataTransferProgress { */ CurrentRateInMegaBytesPerSecond?: number; - /** - *

                                        Describes the number of seconds that have elapsed during the data transfer.

                                        - */ - ElapsedTimeInSeconds?: number; - /** *

                                        Describes the total amount of data to be transfered in megabytes.

                                        */ @@ -1575,6 +1565,16 @@ export interface DataTransferProgress { *

                                        Describes the total amount of data that has been transfered in MB's.

                                        */ DataTransferredInMegaBytes?: number; + + /** + *

                                        Describes the estimated number of seconds remaining to complete the transfer.

                                        + */ + EstimatedTimeToCompletionInSeconds?: number; + + /** + *

                                        Describes the number of seconds that have elapsed during the data transfer.

                                        + */ + ElapsedTimeInSeconds?: number; } export namespace DataTransferProgress { @@ -1587,11 +1587,6 @@ export namespace DataTransferProgress { *

                                        Describes a deferred maintenance window

                                        */ export interface DeferredMaintenanceWindow { - /** - *

                                        A timestamp for the end of the time period when we defer maintenance.

                                        - */ - DeferMaintenanceEndTime?: Date; - /** *

                                        A unique identifier for the maintenance window.

                                        */ @@ -1601,6 +1596,11 @@ export interface DeferredMaintenanceWindow { *

                                        A timestamp for the beginning of the time period when we defer maintenance.

                                        */ DeferMaintenanceStartTime?: Date; + + /** + *

                                        A timestamp for the end of the time period when we defer maintenance.

                                        + */ + DeferMaintenanceEndTime?: Date; } export namespace DeferredMaintenanceWindow { @@ -1661,18 +1661,18 @@ export interface HsmStatus { */ HsmClientCertificateIdentifier?: string; + /** + *

                                        Specifies the name of the HSM configuration that contains the information the + * Amazon Redshift cluster can use to retrieve and store keys in an HSM.

                                        + */ + HsmConfigurationIdentifier?: string; + /** *

                                        Reports whether the Amazon Redshift cluster has finished applying any HSM settings * changes specified in a modify cluster command.

                                        *

                                        Values: active, applying

                                        */ Status?: string; - - /** - *

                                        Specifies the name of the HSM configuration that contains the information the - * Amazon Redshift cluster can use to retrieve and store keys in an HSM.

                                        - */ - HsmConfigurationIdentifier?: string; } export namespace HsmStatus { @@ -1686,6 +1686,12 @@ export namespace HsmStatus { * Amazon Redshift cluster to access other AWS services.

                                        */ export interface ClusterIamRole { + /** + *

                                        The Amazon Resource Name (ARN) of the IAM role, for example, + * arn:aws:iam::123456789012:role/RedshiftCopyUnload.

                                        + */ + IamRoleArn?: string; + /** *

                                        A value that describes the status of the IAM role's association with an Amazon * Redshift cluster.

                                        @@ -1708,12 +1714,6 @@ export interface ClusterIamRole { *
                                      */ ApplyStatus?: string; - - /** - *

                                      The Amazon Resource Name (ARN) of the IAM role, for example, - * arn:aws:iam::123456789012:role/RedshiftCopyUnload.

                                      - */ - IamRoleArn?: string; } export namespace ClusterIamRole { @@ -1728,47 +1728,47 @@ export namespace ClusterIamRole { */ export interface PendingModifiedValues { /** - *

                                      The pending or in-progress change of the cluster type.

                                      + *

                                      The pending or in-progress change of the master user password for the + * cluster.

                                      */ - ClusterType?: string; + MasterUserPassword?: string; /** - *

                                      The pending or in-progress change of the ability to connect to the cluster from the - * public network.

                                      + *

                                      The pending or in-progress change of the cluster's node type.

                                      */ - PubliclyAccessible?: boolean; + NodeType?: string; /** - *

                                      The pending or in-progress change of the service version.

                                      + *

                                      The pending or in-progress change of the number of nodes in the cluster.

                                      */ - ClusterVersion?: string; + NumberOfNodes?: number; /** - *

                                      The pending or in-progress change of the master user password for the - * cluster.

                                      + *

                                      The pending or in-progress change of the cluster type.

                                      */ - MasterUserPassword?: string; + ClusterType?: string; /** - *

                                      The pending or in-progress change of the new identifier for the cluster.

                                      + *

                                      The pending or in-progress change of the service version.

                                      */ - ClusterIdentifier?: string; + ClusterVersion?: string; /** - *

                                      The encryption type for a cluster. Possible values are: KMS and None.

                                      + *

                                      The pending or in-progress change of the automated snapshot retention + * period.

                                      */ - EncryptionType?: string; + AutomatedSnapshotRetentionPeriod?: number; /** - *

                                      The name of the maintenance track that the cluster will change to during the next - * maintenance window.

                                      + *

                                      The pending or in-progress change of the new identifier for the cluster.

                                      */ - MaintenanceTrackName?: string; + ClusterIdentifier?: string; /** - *

                                      The pending or in-progress change of the cluster's node type.

                                      + *

                                      The pending or in-progress change of the ability to connect to the cluster from the + * public network.

                                      */ - NodeType?: string; + PubliclyAccessible?: boolean; /** *

                                      An option that specifies whether to create the cluster with enhanced VPC routing @@ -1781,15 +1781,15 @@ export interface PendingModifiedValues { EnhancedVpcRouting?: boolean; /** - *

                                      The pending or in-progress change of the automated snapshot retention - * period.

                                      + *

                                      The name of the maintenance track that the cluster will change to during the next + * maintenance window.

                                      */ - AutomatedSnapshotRetentionPeriod?: number; + MaintenanceTrackName?: string; /** - *

                                      The pending or in-progress change of the number of nodes in the cluster.

                                      + *

                                      The encryption type for a cluster. Possible values are: KMS and None.

                                      */ - NumberOfNodes?: number; + EncryptionType?: string; } export namespace PendingModifiedValues { @@ -1825,43 +1825,43 @@ export namespace ResizeInfo { */ export interface RestoreStatus { /** - *

                                      The size of the set of snapshot data used to restore the cluster. - * This field is only updated when you restore to DC2 and DS2 node types.

                                      + *

                                      The status of the restore action. Returns starting, restoring, completed, or + * failed.

                                      */ - SnapshotSizeInMegaBytes?: number; + Status?: string; /** - *

                                      The amount of time an in-progress restore has been running, or the amount of time - * it took a completed restore to finish. + *

                                      The number of megabytes per second being transferred from the backup storage. + * Returns the average rate for a completed backup. * This field is only updated when you restore to DC2 and DS2 node types.

                                      */ - ElapsedTimeInSeconds?: number; + CurrentRestoreRateInMegaBytesPerSecond?: number; /** - *

                                      The estimate of the time remaining before the restore will complete. Returns 0 for - * a completed restore. + *

                                      The size of the set of snapshot data used to restore the cluster. * This field is only updated when you restore to DC2 and DS2 node types.

                                      */ - EstimatedTimeToCompletionInSeconds?: number; + SnapshotSizeInMegaBytes?: number; /** - *

                                      The status of the restore action. Returns starting, restoring, completed, or - * failed.

                                      + *

                                      The number of megabytes that have been transferred from snapshot storage. + * This field is only updated when you restore to DC2 and DS2 node types.

                                      */ - Status?: string; + ProgressInMegaBytes?: number; /** - *

                                      The number of megabytes per second being transferred from the backup storage. - * Returns the average rate for a completed backup. + *

                                      The amount of time an in-progress restore has been running, or the amount of time + * it took a completed restore to finish. * This field is only updated when you restore to DC2 and DS2 node types.

                                      */ - CurrentRestoreRateInMegaBytesPerSecond?: number; + ElapsedTimeInSeconds?: number; /** - *

                                      The number of megabytes that have been transferred from snapshot storage. + *

                                      The estimate of the time remaining before the restore will complete. Returns 0 for + * a completed restore. * This field is only updated when you restore to DC2 and DS2 node types.

                                      */ - ProgressInMegaBytes?: number; + EstimatedTimeToCompletionInSeconds?: number; } export namespace RestoreStatus { @@ -1875,14 +1875,14 @@ export namespace RestoreStatus { */ export interface VpcSecurityGroupMembership { /** - *

                                      The status of the VPC security group.

                                      + *

                                      The identifier of the VPC security group.

                                      */ - Status?: string; + VpcSecurityGroupId?: string; /** - *

                                      The identifier of the VPC security group.

                                      + *

                                      The status of the VPC security group.

                                      */ - VpcSecurityGroupId?: string; + Status?: string; } export namespace VpcSecurityGroupMembership { @@ -1896,259 +1896,14 @@ export namespace VpcSecurityGroupMembership { */ export interface Cluster { /** - *

                                      The date and time when the next snapshot is expected to be taken for clusters with a valid snapshot schedule and backups enabled.

                                      - */ - ExpectedNextSnapshotScheduleTime?: Date; - - /** - *

                                      A boolean value that, if true, indicates that data in the cluster is - * encrypted at rest.

                                      - */ - Encrypted?: boolean; - - /** - *

                                      Cluster operations that are waiting to be started.

                                      - */ - PendingActions?: string[]; - - /** - *

                                      The specific revision number of the database in the cluster.

                                      - */ - ClusterRevisionNumber?: string; - - /** - *

                                      The date and time that the cluster was created.

                                      - */ - ClusterCreateTime?: Date; - - /** - *

                                      The current state of the cluster snapshot schedule.

                                      - */ - SnapshotScheduleState?: ScheduleState | string; - - /** - *

                                      The nodes in the cluster.

                                      - */ - ClusterNodes?: ClusterNode[]; - - /** - *

                                      A list of Amazon Virtual Private Cloud (Amazon VPC) security groups that are - * associated with the cluster. This parameter is returned only if the cluster is in a - * VPC.

                                      - */ - VpcSecurityGroups?: VpcSecurityGroupMembership[]; - - /** - *

                                      The status of the elastic IP (EIP) address.

                                      - */ - ElasticIpStatus?: ElasticIpStatus; - - /** - *

                                      The number of compute nodes in the cluster.

                                      - */ - NumberOfNodes?: number; - - /** - *

                                      An option that specifies whether to create the cluster with enhanced VPC routing - * enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a - * VPC. For more information, see Enhanced VPC Routing in - * the Amazon Redshift Cluster Management Guide.

                                      - *

                                      If this option is true, enhanced VPC routing is enabled.

                                      - *

                                      Default: false

                                      - */ - EnhancedVpcRouting?: boolean; - - /** - *

                                      A value that describes the status of a cluster restore action. This parameter - * returns null if the cluster was not created by restoring a snapshot.

                                      - */ - RestoreStatus?: RestoreStatus; - - /** - *

                                      The connection endpoint.

                                      - */ - Endpoint?: Endpoint; - - /** - *

                                      A unique identifier for the cluster snapshot schedule.

                                      - */ - SnapshotScheduleIdentifier?: string; - - /** - *

                                      The list of tags for the cluster.

                                      + *

                                      The unique identifier of the cluster.

                                      */ - Tags?: Tag[]; + ClusterIdentifier?: string; /** - *

                                      Describes a group of DeferredMaintenanceWindow objects.

                                      + *

                                      The node type for the nodes in the cluster.

                                      */ - DeferredMaintenanceWindows?: DeferredMaintenanceWindow[]; - - /** - *

                                      A value that reports whether the Amazon Redshift cluster has finished applying any - * hardware security module (HSM) settings changes specified in a modify cluster - * command.

                                      - *

                                      Values: active, applying

                                      - */ - HsmStatus?: HsmStatus; - - /** - *

                                      The number of days that automatic cluster snapshots are retained.

                                      - */ - AutomatedSnapshotRetentionPeriod?: number; - - /** - *

                                      The list of cluster parameter groups that are associated with this cluster. Each - * parameter group in the list is returned with its status.

                                      - */ - ClusterParameterGroups?: ClusterParameterGroupStatus[]; - - /** - *

                                      Returns the following:

                                      - *
                                        - *
                                      • - *

                                        AllowCancelResize: a boolean value indicating if the resize operation can be - * cancelled.

                                        - *
                                      • - *
                                      • - *

                                        ResizeType: Returns ClassicResize

                                        - *
                                      • - *
                                      - */ - ResizeInfo?: ResizeInfo; - - /** - *

                                      The name of the maintenance track for the cluster.

                                      - */ - MaintenanceTrackName?: string; - - /** - *

                                      - */ - DataTransferProgress?: DataTransferProgress; - - /** - *

                                      The date and time in UTC when system maintenance can begin.

                                      - */ - NextMaintenanceWindowStartTime?: Date; - - /** - *

                                      The status of next expected snapshot for clusters having a valid snapshot schedule and backups enabled. Possible values are the following:

                                      - *
                                        - *
                                      • - *

                                        OnTrack - The next snapshot is expected to be taken on time.

                                        - *
                                      • - *
                                      • - *

                                        Pending - The next snapshot is pending to be taken.

                                        - *
                                      • - *
                                      - */ - ExpectedNextSnapshotScheduleTimeStatus?: string; - - /** - *

                                      The version ID of the Amazon Redshift engine that is running on the cluster.

                                      - */ - ClusterVersion?: string; - - /** - *

                                      A list of AWS Identity and Access Management (IAM) roles that can be used by the - * cluster to access other AWS services.

                                      - */ - IamRoles?: ClusterIamRole[]; - - /** - *

                                      A list of cluster security group that are associated with the cluster. Each - * security group is represented by an element that contains - * ClusterSecurityGroup.Name and ClusterSecurityGroup.Status - * subelements.

                                      - *

                                      Cluster security groups are used when the cluster is not created in an Amazon - * Virtual Private Cloud (VPC). Clusters that are created in a VPC use VPC security groups, - * which are listed by the VpcSecurityGroups parameter. - *

                                      - */ - ClusterSecurityGroups?: ClusterSecurityGroupMembership[]; - - /** - *

                                      The availability status of the cluster for queries. Possible values are the following:

                                      - *
                                        - *
                                      • - *

                                        Available - The cluster is available for queries.

                                        - *
                                      • - *
                                      • - *

                                        Unavailable - The cluster is not available for queries.

                                        - *
                                      • - *
                                      • - *

                                        Maintenance - The cluster is intermittently available for queries due to maintenance activities.

                                        - *
                                      • - *
                                      • - *

                                        Modifying - The cluster is intermittently available for queries due to changes that modify the cluster.

                                        - *
                                      • - *
                                      • - *

                                        Failed - The cluster failed and is not available for queries.

                                        - *
                                      • - *
                                      - */ - ClusterAvailabilityStatus?: string; - - /** - *

                                      The public key for the cluster.

                                      - */ - ClusterPublicKey?: string; - - /** - *

                                      A boolean value that, if true, indicates that major version upgrades - * will be applied automatically to the cluster during the maintenance window.

                                      - */ - AllowVersionUpgrade?: boolean; - - /** - *

                                      The weekly time range, in Universal Coordinated Time (UTC), during which system - * maintenance can occur.

                                      - */ - PreferredMaintenanceWindow?: string; - - /** - *

                                      The unique identifier of the cluster.

                                      - */ - ClusterIdentifier?: string; - - /** - *

                                      The node type for the nodes in the cluster.

                                      - */ - NodeType?: string; - - /** - *

                                      The status of a modify operation, if any, initiated for the cluster.

                                      - */ - ModifyStatus?: string; - - /** - *

                                      A boolean value that, if true, indicates that the cluster can be - * accessed from a public network.

                                      - */ - PubliclyAccessible?: boolean; - - /** - *

                                      A value that returns the destination region and retention period that are - * configured for cross-region snapshot copy.

                                      - */ - ClusterSnapshotCopyStatus?: ClusterSnapshotCopyStatus; - - /** - *

                                      The number of nodes that you can resize the cluster to with the elastic resize method. - *

                                      - */ - ElasticResizeNumberOfNodeOptions?: string; - - /** - *

                                      The name of the Availability Zone in which the cluster is located.

                                      - */ - AvailabilityZone?: string; - - /** - *

                                      The identifier of the VPC the cluster is in, if the cluster is in a VPC.

                                      - */ - VpcId?: string; + NodeType?: string; /** *

                                      The current state of the cluster. Possible values are the following:

                                      @@ -2258,10 +2013,37 @@ export interface Cluster { ClusterStatus?: string; /** - *

                                      The AWS Key Management Service (AWS KMS) key ID of the encryption key used to - * encrypt data in the cluster.

                                      + *

                                      The availability status of the cluster for queries. Possible values are the following:

                                      + *
                                        + *
                                      • + *

                                        Available - The cluster is available for queries.

                                        + *
                                      • + *
                                      • + *

                                        Unavailable - The cluster is not available for queries.

                                        + *
                                      • + *
                                      • + *

                                        Maintenance - The cluster is intermittently available for queries due to maintenance activities.

                                        + *
                                      • + *
                                      • + *

                                        Modifying - The cluster is intermittently available for queries due to changes that modify the cluster.

                                        + *
                                      • + *
                                      • + *

                                        Failed - The cluster failed and is not available for queries.

                                        + *
                                      • + *
                                      */ - KmsKeyId?: string; + ClusterAvailabilityStatus?: string; + + /** + *

                                      The status of a modify operation, if any, initiated for the cluster.

                                      + */ + ModifyStatus?: string; + + /** + *

                                      The master user name for the cluster. This name is used to connect to the database + * that is specified in the DBName parameter.

                                      + */ + MasterUsername?: string; /** *

                                      The name of the initial database that was created when the cluster was created. @@ -2271,22 +2053,19 @@ export interface Cluster { DBName?: string; /** - *

                                      The name of the subnet group that is associated with the cluster. This parameter is - * valid only when the cluster is in a VPC.

                                      + *

                                      The connection endpoint.

                                      */ - ClusterSubnetGroupName?: string; + Endpoint?: Endpoint; /** - *

                                      The master user name for the cluster. This name is used to connect to the database - * that is specified in the DBName parameter.

                                      + *

                                      The date and time that the cluster was created.

                                      */ - MasterUsername?: string; + ClusterCreateTime?: Date; /** - *

                                      A value that, if present, indicates that changes to the cluster are pending. - * Specific pending changes are identified by subelements.

                                      + *

                                      The number of days that automatic cluster snapshots are retained.

                                      */ - PendingModifiedValues?: PendingModifiedValues; + AutomatedSnapshotRetentionPeriod?: number; /** *

                                      The default number of days to retain a manual snapshot. If the value is -1, the @@ -2295,54 +2074,280 @@ export interface Cluster { *

                                      The value must be either -1 or an integer between 1 and 3,653.

                                      */ ManualSnapshotRetentionPeriod?: number; -} - -export namespace Cluster { - export const filterSensitiveLog = (obj: Cluster): any => ({ - ...obj, - }); -} - -/** - *

                                      The account already has a cluster with the given identifier.

                                      - */ -export interface ClusterAlreadyExistsFault extends __SmithyException, $MetadataBearer { - name: "ClusterAlreadyExistsFault"; - $fault: "client"; - message?: string; -} - -export namespace ClusterAlreadyExistsFault { - export const filterSensitiveLog = (obj: ClusterAlreadyExistsFault): any => ({ - ...obj, - }); -} -/** - *

                                      Temporary credentials with authorization to log on to an Amazon Redshift database. - *

                                      - */ -export interface ClusterCredentials { /** - *

                                      A database user name that is authorized to log on to the database - * DbName using the password DbPassword. If the specified - * DbUser exists in the database, the new user name has the same database privileges as the - * the user named in DbUser. By default, the user is added to PUBLIC. If the - * DbGroups parameter is specifed, DbUser is added to the - * listed groups for any sessions created using these credentials.

                                      + *

                                      A list of cluster security group that are associated with the cluster. Each + * security group is represented by an element that contains + * ClusterSecurityGroup.Name and ClusterSecurityGroup.Status + * subelements.

                                      + *

                                      Cluster security groups are used when the cluster is not created in an Amazon + * Virtual Private Cloud (VPC). Clusters that are created in a VPC use VPC security groups, + * which are listed by the VpcSecurityGroups parameter. + *

                                      */ - DbUser?: string; + ClusterSecurityGroups?: ClusterSecurityGroupMembership[]; /** - *

                                      The date and time the password in DbPassword expires.

                                      + *

                                      A list of Amazon Virtual Private Cloud (Amazon VPC) security groups that are + * associated with the cluster. This parameter is returned only if the cluster is in a + * VPC.

                                      */ - Expiration?: Date; + VpcSecurityGroups?: VpcSecurityGroupMembership[]; + + /** + *

                                      The list of cluster parameter groups that are associated with this cluster. Each + * parameter group in the list is returned with its status.

                                      + */ + ClusterParameterGroups?: ClusterParameterGroupStatus[]; + + /** + *

                                      The name of the subnet group that is associated with the cluster. This parameter is + * valid only when the cluster is in a VPC.

                                      + */ + ClusterSubnetGroupName?: string; + + /** + *

                                      The identifier of the VPC the cluster is in, if the cluster is in a VPC.

                                      + */ + VpcId?: string; + + /** + *

                                      The name of the Availability Zone in which the cluster is located.

                                      + */ + AvailabilityZone?: string; + + /** + *

                                      The weekly time range, in Universal Coordinated Time (UTC), during which system + * maintenance can occur.

                                      + */ + PreferredMaintenanceWindow?: string; + + /** + *

                                      A value that, if present, indicates that changes to the cluster are pending. + * Specific pending changes are identified by subelements.

                                      + */ + PendingModifiedValues?: PendingModifiedValues; + + /** + *

                                      The version ID of the Amazon Redshift engine that is running on the cluster.

                                      + */ + ClusterVersion?: string; + + /** + *

                                      A boolean value that, if true, indicates that major version upgrades + * will be applied automatically to the cluster during the maintenance window.

                                      + */ + AllowVersionUpgrade?: boolean; + + /** + *

                                      The number of compute nodes in the cluster.

                                      + */ + NumberOfNodes?: number; + + /** + *

                                      A boolean value that, if true, indicates that the cluster can be + * accessed from a public network.

                                      + */ + PubliclyAccessible?: boolean; + + /** + *

                                      A boolean value that, if true, indicates that data in the cluster is + * encrypted at rest.

                                      + */ + Encrypted?: boolean; + + /** + *

                                      A value that describes the status of a cluster restore action. This parameter + * returns null if the cluster was not created by restoring a snapshot.

                                      + */ + RestoreStatus?: RestoreStatus; + + /** + *

                                      + */ + DataTransferProgress?: DataTransferProgress; + + /** + *

                                      A value that reports whether the Amazon Redshift cluster has finished applying any + * hardware security module (HSM) settings changes specified in a modify cluster + * command.

                                      + *

                                      Values: active, applying

                                      + */ + HsmStatus?: HsmStatus; + + /** + *

                                      A value that returns the destination region and retention period that are + * configured for cross-region snapshot copy.

                                      + */ + ClusterSnapshotCopyStatus?: ClusterSnapshotCopyStatus; + + /** + *

                                      The public key for the cluster.

                                      + */ + ClusterPublicKey?: string; + + /** + *

                                      The nodes in the cluster.

                                      + */ + ClusterNodes?: ClusterNode[]; + + /** + *

                                      The status of the elastic IP (EIP) address.

                                      + */ + ElasticIpStatus?: ElasticIpStatus; + + /** + *

                                      The specific revision number of the database in the cluster.

                                      + */ + ClusterRevisionNumber?: string; + + /** + *

                                      The list of tags for the cluster.

                                      + */ + Tags?: Tag[]; + + /** + *

                                      The AWS Key Management Service (AWS KMS) key ID of the encryption key used to + * encrypt data in the cluster.

                                      + */ + KmsKeyId?: string; + + /** + *

                                      An option that specifies whether to create the cluster with enhanced VPC routing + * enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a + * VPC. For more information, see Enhanced VPC Routing in + * the Amazon Redshift Cluster Management Guide.

                                      + *

                                      If this option is true, enhanced VPC routing is enabled.

                                      + *

                                      Default: false

                                      + */ + EnhancedVpcRouting?: boolean; + + /** + *

                                      A list of AWS Identity and Access Management (IAM) roles that can be used by the + * cluster to access other AWS services.

                                      + */ + IamRoles?: ClusterIamRole[]; + + /** + *

                                      Cluster operations that are waiting to be started.

                                      + */ + PendingActions?: string[]; + + /** + *

                                      The name of the maintenance track for the cluster.

                                      + */ + MaintenanceTrackName?: string; + + /** + *

                                      The number of nodes that you can resize the cluster to with the elastic resize method. + *

                                      + */ + ElasticResizeNumberOfNodeOptions?: string; + + /** + *

                                      Describes a group of DeferredMaintenanceWindow objects.

                                      + */ + DeferredMaintenanceWindows?: DeferredMaintenanceWindow[]; + + /** + *

                                      A unique identifier for the cluster snapshot schedule.

                                      + */ + SnapshotScheduleIdentifier?: string; + + /** + *

                                      The current state of the cluster snapshot schedule.

                                      + */ + SnapshotScheduleState?: ScheduleState | string; + + /** + *

                                      The date and time when the next snapshot is expected to be taken for clusters with a valid snapshot schedule and backups enabled.

                                      + */ + ExpectedNextSnapshotScheduleTime?: Date; + + /** + *

                                      The status of next expected snapshot for clusters having a valid snapshot schedule and backups enabled. Possible values are the following:

                                      + *
                                        + *
                                      • + *

                                        OnTrack - The next snapshot is expected to be taken on time.

                                        + *
                                      • + *
                                      • + *

                                        Pending - The next snapshot is pending to be taken.

                                        + *
                                      • + *
                                      + */ + ExpectedNextSnapshotScheduleTimeStatus?: string; + + /** + *

                                      The date and time in UTC when system maintenance can begin.

                                      + */ + NextMaintenanceWindowStartTime?: Date; + + /** + *

                                      Returns the following:

                                      + *
                                        + *
                                      • + *

                                        AllowCancelResize: a boolean value indicating if the resize operation can be + * cancelled.

                                        + *
                                      • + *
                                      • + *

                                        ResizeType: Returns ClassicResize

                                        + *
                                      • + *
                                      + */ + ResizeInfo?: ResizeInfo; + + /** + *

                                      The namespace Amazon Resource Name (ARN) of the cluster.

                                      + */ + ClusterNamespaceArn?: string; +} + +export namespace Cluster { + export const filterSensitiveLog = (obj: Cluster): any => ({ + ...obj, + }); +} + +/** + *

                                      The account already has a cluster with the given identifier.

                                      + */ +export interface ClusterAlreadyExistsFault extends __SmithyException, $MetadataBearer { + name: "ClusterAlreadyExistsFault"; + $fault: "client"; + message?: string; +} + +export namespace ClusterAlreadyExistsFault { + export const filterSensitiveLog = (obj: ClusterAlreadyExistsFault): any => ({ + ...obj, + }); +} + +/** + *

                                      Temporary credentials with authorization to log on to an Amazon Redshift database. + *

                                      + */ +export interface ClusterCredentials { + /** + *

                                      A database user name that is authorized to log on to the database + * DbName using the password DbPassword. If the specified + * DbUser exists in the database, the new user name has the same database privileges as the + * the user named in DbUser. By default, the user is added to PUBLIC. If the + * DbGroups parameter is specifed, DbUser is added to the + * listed groups for any sessions created using these credentials.

                                      + */ + DbUser?: string; /** *

                                      A temporary password that authorizes the user name returned by DbUser * to log on to the database DbName.

                                      */ DbPassword?: string; + + /** + *

                                      The date and time the password in DbPassword expires.

                                      + */ + Expiration?: Date; } export namespace ClusterCredentials { @@ -2357,9 +2362,10 @@ export namespace ClusterCredentials { */ export interface RevisionTarget { /** - *

                                      The date on which the database revision was released.

                                      + *

                                      A unique string that identifies the version to update the cluster to. You can use this + * value in ModifyClusterDbRevision.

                                      */ - DatabaseRevisionReleaseDate?: Date; + DatabaseRevision?: string; /** *

                                      A string that describes the changes and features that will be applied to the cluster @@ -2368,10 +2374,9 @@ export interface RevisionTarget { Description?: string; /** - *

                                      A unique string that identifies the version to update the cluster to. You can use this - * value in ModifyClusterDbRevision.

                                      + *

                                      The date on which the database revision was released.

                                      */ - DatabaseRevision?: string; + DatabaseRevisionReleaseDate?: Date; } export namespace RevisionTarget { @@ -2385,25 +2390,25 @@ export namespace RevisionTarget { */ export interface ClusterDbRevision { /** - *

                                      The date on which the database revision was released.

                                      + *

                                      The unique identifier of the cluster.

                                      */ - DatabaseRevisionReleaseDate?: Date; + ClusterIdentifier?: string; /** - *

                                      The unique identifier of the cluster.

                                      + *

                                      A string representing the current cluster version.

                                      */ - ClusterIdentifier?: string; + CurrentDatabaseRevision?: string; /** - *

                                      A list of RevisionTarget objects, where each object describes the - * database revision that a cluster can be updated to.

                                      + *

                                      The date on which the database revision was released.

                                      */ - RevisionTargets?: RevisionTarget[]; + DatabaseRevisionReleaseDate?: Date; /** - *

                                      A string representing the current cluster version.

                                      + *

                                      A list of RevisionTarget objects, where each object describes the + * database revision that a cluster can be updated to.

                                      */ - CurrentDatabaseRevision?: string; + RevisionTargets?: RevisionTarget[]; } export namespace ClusterDbRevision { @@ -2413,11 +2418,6 @@ export namespace ClusterDbRevision { } export interface ClusterDbRevisionsMessage { - /** - *

                                      A list of revisions.

                                      - */ - ClusterDbRevisions?: ClusterDbRevision[]; - /** *

                                      A string representing the starting point for the next set of revisions. If a value is * returned in a response, you can retrieve the next set of revisions by providing the @@ -2425,6 +2425,11 @@ export interface ClusterDbRevisionsMessage { * marker field is empty, all revisions have already been returned.

                                      */ Marker?: string; + + /** + *

                                      A list of revisions.

                                      + */ + ClusterDbRevisions?: ClusterDbRevision[]; } export namespace ClusterDbRevisionsMessage { @@ -2501,40 +2506,35 @@ export type ParameterApplyType = "dynamic" | "static"; *

                                      Describes a parameter in a cluster parameter group.

                                      */ export interface Parameter { - /** - *

                                      The source of the parameter value, such as "engine-default" or "user".

                                      - */ - Source?: string; - /** *

                                      The name of the parameter.

                                      */ ParameterName?: string; /** - *

                                      The data type of the parameter.

                                      + *

                                      The value of the parameter.

                                      */ - DataType?: string; + ParameterValue?: string; /** - *

                                      The earliest engine version to which the parameter can apply.

                                      + *

                                      A description of the parameter.

                                      */ - MinimumEngineVersion?: string; + Description?: string; /** - *

                                      The valid range of values for the parameter.

                                      + *

                                      The source of the parameter value, such as "engine-default" or "user".

                                      */ - AllowedValues?: string; + Source?: string; /** - *

                                      The value of the parameter.

                                      + *

                                      The data type of the parameter.

                                      */ - ParameterValue?: string; + DataType?: string; /** - *

                                      A description of the parameter.

                                      + *

                                      The valid range of values for the parameter.

                                      */ - Description?: string; + AllowedValues?: string; /** *

                                      Specifies how to apply the WLM configuration parameter. Some properties can be @@ -2551,6 +2551,11 @@ export interface Parameter { * or operational implications that prevent them from being changed.

                                      */ IsModifiable?: boolean; + + /** + *

                                      The earliest engine version to which the parameter can apply.

                                      + */ + MinimumEngineVersion?: string; } export namespace Parameter { @@ -2564,6 +2569,12 @@ export namespace Parameter { *

                                      */ export interface ClusterParameterGroupDetails { + /** + *

                                      A list of Parameter instances. Each instance lists the parameters + * of one cluster parameter group.

                                      + */ + Parameters?: Parameter[]; + /** *

                                      A value that indicates the starting point for the next set of response records in a * subsequent request. If a value is returned in a response, you can retrieve the next set @@ -2572,12 +2583,6 @@ export interface ClusterParameterGroupDetails { * records have been retrieved for the request.

                                      */ Marker?: string; - - /** - *

                                      A list of Parameter instances. Each instance lists the parameters - * of one cluster parameter group.

                                      - */ - Parameters?: Parameter[]; } export namespace ClusterParameterGroupDetails { @@ -2590,17 +2595,17 @@ export namespace ClusterParameterGroupDetails { *

                                      */ export interface ClusterParameterGroupNameMessage { + /** + *

                                      The name of the cluster parameter group.

                                      + */ + ParameterGroupName?: string; + /** *

                                      The status of the parameter group. For example, if you made a change to a parameter * group name-value pair, then the change could be pending a reboot of an associated * cluster.

                                      */ ParameterGroupStatus?: string; - - /** - *

                                      The name of the cluster parameter group.

                                      - */ - ParameterGroupName?: string; } export namespace ClusterParameterGroupNameMessage { @@ -2752,12 +2757,6 @@ export namespace ClusterSecurityGroupQuotaExceededFault { *

                                      Contains the output from the DescribeClusters action.

                                      */ export interface ClustersMessage { - /** - *

                                      A list of Cluster objects, where each object describes one cluster. - *

                                      - */ - Clusters?: Cluster[]; - /** *

                                      A value that indicates the starting point for the next set of response records in a * subsequent request. If a value is returned in a response, you can retrieve the next set @@ -2766,6 +2765,12 @@ export interface ClustersMessage { * records have been retrieved for the request.

                                      */ Marker?: string; + + /** + *

                                      A list of Cluster objects, where each object describes one cluster. + *

                                      + */ + Clusters?: Cluster[]; } export namespace ClustersMessage { @@ -2816,14 +2821,14 @@ export interface Subnet { SubnetIdentifier?: string; /** - *

                                      The status of the subnet.

                                      + *

                                      */ - SubnetStatus?: string; + SubnetAvailabilityZone?: AvailabilityZone; /** - *

                                      + *

                                      The status of the subnet.

                                      */ - SubnetAvailabilityZone?: AvailabilityZone; + SubnetStatus?: string; } export namespace Subnet { @@ -2836,25 +2841,20 @@ export namespace Subnet { *

                                      Describes a subnet group.

                                      */ export interface ClusterSubnetGroup { - /** - *

                                      The description of the cluster subnet group.

                                      - */ - Description?: string; - /** *

                                      The name of the cluster subnet group.

                                      */ ClusterSubnetGroupName?: string; /** - *

                                      The list of tags for the cluster subnet group.

                                      + *

                                      The description of the cluster subnet group.

                                      */ - Tags?: Tag[]; + Description?: string; /** - *

                                      A list of the VPC Subnet elements.

                                      + *

                                      The VPC ID of the cluster subnet group.

                                      */ - Subnets?: Subnet[]; + VpcId?: string; /** *

                                      The status of the cluster subnet group. Possible values are Complete, @@ -2863,9 +2863,14 @@ export interface ClusterSubnetGroup { SubnetGroupStatus?: string; /** - *

                                      The VPC ID of the cluster subnet group.

                                      + *

                                      A list of the VPC Subnet elements.

                                      */ - VpcId?: string; + Subnets?: Subnet[]; + + /** + *

                                      The list of tags for the cluster subnet group.

                                      + */ + Tags?: Tag[]; } export namespace ClusterSubnetGroup { @@ -2895,11 +2900,6 @@ export namespace ClusterSubnetGroupAlreadyExistsFault { *

                                      */ export interface ClusterSubnetGroupMessage { - /** - *

                                      A list of ClusterSubnetGroup instances.

                                      - */ - ClusterSubnetGroups?: ClusterSubnetGroup[]; - /** *

                                      A value that indicates the starting point for the next set of response records in a * subsequent request. If a value is returned in a response, you can retrieve the next set @@ -2908,6 +2908,11 @@ export interface ClusterSubnetGroupMessage { * records have been retrieved for the request.

                                      */ Marker?: string; + + /** + *

                                      A list of ClusterSubnetGroup instances.

                                      + */ + ClusterSubnetGroups?: ClusterSubnetGroup[]; } export namespace ClusterSubnetGroupMessage { @@ -2975,11 +2980,6 @@ export namespace ClusterSubnetQuotaExceededFault { * of the version.

                                      */ export interface ClusterVersion { - /** - *

                                      The description of the cluster version.

                                      - */ - Description?: string; - /** *

                                      The version number used by the cluster.

                                      */ @@ -2989,6 +2989,11 @@ export interface ClusterVersion { *

                                      The name of the cluster parameter group family for the cluster.

                                      */ ClusterParameterGroupFamily?: string; + + /** + *

                                      The description of the cluster version.

                                      + */ + Description?: string; } export namespace ClusterVersion { @@ -3002,11 +3007,6 @@ export namespace ClusterVersion { *

                                      */ export interface ClusterVersionsMessage { - /** - *

                                      A list of Version elements.

                                      - */ - ClusterVersions?: ClusterVersion[]; - /** *

                                      A value that indicates the starting point for the next set of response records in a * subsequent request. If a value is returned in a response, you can retrieve the next set @@ -3015,6 +3015,11 @@ export interface ClusterVersionsMessage { * records have been retrieved for the request.

                                      */ Marker?: string; + + /** + *

                                      A list of Version elements.

                                      + */ + ClusterVersions?: ClusterVersion[]; } export namespace ClusterVersionsMessage { @@ -3027,6 +3032,18 @@ export namespace ClusterVersionsMessage { *

                                      */ export interface CopyClusterSnapshotMessage { + /** + *

                                      The identifier for the source snapshot.

                                      + *

                                      Constraints:

                                      + *
                                        + *
                                      • + *

                                        Must be the identifier for a valid automated snapshot whose state is + * available.

                                        + *
                                      • + *
                                      + */ + SourceSnapshotIdentifier: string | undefined; + /** *

                                      The identifier of the cluster the source snapshot was created from. This parameter * is required if your IAM user has a policy containing a snapshot resource element that @@ -3040,6 +3057,29 @@ export interface CopyClusterSnapshotMessage { */ SourceSnapshotClusterIdentifier?: string; + /** + *

                                      The identifier given to the new manual snapshot.

                                      + *

                                      Constraints:

                                      + *
                                        + *
                                      • + *

                                        Cannot be null, empty, or blank.

                                        + *
                                      • + *
                                      • + *

                                        Must contain from 1 to 255 alphanumeric characters or hyphens.

                                        + *
                                      • + *
                                      • + *

                                        First character must be a letter.

                                        + *
                                      • + *
                                      • + *

                                        Cannot end with a hyphen or contain two consecutive hyphens.

                                        + *
                                      • + *
                                      • + *

                                        Must be unique for the AWS account that is making the request.

                                        + *
                                      • + *
                                      + */ + TargetSnapshotIdentifier: string | undefined; + /** *

                                      The number of days that a manual snapshot is retained. If the value is -1, the manual * snapshot is retained indefinitely.

                                      @@ -3047,82 +3087,154 @@ export interface CopyClusterSnapshotMessage { *

                                      The default value is -1.

                                      */ ManualSnapshotRetentionPeriod?: number; +} + +export namespace CopyClusterSnapshotMessage { + export const filterSensitiveLog = (obj: CopyClusterSnapshotMessage): any => ({ + ...obj, + }); +} +export interface CopyClusterSnapshotResult { /** - *

                                      The identifier given to the new manual snapshot.

                                      + *

                                      Describes a snapshot.

                                      + */ + Snapshot?: Snapshot; +} + +export namespace CopyClusterSnapshotResult { + export const filterSensitiveLog = (obj: CopyClusterSnapshotResult): any => ({ + ...obj, + }); +} + +/** + *

                                      Cross-region snapshot copy was temporarily disabled. Try your request + * again.

                                      + */ +export interface CopyToRegionDisabledFault extends __SmithyException, $MetadataBearer { + name: "CopyToRegionDisabledFault"; + $fault: "client"; + message?: string; +} + +export namespace CopyToRegionDisabledFault { + export const filterSensitiveLog = (obj: CopyToRegionDisabledFault): any => ({ + ...obj, + }); +} + +/** + *

                                      + */ +export interface CreateClusterMessage { + /** + *

                                      The name of the first database to be created when the cluster is created.

                                      + *

                                      To create additional databases after the cluster is created, connect to the cluster + * with a SQL client and use SQL commands to create a database. For more information, go to + * Create + * a Database in the Amazon Redshift Database Developer Guide.

                                      + *

                                      Default: dev + *

                                      *

                                      Constraints:

                                      *
                                        *
                                      • - *

                                        Cannot be null, empty, or blank.

                                        + *

                                        Must contain 1 to 64 alphanumeric characters.

                                        *
                                      • *
                                      • - *

                                        Must contain from 1 to 255 alphanumeric characters or hyphens.

                                        + *

                                        Must contain only lowercase letters.

                                        *
                                      • *
                                      • - *

                                        First character must be a letter.

                                        + *

                                        Cannot be a word that is reserved by the service. A list of reserved words + * can be found in Reserved Words in the + * Amazon Redshift Database Developer Guide.

                                        *
                                      • + *
                                      + */ + DBName?: string; + + /** + *

                                      A unique identifier for the cluster. You use this identifier to refer to the + * cluster for any subsequent cluster operations such as deleting or modifying. The + * identifier also appears in the Amazon Redshift console.

                                      + *

                                      Constraints:

                                      + *
                                        *
                                      • - *

                                        Cannot end with a hyphen or contain two consecutive hyphens.

                                        + *

                                        Must contain from 1 to 63 alphanumeric characters or hyphens.

                                        *
                                      • *
                                      • - *

                                        Must be unique for the AWS account that is making the request.

                                        + *

                                        Alphabetic characters must be lowercase.

                                        + *
                                      • + *
                                      • + *

                                        First character must be a letter.

                                        + *
                                      • + *
                                      • + *

                                        Cannot end with a hyphen or contain two consecutive hyphens.

                                        + *
                                      • + *
                                      • + *

                                        Must be unique for all clusters within an AWS account.

                                        *
                                      • *
                                      + * + *

                                      Example: myexamplecluster + *

                                      */ - TargetSnapshotIdentifier: string | undefined; + ClusterIdentifier: string | undefined; + + /** + *

                                      The type of the cluster. When cluster type is specified as

                                      + *
                                        + *
                                      • + *

                                        + * single-node, the NumberOfNodes + * parameter is not required.

                                        + *
                                      • + *
                                      • + *

                                        + * multi-node, the NumberOfNodes + * parameter is required.

                                        + *
                                      • + *
                                      + *

                                      Valid Values: multi-node | single-node + *

                                      + *

                                      Default: multi-node + *

                                      + */ + ClusterType?: string; + + /** + *

                                      The node type to be provisioned for the cluster. For information about node types, + * go to Working with + * Clusters in the Amazon Redshift Cluster Management Guide.

                                      + *

                                      Valid Values: ds2.xlarge | ds2.8xlarge | + * dc1.large | dc1.8xlarge | + * dc2.large | dc2.8xlarge | + * ra3.4xlarge | ra3.16xlarge + *

                                      + */ + NodeType: string | undefined; /** - *

                                      The identifier for the source snapshot.

                                      + *

                                      The user name associated with the master user account for the cluster that is being + * created.

                                      *

                                      Constraints:

                                      *
                                        *
                                      • - *

                                        Must be the identifier for a valid automated snapshot whose state is - * available.

                                        + *

                                        Must be 1 - 128 alphanumeric characters. The user name can't be + * PUBLIC.

                                        + *
                                      • + *
                                      • + *

                                        First character must be a letter.

                                        + *
                                      • + *
                                      • + * + *

                                        Cannot be a reserved word. A list of reserved words can be found in Reserved + * Words in the Amazon Redshift Database Developer Guide.

                                        *
                                      • *
                                      */ - SourceSnapshotIdentifier: string | undefined; -} - -export namespace CopyClusterSnapshotMessage { - export const filterSensitiveLog = (obj: CopyClusterSnapshotMessage): any => ({ - ...obj, - }); -} - -export interface CopyClusterSnapshotResult { - /** - *

                                      Describes a snapshot.

                                      - */ - Snapshot?: Snapshot; -} - -export namespace CopyClusterSnapshotResult { - export const filterSensitiveLog = (obj: CopyClusterSnapshotResult): any => ({ - ...obj, - }); -} - -/** - *

                                      Cross-region snapshot copy was temporarily disabled. Try your request - * again.

                                      - */ -export interface CopyToRegionDisabledFault extends __SmithyException, $MetadataBearer { - name: "CopyToRegionDisabledFault"; - $fault: "client"; - message?: string; -} - -export namespace CopyToRegionDisabledFault { - export const filterSensitiveLog = (obj: CopyToRegionDisabledFault): any => ({ - ...obj, - }); -} + MasterUsername: string | undefined; -/** - *

                                      - */ -export interface CreateClusterMessage { /** *

                                      The password associated with the master user account for the cluster that is being * created.

                                      @@ -3149,26 +3261,72 @@ export interface CreateClusterMessage { MasterUserPassword: string | undefined; /** - *

                                      If true, the cluster can be accessed from a public network.

                                      + *

                                      A list of security groups to be associated with this cluster.

                                      + *

                                      Default: The default cluster security group for Amazon Redshift.

                                      */ - PubliclyAccessible?: boolean; + ClusterSecurityGroups?: string[]; /** - *

                                      A list of tag instances.

                                      + *

                                      A list of Virtual Private Cloud (VPC) security groups to be associated with the + * cluster.

                                      + *

                                      Default: The default VPC security group is associated with the cluster.

                                      */ - Tags?: Tag[]; + VpcSecurityGroupIds?: string[]; /** - *

                                      Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to - * retrieve the data encryption keys stored in an HSM.

                                      + *

                                      The name of a cluster subnet group to be associated with this cluster.

                                      + *

                                      If this parameter is not provided the resulting cluster will be deployed outside + * virtual private cloud (VPC).

                                      */ - HsmClientCertificateIdentifier?: string; + ClusterSubnetGroupName?: string; /** - *

                                      If true, the data in the cluster is encrypted at rest.

                                      - *

                                      Default: false

                                      + *

                                      The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision the + * cluster. For example, if you have several EC2 instances running in a specific + * Availability Zone, then you might want the cluster to be provisioned in the same zone in + * order to decrease network latency.

                                      + *

                                      Default: A random, system-chosen Availability Zone in the region that is specified + * by the endpoint.

                                      + *

                                      Example: us-east-2d + *

                                      + *

                                      Constraint: The specified Availability Zone must be in the same region as the + * current endpoint.

                                      */ - Encrypted?: boolean; + AvailabilityZone?: string; + + /** + *

                                      The weekly time range (in UTC) during which automated cluster maintenance can + * occur.

                                      + *

                                      Format: ddd:hh24:mi-ddd:hh24:mi + *

                                      + *

                                      Default: A 30-minute window selected at random from an 8-hour block of time per + * region, occurring on a random day of the week. For more information about the time + * blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management Guide.

                                      + *

                                      Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

                                      + *

                                      Constraints: Minimum 30-minute window.

                                      + */ + PreferredMaintenanceWindow?: string; + + /** + *

                                      The name of the parameter group to be associated with this cluster.

                                      + *

                                      Default: The default Amazon Redshift cluster parameter group. For information about the + * default parameter group, go to Working with Amazon + * Redshift Parameter Groups + *

                                      + *

                                      Constraints:

                                      + *
                                        + *
                                      • + *

                                        Must be 1 to 255 alphanumeric characters or hyphens.

                                        + *
                                      • + *
                                      • + *

                                        First character must be a letter.

                                        + *
                                      • + *
                                      • + *

                                        Cannot end with a hyphen or contain two consecutive hyphens.

                                        + *
                                      • + *
                                      + */ + ClusterParameterGroupName?: string; /** *

                                      The number of days that automated snapshots are retained. If the value is 0, @@ -3180,6 +3338,14 @@ export interface CreateClusterMessage { */ AutomatedSnapshotRetentionPeriod?: number; + /** + *

                                      The default number of days to retain a manual snapshot. If the value is -1, the + * snapshot is retained indefinitely. This setting doesn't change the retention period + * of existing snapshots.

                                      + *

                                      The value must be either -1 or an integer between 1 and 3,653.

                                      + */ + ManualSnapshotRetentionPeriod?: number; + /** *

                                      The port number on which the cluster accepts incoming connections.

                                      *

                                      The cluster is accessible only via the JDBC and ODBC connection strings. Part of @@ -3192,12 +3358,6 @@ export interface CreateClusterMessage { */ Port?: number; - /** - *

                                      Specifies the name of the HSM configuration that contains the information the - * Amazon Redshift cluster can use to retrieve and store keys in an HSM.

                                      - */ - HsmConfigurationIdentifier?: string; - /** *

                                      The version of the Amazon Redshift engine software that you want to deploy on the * cluster.

                                      @@ -3208,46 +3368,6 @@ export interface CreateClusterMessage { */ ClusterVersion?: string; - /** - *

                                      The type of the cluster. When cluster type is specified as

                                      - *
                                        - *
                                      • - *

                                        - * single-node, the NumberOfNodes - * parameter is not required.

                                        - *
                                      • - *
                                      • - *

                                        - * multi-node, the NumberOfNodes - * parameter is required.

                                        - *
                                      • - *
                                      - *

                                      Valid Values: multi-node | single-node - *

                                      - *

                                      Default: multi-node - *

                                      - */ - ClusterType?: string; - - /** - *

                                      A unique identifier for the snapshot schedule.

                                      - */ - SnapshotScheduleIdentifier?: string; - - /** - *

                                      A list of Virtual Private Cloud (VPC) security groups to be associated with the - * cluster.

                                      - *

                                      Default: The default VPC security group is associated with the cluster.

                                      - */ - VpcSecurityGroupIds?: string[]; - - /** - *

                                      The name of a cluster subnet group to be associated with this cluster.

                                      - *

                                      If this parameter is not provided the resulting cluster will be deployed outside - * virtual private cloud (VPC).

                                      - */ - ClusterSubnetGroupName?: string; - /** *

                                      If true, major version upgrades can be applied during the maintenance * window to the Amazon Redshift engine that is running on the cluster.

                                      @@ -3260,51 +3380,42 @@ export interface CreateClusterMessage { AllowVersionUpgrade?: boolean; /** - *

                                      The default number of days to retain a manual snapshot. If the value is -1, the - * snapshot is retained indefinitely. This setting doesn't change the retention period - * of existing snapshots.

                                      - *

                                      The value must be either -1 or an integer between 1 and 3,653.

                                      - */ - ManualSnapshotRetentionPeriod?: number; - - /** - *

                                      An optional parameter for the name of the maintenance track for the cluster. If you - * don't provide a maintenance track name, the cluster is assigned to the - * current track.

                                      + *

                                      The number of compute nodes in the cluster. This parameter is required when the + * ClusterType parameter is specified as + * multi-node.

                                      + *

                                      For information about determining how many nodes you need, go to Working with + * Clusters in the Amazon Redshift Cluster Management Guide.

                                      + *

                                      If you don't specify this parameter, you get a single-node cluster. When requesting + * a multi-node cluster, you must specify the number of nodes that you want in the + * cluster.

                                      + *

                                      Default: 1 + *

                                      + *

                                      Constraints: Value must be at least 1 and no more than 100.

                                      */ - MaintenanceTrackName?: string; + NumberOfNodes?: number; /** - *

                                      Reserved.

                                      + *

                                      If true, the cluster can be accessed from a public network.

                                      */ - AdditionalInfo?: string; + PubliclyAccessible?: boolean; /** - *

                                      The node type to be provisioned for the cluster. For information about node types, - * go to Working with - * Clusters in the Amazon Redshift Cluster Management Guide.

                                      - *

                                      Valid Values: ds2.xlarge | ds2.8xlarge | - * dc1.large | dc1.8xlarge | - * dc2.large | dc2.8xlarge | - * ra3.4xlarge | ra3.16xlarge - *

                                      + *

                                      If true, the data in the cluster is encrypted at rest.

                                      + *

                                      Default: false

                                      */ - NodeType: string | undefined; + Encrypted?: boolean; /** - *

                                      The AWS Key Management Service (KMS) key ID of the encryption key that you want to - * use to encrypt data in the cluster.

                                      + *

                                      Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to + * retrieve the data encryption keys stored in an HSM.

                                      */ - KmsKeyId?: string; + HsmClientCertificateIdentifier?: string; /** - *

                                      A list of AWS Identity and Access Management (IAM) roles that can be used by the - * cluster to access other AWS services. You must supply the IAM roles in their Amazon - * Resource Name (ARN) format. You can supply up to 10 IAM roles in a single - * request.

                                      - *

                                      A cluster can have up to 10 IAM roles associated with it at any time.

                                      + *

                                      Specifies the name of the HSM configuration that contains the information the + * Amazon Redshift cluster can use to retrieve and store keys in an HSM.

                                      */ - IamRoles?: string[]; + HsmConfigurationIdentifier?: string; /** *

                                      The Elastic IP (EIP) address for the cluster.

                                      @@ -3313,47 +3424,18 @@ export interface CreateClusterMessage { * EC2-VPC, go to Supported * Platforms to Launch Your Cluster in the Amazon Redshift Cluster Management Guide.

                                      */ - ElasticIp?: string; - - /** - *

                                      The name of the first database to be created when the cluster is created.

                                      - *

                                      To create additional databases after the cluster is created, connect to the cluster - * with a SQL client and use SQL commands to create a database. For more information, go to - * Create - * a Database in the Amazon Redshift Database Developer Guide.

                                      - *

                                      Default: dev - *

                                      - *

                                      Constraints:

                                      - *
                                        - *
                                      • - *

                                        Must contain 1 to 64 alphanumeric characters.

                                        - *
                                      • - *
                                      • - *

                                        Must contain only lowercase letters.

                                        - *
                                      • - *
                                      • - *

                                        Cannot be a word that is reserved by the service. A list of reserved words - * can be found in Reserved Words in the - * Amazon Redshift Database Developer Guide.

                                        - *
                                      • - *
                                      + ElasticIp?: string; + + /** + *

                                      A list of tag instances.

                                      */ - DBName?: string; + Tags?: Tag[]; /** - *

                                      The number of compute nodes in the cluster. This parameter is required when the - * ClusterType parameter is specified as - * multi-node.

                                      - *

                                      For information about determining how many nodes you need, go to Working with - * Clusters in the Amazon Redshift Cluster Management Guide.

                                      - *

                                      If you don't specify this parameter, you get a single-node cluster. When requesting - * a multi-node cluster, you must specify the number of nodes that you want in the - * cluster.

                                      - *

                                      Default: 1 - *

                                      - *

                                      Constraints: Value must be at least 1 and no more than 100.

                                      + *

                                      The AWS Key Management Service (KMS) key ID of the encryption key that you want to + * use to encrypt data in the cluster.

                                      */ - NumberOfNodes?: number; + KmsKeyId?: string; /** *

                                      An option that specifies whether to create the cluster with enhanced VPC routing @@ -3366,107 +3448,30 @@ export interface CreateClusterMessage { EnhancedVpcRouting?: boolean; /** - *

                                      The weekly time range (in UTC) during which automated cluster maintenance can - * occur.

                                      - *

                                      Format: ddd:hh24:mi-ddd:hh24:mi - *

                                      - *

                                      Default: A 30-minute window selected at random from an 8-hour block of time per - * region, occurring on a random day of the week. For more information about the time - * blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management Guide.

                                      - *

                                      Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

                                      - *

                                      Constraints: Minimum 30-minute window.

                                      - */ - PreferredMaintenanceWindow?: string; - - /** - *

                                      The name of the parameter group to be associated with this cluster.

                                      - *

                                      Default: The default Amazon Redshift cluster parameter group. For information about the - * default parameter group, go to Working with Amazon - * Redshift Parameter Groups - *

                                      - *

                                      Constraints:

                                      - *
                                        - *
                                      • - *

                                        Must be 1 to 255 alphanumeric characters or hyphens.

                                        - *
                                      • - *
                                      • - *

                                        First character must be a letter.

                                        - *
                                      • - *
                                      • - *

                                        Cannot end with a hyphen or contain two consecutive hyphens.

                                        - *
                                      • - *
                                      - */ - ClusterParameterGroupName?: string; - - /** - *

                                      A unique identifier for the cluster. You use this identifier to refer to the - * cluster for any subsequent cluster operations such as deleting or modifying. The - * identifier also appears in the Amazon Redshift console.

                                      - *

                                      Constraints:

                                      - *
                                        - *
                                      • - *

                                        Must contain from 1 to 63 alphanumeric characters or hyphens.

                                        - *
                                      • - *
                                      • - *

                                        Alphabetic characters must be lowercase.

                                        - *
                                      • - *
                                      • - *

                                        First character must be a letter.

                                        - *
                                      • - *
                                      • - *

                                        Cannot end with a hyphen or contain two consecutive hyphens.

                                        - *
                                      • - *
                                      • - *

                                        Must be unique for all clusters within an AWS account.

                                        - *
                                      • - *
                                      - * - *

                                      Example: myexamplecluster - *

                                      + *

                                      Reserved.

                                      */ - ClusterIdentifier: string | undefined; + AdditionalInfo?: string; /** - *

                                      A list of security groups to be associated with this cluster.

                                      - *

                                      Default: The default cluster security group for Amazon Redshift.

                                      + *

                                      A list of AWS Identity and Access Management (IAM) roles that can be used by the + * cluster to access other AWS services. You must supply the IAM roles in their Amazon + * Resource Name (ARN) format. You can supply up to 10 IAM roles in a single + * request.

                                      + *

                                      A cluster can have up to 10 IAM roles associated with it at any time.

                                      */ - ClusterSecurityGroups?: string[]; + IamRoles?: string[]; /** - *

                                      The user name associated with the master user account for the cluster that is being - * created.

                                      - *

                                      Constraints:

                                      - *
                                        - *
                                      • - *

                                        Must be 1 - 128 alphanumeric characters. The user name can't be - * PUBLIC.

                                        - *
                                      • - *
                                      • - *

                                        First character must be a letter.

                                        - *
                                      • - *
                                      • - * - *

                                        Cannot be a reserved word. A list of reserved words can be found in Reserved - * Words in the Amazon Redshift Database Developer Guide.

                                        - *
                                      • - *
                                      + *

                                      An optional parameter for the name of the maintenance track for the cluster. If you + * don't provide a maintenance track name, the cluster is assigned to the + * current track.

                                      */ - MasterUsername: string | undefined; + MaintenanceTrackName?: string; /** - *

                                      The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision the - * cluster. For example, if you have several EC2 instances running in a specific - * Availability Zone, then you might want the cluster to be provisioned in the same zone in - * order to decrease network latency.

                                      - *

                                      Default: A random, system-chosen Availability Zone in the region that is specified - * by the endpoint.

                                      - *

                                      Example: us-east-2d - *

                                      - *

                                      Constraint: The specified Availability Zone must be in the same region as the - * current endpoint.

                                      + *

                                      A unique identifier for the snapshot schedule.

                                      */ - AvailabilityZone?: string; + SnapshotScheduleIdentifier?: string; } export namespace CreateClusterMessage { @@ -3709,11 +3714,6 @@ export namespace UnauthorizedOperation { *

                                      */ export interface CreateClusterParameterGroupMessage { - /** - *

                                      A description of the parameter group.

                                      - */ - Description: string | undefined; - /** *

                                      The name of the cluster parameter group.

                                      *

                                      Constraints:

                                      @@ -3748,6 +3748,11 @@ export interface CreateClusterParameterGroupMessage { */ ParameterGroupFamily: string | undefined; + /** + *

                                      A description of the parameter group.

                                      + */ + Description: string | undefined; + /** *

                                      A list of tag instances.

                                      */ @@ -3799,14 +3804,14 @@ export interface CreateClusterSecurityGroupMessage { ClusterSecurityGroupName: string | undefined; /** - *

                                      A list of tag instances.

                                      + *

                                      A description for the security group.

                                      */ - Tags?: Tag[]; + Description: string | undefined; /** - *

                                      A description for the security group.

                                      + *

                                      A list of tag instances.

                                      */ - Description: string | undefined; + Tags?: Tag[]; } export namespace CreateClusterSecurityGroupMessage { @@ -3832,16 +3837,6 @@ export namespace CreateClusterSecurityGroupResult { *

                                      */ export interface CreateClusterSnapshotMessage { - /** - *

                                      The cluster identifier for which you want a snapshot.

                                      - */ - ClusterIdentifier: string | undefined; - - /** - *

                                      A list of tag instances.

                                      - */ - Tags?: Tag[]; - /** *

                                      A unique identifier for the snapshot that you are requesting. This identifier must * be unique for all snapshots within the AWS account.

                                      @@ -3865,6 +3860,11 @@ export interface CreateClusterSnapshotMessage { */ SnapshotIdentifier: string | undefined; + /** + *

                                      The cluster identifier for which you want a snapshot.

                                      + */ + ClusterIdentifier: string | undefined; + /** *

                                      The number of days that a manual snapshot is retained. If the value is -1, the manual * snapshot is retained indefinitely.

                                      @@ -3874,6 +3874,11 @@ export interface CreateClusterSnapshotMessage { *

                                      The default value is -1.

                                      */ ManualSnapshotRetentionPeriod?: number; + + /** + *

                                      A list of tag instances.

                                      + */ + Tags?: Tag[]; } export namespace CreateClusterSnapshotMessage { @@ -3899,22 +3904,6 @@ export namespace CreateClusterSnapshotResult { *

                                      */ export interface CreateClusterSubnetGroupMessage { - /** - *

                                      A list of tag instances.

                                      - */ - Tags?: Tag[]; - - /** - *

                                      An array of VPC subnet IDs. A maximum of 20 subnets can be modified in a single - * request.

                                      - */ - SubnetIds: string[] | undefined; - - /** - *

                                      A description for the subnet group.

                                      - */ - Description: string | undefined; - /** *

                                      The name for the subnet group. Amazon Redshift stores the value as a lowercase * string.

                                      @@ -3935,6 +3924,22 @@ export interface CreateClusterSubnetGroupMessage { *

                                      */ ClusterSubnetGroupName: string | undefined; + + /** + *

                                      A description for the subnet group.

                                      + */ + Description: string | undefined; + + /** + *

                                      An array of VPC subnet IDs. A maximum of 20 subnets can be modified in a single + * request.

                                      + */ + SubnetIds: string[] | undefined; + + /** + *

                                      A list of tag instances.

                                      + */ + Tags?: Tag[]; } export namespace CreateClusterSubnetGroupMessage { @@ -3960,35 +3965,6 @@ export namespace CreateClusterSubnetGroupResult { *

                                      */ export interface CreateEventSubscriptionMessage { - /** - *

                                      The Amazon Resource Name (ARN) of the Amazon SNS topic used to transmit the event - * notifications. The ARN is created by Amazon SNS when you create a topic and subscribe to - * it.

                                      - */ - SnsTopicArn: string | undefined; - - /** - *

                                      Specifies the Amazon Redshift event categories to be published by the event notification - * subscription.

                                      - *

                                      Values: configuration, management, monitoring, security

                                      - */ - EventCategories?: string[]; - - /** - *

                                      A boolean value; set to true to activate the subscription, and set to - * false to create the subscription but not activate it.

                                      - */ - Enabled?: boolean; - - /** - *

                                      The type of source that will be generating the events. For example, if you want to - * be notified of events generated by a cluster, you would set this parameter to cluster. - * If this value is not specified, events are returned for all Amazon Redshift objects in your - * AWS account. You must specify a source type in order to specify source IDs.

                                      - *

                                      Valid values: cluster, cluster-parameter-group, cluster-security-group, cluster-snapshot, and scheduled-action.

                                      - */ - SourceType?: string; - /** *

                                      The name of the event subscription to be created.

                                      *

                                      Constraints:

                                      @@ -4010,11 +3986,20 @@ export interface CreateEventSubscriptionMessage { SubscriptionName: string | undefined; /** - *

                                      Specifies the Amazon Redshift event severity to be published by the event notification - * subscription.

                                      - *

                                      Values: ERROR, INFO

                                      + *

                                      The Amazon Resource Name (ARN) of the Amazon SNS topic used to transmit the event + * notifications. The ARN is created by Amazon SNS when you create a topic and subscribe to + * it.

                                      */ - Severity?: string; + SnsTopicArn: string | undefined; + + /** + *

                                      The type of source that will be generating the events. For example, if you want to + * be notified of events generated by a cluster, you would set this parameter to cluster. + * If this value is not specified, events are returned for all Amazon Redshift objects in your + * AWS account. You must specify a source type in order to specify source IDs.

                                      + *

                                      Valid values: cluster, cluster-parameter-group, cluster-security-group, cluster-snapshot, and scheduled-action.

                                      + */ + SourceType?: string; /** *

                                      A list of one or more identifiers of Amazon Redshift source objects. All of the objects @@ -4025,7 +4010,27 @@ export interface CreateEventSubscriptionMessage { *

                                      Example: my-cluster-1, my-cluster-2

                                      *

                                      Example: my-snapshot-20131010

                                      */ - SourceIds?: string[]; + SourceIds?: string[]; + + /** + *

                                      Specifies the Amazon Redshift event categories to be published by the event notification + * subscription.

                                      + *

                                      Values: configuration, management, monitoring, security

                                      + */ + EventCategories?: string[]; + + /** + *

                                      Specifies the Amazon Redshift event severity to be published by the event notification + * subscription.

                                      + *

                                      Values: ERROR, INFO

                                      + */ + Severity?: string; + + /** + *

                                      A boolean value; set to true to activate the subscription, and set to + * false to create the subscription but not activate it.

                                      + */ + Enabled?: boolean; /** *

                                      A list of tag instances.

                                      @@ -4043,6 +4048,23 @@ export namespace CreateEventSubscriptionMessage { *

                                      Describes event subscriptions.

                                      */ export interface EventSubscription { + /** + *

                                      The AWS customer account associated with the Amazon Redshift event notification + * subscription.

                                      + */ + CustomerAwsId?: string; + + /** + *

                                      The name of the Amazon Redshift event notification subscription.

                                      + */ + CustSubscriptionId?: string; + + /** + *

                                      The Amazon Resource Name (ARN) of the Amazon SNS topic used by the event + * notification subscription.

                                      + */ + SnsTopicArn?: string; + /** *

                                      The status of the Amazon Redshift event notification subscription.

                                      *

                                      Constraints:

                                      @@ -4062,32 +4084,29 @@ export interface EventSubscription { Status?: string; /** - *

                                      The list of tags for the event subscription.

                                      - */ - Tags?: Tag[]; - - /** - *

                                      A list of the sources that publish events to the Amazon Redshift event notification - * subscription.

                                      + *

                                      The date and time the Amazon Redshift event notification subscription was + * created.

                                      */ - SourceIdsList?: string[]; + SubscriptionCreationTime?: Date; /** - *

                                      The name of the Amazon Redshift event notification subscription.

                                      + *

                                      The source type of the events returned by the Amazon Redshift event notification, such as + * cluster, cluster-snapshot, cluster-parameter-group, cluster-security-group, or scheduled-action.

                                      */ - CustSubscriptionId?: string; + SourceType?: string; /** - *

                                      The AWS customer account associated with the Amazon Redshift event notification + *

                                      A list of the sources that publish events to the Amazon Redshift event notification * subscription.

                                      */ - CustomerAwsId?: string; + SourceIdsList?: string[]; /** - *

                                      The date and time the Amazon Redshift event notification subscription was - * created.

                                      + *

                                      The list of Amazon Redshift event categories specified in the event notification + * subscription.

                                      + *

                                      Values: Configuration, Management, Monitoring, Security

                                      */ - SubscriptionCreationTime?: Date; + EventCategoriesList?: string[]; /** *

                                      The event severity specified in the Amazon Redshift event notification @@ -4103,23 +4122,9 @@ export interface EventSubscription { Enabled?: boolean; /** - *

                                      The Amazon Resource Name (ARN) of the Amazon SNS topic used by the event - * notification subscription.

                                      - */ - SnsTopicArn?: string; - - /** - *

                                      The source type of the events returned by the Amazon Redshift event notification, such as - * cluster, cluster-snapshot, cluster-parameter-group, cluster-security-group, or scheduled-action.

                                      - */ - SourceType?: string; - - /** - *

                                      The list of Amazon Redshift event categories specified in the event notification - * subscription.

                                      - *

                                      Values: Configuration, Management, Monitoring, Security

                                      + *

                                      The list of tags for the event subscription.

                                      */ - EventCategoriesList?: string[]; + Tags?: Tag[]; } export namespace EventSubscription { @@ -4291,16 +4296,16 @@ export namespace SubscriptionSeverityNotFoundFault { *

                                      */ export interface CreateHsmClientCertificateMessage { - /** - *

                                      A list of tag instances.

                                      - */ - Tags?: Tag[]; - /** *

                                      The identifier to be assigned to the new HSM client certificate that the cluster * will use to connect to the HSM to use the database encryption keys.

                                      */ HsmClientCertificateIdentifier: string | undefined; + + /** + *

                                      A list of tag instances.

                                      + */ + Tags?: Tag[]; } export namespace CreateHsmClientCertificateMessage { @@ -4315,11 +4320,6 @@ export namespace CreateHsmClientCertificateMessage { * files.

                                      */ export interface HsmClientCertificate { - /** - *

                                      The list of tags for the HSM client certificate.

                                      - */ - Tags?: Tag[]; - /** *

                                      The identifier of the HSM client certificate.

                                      */ @@ -4330,6 +4330,11 @@ export interface HsmClientCertificate { * register the public key in the HSM.

                                      */ HsmClientCertificatePublicKey?: string; + + /** + *

                                      The list of tags for the HSM client certificate.

                                      + */ + Tags?: Tag[]; } export namespace HsmClientCertificate { @@ -4392,20 +4397,14 @@ export namespace HsmClientCertificateQuotaExceededFault { */ export interface CreateHsmConfigurationMessage { /** - *

                                      The name of the partition in the HSM where the Amazon Redshift clusters will store their - * database encryption keys.

                                      - */ - HsmPartitionName: string | undefined; - - /** - *

                                      A list of tag instances.

                                      + *

                                      The identifier to be assigned to the new Amazon Redshift HSM configuration.

                                      */ - Tags?: Tag[]; + HsmConfigurationIdentifier: string | undefined; /** - *

                                      The identifier to be assigned to the new Amazon Redshift HSM configuration.

                                      + *

                                      A text description of the HSM configuration to be created.

                                      */ - HsmConfigurationIdentifier: string | undefined; + Description: string | undefined; /** *

                                      The IP address that the Amazon Redshift cluster must use to access the HSM.

                                      @@ -4413,20 +4412,26 @@ export interface CreateHsmConfigurationMessage { HsmIpAddress: string | undefined; /** - *

                                      The password required to access the HSM partition.

                                      + *

                                      The name of the partition in the HSM where the Amazon Redshift clusters will store their + * database encryption keys.

                                      */ - HsmPartitionPassword: string | undefined; + HsmPartitionName: string | undefined; /** - *

                                      A text description of the HSM configuration to be created.

                                      + *

                                      The password required to access the HSM partition.

                                      */ - Description: string | undefined; + HsmPartitionPassword: string | undefined; /** *

                                      The HSMs public certificate file. When using Cloud HSM, the file name is * server.pem.

                                      */ HsmServerPublicCertificate: string | undefined; + + /** + *

                                      A list of tag instances.

                                      + */ + Tags?: Tag[]; } export namespace CreateHsmConfigurationMessage { @@ -4441,6 +4446,11 @@ export namespace CreateHsmConfigurationMessage { * store database encryption keys.

                                      */ export interface HsmConfiguration { + /** + *

                                      The name of the Amazon Redshift HSM configuration.

                                      + */ + HsmConfigurationIdentifier?: string; + /** *

                                      A text description of the HSM configuration.

                                      */ @@ -4452,20 +4462,15 @@ export interface HsmConfiguration { HsmIpAddress?: string; /** - *

                                      The name of the Amazon Redshift HSM configuration.

                                      + *

                                      The name of the partition in the HSM where the Amazon Redshift clusters will store their + * database encryption keys.

                                      */ - HsmConfigurationIdentifier?: string; + HsmPartitionName?: string; /** *

                                      The list of tags for the HSM configuration.

                                      */ Tags?: Tag[]; - - /** - *

                                      The name of the partition in the HSM where the Amazon Redshift clusters will store their - * database encryption keys.

                                      - */ - HsmPartitionName?: string; } export namespace HsmConfiguration { @@ -4544,31 +4549,31 @@ export namespace PauseClusterMessage { */ export interface ResizeClusterMessage { /** - *

                                      The new node type for the nodes you are adding. If not specified, the cluster's current node type is used.

                                      + *

                                      The unique identifier for the cluster to resize.

                                      */ - NodeType?: string; + ClusterIdentifier: string | undefined; /** - *

                                      A boolean value indicating whether the resize operation is using the classic resize - * process. If you don't provide this parameter or set the value to - * false, the resize type is elastic.

                                      + *

                                      The new cluster type for the specified cluster.

                                      */ - Classic?: boolean; + ClusterType?: string; /** - *

                                      The new number of nodes for the cluster. If not specified, the cluster's current number of nodes is used.

                                      + *

                                      The new node type for the nodes you are adding. If not specified, the cluster's current node type is used.

                                      */ - NumberOfNodes?: number; + NodeType?: string; /** - *

                                      The new cluster type for the specified cluster.

                                      + *

                                      The new number of nodes for the cluster. If not specified, the cluster's current number of nodes is used.

                                      */ - ClusterType?: string; + NumberOfNodes?: number; /** - *

                                      The unique identifier for the cluster to resize.

                                      + *

                                      A boolean value indicating whether the resize operation is using the classic resize + * process. If you don't provide this parameter or set the value to + * false, the resize type is elastic.

                                      */ - ClusterIdentifier: string | undefined; + Classic?: boolean; } export namespace ResizeClusterMessage { @@ -4597,6 +4602,11 @@ export namespace ResumeClusterMessage { *

                                      The action type that specifies an Amazon Redshift API operation that is supported by the Amazon Redshift scheduler.

                                      */ export interface ScheduledActionType { + /** + *

                                      An action that runs a ResizeCluster API operation.

                                      + */ + ResizeCluster?: ResizeClusterMessage; + /** *

                                      An action that runs a PauseCluster API operation.

                                      */ @@ -4606,11 +4616,6 @@ export interface ScheduledActionType { *

                                      An action that runs a ResumeCluster API operation.

                                      */ ResumeCluster?: ResumeClusterMessage; - - /** - *

                                      An action that runs a ResizeCluster API operation.

                                      - */ - ResizeCluster?: ResizeClusterMessage; } export namespace ScheduledActionType { @@ -4621,10 +4626,10 @@ export namespace ScheduledActionType { export interface CreateScheduledActionMessage { /** - *

                                      If true, the schedule is enabled. If false, the scheduled action does not trigger. - * For more information about state of the scheduled action, see ScheduledAction.

                                      + *

                                      The name of the scheduled action. The name must be unique within an account. + * For more information about this parameter, see ScheduledAction.

                                      */ - Enable?: boolean; + ScheduledActionName: string | undefined; /** *

                                      A JSON format string of the Amazon Redshift API operation with input parameters. @@ -4633,23 +4638,16 @@ export interface CreateScheduledActionMessage { TargetAction: ScheduledActionType | undefined; /** - *

                                      The IAM role to assume to run the target action. - * For more information about this parameter, see ScheduledAction.

                                      - */ - IamRole: string | undefined; - - /** - *

                                      The start time in UTC of the scheduled action. - * Before this time, the scheduled action does not trigger. + *

                                      The schedule in at( ) or cron( ) format. * For more information about this parameter, see ScheduledAction.

                                      */ - StartTime?: Date; + Schedule: string | undefined; /** - *

                                      The end time in UTC of the scheduled action. After this time, the scheduled action does not trigger. + *

                                      The IAM role to assume to run the target action. * For more information about this parameter, see ScheduledAction.

                                      */ - EndTime?: Date; + IamRole: string | undefined; /** *

                                      The description of the scheduled action. @@ -4658,16 +4656,23 @@ export interface CreateScheduledActionMessage { ScheduledActionDescription?: string; /** - *

                                      The schedule in at( ) or cron( ) format. + *

                                      The start time in UTC of the scheduled action. + * Before this time, the scheduled action does not trigger. * For more information about this parameter, see ScheduledAction.

                                      */ - Schedule: string | undefined; + StartTime?: Date; /** - *

                                      The name of the scheduled action. The name must be unique within an account. + *

                                      The end time in UTC of the scheduled action. After this time, the scheduled action does not trigger. * For more information about this parameter, see ScheduledAction.

                                      */ - ScheduledActionName: string | undefined; + EndTime?: Date; + + /** + *

                                      If true, the schedule is enabled. If false, the scheduled action does not trigger. + * For more information about state of the scheduled action, see ScheduledAction.

                                      + */ + Enable?: boolean; } export namespace CreateScheduledActionMessage { @@ -4717,26 +4722,9 @@ export enum ScheduledActionState { */ export interface ScheduledAction { /** - *

                                      The IAM role to assume to run the scheduled action. - * This IAM role must have permission to run the Amazon Redshift API operation in the scheduled action. - * This IAM role must allow the Amazon Redshift scheduler (Principal scheduler.redshift.amazonaws.com) to assume permissions on your behalf. - * - * For more information about the IAM role to use with the Amazon Redshift scheduler, see - * Using Identity-Based Policies for Amazon Redshift - * in the Amazon Redshift Cluster Management Guide. - *

                                      - */ - IamRole?: string; - - /** - *

                                      The description of the scheduled action.

                                      - */ - ScheduledActionDescription?: string; - - /** - *

                                      The end time in UTC when the schedule is no longer active. After this time, the scheduled action does not trigger.

                                      + *

                                      The name of the scheduled action.

                                      */ - EndTime?: Date; + ScheduledActionName?: string; /** *

                                      A JSON format string of the Amazon Redshift API operation with input parameters.

                                      @@ -4744,11 +4732,6 @@ export interface ScheduledAction { */ TargetAction?: ScheduledActionType; - /** - *

                                      The start time in UTC when the schedule is active. Before this time, the scheduled action does not trigger.

                                      - */ - StartTime?: Date; - /** *

                                      The schedule for a one-time (at format) or recurring (cron format) scheduled action. * Schedule invocations must be separated by at least one hour.

                                      @@ -4760,6 +4743,23 @@ export interface ScheduledAction { */ Schedule?: string; + /** + *

                                      The IAM role to assume to run the scheduled action. + * This IAM role must have permission to run the Amazon Redshift API operation in the scheduled action. + * This IAM role must allow the Amazon Redshift scheduler (Principal scheduler.redshift.amazonaws.com) to assume permissions on your behalf. + * + * For more information about the IAM role to use with the Amazon Redshift scheduler, see + * Using Identity-Based Policies for Amazon Redshift + * in the Amazon Redshift Cluster Management Guide. + *

                                      + */ + IamRole?: string; + + /** + *

                                      The description of the scheduled action.

                                      + */ + ScheduledActionDescription?: string; + /** *

                                      The state of the scheduled action. For example, DISABLED.

                                      */ @@ -4771,9 +4771,14 @@ export interface ScheduledAction { NextInvocations?: Date[]; /** - *

                                      The name of the scheduled action.

                                      + *

                                      The start time in UTC when the schedule is active. Before this time, the scheduled action does not trigger.

                                      */ - ScheduledActionName?: string; + StartTime?: Date; + + /** + *

                                      The end time in UTC when the schedule is no longer active. After this time, the scheduled action does not trigger.

                                      + */ + EndTime?: Date; } export namespace ScheduledAction { @@ -4831,12 +4836,6 @@ export namespace ScheduledActionTypeUnsupportedFault { *

                                      The result of the CreateSnapshotCopyGrant action.

                                      */ export interface CreateSnapshotCopyGrantMessage { - /** - *

                                      The unique identifier of the customer master key (CMK) to which to grant Amazon Redshift - * permission. If no key is specified, the default key is used.

                                      - */ - KmsKeyId?: string; - /** *

                                      The name of the snapshot copy grant. This name must be unique in the region for the * AWS account.

                                      @@ -4861,6 +4860,12 @@ export interface CreateSnapshotCopyGrantMessage { */ SnapshotCopyGrantName: string | undefined; + /** + *

                                      The unique identifier of the customer master key (CMK) to which to grant Amazon Redshift + * permission. If no key is specified, the default key is used.

                                      + */ + KmsKeyId?: string; + /** *

                                      A list of tag instances.

                                      */ @@ -4885,9 +4890,9 @@ export namespace CreateSnapshotCopyGrantMessage { */ export interface SnapshotCopyGrant { /** - *

                                      A list of tag instances.

                                      + *

                                      The name of the snapshot copy grant.

                                      */ - Tags?: Tag[]; + SnapshotCopyGrantName?: string; /** *

                                      The unique identifier of the customer master key (CMK) in AWS KMS to which @@ -4896,9 +4901,9 @@ export interface SnapshotCopyGrant { KmsKeyId?: string; /** - *

                                      The name of the snapshot copy grant.

                                      + *

                                      A list of tag instances.

                                      */ - SnapshotCopyGrantName?: string; + Tags?: Tag[]; } export namespace SnapshotCopyGrant { @@ -4961,25 +4966,26 @@ export namespace SnapshotCopyGrantQuotaExceededFault { export interface CreateSnapshotScheduleMessage { /** - *

                                      The description of the snapshot schedule.

                                      + *

                                      The definition of the snapshot schedule. The definition is made up of schedule + * expressions, for example "cron(30 12 *)" or "rate(12 hours)".

                                      */ - ScheduleDescription?: string; + ScheduleDefinitions?: string[]; /** - *

                                      An optional set of tags you can use to search for the schedule.

                                      + *

                                      A unique identifier for a snapshot schedule. Only alphanumeric characters are allowed + * for the identifier.

                                      */ - Tags?: Tag[]; + ScheduleIdentifier?: string; /** - *

                                      + *

                                      The description of the snapshot schedule.

                                      */ - NextInvocations?: number; + ScheduleDescription?: string; /** - *

                                      A unique identifier for a snapshot schedule. Only alphanumeric characters are allowed - * for the identifier.

                                      + *

                                      An optional set of tags you can use to search for the schedule.

                                      */ - ScheduleIdentifier?: string; + Tags?: Tag[]; /** *

                                      @@ -4987,10 +4993,9 @@ export interface CreateSnapshotScheduleMessage { DryRun?: boolean; /** - *

                                      The definition of the snapshot schedule. The definition is made up of schedule - * expressions, for example "cron(30 12 *)" or "rate(12 hours)".

                                      + *

                                      */ - ScheduleDefinitions?: string[]; + NextInvocations?: number; } export namespace CreateSnapshotScheduleMessage { @@ -5020,39 +5025,39 @@ export namespace ScheduleDefinitionTypeUnsupportedFault { */ export interface SnapshotSchedule { /** - *

                                      A unique identifier for the schedule.

                                      + *

                                      A list of ScheduleDefinitions.

                                      */ - ScheduleIdentifier?: string; + ScheduleDefinitions?: string[]; /** - *

                                      + *

                                      A unique identifier for the schedule.

                                      */ - NextInvocations?: Date[]; + ScheduleIdentifier?: string; /** - *

                                      The number of clusters associated with the schedule.

                                      + *

                                      The description of the schedule.

                                      */ - AssociatedClusterCount?: number; + ScheduleDescription?: string; /** - *

                                      A list of clusters associated with the schedule. A maximum of 100 clusters is returned.

                                      + *

                                      An optional set of tags describing the schedule.

                                      */ - AssociatedClusters?: ClusterAssociatedToSchedule[]; + Tags?: Tag[]; /** - *

                                      An optional set of tags describing the schedule.

                                      + *

                                      */ - Tags?: Tag[]; + NextInvocations?: Date[]; /** - *

                                      A list of ScheduleDefinitions.

                                      + *

                                      The number of clusters associated with the schedule.

                                      */ - ScheduleDefinitions?: string[]; + AssociatedClusterCount?: number; /** - *

                                      The description of the schedule.

                                      + *

                                      A list of clusters associated with the schedule. A maximum of 100 clusters is returned.

                                      */ - ScheduleDescription?: string; + AssociatedClusters?: ClusterAssociatedToSchedule[]; } export namespace SnapshotSchedule { @@ -5157,9 +5162,22 @@ export enum UsageLimitPeriod { export interface CreateUsageLimitMessage { /** - *

                                      A list of tag instances.

                                      + *

                                      The identifier of the cluster that you want to limit usage.

                                      */ - Tags?: Tag[]; + ClusterIdentifier: string | undefined; + + /** + *

                                      The Amazon Redshift feature that you want to limit.

                                      + */ + FeatureType: UsageLimitFeatureType | string | undefined; + + /** + *

                                      The type of limit. Depending on the feature type, this can be based on a time duration or data size. + * If FeatureType is spectrum, then LimitType must be data-scanned. + * If FeatureType is concurrency-scaling, then LimitType must be time. + *

                                      + */ + LimitType: UsageLimitLimitType | string | undefined; /** *

                                      The limit amount. If time-based, this amount is in minutes. If data-based, this amount is in terabytes (TB). @@ -5181,22 +5199,9 @@ export interface CreateUsageLimitMessage { BreachAction?: UsageLimitBreachAction | string; /** - *

                                      The Amazon Redshift feature that you want to limit.

                                      - */ - FeatureType: UsageLimitFeatureType | string | undefined; - - /** - *

                                      The identifier of the cluster that you want to limit usage.

                                      - */ - ClusterIdentifier: string | undefined; - - /** - *

                                      The type of limit. Depending on the feature type, this can be based on a time duration or data size. - * If FeatureType is spectrum, then LimitType must be data-scanned. - * If FeatureType is concurrency-scaling, then LimitType must be time. - *

                                      + *

                                      A list of tag instances.

                                      */ - LimitType: UsageLimitLimitType | string | undefined; + Tags?: Tag[]; } export namespace CreateUsageLimitMessage { @@ -5224,25 +5229,35 @@ export namespace InvalidUsageLimitFault { *

                                      Describes a usage limit object for a cluster.

                                      */ export interface UsageLimit { + /** + *

                                      The identifier of the usage limit.

                                      + */ + UsageLimitId?: string; + /** *

                                      The identifier of the cluster with a usage limit.

                                      */ ClusterIdentifier?: string; /** - *

                                      A list of tag instances.

                                      + *

                                      The Amazon Redshift feature to which the limit applies.

                                      */ - Tags?: Tag[]; + FeatureType?: UsageLimitFeatureType | string; /** - *

                                      The identifier of the usage limit.

                                      + *

                                      The type of limit. Depending on the feature type, this can be based on a time duration or data size.

                                      */ - UsageLimitId?: string; + LimitType?: UsageLimitLimitType | string; /** - *

                                      The Amazon Redshift feature to which the limit applies.

                                      + *

                                      The limit amount. If time-based, this amount is in minutes. If data-based, this amount is in terabytes (TB).

                                      */ - FeatureType?: UsageLimitFeatureType | string; + Amount?: number; + + /** + *

                                      The time period that the amount applies to. A weekly period begins on Sunday. The default is monthly.

                                      + */ + Period?: UsageLimitPeriod | string; /** *

                                      The action that Amazon Redshift takes when the limit is reached. Possible values are:

                                      @@ -5264,19 +5279,9 @@ export interface UsageLimit { BreachAction?: UsageLimitBreachAction | string; /** - *

                                      The type of limit. Depending on the feature type, this can be based on a time duration or data size.

                                      - */ - LimitType?: UsageLimitLimitType | string; - - /** - *

                                      The limit amount. If time-based, this amount is in minutes. If data-based, this amount is in terabytes (TB).

                                      - */ - Amount?: number; - - /** - *

                                      The time period that the amount applies to. A weekly period begins on Sunday. The default is monthly.

                                      + *

                                      A list of tag instances.

                                      */ - Period?: UsageLimitPeriod | string; + Tags?: Tag[]; } export namespace UsageLimit { @@ -5302,14 +5307,14 @@ export namespace UsageLimitAlreadyExistsFault { export interface CustomerStorageMessage { /** - *

                                      The total amount of storage currently provisioned.

                                      + *

                                      The total amount of storage currently used for snapshots.

                                      */ - TotalProvisionedStorageInMegaBytes?: number; + TotalBackupSizeInMegaBytes?: number; /** - *

                                      The total amount of storage currently used for snapshots.

                                      + *

                                      The total amount of storage currently provisioned.

                                      */ - TotalBackupSizeInMegaBytes?: number; + TotalProvisionedStorageInMegaBytes?: number; } export namespace CustomerStorageMessage { @@ -5322,11 +5327,6 @@ export namespace CustomerStorageMessage { *

                                      Describes the default cluster parameters for a parameter group family.

                                      */ export interface DefaultClusterParameters { - /** - *

                                      The list of cluster default parameters.

                                      - */ - Parameters?: Parameter[]; - /** *

                                      The name of the cluster parameter group family to which the engine default * parameters apply.

                                      @@ -5341,6 +5341,11 @@ export interface DefaultClusterParameters { * records have been retrieved for the request.

                                      */ Marker?: string; + + /** + *

                                      The list of cluster default parameters.

                                      + */ + Parameters?: Parameter[]; } export namespace DefaultClusterParameters { @@ -5388,14 +5393,6 @@ export interface DeleteClusterMessage { */ SkipFinalClusterSnapshot?: boolean; - /** - *

                                      The number of days that a manual snapshot is retained. If the value is -1, the manual - * snapshot is retained indefinitely.

                                      - *

                                      The value must be either -1 or an integer between 1 and 3,653.

                                      - *

                                      The default value is -1.

                                      - */ - FinalClusterSnapshotRetentionPeriod?: number; - /** *

                                      The identifier of the final snapshot that is to be created immediately before * deleting the cluster. If this parameter is provided, @@ -5414,6 +5411,14 @@ export interface DeleteClusterMessage { *

                                    */ FinalClusterSnapshotIdentifier?: string; + + /** + *

                                    The number of days that a manual snapshot is retained. If the value is -1, the manual + * snapshot is retained indefinitely.

                                    + *

                                    The value must be either -1 or an integer between 1 and 3,653.

                                    + *

                                    The default value is -1.

                                    + */ + FinalClusterSnapshotRetentionPeriod?: number; } export namespace DeleteClusterMessage { @@ -5818,16 +5823,11 @@ export namespace DescribeAccountAttributesMessage { export interface DescribeClusterDbRevisionsMessage { /** - *

                                    An optional parameter that specifies the starting point for returning a set of - * response records. When the results of a DescribeClusterDbRevisions request - * exceed the value specified in MaxRecords, Amazon Redshift returns a value - * in the marker field of the response. You can retrieve the next set of - * response records by providing the returned marker value in the - * marker parameter and retrying the request.

                                    - *

                                    Constraints: You can specify either the ClusterIdentifier parameter, or - * the marker parameter, but not both.

                                    + *

                                    A unique identifier for a cluster whose ClusterDbRevisions you are + * requesting. This parameter is case sensitive. All clusters defined for an account are + * returned by default.

                                    */ - Marker?: string; + ClusterIdentifier?: string; /** *

                                    The maximum number of response records to return in each call. If the number of @@ -5841,11 +5841,16 @@ export interface DescribeClusterDbRevisionsMessage { MaxRecords?: number; /** - *

                                    A unique identifier for a cluster whose ClusterDbRevisions you are - * requesting. This parameter is case sensitive. All clusters defined for an account are - * returned by default.

                                    + *

                                    An optional parameter that specifies the starting point for returning a set of + * response records. When the results of a DescribeClusterDbRevisions request + * exceed the value specified in MaxRecords, Amazon Redshift returns a value + * in the marker field of the response. You can retrieve the next set of + * response records by providing the returned marker value in the + * marker parameter and retrying the request.

                                    + *

                                    Constraints: You can specify either the ClusterIdentifier parameter, or + * the marker parameter, but not both.

                                    */ - ClusterIdentifier?: string; + Marker?: string; } export namespace DescribeClusterDbRevisionsMessage { @@ -5858,6 +5863,13 @@ export namespace DescribeClusterDbRevisionsMessage { *

                                    */ export interface DescribeClusterParameterGroupsMessage { + /** + *

                                    The name of a specific parameter group for which to return details. By default, + * details about all parameter groups and the default parameter group are + * returned.

                                    + */ + ParameterGroupName?: string; + /** *

                                    The maximum number of response records to return in each call. If the number of * remaining response records exceeds the specified MaxRecords value, a value @@ -5870,11 +5882,14 @@ export interface DescribeClusterParameterGroupsMessage { MaxRecords?: number; /** - *

                                    The name of a specific parameter group for which to return details. By default, - * details about all parameter groups and the default parameter group are - * returned.

                                    + *

                                    An optional parameter that specifies the starting point to return a set of response + * records. When the results of a DescribeClusterParameterGroups request + * exceed the value specified in MaxRecords, AWS returns a value in the + * Marker field of the response. You can retrieve the next set of response + * records by providing the returned marker value in the Marker parameter and + * retrying the request.

                                    */ - ParameterGroupName?: string; + Marker?: string; /** *

                                    A tag key or keys for which you want to return all matching cluster parameter @@ -5886,16 +5901,6 @@ export interface DescribeClusterParameterGroupsMessage { */ TagKeys?: string[]; - /** - *

                                    An optional parameter that specifies the starting point to return a set of response - * records. When the results of a DescribeClusterParameterGroups request - * exceed the value specified in MaxRecords, AWS returns a value in the - * Marker field of the response. You can retrieve the next set of response - * records by providing the returned marker value in the Marker parameter and - * retrying the request.

                                    - */ - Marker?: string; - /** *

                                    A tag value or values for which you want to return all matching cluster parameter * groups that are associated with the specified tag value or values. For example, suppose @@ -5918,19 +5923,19 @@ export namespace DescribeClusterParameterGroupsMessage { */ export interface DescribeClusterParametersMessage { /** - *

                                    An optional parameter that specifies the starting point to return a set of response - * records. When the results of a DescribeClusterParameters request - * exceed the value specified in MaxRecords, AWS returns a value in the - * Marker field of the response. You can retrieve the next set of response - * records by providing the returned marker value in the Marker parameter and - * retrying the request.

                                    + *

                                    The name of a cluster parameter group for which to return details.

                                    */ - Marker?: string; + ParameterGroupName: string | undefined; /** - *

                                    The name of a cluster parameter group for which to return details.

                                    + *

                                    The parameter types to return. Specify user to show parameters that + * are different form the default. Similarly, specify engine-default to show + * parameters that are the same as the default parameter group.

                                    + *

                                    Default: All parameter types returned.

                                    + *

                                    Valid Values: user | engine-default + *

                                    */ - ParameterGroupName: string | undefined; + Source?: string; /** *

                                    The maximum number of response records to return in each call. If the number of @@ -5942,16 +5947,16 @@ export interface DescribeClusterParametersMessage { *

                                    Constraints: minimum 20, maximum 100.

                                    */ MaxRecords?: number; - - /** - *

                                    The parameter types to return. Specify user to show parameters that - * are different form the default. Similarly, specify engine-default to show - * parameters that are the same as the default parameter group.

                                    - *

                                    Default: All parameter types returned.

                                    - *

                                    Valid Values: user | engine-default - *

                                    + + /** + *

                                    An optional parameter that specifies the starting point to return a set of response + * records. When the results of a DescribeClusterParameters request + * exceed the value specified in MaxRecords, AWS returns a value in the + * Marker field of the response. You can retrieve the next set of response + * records by providing the returned marker value in the Marker parameter and + * retrying the request.

                                    */ - Source?: string; + Marker?: string; } export namespace DescribeClusterParametersMessage { @@ -5971,6 +5976,17 @@ export interface DescribeClustersMessage { */ ClusterIdentifier?: string; + /** + *

                                    The maximum number of response records to return in each call. If the number of + * remaining response records exceeds the specified MaxRecords value, a value + * is returned in a marker field of the response. You can retrieve the next + * set of records by retrying the command with the returned marker value.

                                    + *

                                    Default: 100 + *

                                    + *

                                    Constraints: minimum 20, maximum 100.

                                    + */ + MaxRecords?: number; + /** *

                                    An optional parameter that specifies the starting point to return a set of response * records. When the results of a DescribeClusters request exceed the @@ -5983,15 +5999,13 @@ export interface DescribeClustersMessage { Marker?: string; /** - *

                                    The maximum number of response records to return in each call. If the number of - * remaining response records exceeds the specified MaxRecords value, a value - * is returned in a marker field of the response. You can retrieve the next - * set of records by retrying the command with the returned marker value.

                                    - *

                                    Default: 100 - *

                                    - *

                                    Constraints: minimum 20, maximum 100.

                                    + *

                                    A tag key or keys for which you want to return all matching clusters that are + * associated with the specified key or keys. For example, suppose that you have clusters + * that are tagged with keys called owner and environment. If you + * specify both of these tag keys in the request, Amazon Redshift returns a response with the + * clusters that have either or both of these tag keys associated with them.

                                    */ - MaxRecords?: number; + TagKeys?: string[]; /** *

                                    A tag value or values for which you want to return all matching clusters that are @@ -6002,15 +6016,6 @@ export interface DescribeClustersMessage { * them.

                                    */ TagValues?: string[]; - - /** - *

                                    A tag key or keys for which you want to return all matching clusters that are - * associated with the specified key or keys. For example, suppose that you have clusters - * that are tagged with keys called owner and environment. If you - * specify both of these tag keys in the request, Amazon Redshift returns a response with the - * clusters that have either or both of these tag keys associated with them.

                                    - */ - TagKeys?: string[]; } export namespace DescribeClustersMessage { @@ -6023,6 +6028,25 @@ export namespace DescribeClustersMessage { *

                                    */ export interface DescribeClusterSecurityGroupsMessage { + /** + *

                                    The name of a cluster security group for which you are requesting details. You can + * specify either the Marker parameter or a ClusterSecurityGroupName parameter, but not both.

                                    + *

                                    Example: securitygroup1 + *

                                    + */ + ClusterSecurityGroupName?: string; + + /** + *

                                    The maximum number of response records to return in each call. If the number of + * remaining response records exceeds the specified MaxRecords value, a value + * is returned in a marker field of the response. You can retrieve the next + * set of records by retrying the command with the returned marker value.

                                    + *

                                    Default: 100 + *

                                    + *

                                    Constraints: minimum 20, maximum 100.

                                    + */ + MaxRecords?: number; + /** *

                                    An optional parameter that specifies the starting point to return a set of response * records. When the results of a DescribeClusterSecurityGroups request @@ -6034,24 +6058,6 @@ export interface DescribeClusterSecurityGroupsMessage { */ Marker?: string; - /** - *

                                    A tag value or values for which you want to return all matching cluster security - * groups that are associated with the specified tag value or values. For example, suppose - * that you have security groups that are tagged with values called admin and - * test. If you specify both of these tag values in the request, Amazon Redshift - * returns a response with the security groups that have either or both of these tag values - * associated with them.

                                    - */ - TagValues?: string[]; - - /** - *

                                    The name of a cluster security group for which you are requesting details. You can - * specify either the Marker parameter or a ClusterSecurityGroupName parameter, but not both.

                                    - *

                                    Example: securitygroup1 - *

                                    - */ - ClusterSecurityGroupName?: string; - /** *

                                    A tag key or keys for which you want to return all matching cluster security groups * that are associated with the specified key or keys. For example, suppose that you have @@ -6063,15 +6069,14 @@ export interface DescribeClusterSecurityGroupsMessage { TagKeys?: string[]; /** - *

                                    The maximum number of response records to return in each call. If the number of - * remaining response records exceeds the specified MaxRecords value, a value - * is returned in a marker field of the response. You can retrieve the next - * set of records by retrying the command with the returned marker value.

                                    - *

                                    Default: 100 - *

                                    - *

                                    Constraints: minimum 20, maximum 100.

                                    + *

                                    A tag value or values for which you want to return all matching cluster security + * groups that are associated with the specified tag value or values. For example, suppose + * that you have security groups that are tagged with values called admin and + * test. If you specify both of these tag values in the request, Amazon Redshift + * returns a response with the security groups that have either or both of these tag values + * associated with them.

                                    */ - MaxRecords?: number; + TagValues?: string[]; } export namespace DescribeClusterSecurityGroupsMessage { @@ -6096,14 +6101,14 @@ export enum SortByOrder { */ export interface SnapshotSortingEntity { /** - *

                                    The order for listing the attributes.

                                    + *

                                    The category for sorting the snapshots.

                                    */ - SortOrder?: SortByOrder | string; + Attribute: SnapshotAttributeToSortBy | string | undefined; /** - *

                                    The category for sorting the snapshots.

                                    + *

                                    The order for listing the attributes.

                                    */ - Attribute: SnapshotAttributeToSortBy | string | undefined; + SortOrder?: SortByOrder | string; } export namespace SnapshotSortingEntity { @@ -6122,22 +6127,10 @@ export interface DescribeClusterSnapshotsMessage { ClusterIdentifier?: string; /** - *

                                    An optional parameter that specifies the starting point to return a set of response - * records. When the results of a DescribeClusterSnapshots request exceed - * the value specified in MaxRecords, AWS returns a value in the - * Marker field of the response. You can retrieve the next set of response - * records by providing the returned marker value in the Marker parameter and - * retrying the request.

                                    - */ - Marker?: string; - - /** - *

                                    The AWS customer account used to create or copy the snapshot. Use this field to - * filter the results to snapshots owned by a particular account. To describe snapshots you - * own, either specify your AWS customer account, or do not specify the - * parameter.

                                    + *

                                    The snapshot identifier of the snapshot about which to return + * information.

                                    */ - OwnerAccount?: string; + SnapshotIdentifier?: string; /** *

                                    The type of snapshots for which you are requesting information. By default, @@ -6147,12 +6140,6 @@ export interface DescribeClusterSnapshotsMessage { */ SnapshotType?: string; - /** - *

                                    The snapshot identifier of the snapshot about which to return - * information.

                                    - */ - SnapshotIdentifier?: string; - /** *

                                    A value that requests only snapshots created at or after the specified time. The * time value is specified in ISO 8601 format. For more information about ISO 8601, go to @@ -6163,21 +6150,6 @@ export interface DescribeClusterSnapshotsMessage { */ StartTime?: Date; - /** - *

                                    A tag key or keys for which you want to return all matching cluster snapshots that - * are associated with the specified key or keys. For example, suppose that you have - * snapshots that are tagged with keys called owner and - * environment. If you specify both of these tag keys in the request, - * Amazon Redshift returns a response with the snapshots that have either or both of these tag - * keys associated with them.

                                    - */ - TagKeys?: string[]; - - /** - *

                                    - */ - SortingEntities?: SnapshotSortingEntity[]; - /** *

                                    A time value that requests only snapshots created at or before the specified time. * The time value is specified in ISO 8601 format. For more information about ISO 8601, go @@ -6189,16 +6161,6 @@ export interface DescribeClusterSnapshotsMessage { */ EndTime?: Date; - /** - *

                                    A tag value or values for which you want to return all matching cluster snapshots - * that are associated with the specified tag value or values. For example, suppose that - * you have snapshots that are tagged with values called admin and - * test. If you specify both of these tag values in the request, Amazon Redshift - * returns a response with the snapshots that have either or both of these tag values - * associated with them.

                                    - */ - TagValues?: string[]; - /** *

                                    The maximum number of response records to return in each call. If the number of * remaining response records exceeds the specified MaxRecords value, a value @@ -6210,6 +6172,44 @@ export interface DescribeClusterSnapshotsMessage { */ MaxRecords?: number; + /** + *

                                    An optional parameter that specifies the starting point to return a set of response + * records. When the results of a DescribeClusterSnapshots request exceed + * the value specified in MaxRecords, AWS returns a value in the + * Marker field of the response. You can retrieve the next set of response + * records by providing the returned marker value in the Marker parameter and + * retrying the request.

                                    + */ + Marker?: string; + + /** + *

                                    The AWS customer account used to create or copy the snapshot. Use this field to + * filter the results to snapshots owned by a particular account. To describe snapshots you + * own, either specify your AWS customer account, or do not specify the + * parameter.

                                    + */ + OwnerAccount?: string; + + /** + *

                                    A tag key or keys for which you want to return all matching cluster snapshots that + * are associated with the specified key or keys. For example, suppose that you have + * snapshots that are tagged with keys called owner and + * environment. If you specify both of these tag keys in the request, + * Amazon Redshift returns a response with the snapshots that have either or both of these tag + * keys associated with them.

                                    + */ + TagKeys?: string[]; + + /** + *

                                    A tag value or values for which you want to return all matching cluster snapshots + * that are associated with the specified tag value or values. For example, suppose that + * you have snapshots that are tagged with values called admin and + * test. If you specify both of these tag values in the request, Amazon Redshift + * returns a response with the snapshots that have either or both of these tag values + * associated with them.

                                    + */ + TagValues?: string[]; + /** *

                                    A value that indicates whether to return snapshots only for an existing cluster. * You can perform table-level restore only by using a snapshot of an existing cluster, @@ -6237,6 +6237,11 @@ export interface DescribeClusterSnapshotsMessage { *

                                  */ ClusterExists?: boolean; + + /** + *

                                  + */ + SortingEntities?: SnapshotSortingEntity[]; } export namespace DescribeClusterSnapshotsMessage { @@ -6275,16 +6280,6 @@ export namespace SnapshotMessage { *

                                  */ export interface DescribeClusterSubnetGroupsMessage { - /** - *

                                  An optional parameter that specifies the starting point to return a set of response - * records. When the results of a DescribeClusterSubnetGroups request - * exceed the value specified in MaxRecords, AWS returns a value in the - * Marker field of the response. You can retrieve the next set of response - * records by providing the returned marker value in the Marker parameter and - * retrying the request.

                                  - */ - Marker?: string; - /** *

                                  The name of the cluster subnet group for which information is requested.

                                  */ @@ -6301,6 +6296,16 @@ export interface DescribeClusterSubnetGroupsMessage { */ MaxRecords?: number; + /** + *

                                  An optional parameter that specifies the starting point to return a set of response + * records. When the results of a DescribeClusterSubnetGroups request + * exceed the value specified in MaxRecords, AWS returns a value in the + * Marker field of the response. You can retrieve the next set of response + * records by providing the returned marker value in the Marker parameter and + * retrying the request.

                                  + */ + Marker?: string; + /** *

                                  A tag key or keys for which you want to return all matching cluster subnet groups * that are associated with the specified key or keys. For example, suppose that you have @@ -6329,6 +6334,11 @@ export namespace DescribeClusterSubnetGroupsMessage { } export interface DescribeClusterTracksMessage { + /** + *

                                  The name of the maintenance track.

                                  + */ + MaintenanceTrackName?: string; + /** *

                                  An integer value for the maximum number of maintenance tracks to return.

                                  */ @@ -6343,11 +6353,6 @@ export interface DescribeClusterTracksMessage { * retrying the request.

                                  */ Marker?: string; - - /** - *

                                  The name of the maintenance track.

                                  - */ - MaintenanceTrackName?: string; } export namespace DescribeClusterTracksMessage { @@ -6377,14 +6382,14 @@ export namespace SupportedOperation { */ export interface UpdateTarget { /** - *

                                  The cluster version for the new maintenance track.

                                  + *

                                  The name of the new maintenance track.

                                  */ - DatabaseVersion?: string; + MaintenanceTrackName?: string; /** - *

                                  The name of the new maintenance track.

                                  + *

                                  The cluster version for the new maintenance track.

                                  */ - MaintenanceTrackName?: string; + DatabaseVersion?: string; /** *

                                  A list of operations supported by the maintenance track.

                                  @@ -6406,12 +6411,6 @@ export namespace UpdateTarget { * the previously certified maintenance release.

                                  */ export interface MaintenanceTrack { - /** - *

                                  An array of UpdateTarget objects to update with the maintenance - * track.

                                  - */ - UpdateTargets?: UpdateTarget[]; - /** *

                                  The name of the maintenance track. Possible values are current and * trailing.

                                  @@ -6422,6 +6421,12 @@ export interface MaintenanceTrack { *

                                  The version number for the cluster release.

                                  */ DatabaseVersion?: string; + + /** + *

                                  An array of UpdateTarget objects to update with the maintenance + * track.

                                  + */ + UpdateTargets?: UpdateTarget[]; } export namespace MaintenanceTrack { @@ -6451,10 +6456,17 @@ export namespace TrackListMessage { }); } -/** - *

                                  - */ -export interface DescribeClusterVersionsMessage { +/** + *

                                  + */ +export interface DescribeClusterVersionsMessage { + /** + *

                                  The specific cluster version to return.

                                  + *

                                  Example: 1.0 + *

                                  + */ + ClusterVersion?: string; + /** *

                                  The name of a specific cluster parameter group family to return details * for.

                                  @@ -6493,13 +6505,6 @@ export interface DescribeClusterVersionsMessage { * retrying the request.

                                  */ Marker?: string; - - /** - *

                                  The specific cluster version to return.

                                  - *

                                  Example: 1.0 - *

                                  - */ - ClusterVersion?: string; } export namespace DescribeClusterVersionsMessage { @@ -6581,14 +6586,14 @@ export namespace DescribeEventCategoriesMessage { */ export interface EventInfoMap { /** - *

                                  The category of an Amazon Redshift event.

                                  + *

                                  The identifier of an Amazon Redshift event.

                                  */ - EventCategories?: string[]; + EventId?: string; /** - *

                                  The identifier of an Amazon Redshift event.

                                  + *

                                  The category of an Amazon Redshift event.

                                  */ - EventId?: string; + EventCategories?: string[]; /** *

                                  The description of an Amazon Redshift event.

                                  @@ -6612,16 +6617,16 @@ export namespace EventInfoMap { *

                                  Describes event categories.

                                  */ export interface EventCategoriesMap { - /** - *

                                  The events in the event category.

                                  - */ - Events?: EventInfoMap[]; - /** *

                                  The source type, such as cluster or cluster-snapshot, that the returned categories * belong to.

                                  */ SourceType?: string; + + /** + *

                                  The events in the event category.

                                  + */ + Events?: EventInfoMap[]; } export namespace EventCategoriesMap { @@ -6657,6 +6662,33 @@ export type SourceType = *

                                  */ export interface DescribeEventsMessage { + /** + *

                                  The identifier of the event source for which events will be returned. If this + * parameter is not specified, then all sources are included in the response.

                                  + *

                                  Constraints:

                                  + *

                                  If SourceIdentifier is supplied, + * SourceType must also be provided.

                                  + *
                                    + *
                                  • + *

                                    Specify a cluster identifier when SourceType is + * cluster.

                                    + *
                                  • + *
                                  • + *

                                    Specify a cluster security group name when SourceType + * is cluster-security-group.

                                    + *
                                  • + *
                                  • + *

                                    Specify a cluster parameter group name when SourceType + * is cluster-parameter-group.

                                    + *
                                  • + *
                                  • + *

                                    Specify a cluster snapshot identifier when SourceType + * is cluster-snapshot.

                                    + *
                                  • + *
                                  + */ + SourceIdentifier?: string; + /** *

                                  The event source to retrieve events for. If no value is specified, all events are * returned.

                                  @@ -6688,13 +6720,13 @@ export interface DescribeEventsMessage { SourceType?: SourceType | string; /** - *

                                  The number of minutes prior to the time of the request for which to retrieve - * events. For example, if the request is sent at 18:00 and you specify a duration of 60, - * then only events which have occurred after 17:00 will be returned.

                                  - *

                                  Default: 60 + *

                                  The beginning of the time interval to retrieve events for, specified in ISO 8601 + * format. For more information about ISO 8601, go to the ISO8601 Wikipedia page. + *

                                  + *

                                  Example: 2009-07-08T18:00Z *

                                  */ - Duration?: number; + StartTime?: Date; /** *

                                  The end of the time interval for which to retrieve events, specified in ISO 8601 @@ -6706,31 +6738,13 @@ export interface DescribeEventsMessage { EndTime?: Date; /** - *

                                  The identifier of the event source for which events will be returned. If this - * parameter is not specified, then all sources are included in the response.

                                  - *

                                  Constraints:

                                  - *

                                  If SourceIdentifier is supplied, - * SourceType must also be provided.

                                  - *
                                    - *
                                  • - *

                                    Specify a cluster identifier when SourceType is - * cluster.

                                    - *
                                  • - *
                                  • - *

                                    Specify a cluster security group name when SourceType - * is cluster-security-group.

                                    - *
                                  • - *
                                  • - *

                                    Specify a cluster parameter group name when SourceType - * is cluster-parameter-group.

                                    - *
                                  • - *
                                  • - *

                                    Specify a cluster snapshot identifier when SourceType - * is cluster-snapshot.

                                    - *
                                  • - *
                                  + *

                                  The number of minutes prior to the time of the request for which to retrieve + * events. For example, if the request is sent at 18:00 and you specify a duration of 60, + * then only events which have occurred after 17:00 will be returned.

                                  + *

                                  Default: 60 + *

                                  */ - SourceIdentifier?: string; + Duration?: number; /** *

                                  The maximum number of response records to return in each call. If the number of @@ -6743,15 +6757,6 @@ export interface DescribeEventsMessage { */ MaxRecords?: number; - /** - *

                                  The beginning of the time interval to retrieve events for, specified in ISO 8601 - * format. For more information about ISO 8601, go to the ISO8601 Wikipedia page. - *

                                  - *

                                  Example: 2009-07-08T18:00Z - *

                                  - */ - StartTime?: Date; - /** *

                                  An optional parameter that specifies the starting point to return a set of response * records. When the results of a DescribeEvents request exceed the value @@ -6774,9 +6779,9 @@ export namespace DescribeEventsMessage { */ export interface Event { /** - *

                                  The text of this event.

                                  + *

                                  The identifier for the source of the event.

                                  */ - Message?: string; + SourceIdentifier?: string; /** *

                                  The source type for this event.

                                  @@ -6784,14 +6789,9 @@ export interface Event { SourceType?: SourceType | string; /** - *

                                  The identifier for the source of the event.

                                  - */ - SourceIdentifier?: string; - - /** - *

                                  The identifier of the event.

                                  + *

                                  The text of this event.

                                  */ - EventId?: string; + Message?: string; /** *

                                  A list of the event categories.

                                  @@ -6809,6 +6809,11 @@ export interface Event { *

                                  The date and time of the event.

                                  */ Date?: Date; + + /** + *

                                  The identifier of the event.

                                  + */ + EventId?: string; } export namespace Event { @@ -6821,11 +6826,6 @@ export namespace Event { *

                                  */ export interface EventsMessage { - /** - *

                                  A list of Event instances.

                                  - */ - Events?: Event[]; - /** *

                                  A value that indicates the starting point for the next set of response records in a * subsequent request. If a value is returned in a response, you can retrieve the next set @@ -6834,6 +6834,11 @@ export interface EventsMessage { * records have been retrieved for the request.

                                  */ Marker?: string; + + /** + *

                                  A list of Event instances.

                                  + */ + Events?: Event[]; } export namespace EventsMessage { @@ -6853,14 +6858,15 @@ export interface DescribeEventSubscriptionsMessage { SubscriptionName?: string; /** - *

                                  A tag value or values for which you want to return all matching event notification - * subscriptions that are associated with the specified tag value or values. For example, - * suppose that you have subscriptions that are tagged with values called - * admin and test. If you specify both of these tag values in - * the request, Amazon Redshift returns a response with the subscriptions that have either or - * both of these tag values associated with them.

                                  + *

                                  The maximum number of response records to return in each call. If the number of + * remaining response records exceeds the specified MaxRecords value, a value + * is returned in a marker field of the response. You can retrieve the next + * set of records by retrying the command with the returned marker value.

                                  + *

                                  Default: 100 + *

                                  + *

                                  Constraints: minimum 20, maximum 100.

                                  */ - TagValues?: string[]; + MaxRecords?: number; /** *

                                  An optional parameter that specifies the starting point to return a set of response @@ -6883,15 +6889,14 @@ export interface DescribeEventSubscriptionsMessage { TagKeys?: string[]; /** - *

                                  The maximum number of response records to return in each call. If the number of - * remaining response records exceeds the specified MaxRecords value, a value - * is returned in a marker field of the response. You can retrieve the next - * set of records by retrying the command with the returned marker value.

                                  - *

                                  Default: 100 - *

                                  - *

                                  Constraints: minimum 20, maximum 100.

                                  + *

                                  A tag value or values for which you want to return all matching event notification + * subscriptions that are associated with the specified tag value or values. For example, + * suppose that you have subscriptions that are tagged with values called + * admin and test. If you specify both of these tag values in + * the request, Amazon Redshift returns a response with the subscriptions that have either or + * both of these tag values associated with them.

                                  */ - MaxRecords?: number; + TagValues?: string[]; } export namespace DescribeEventSubscriptionsMessage { @@ -6957,16 +6962,6 @@ export interface DescribeHsmClientCertificatesMessage { */ Marker?: string; - /** - *

                                  A tag value or values for which you want to return all matching HSM client - * certificates that are associated with the specified tag value or values. For example, - * suppose that you have HSM client certificates that are tagged with values called - * admin and test. If you specify both of these tag values in - * the request, Amazon Redshift returns a response with the HSM client certificates that have - * either or both of these tag values associated with them.

                                  - */ - TagValues?: string[]; - /** *

                                  A tag key or keys for which you want to return all matching HSM client certificates * that are associated with the specified key or keys. For example, suppose that you have @@ -6976,6 +6971,16 @@ export interface DescribeHsmClientCertificatesMessage { * of these tag keys associated with them.

                                  */ TagKeys?: string[]; + + /** + *

                                  A tag value or values for which you want to return all matching HSM client + * certificates that are associated with the specified tag value or values. For example, + * suppose that you have HSM client certificates that are tagged with values called + * admin and test. If you specify both of these tag values in + * the request, Amazon Redshift returns a response with the HSM client certificates that have + * either or both of these tag values associated with them.

                                  + */ + TagValues?: string[]; } export namespace DescribeHsmClientCertificatesMessage { @@ -6988,12 +6993,6 @@ export namespace DescribeHsmClientCertificatesMessage { *

                                  */ export interface HsmClientCertificateMessage { - /** - *

                                  A list of the identifiers for one or more HSM client certificates used by Amazon Redshift - * clusters to store and retrieve database encryption keys in an HSM.

                                  - */ - HsmClientCertificates?: HsmClientCertificate[]; - /** *

                                  A value that indicates the starting point for the next set of response records in a * subsequent request. If a value is returned in a response, you can retrieve the next set @@ -7002,6 +7001,12 @@ export interface HsmClientCertificateMessage { * records have been retrieved for the request.

                                  */ Marker?: string; + + /** + *

                                  A list of the identifiers for one or more HSM client certificates used by Amazon Redshift + * clusters to store and retrieve database encryption keys in an HSM.

                                  + */ + HsmClientCertificates?: HsmClientCertificate[]; } export namespace HsmClientCertificateMessage { @@ -7015,14 +7020,22 @@ export namespace HsmClientCertificateMessage { */ export interface DescribeHsmConfigurationsMessage { /** - *

                                  A tag key or keys for which you want to return all matching HSM configurations that - * are associated with the specified key or keys. For example, suppose that you have HSM - * configurations that are tagged with keys called owner and - * environment. If you specify both of these tag keys in the request, - * Amazon Redshift returns a response with the HSM configurations that have either or both of - * these tag keys associated with them.

                                  + *

                                  The identifier of a specific Amazon Redshift HSM configuration to be described. If no + * identifier is specified, information is returned for all HSM configurations owned by + * your AWS customer account.

                                  */ - TagKeys?: string[]; + HsmConfigurationIdentifier?: string; + + /** + *

                                  The maximum number of response records to return in each call. If the number of + * remaining response records exceeds the specified MaxRecords value, a value + * is returned in a marker field of the response. You can retrieve the next + * set of records by retrying the command with the returned marker value.

                                  + *

                                  Default: 100 + *

                                  + *

                                  Constraints: minimum 20, maximum 100.

                                  + */ + MaxRecords?: number; /** *

                                  An optional parameter that specifies the starting point to return a set of response @@ -7035,11 +7048,14 @@ export interface DescribeHsmConfigurationsMessage { Marker?: string; /** - *

                                  The identifier of a specific Amazon Redshift HSM configuration to be described. If no - * identifier is specified, information is returned for all HSM configurations owned by - * your AWS customer account.

                                  + *

                                  A tag key or keys for which you want to return all matching HSM configurations that + * are associated with the specified key or keys. For example, suppose that you have HSM + * configurations that are tagged with keys called owner and + * environment. If you specify both of these tag keys in the request, + * Amazon Redshift returns a response with the HSM configurations that have either or both of + * these tag keys associated with them.

                                  */ - HsmConfigurationIdentifier?: string; + TagKeys?: string[]; /** *

                                  A tag value or values for which you want to return all matching HSM configurations @@ -7050,17 +7066,6 @@ export interface DescribeHsmConfigurationsMessage { * values associated with them.

                                  */ TagValues?: string[]; - - /** - *

                                  The maximum number of response records to return in each call. If the number of - * remaining response records exceeds the specified MaxRecords value, a value - * is returned in a marker field of the response. You can retrieve the next - * set of records by retrying the command with the returned marker value.

                                  - *

                                  Default: 100 - *

                                  - *

                                  Constraints: minimum 20, maximum 100.

                                  - */ - MaxRecords?: number; } export namespace DescribeHsmConfigurationsMessage { @@ -7073,11 +7078,6 @@ export namespace DescribeHsmConfigurationsMessage { *

                                  */ export interface HsmConfigurationMessage { - /** - *

                                  A list of HsmConfiguration objects.

                                  - */ - HsmConfigurations?: HsmConfiguration[]; - /** *

                                  A value that indicates the starting point for the next set of response records in a * subsequent request. If a value is returned in a response, you can retrieve the next set @@ -7086,6 +7086,11 @@ export interface HsmConfigurationMessage { * records have been retrieved for the request.

                                  */ Marker?: string; + + /** + *

                                  A list of HsmConfiguration objects.

                                  + */ + HsmConfigurations?: HsmConfiguration[]; } export namespace HsmConfigurationMessage { @@ -7123,9 +7128,14 @@ export interface LoggingStatus { LoggingEnabled?: boolean; /** - *

                                  The last time when logs failed to be delivered.

                                  + *

                                  The name of the S3 bucket where the log files are stored.

                                  + */ + BucketName?: string; + + /** + *

                                  The prefix applied to the log file names.

                                  */ - LastFailureTime?: Date; + S3KeyPrefix?: string; /** *

                                  The last time that logs were delivered.

                                  @@ -7133,19 +7143,14 @@ export interface LoggingStatus { LastSuccessfulDeliveryTime?: Date; /** - *

                                  The name of the S3 bucket where the log files are stored.

                                  + *

                                  The last time when logs failed to be delivered.

                                  */ - BucketName?: string; + LastFailureTime?: Date; /** *

                                  The message indicating that logs failed to be delivered.

                                  */ LastFailureMessage?: string; - - /** - *

                                  The prefix applied to the log file names.

                                  - */ - S3KeyPrefix?: string; } export namespace LoggingStatus { @@ -7180,14 +7185,6 @@ export interface NodeConfigurationOptionsFilter { */ Name?: NodeConfigurationOptionsFilterName | string; - /** - *

                                  List of values. Compare Name using Operator to Values. - * If filter Name is NumberOfNodes, then values can range from 0 to 200. - * If filter Name is EstimatedDiskUtilizationPercent, then values can range from 0 to 100. - * For example, filter NumberOfNodes (name) GT (operator) 3 (values).

                                  - */ - Values?: string[]; - /** *

                                  The filter operator. * If filter Name is NodeType only the 'in' operator is supported. @@ -7196,6 +7193,14 @@ export interface NodeConfigurationOptionsFilter { * Provide a list of values for 'in'.

                                  */ Operator?: OperatorType | string; + + /** + *

                                  List of values. Compare Name using Operator to Values. + * If filter Name is NumberOfNodes, then values can range from 0 to 200. + * If filter Name is EstimatedDiskUtilizationPercent, then values can range from 0 to 100. + * For example, filter NumberOfNodes (name) GT (operator) 3 (values).

                                  + */ + Values?: string[]; } export namespace NodeConfigurationOptionsFilter { @@ -7215,25 +7220,14 @@ export interface DescribeNodeConfigurationOptionsMessage { ActionType: ActionType | string | undefined; /** - *

                                  The maximum number of response records to return in each call. If the number of - * remaining response records exceeds the specified MaxRecords value, a value - * is returned in a marker field of the response. You can retrieve the next - * set of records by retrying the command with the returned marker value.

                                  - *

                                  Default: 500 - *

                                  - *

                                  Constraints: minimum 100, maximum 500.

                                  + *

                                  The identifier of the cluster to evaluate for possible node configurations.

                                  */ - MaxRecords?: number; + ClusterIdentifier?: string; /** - *

                                  An optional parameter that specifies the starting point to return a set of response - * records. When the results of a DescribeNodeConfigurationOptions request - * exceed the value specified in MaxRecords, AWS returns a value in the - * Marker field of the response. You can retrieve the next set of response - * records by providing the returned marker value in the Marker parameter and - * retrying the request.

                                  + *

                                  The identifier of the snapshot to evaluate for possible node configurations.

                                  */ - Marker?: string; + SnapshotIdentifier?: string; /** *

                                  The AWS customer account used to create or copy the snapshot. @@ -7243,19 +7237,30 @@ export interface DescribeNodeConfigurationOptionsMessage { OwnerAccount?: string; /** - *

                                  The identifier of the snapshot to evaluate for possible node configurations.

                                  + *

                                  A set of name, operator, and value items to filter the results.

                                  */ - SnapshotIdentifier?: string; + Filters?: NodeConfigurationOptionsFilter[]; /** - *

                                  A set of name, operator, and value items to filter the results.

                                  + *

                                  An optional parameter that specifies the starting point to return a set of response + * records. When the results of a DescribeNodeConfigurationOptions request + * exceed the value specified in MaxRecords, AWS returns a value in the + * Marker field of the response. You can retrieve the next set of response + * records by providing the returned marker value in the Marker parameter and + * retrying the request.

                                  */ - Filters?: NodeConfigurationOptionsFilter[]; + Marker?: string; /** - *

                                  The identifier of the cluster to evaluate for possible node configurations.

                                  + *

                                  The maximum number of response records to return in each call. If the number of + * remaining response records exceeds the specified MaxRecords value, a value + * is returned in a marker field of the response. You can retrieve the next + * set of records by retrying the command with the returned marker value.

                                  + *

                                  Default: 500 + *

                                  + *

                                  Constraints: minimum 100, maximum 500.

                                  */ - ClusterIdentifier?: string; + MaxRecords?: number; } export namespace DescribeNodeConfigurationOptionsMessage { @@ -7274,24 +7279,24 @@ export enum Mode { */ export interface NodeConfigurationOption { /** - *

                                  The estimated disk utilizaton percentage.

                                  + *

                                  The node type, such as, "ds2.8xlarge".

                                  */ - EstimatedDiskUtilizationPercent?: number; + NodeType?: string; /** - *

                                  The node type, such as, "ds2.8xlarge".

                                  + *

                                  The number of nodes.

                                  */ - NodeType?: string; + NumberOfNodes?: number; /** - *

                                  The category of the node configuration recommendation.

                                  + *

                                  The estimated disk utilizaton percentage.

                                  */ - Mode?: Mode | string; + EstimatedDiskUtilizationPercent?: number; /** - *

                                  The number of nodes.

                                  + *

                                  The category of the node configuration recommendation.

                                  */ - NumberOfNodes?: number; + Mode?: Mode | string; } export namespace NodeConfigurationOption { @@ -7326,6 +7331,20 @@ export namespace NodeConfigurationOptionsMessage { *

                                  */ export interface DescribeOrderableClusterOptionsMessage { + /** + *

                                  The version filter value. Specify this parameter to show only the available + * offerings matching the specified version.

                                  + *

                                  Default: All versions.

                                  + *

                                  Constraints: Must be one of the version returned from DescribeClusterVersions.

                                  + */ + ClusterVersion?: string; + + /** + *

                                  The node type filter value. Specify this parameter to show only the available + * offerings matching the specified node type.

                                  + */ + NodeType?: string; + /** *

                                  The maximum number of response records to return in each call. If the number of * remaining response records exceeds the specified MaxRecords value, a value @@ -7346,20 +7365,6 @@ export interface DescribeOrderableClusterOptionsMessage { * retrying the request.

                                  */ Marker?: string; - - /** - *

                                  The version filter value. Specify this parameter to show only the available - * offerings matching the specified version.

                                  - *

                                  Default: All versions.

                                  - *

                                  Constraints: Must be one of the version returned from DescribeClusterVersions.

                                  - */ - ClusterVersion?: string; - - /** - *

                                  The node type filter value. Specify this parameter to show only the available - * offerings matching the specified node type.

                                  - */ - NodeType?: string; } export namespace DescribeOrderableClusterOptionsMessage { @@ -7372,25 +7377,25 @@ export namespace DescribeOrderableClusterOptionsMessage { *

                                  Describes an orderable cluster option.

                                  */ export interface OrderableClusterOption { - /** - *

                                  The cluster type, for example multi-node.

                                  - */ - ClusterType?: string; - /** *

                                  The version of the orderable cluster.

                                  */ ClusterVersion?: string; /** - *

                                  A list of availability zones for the orderable cluster.

                                  + *

                                  The cluster type, for example multi-node.

                                  */ - AvailabilityZones?: AvailabilityZone[]; + ClusterType?: string; /** *

                                  The node type for the orderable cluster.

                                  */ NodeType?: string; + + /** + *

                                  A list of availability zones for the orderable cluster.

                                  + */ + AvailabilityZones?: AvailabilityZone[]; } export namespace OrderableClusterOption { @@ -7468,54 +7473,54 @@ export namespace DescribeReservedNodeOfferingsMessage { */ export interface ReservedNodeOffering { /** - *

                                  + *

                                  The offering identifier.

                                  */ - ReservedNodeOfferingType?: ReservedNodeOfferingType | string; + ReservedNodeOfferingId?: string; /** - *

                                  The anticipated utilization of the reserved node, as defined in the reserved node - * offering.

                                  + *

                                  The node type offered by the reserved node offering.

                                  */ - OfferingType?: string; + NodeType?: string; /** - *

                                  The currency code for the compute nodes offering.

                                  + *

                                  The duration, in seconds, for which the offering will reserve the node.

                                  */ - CurrencyCode?: string; + Duration?: number; /** - *

                                  The node type offered by the reserved node offering.

                                  + *

                                  The upfront fixed charge you will pay to purchase the specific reserved node + * offering.

                                  */ - NodeType?: string; + FixedPrice?: number; /** - *

                                  The offering identifier.

                                  + *

                                  The rate you are charged for each hour the cluster that is using the offering is + * running.

                                  */ - ReservedNodeOfferingId?: string; + UsagePrice?: number; /** - *

                                  The charge to your account regardless of whether you are creating any clusters - * using the node offering. Recurring charges are only in effect for heavy-utilization - * reserved nodes.

                                  + *

                                  The currency code for the compute nodes offering.

                                  */ - RecurringCharges?: RecurringCharge[]; + CurrencyCode?: string; /** - *

                                  The upfront fixed charge you will pay to purchase the specific reserved node + *

                                  The anticipated utilization of the reserved node, as defined in the reserved node * offering.

                                  */ - FixedPrice?: number; + OfferingType?: string; /** - *

                                  The rate you are charged for each hour the cluster that is using the offering is - * running.

                                  + *

                                  The charge to your account regardless of whether you are creating any clusters + * using the node offering. Recurring charges are only in effect for heavy-utilization + * reserved nodes.

                                  */ - UsagePrice?: number; + RecurringCharges?: RecurringCharge[]; /** - *

                                  The duration, in seconds, for which the offering will reserve the node.

                                  + *

                                  */ - Duration?: number; + ReservedNodeOfferingType?: ReservedNodeOfferingType | string; } export namespace ReservedNodeOffering { @@ -7590,11 +7595,6 @@ export namespace DescribeReservedNodesMessage { *

                                  */ export interface ReservedNodesMessage { - /** - *

                                  The list of ReservedNode objects.

                                  - */ - ReservedNodes?: ReservedNode[]; - /** *

                                  A value that indicates the starting point for the next set of response records in a * subsequent request. If a value is returned in a response, you can retrieve the next set @@ -7603,6 +7603,11 @@ export interface ReservedNodesMessage { * records have been retrieved for the request.

                                  */ Marker?: string; + + /** + *

                                  The list of ReservedNode objects.

                                  + */ + ReservedNodes?: ReservedNode[]; } export namespace ReservedNodesMessage { @@ -7664,9 +7669,26 @@ export enum ScheduledActionTypeValues { export interface DescribeScheduledActionsMessage { /** - *

                                  List of scheduled action filters.

                                  + *

                                  The name of the scheduled action to retrieve.

                                  */ - Filters?: ScheduledActionFilter[]; + ScheduledActionName?: string; + + /** + *

                                  The type of the scheduled actions to retrieve.

                                  + */ + TargetActionType?: ScheduledActionTypeValues | string; + + /** + *

                                  The start time in UTC of the scheduled actions to retrieve. + * Only active scheduled actions that have invocations after this time are retrieved.

                                  + */ + StartTime?: Date; + + /** + *

                                  The end time in UTC of the scheduled action to retrieve. + * Only active scheduled actions that have invocations before this time are retrieved.

                                  + */ + EndTime?: Date; /** *

                                  If true, retrieve only active scheduled actions. @@ -7675,9 +7697,9 @@ export interface DescribeScheduledActionsMessage { Active?: boolean; /** - *

                                  The name of the scheduled action to retrieve.

                                  + *

                                  List of scheduled action filters.

                                  */ - ScheduledActionName?: string; + Filters?: ScheduledActionFilter[]; /** *

                                  An optional parameter that specifies the starting point to return a set of response @@ -7699,23 +7721,6 @@ export interface DescribeScheduledActionsMessage { *

                                  Constraints: minimum 20, maximum 100.

                                  */ MaxRecords?: number; - - /** - *

                                  The end time in UTC of the scheduled action to retrieve. - * Only active scheduled actions that have invocations before this time are retrieved.

                                  - */ - EndTime?: Date; - - /** - *

                                  The start time in UTC of the scheduled actions to retrieve. - * Only active scheduled actions that have invocations after this time are retrieved.

                                  - */ - StartTime?: Date; - - /** - *

                                  The type of the scheduled actions to retrieve.

                                  - */ - TargetActionType?: ScheduledActionTypeValues | string; } export namespace DescribeScheduledActionsMessage { @@ -7752,13 +7757,9 @@ export namespace ScheduledActionsMessage { */ export interface DescribeSnapshotCopyGrantsMessage { /** - *

                                  A tag key or keys for which you want to return all matching resources that are - * associated with the specified key or keys. For example, suppose that you have resources - * tagged with keys called owner and environment. If you specify - * both of these tag keys in the request, Amazon Redshift returns a response with all resources - * that have either or both of these tag keys associated with them.

                                  + *

                                  The name of the snapshot copy grant.

                                  */ - TagKeys?: string[]; + SnapshotCopyGrantName?: string; /** *

                                  The maximum number of response records to return in each call. If the number of @@ -7783,9 +7784,13 @@ export interface DescribeSnapshotCopyGrantsMessage { Marker?: string; /** - *

                                  The name of the snapshot copy grant.

                                  + *

                                  A tag key or keys for which you want to return all matching resources that are + * associated with the specified key or keys. For example, suppose that you have resources + * tagged with keys called owner and environment. If you specify + * both of these tag keys in the request, Amazon Redshift returns a response with all resources + * that have either or both of these tag keys associated with them.

                                  */ - SnapshotCopyGrantName?: string; + TagKeys?: string[]; /** *

                                  A tag value or values for which you want to return all matching resources that are @@ -7807,11 +7812,6 @@ export namespace DescribeSnapshotCopyGrantsMessage { *

                                  */ export interface SnapshotCopyGrantMessage { - /** - *

                                  The list of SnapshotCopyGrant objects.

                                  - */ - SnapshotCopyGrants?: SnapshotCopyGrant[]; - /** *

                                  An optional parameter that specifies the starting point to return a set of response * records. When the results of a DescribeSnapshotCopyGrant request exceed the @@ -7822,6 +7822,11 @@ export interface SnapshotCopyGrantMessage { *

                                  Constraints: You can specify either the SnapshotCopyGrantName parameter or the Marker parameter, but not both.

                                  */ Marker?: string; + + /** + *

                                  The list of SnapshotCopyGrant objects.

                                  + */ + SnapshotCopyGrants?: SnapshotCopyGrant[]; } export namespace SnapshotCopyGrantMessage { @@ -7833,23 +7838,14 @@ export namespace SnapshotCopyGrantMessage { export interface DescribeSnapshotSchedulesMessage { /** *

                                  The unique identifier for the cluster whose snapshot schedules you want to - * view.

                                  - */ - ClusterIdentifier?: string; - - /** - *

                                  The value corresponding to the key of the snapshot schedule tag.

                                  + * view.

                                  */ - TagValues?: string[]; + ClusterIdentifier?: string; /** - *

                                  The maximum number or response records to return in each call. If the number of - * remaining response records exceeds the specified MaxRecords value, a value - * is returned in a marker field of the response. You can retrieve the next - * set of records by retrying the command with the returned marker - * value.

                                  + *

                                  A unique identifier for a snapshot schedule.

                                  */ - MaxRecords?: number; + ScheduleIdentifier?: string; /** *

                                  The key value for a snapshot schedule tag.

                                  @@ -7857,9 +7853,9 @@ export interface DescribeSnapshotSchedulesMessage { TagKeys?: string[]; /** - *

                                  A unique identifier for a snapshot schedule.

                                  + *

                                  The value corresponding to the key of the snapshot schedule tag.

                                  */ - ScheduleIdentifier?: string; + TagValues?: string[]; /** *

                                  A value that indicates the starting point for the next set of response records in a @@ -7869,6 +7865,15 @@ export interface DescribeSnapshotSchedulesMessage { * records have been retrieved for the request.

                                  */ Marker?: string; + + /** + *

                                  The maximum number or response records to return in each call. If the number of + * remaining response records exceeds the specified MaxRecords value, a value + * is returned in a marker field of the response. You can retrieve the next + * set of records by retrying the command with the returned marker + * value.

                                  + */ + MaxRecords?: number; } export namespace DescribeSnapshotSchedulesMessage { @@ -7904,11 +7909,9 @@ export namespace DescribeSnapshotSchedulesOutputMessage { */ export interface DescribeTableRestoreStatusMessage { /** - *

                                  The maximum number of records to include in the response. If more records exist - * than the specified MaxRecords value, a pagination token called a marker is - * included in the response so that the remaining results can be retrieved.

                                  + *

                                  The Amazon Redshift cluster that the table is being restored to.

                                  */ - MaxRecords?: number; + ClusterIdentifier?: string; /** *

                                  The identifier of the table restore request to return status for. If you don't @@ -7918,6 +7921,13 @@ export interface DescribeTableRestoreStatusMessage { */ TableRestoreRequestId?: string; + /** + *

                                  The maximum number of records to include in the response. If more records exist + * than the specified MaxRecords value, a pagination token called a marker is + * included in the response so that the remaining results can be retrieved.

                                  + */ + MaxRecords?: number; + /** *

                                  An optional pagination token provided by a previous * DescribeTableRestoreStatus request. If this parameter is specified, the @@ -7925,11 +7935,6 @@ export interface DescribeTableRestoreStatusMessage { * MaxRecords parameter.

                                  */ Marker?: string; - - /** - *

                                  The Amazon Redshift cluster that the table is being restored to.

                                  - */ - ClusterIdentifier?: string; } export namespace DescribeTableRestoreStatusMessage { @@ -7961,41 +7966,41 @@ export type TableRestoreStatusType = "CANCELED" | "FAILED" | "IN_PROGRESS" | "PE */ export interface TableRestoreStatus { /** - *

                                  The name of the source database that contains the table being restored.

                                  + *

                                  The unique identifier for the table restore request.

                                  */ - SourceDatabaseName?: string; + TableRestoreRequestId?: string; /** - *

                                  The time that the table restore request was made, in Universal Coordinated Time - * (UTC).

                                  + *

                                  A value that describes the current state of the table restore request.

                                  + *

                                  Valid Values: SUCCEEDED, FAILED, CANCELED, + * PENDING, IN_PROGRESS + *

                                  */ - RequestTime?: Date; + Status?: TableRestoreStatusType | string; /** - *

                                  The name of the source table being restored.

                                  + *

                                  A description of the status of the table restore request. Status values include + * SUCCEEDED, FAILED, CANCELED, + * PENDING, IN_PROGRESS.

                                  */ - SourceTableName?: string; + Message?: string; /** - *

                                  The name of the database to restore the table to.

                                  + *

                                  The time that the table restore request was made, in Universal Coordinated Time + * (UTC).

                                  */ - TargetDatabaseName?: string; + RequestTime?: Date; /** - *

                                  The identifier of the snapshot that the table is being restored from.

                                  + *

                                  The amount of data restored to the new table so far, in megabytes (MB).

                                  */ - SnapshotIdentifier?: string; + ProgressInMegaBytes?: number; /** *

                                  The total amount of data to restore to the new table, in megabytes (MB).

                                  */ TotalDataInMegaBytes?: number; - /** - *

                                  The name of the schema to restore the table to.

                                  - */ - TargetSchemaName?: string; - /** *

                                  The identifier of the Amazon Redshift cluster that the table is being restored * to.

                                  @@ -8003,17 +8008,14 @@ export interface TableRestoreStatus { ClusterIdentifier?: string; /** - *

                                  The name of the table to create as a result of the table restore request.

                                  + *

                                  The identifier of the snapshot that the table is being restored from.

                                  */ - NewTableName?: string; + SnapshotIdentifier?: string; /** - *

                                  A value that describes the current state of the table restore request.

                                  - *

                                  Valid Values: SUCCEEDED, FAILED, CANCELED, - * PENDING, IN_PROGRESS - *

                                  + *

                                  The name of the source database that contains the table being restored.

                                  */ - Status?: TableRestoreStatusType | string; + SourceDatabaseName?: string; /** *

                                  The name of the source schema that contains the table being restored.

                                  @@ -8021,21 +8023,24 @@ export interface TableRestoreStatus { SourceSchemaName?: string; /** - *

                                  A description of the status of the table restore request. Status values include - * SUCCEEDED, FAILED, CANCELED, - * PENDING, IN_PROGRESS.

                                  + *

                                  The name of the source table being restored.

                                  */ - Message?: string; + SourceTableName?: string; /** - *

                                  The amount of data restored to the new table so far, in megabytes (MB).

                                  + *

                                  The name of the database to restore the table to.

                                  */ - ProgressInMegaBytes?: number; + TargetDatabaseName?: string; /** - *

                                  The unique identifier for the table restore request.

                                  + *

                                  The name of the schema to restore the table to.

                                  */ - TableRestoreRequestId?: string; + TargetSchemaName?: string; + + /** + *

                                  The name of the table to create as a result of the table restore request.

                                  + */ + NewTableName?: string; } export namespace TableRestoreStatus { @@ -8049,14 +8054,14 @@ export namespace TableRestoreStatus { */ export interface TableRestoreStatusMessage { /** - *

                                  A pagination token that can be used in a subsequent DescribeTableRestoreStatus request.

                                  + *

                                  A list of status details for one or more table restore requests.

                                  */ - Marker?: string; + TableRestoreStatusDetails?: TableRestoreStatus[]; /** - *

                                  A list of status details for one or more table restore requests.

                                  + *

                                  A pagination token that can be used in a subsequent DescribeTableRestoreStatus request.

                                  */ - TableRestoreStatusDetails?: TableRestoreStatus[]; + Marker?: string; } export namespace TableRestoreStatusMessage { @@ -8070,13 +8075,10 @@ export namespace TableRestoreStatusMessage { */ export interface DescribeTagsMessage { /** - *

                                  A value that indicates the starting point for the next set of response records in a - * subsequent request. If a value is returned in a response, you can retrieve the next set - * of records by providing this returned marker value in the marker parameter - * and retrying the command. If the marker field is empty, all response - * records have been retrieved for the request.

                                  + *

                                  The Amazon Resource Name (ARN) for which you want to describe the tag or tags. For + * example, arn:aws:redshift:us-east-2:123456789:cluster:t1.

                                  */ - Marker?: string; + ResourceName?: string; /** *

                                  The type of resource with which you want to view tags. Valid resource types are:

                                  @@ -8127,6 +8129,15 @@ export interface DescribeTagsMessage { */ MaxRecords?: number; + /** + *

                                  A value that indicates the starting point for the next set of response records in a + * subsequent request. If a value is returned in a response, you can retrieve the next set + * of records by providing this returned marker value in the marker parameter + * and retrying the command. If the marker field is empty, all response + * records have been retrieved for the request.

                                  + */ + Marker?: string; + /** *

                                  A tag key or keys for which you want to return all matching resources that are * associated with the specified key or keys. For example, suppose that you have resources @@ -8144,12 +8155,6 @@ export interface DescribeTagsMessage { * resources that have either or both of these tag values associated with them.

                                  */ TagValues?: string[]; - - /** - *

                                  The Amazon Resource Name (ARN) for which you want to describe the tag or tags. For - * example, arn:aws:redshift:us-east-2:123456789:cluster:t1.

                                  - */ - ResourceName?: string; } export namespace DescribeTagsMessage { @@ -8162,6 +8167,11 @@ export namespace DescribeTagsMessage { *

                                  A tag and its associated resource.

                                  */ export interface TaggedResource { + /** + *

                                  The tag for the resource.

                                  + */ + Tag?: Tag; + /** *

                                  The Amazon Resource Name (ARN) with which the tag is associated, for example: * arn:aws:redshift:us-east-2:123456789:cluster:t1.

                                  @@ -8204,11 +8214,6 @@ export interface TaggedResource { * Amazon Redshift Cluster Management Guide.

                                  */ ResourceType?: string; - - /** - *

                                  The tag for the resource.

                                  - */ - Tag?: Tag; } export namespace TaggedResource { @@ -8243,6 +8248,16 @@ export namespace TaggedResourceListMessage { } export interface DescribeUsageLimitsMessage { + /** + *

                                  The identifier of the usage limit to describe.

                                  + */ + UsageLimitId?: string; + + /** + *

                                  The identifier of the cluster for which you want to describe usage limits.

                                  + */ + ClusterIdentifier?: string; + /** *

                                  The feature type for which you want to describe usage limits.

                                  */ @@ -8259,21 +8274,6 @@ export interface DescribeUsageLimitsMessage { */ MaxRecords?: number; - /** - *

                                  A tag key or keys for which you want to return all matching usage limit objects - * that are associated with the specified key or keys. For example, suppose that you - * have parameter groups that are tagged with keys called owner and - * environment. If you specify both of these tag keys in the request, - * Amazon Redshift returns a response with the usage limit objects have either or both of these - * tag keys associated with them.

                                  - */ - TagKeys?: string[]; - - /** - *

                                  The identifier of the usage limit to describe.

                                  - */ - UsageLimitId?: string; - /** *

                                  An optional parameter that specifies the starting point to return a set of response * records. When the results of a DescribeUsageLimits request @@ -8284,6 +8284,16 @@ export interface DescribeUsageLimitsMessage { */ Marker?: string; + /** + *

                                  A tag key or keys for which you want to return all matching usage limit objects + * that are associated with the specified key or keys. For example, suppose that you + * have parameter groups that are tagged with keys called owner and + * environment. If you specify both of these tag keys in the request, + * Amazon Redshift returns a response with the usage limit objects have either or both of these + * tag keys associated with them.

                                  + */ + TagKeys?: string[]; + /** *

                                  A tag value or values for which you want to return all matching usage limit objects * that are associated with the specified tag value or values. For example, suppose @@ -8293,11 +8303,6 @@ export interface DescribeUsageLimitsMessage { * values associated with them.

                                  */ TagValues?: string[]; - - /** - *

                                  The identifier of the cluster for which you want to describe usage limits.

                                  - */ - ClusterIdentifier?: string; } export namespace DescribeUsageLimitsMessage { @@ -8512,12 +8517,6 @@ export namespace InvalidS3KeyPrefixFault { *

                                  */ export interface EnableSnapshotCopyMessage { - /** - *

                                  The name of the snapshot copy grant to use when snapshots of an AWS KMS-encrypted - * cluster are copied to the destination region.

                                  - */ - SnapshotCopyGrantName?: string; - /** *

                                  The unique identifier of the source cluster to copy snapshots from.

                                  *

                                  Constraints: Must be the valid name of an existing cluster that does not already @@ -8525,6 +8524,14 @@ export interface EnableSnapshotCopyMessage { */ ClusterIdentifier: string | undefined; + /** + *

                                  The destination AWS Region that you want to copy snapshots to.

                                  + *

                                  Constraints: Must be the name of a valid AWS Region. For more information, see + * Regions and Endpoints in the Amazon Web Services General Reference. + *

                                  + */ + DestinationRegion: string | undefined; + /** *

                                  The number of days to retain automated snapshots in the destination region after * they are copied from the source region.

                                  @@ -8534,12 +8541,10 @@ export interface EnableSnapshotCopyMessage { RetentionPeriod?: number; /** - *

                                  The destination AWS Region that you want to copy snapshots to.

                                  - *

                                  Constraints: Must be the name of a valid AWS Region. For more information, see - * Regions and Endpoints in the Amazon Web Services General Reference. - *

                                  + *

                                  The name of the snapshot copy grant to use when snapshots of an AWS KMS-encrypted + * cluster are copied to the destination region.

                                  */ - DestinationRegion: string | undefined; + SnapshotCopyGrantName?: string; /** *

                                  The number of days to retain newly copied snapshots in the destination AWS Region @@ -8618,13 +8623,6 @@ export namespace UnknownSnapshotCopyRegionFault { *

                                  The request parameters to get cluster credentials.

                                  */ export interface GetClusterCredentialsMessage { - /** - *

                                  The number of seconds until the returned temporary password expires.

                                  - *

                                  Constraint: minimum 900, maximum 3600.

                                  - *

                                  Default: 900

                                  - */ - DurationSeconds?: number; - /** *

                                  The name of a database user. If a user name matching DbUser exists in * the database, the temporary user credentials have the same permissions as the existing @@ -8660,12 +8658,6 @@ export interface GetClusterCredentialsMessage { */ DbUser: string | undefined; - /** - *

                                  Create a database user with the name specified for the user named in - * DbUser if one does not exist.

                                  - */ - AutoCreate?: boolean; - /** *

                                  The name of a database that DbUser is authorized to log on to. If * DbName is not specified, DbUser can log on to any existing @@ -8699,6 +8691,19 @@ export interface GetClusterCredentialsMessage { */ ClusterIdentifier: string | undefined; + /** + *

                                  The number of seconds until the returned temporary password expires.

                                  + *

                                  Constraint: minimum 900, maximum 3600.

                                  + *

                                  Default: 900

                                  + */ + DurationSeconds?: number; + + /** + *

                                  Create a database user with the name specified for the user named in + * DbUser if one does not exist.

                                  + */ + AutoCreate?: boolean; + /** *

                                  A list of the names of existing database groups that the user named in * DbUser will join for the current session, in addition to any group @@ -8738,18 +8743,18 @@ export namespace GetClusterCredentialsMessage { *

                                  */ export interface GetReservedNodeExchangeOfferingsInputMessage { - /** - *

                                  An integer setting the maximum number of ReservedNodeOfferings to - * retrieve.

                                  - */ - MaxRecords?: number; - /** *

                                  A string representing the node identifier for the DC1 Reserved Node to be * exchanged.

                                  */ ReservedNodeId: string | undefined; + /** + *

                                  An integer setting the maximum number of ReservedNodeOfferings to + * retrieve.

                                  + */ + MaxRecords?: number; + /** *

                                  A value that indicates the starting point for the next set of * ReservedNodeOfferings.

                                  @@ -8764,11 +8769,6 @@ export namespace GetReservedNodeExchangeOfferingsInputMessage { } export interface GetReservedNodeExchangeOfferingsOutputMessage { - /** - *

                                  Returns an array of ReservedNodeOffering objects.

                                  - */ - ReservedNodeOfferings?: ReservedNodeOffering[]; - /** *

                                  An optional parameter that specifies the starting point for returning a set of * response records. When the results of a GetReservedNodeExchangeOfferings @@ -8778,6 +8778,11 @@ export interface GetReservedNodeExchangeOfferingsOutputMessage { *

                                  */ Marker?: string; + + /** + *

                                  Returns an array of ReservedNodeOffering objects.

                                  + */ + ReservedNodeOfferings?: ReservedNodeOffering[]; } export namespace GetReservedNodeExchangeOfferingsOutputMessage { diff --git a/clients/client-redshift/models/models_1.ts b/clients/client-redshift/models/models_1.ts index 270e1f455492..a7400a7c806b 100644 --- a/clients/client-redshift/models/models_1.ts +++ b/clients/client-redshift/models/models_1.ts @@ -17,6 +17,24 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; *

                                  */ export interface ModifyClusterMessage { + /** + *

                                  The unique identifier of the cluster to be modified.

                                  + *

                                  Example: examplecluster + *

                                  + */ + ClusterIdentifier: string | undefined; + + /** + *

                                  The new cluster type.

                                  + *

                                  When you submit your cluster resize request, your existing cluster goes into a + * read-only mode. After Amazon Redshift provisions a new cluster based on your resize + * requirements, there will be outage for a period while the old cluster is deleted and + * your connection is switched to the new cluster. You can use DescribeResize to track the progress of the resize request.

                                  + *

                                  Valid Values: multi-node | single-node + *

                                  + */ + ClusterType?: string; + /** *

                                  The new node type of the cluster. If you specify a new node type, you must also * specify the number of nodes parameter.

                                  @@ -34,12 +52,42 @@ export interface ModifyClusterMessage { NodeType?: string; /** - *

                                  If true, major version upgrades will be applied automatically to the - * cluster during the maintenance window.

                                  - *

                                  Default: false - *

                                  + *

                                  The new number of nodes of the cluster. If you specify a new number of nodes, you + * must also specify the node type parameter.

                                  + *

                                  + * For more information about resizing clusters, go to + * Resizing Clusters in Amazon Redshift + * in the Amazon Redshift Cluster Management Guide.

                                  + * + *

                                  Valid Values: Integer greater than 0.

                                  */ - AllowVersionUpgrade?: boolean; + NumberOfNodes?: number; + + /** + *

                                  A list of cluster security groups to be authorized on this cluster. This change is + * asynchronously applied as soon as possible.

                                  + *

                                  Security groups currently associated with the cluster, and not in the list of + * groups to apply, will be revoked from the cluster.

                                  + *

                                  Constraints:

                                  + *
                                    + *
                                  • + *

                                    Must be 1 to 255 alphanumeric characters or hyphens

                                    + *
                                  • + *
                                  • + *

                                    First character must be a letter

                                    + *
                                  • + *
                                  • + *

                                    Cannot end with a hyphen or contain two consecutive hyphens

                                    + *
                                  • + *
                                  + */ + ClusterSecurityGroups?: string[]; + + /** + *

                                  A list of virtual private cloud (VPC) security groups to be associated with the + * cluster. This change is asynchronously applied as soon as possible.

                                  + */ + VpcSecurityGroupIds?: string[]; /** *

                                  The new password for the cluster master user. This change is asynchronously applied @@ -74,6 +122,27 @@ export interface ModifyClusterMessage { */ MasterUserPassword?: string; + /** + *

                                  The name of the cluster parameter group to apply to this cluster. This change is + * applied only after the cluster is rebooted. To reboot a cluster use RebootCluster.

                                  + *

                                  Default: Uses existing setting.

                                  + *

                                  Constraints: The cluster parameter group must be in the same parameter group family + * that matches the cluster version.

                                  + */ + ClusterParameterGroupName?: string; + + /** + *

                                  The number of days that automated snapshots are retained. If the value is 0, + * automated snapshots are disabled. Even if automated snapshots are disabled, you can + * still create manual snapshots when you want with CreateClusterSnapshot.

                                  + *

                                  If you decrease the automated snapshot retention period from its current value, + * existing automated snapshots that fall outside of the new retention period will be + * immediately deleted.

                                  + *

                                  Default: Uses existing setting.

                                  + *

                                  Constraints: Must be a value from 0 to 35.

                                  + */ + AutomatedSnapshotRetentionPeriod?: number; + /** *

                                  The default for number of days that a newly created manual snapshot is retained. If * the value is -1, the manual snapshot is retained indefinitely. This value doesn't @@ -83,16 +152,6 @@ export interface ModifyClusterMessage { */ ManualSnapshotRetentionPeriod?: number; - /** - *

                                  The name for the maintenance track that you want to assign for the cluster. This name - * change is asynchronous. The new track name stays in the - * PendingModifiedValues for the cluster until the next maintenance - * window. When the maintenance track changes, the cluster is switched to the latest - * cluster release available for the maintenance track. At this point, the maintenance - * track name is applied.

                                  - */ - MaintenanceTrackName?: string; - /** *

                                  The weekly time range (in UTC) during which system maintenance can occur, if * necessary. If system maintenance is necessary during the window, it may result in an @@ -109,31 +168,26 @@ export interface ModifyClusterMessage { PreferredMaintenanceWindow?: string; /** - *

                                  The new number of nodes of the cluster. If you specify a new number of nodes, you - * must also specify the node type parameter.

                                  - *

                                  - * For more information about resizing clusters, go to - * Resizing Clusters in Amazon Redshift + *

                                  The new version number of the Amazon Redshift engine to upgrade to.

                                  + *

                                  For major version upgrades, if a non-default cluster parameter group is currently + * in use, a new cluster parameter group in the cluster parameter group family for the new + * version must be specified. The new cluster parameter group can be the default for that + * cluster parameter group family. + * For more information about parameters and parameter groups, go to + * Amazon Redshift Parameter Groups * in the Amazon Redshift Cluster Management Guide.

                                  - * - *

                                  Valid Values: Integer greater than 0.

                                  - */ - NumberOfNodes?: number; - - /** - *

                                  If true, the cluster can be accessed from a public network. Only - * clusters in VPCs can be set to be publicly available.

                                  + *

                                  Example: 1.0 + *

                                  */ - PubliclyAccessible?: boolean; + ClusterVersion?: string; /** - *

                                  Indicates whether the cluster is encrypted. If the value is encrypted (true) and you - * provide a value for the KmsKeyId parameter, we encrypt the cluster - * with the provided KmsKeyId. If you don't provide a KmsKeyId, - * we encrypt with the default key.

                                  - *

                                  If the value is not encrypted (false), then the cluster is decrypted.

                                  + *

                                  If true, major version upgrades will be applied automatically to the + * cluster during the maintenance window.

                                  + *

                                  Default: false + *

                                  */ - Encrypted?: boolean; + AllowVersionUpgrade?: boolean; /** *

                                  Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to @@ -142,13 +196,10 @@ export interface ModifyClusterMessage { HsmClientCertificateIdentifier?: string; /** - *

                                  The Elastic IP (EIP) address for the cluster.

                                  - *

                                  Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible - * through an Internet gateway. For more information about provisioning clusters in - * EC2-VPC, go to Supported - * Platforms to Launch Your Cluster in the Amazon Redshift Cluster Management Guide.

                                  + *

                                  Specifies the name of the HSM configuration that contains the information the + * Amazon Redshift cluster can use to retrieve and store keys in an HSM.

                                  */ - ElasticIp?: string; + HsmConfigurationIdentifier?: string; /** *

                                  The new identifier for the cluster.

                                  @@ -177,16 +228,19 @@ export interface ModifyClusterMessage { NewClusterIdentifier?: string; /** - *

                                  The number of days that automated snapshots are retained. If the value is 0, - * automated snapshots are disabled. Even if automated snapshots are disabled, you can - * still create manual snapshots when you want with CreateClusterSnapshot.

                                  - *

                                  If you decrease the automated snapshot retention period from its current value, - * existing automated snapshots that fall outside of the new retention period will be - * immediately deleted.

                                  - *

                                  Default: Uses existing setting.

                                  - *

                                  Constraints: Must be a value from 0 to 35.

                                  + *

                                  If true, the cluster can be accessed from a public network. Only + * clusters in VPCs can be set to be publicly available.

                                  */ - AutomatedSnapshotRetentionPeriod?: number; + PubliclyAccessible?: boolean; + + /** + *

                                  The Elastic IP (EIP) address for the cluster.

                                  + *

                                  Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible + * through an Internet gateway. For more information about provisioning clusters in + * EC2-VPC, go to Supported + * Platforms to Launch Your Cluster in the Amazon Redshift Cluster Management Guide.

                                  + */ + ElasticIp?: string; /** *

                                  An option that specifies whether to create the cluster with enhanced VPC routing @@ -199,83 +253,29 @@ export interface ModifyClusterMessage { EnhancedVpcRouting?: boolean; /** - *

                                  A list of cluster security groups to be authorized on this cluster. This change is - * asynchronously applied as soon as possible.

                                  - *

                                  Security groups currently associated with the cluster, and not in the list of - * groups to apply, will be revoked from the cluster.

                                  - *

                                  Constraints:

                                  - *
                                    - *
                                  • - *

                                    Must be 1 to 255 alphanumeric characters or hyphens

                                    - *
                                  • - *
                                  • - *

                                    First character must be a letter

                                    - *
                                  • - *
                                  • - *

                                    Cannot end with a hyphen or contain two consecutive hyphens

                                    - *
                                  • - *
                                  - */ - ClusterSecurityGroups?: string[]; - - /** - *

                                  The new cluster type.

                                  - *

                                  When you submit your cluster resize request, your existing cluster goes into a - * read-only mode. After Amazon Redshift provisions a new cluster based on your resize - * requirements, there will be outage for a period while the old cluster is deleted and - * your connection is switched to the new cluster. You can use DescribeResize to track the progress of the resize request.

                                  - *

                                  Valid Values: multi-node | single-node - *

                                  - */ - ClusterType?: string; - - /** - *

                                  The unique identifier of the cluster to be modified.

                                  - *

                                  Example: examplecluster - *

                                  - */ - ClusterIdentifier: string | undefined; - - /** - *

                                  The name of the cluster parameter group to apply to this cluster. This change is - * applied only after the cluster is rebooted. To reboot a cluster use RebootCluster.

                                  - *

                                  Default: Uses existing setting.

                                  - *

                                  Constraints: The cluster parameter group must be in the same parameter group family - * that matches the cluster version.

                                  + *

                                  The name for the maintenance track that you want to assign for the cluster. This name + * change is asynchronous. The new track name stays in the + * PendingModifiedValues for the cluster until the next maintenance + * window. When the maintenance track changes, the cluster is switched to the latest + * cluster release available for the maintenance track. At this point, the maintenance + * track name is applied.

                                  */ - ClusterParameterGroupName?: string; + MaintenanceTrackName?: string; /** - *

                                  Specifies the name of the HSM configuration that contains the information the - * Amazon Redshift cluster can use to retrieve and store keys in an HSM.

                                  + *

                                  Indicates whether the cluster is encrypted. If the value is encrypted (true) and you + * provide a value for the KmsKeyId parameter, we encrypt the cluster + * with the provided KmsKeyId. If you don't provide a KmsKeyId, + * we encrypt with the default key.

                                  + *

                                  If the value is not encrypted (false), then the cluster is decrypted.

                                  */ - HsmConfigurationIdentifier?: string; + Encrypted?: boolean; /** *

                                  The AWS Key Management Service (KMS) key ID of the encryption key that you want to use * to encrypt data in the cluster.

                                  */ KmsKeyId?: string; - - /** - *

                                  The new version number of the Amazon Redshift engine to upgrade to.

                                  - *

                                  For major version upgrades, if a non-default cluster parameter group is currently - * in use, a new cluster parameter group in the cluster parameter group family for the new - * version must be specified. The new cluster parameter group can be the default for that - * cluster parameter group family. - * For more information about parameters and parameter groups, go to - * Amazon Redshift Parameter Groups - * in the Amazon Redshift Cluster Management Guide.

                                  - *

                                  Example: 1.0 - *

                                  - */ - ClusterVersion?: string; - - /** - *

                                  A list of virtual private cloud (VPC) security groups to be associated with the - * cluster. This change is asynchronously applied as soon as possible.

                                  - */ - VpcSecurityGroupIds?: string[]; } export namespace ModifyClusterMessage { @@ -329,18 +329,18 @@ export namespace UnsupportedOptionFault { } export interface ModifyClusterDbRevisionMessage { - /** - *

                                  The identifier of the database revision. You can retrieve this value from the - * response to the DescribeClusterDbRevisions request.

                                  - */ - RevisionTarget: string | undefined; - /** *

                                  The unique identifier of a cluster whose database revision you want to modify.

                                  *

                                  Example: examplecluster *

                                  */ ClusterIdentifier: string | undefined; + + /** + *

                                  The identifier of the database revision. You can retrieve this value from the + * response to the DescribeClusterDbRevisions request.

                                  + */ + RevisionTarget: string | undefined; } export namespace ModifyClusterDbRevisionMessage { @@ -372,18 +372,18 @@ export interface ModifyClusterIamRolesMessage { */ ClusterIdentifier: string | undefined; - /** - *

                                  Zero or more IAM roles in ARN format to disassociate from the cluster. You can - * disassociate up to 10 IAM roles from a single cluster in a single request.

                                  - */ - RemoveIamRoles?: string[]; - /** *

                                  Zero or more IAM roles to associate with the cluster. The roles must be in their * Amazon Resource Name (ARN) format. You can associate up to 10 IAM roles with a single * cluster in a single request.

                                  */ AddIamRoles?: string[]; + + /** + *

                                  Zero or more IAM roles in ARN format to disassociate from the cluster. You can + * disassociate up to 10 IAM roles from a single cluster in a single request.

                                  + */ + RemoveIamRoles?: string[]; } export namespace ModifyClusterIamRolesMessage { @@ -407,25 +407,24 @@ export namespace ModifyClusterIamRolesResult { export interface ModifyClusterMaintenanceMessage { /** - *

                                  A boolean indicating whether to enable the deferred maintenance window.

                                  + *

                                  A unique identifier for the cluster.

                                  */ - DeferMaintenance?: boolean; + ClusterIdentifier: string | undefined; /** - *

                                  A timestamp indicating the start time for the deferred maintenance window.

                                  + *

                                  A boolean indicating whether to enable the deferred maintenance window.

                                  */ - DeferMaintenanceStartTime?: Date; + DeferMaintenance?: boolean; /** - *

                                  An integer indicating the duration of the maintenance window in days. If you specify a - * duration, you can't specify an end time. The duration must be 45 days or less.

                                  + *

                                  A unique identifier for the deferred maintenance window.

                                  */ - DeferMaintenanceDuration?: number; + DeferMaintenanceIdentifier?: string; /** - *

                                  A unique identifier for the cluster.

                                  + *

                                  A timestamp indicating the start time for the deferred maintenance window.

                                  */ - ClusterIdentifier: string | undefined; + DeferMaintenanceStartTime?: Date; /** *

                                  A timestamp indicating end time for the deferred maintenance window. If you specify an @@ -434,9 +433,10 @@ export interface ModifyClusterMaintenanceMessage { DeferMaintenanceEndTime?: Date; /** - *

                                  A unique identifier for the deferred maintenance window.

                                  + *

                                  An integer indicating the duration of the maintenance window in days. If you specify a + * duration, you can't specify an end time. The duration must be 45 days or less.

                                  */ - DeferMaintenanceIdentifier?: string; + DeferMaintenanceDuration?: number; } export namespace ModifyClusterMaintenanceMessage { @@ -462,6 +462,11 @@ export namespace ModifyClusterMaintenanceResult { *

                                  Describes a modify cluster parameter group operation.

                                  */ export interface ModifyClusterParameterGroupMessage { + /** + *

                                  The name of the parameter group to be modified.

                                  + */ + ParameterGroupName: string | undefined; + /** *

                                  An array of parameters to be modified. A maximum of 20 parameters can be modified * in a single request.

                                  @@ -471,11 +476,6 @@ export interface ModifyClusterParameterGroupMessage { * pairs in the wlm_json_configuration parameter.

                                  */ Parameters: Parameter[] | undefined; - - /** - *

                                  The name of the parameter group to be modified.

                                  - */ - ParameterGroupName: string | undefined; } export namespace ModifyClusterParameterGroupMessage { @@ -485,6 +485,11 @@ export namespace ModifyClusterParameterGroupMessage { } export interface ModifyClusterSnapshotMessage { + /** + *

                                  The identifier of the snapshot whose setting you want to modify.

                                  + */ + SnapshotIdentifier: string | undefined; + /** *

                                  The number of days that a manual snapshot is retained. If the value is -1, the manual * snapshot is retained indefinitely.

                                  @@ -499,11 +504,6 @@ export interface ModifyClusterSnapshotMessage { * passed.

                                  */ Force?: boolean; - - /** - *

                                  The identifier of the snapshot whose setting you want to modify.

                                  - */ - SnapshotIdentifier: string | undefined; } export namespace ModifyClusterSnapshotMessage { @@ -527,10 +527,10 @@ export namespace ModifyClusterSnapshotResult { export interface ModifyClusterSnapshotScheduleMessage { /** - *

                                  A boolean to indicate whether to remove the assoiciation between the cluster and the - * schedule.

                                  + *

                                  A unique identifier for the cluster whose snapshot schedule you want to modify. + *

                                  */ - DisassociateSchedule?: boolean; + ClusterIdentifier: string | undefined; /** *

                                  A unique alphanumeric identifier for the schedule that you want to associate with the @@ -539,10 +539,10 @@ export interface ModifyClusterSnapshotScheduleMessage { ScheduleIdentifier?: string; /** - *

                                  A unique identifier for the cluster whose snapshot schedule you want to modify. - *

                                  + *

                                  A boolean to indicate whether to remove the assoiciation between the cluster and the + * schedule.

                                  */ - ClusterIdentifier: string | undefined; + DisassociateSchedule?: boolean; } export namespace ModifyClusterSnapshotScheduleMessage { @@ -555,12 +555,6 @@ export namespace ModifyClusterSnapshotScheduleMessage { *

                                  */ export interface ModifyClusterSubnetGroupMessage { - /** - *

                                  An array of VPC subnet IDs. A maximum of 20 subnets can be modified in a single - * request.

                                  - */ - SubnetIds: string[] | undefined; - /** *

                                  The name of the subnet group to be modified.

                                  */ @@ -570,6 +564,12 @@ export interface ModifyClusterSubnetGroupMessage { *

                                  A text description of the subnet group to be modified.

                                  */ Description?: string; + + /** + *

                                  An array of VPC subnet IDs. A maximum of 20 subnets can be modified in a single + * request.

                                  + */ + SubnetIds: string[] | undefined; } export namespace ModifyClusterSubnetGroupMessage { @@ -610,6 +610,26 @@ export namespace SubnetAlreadyInUse { *

                                  */ export interface ModifyEventSubscriptionMessage { + /** + *

                                  The name of the modified Amazon Redshift event notification subscription.

                                  + */ + SubscriptionName: string | undefined; + + /** + *

                                  The Amazon Resource Name (ARN) of the SNS topic to be used by the event + * notification subscription.

                                  + */ + SnsTopicArn?: string; + + /** + *

                                  The type of source that will be generating the events. For example, if you want to + * be notified of events generated by a cluster, you would set this parameter to cluster. + * If this value is not specified, events are returned for all Amazon Redshift objects in your + * AWS account. You must specify a source type in order to specify source IDs.

                                  + *

                                  Valid values: cluster, cluster-parameter-group, cluster-security-group, cluster-snapshot, and scheduled-action.

                                  + */ + SourceType?: string; + /** *

                                  A list of one or more identifiers of Amazon Redshift source objects. All of the objects * must be of the same type as was specified in the source type parameter. The event @@ -621,18 +641,6 @@ export interface ModifyEventSubscriptionMessage { */ SourceIds?: string[]; - /** - *

                                  The name of the modified Amazon Redshift event notification subscription.

                                  - */ - SubscriptionName: string | undefined; - - /** - *

                                  Specifies the Amazon Redshift event severity to be published by the event notification - * subscription.

                                  - *

                                  Values: ERROR, INFO

                                  - */ - Severity?: string; - /** *

                                  Specifies the Amazon Redshift event categories to be published by the event notification * subscription.

                                  @@ -641,19 +649,11 @@ export interface ModifyEventSubscriptionMessage { EventCategories?: string[]; /** - *

                                  The Amazon Resource Name (ARN) of the SNS topic to be used by the event - * notification subscription.

                                  - */ - SnsTopicArn?: string; - - /** - *

                                  The type of source that will be generating the events. For example, if you want to - * be notified of events generated by a cluster, you would set this parameter to cluster. - * If this value is not specified, events are returned for all Amazon Redshift objects in your - * AWS account. You must specify a source type in order to specify source IDs.

                                  - *

                                  Valid values: cluster, cluster-parameter-group, cluster-security-group, cluster-snapshot, and scheduled-action.

                                  + *

                                  Specifies the Amazon Redshift event severity to be published by the event notification + * subscription.

                                  + *

                                  Values: ERROR, INFO

                                  */ - SourceType?: string; + Severity?: string; /** *

                                  A Boolean value indicating if the subscription is enabled. true @@ -682,6 +682,11 @@ export namespace ModifyEventSubscriptionResult { } export interface ModifyScheduledActionMessage { + /** + *

                                  The name of the scheduled action to modify.

                                  + */ + ScheduledActionName: string | undefined; + /** *

                                  A modified JSON format of the scheduled action. * For more information about this parameter, see ScheduledAction.

                                  @@ -694,6 +699,12 @@ export interface ModifyScheduledActionMessage { */ Schedule?: string; + /** + *

                                  A different IAM role to assume to run the target action. + * For more information about this parameter, see ScheduledAction.

                                  + */ + IamRole?: string; + /** *

                                  A modified description of the scheduled action.

                                  */ @@ -711,17 +722,6 @@ export interface ModifyScheduledActionMessage { */ EndTime?: Date; - /** - *

                                  The name of the scheduled action to modify.

                                  - */ - ScheduledActionName: string | undefined; - - /** - *

                                  A different IAM role to assume to run the target action. - * For more information about this parameter, see ScheduledAction.

                                  - */ - IamRole?: string; - /** *

                                  A modified enable flag of the scheduled action. If true, the scheduled action is active. If false, the scheduled action is disabled.

                                  */ @@ -738,6 +738,15 @@ export namespace ModifyScheduledActionMessage { *

                                  */ export interface ModifySnapshotCopyRetentionPeriodMessage { + /** + *

                                  The unique identifier of the cluster for which you want to change the retention + * period for either automated or manual snapshots that are copied to a destination AWS + * Region.

                                  + *

                                  Constraints: Must be the valid name of an existing cluster that has cross-region + * snapshot copy enabled.

                                  + */ + ClusterIdentifier: string | undefined; + /** *

                                  The number of days to retain automated snapshots in the destination AWS Region * after they are copied from the source AWS Region.

                                  @@ -761,15 +770,6 @@ export interface ModifySnapshotCopyRetentionPeriodMessage { * snapshots instead of automated snapshots.

                                  */ Manual?: boolean; - - /** - *

                                  The unique identifier of the cluster for which you want to change the retention - * period for either automated or manual snapshots that are copied to a destination AWS - * Region.

                                  - *

                                  Constraints: Must be the valid name of an existing cluster that has cross-region - * snapshot copy enabled.

                                  - */ - ClusterIdentifier: string | undefined; } export namespace ModifySnapshotCopyRetentionPeriodMessage { @@ -809,15 +809,15 @@ export namespace SnapshotCopyDisabledFault { export interface ModifySnapshotScheduleMessage { /** - *

                                  An updated list of schedule definitions. A schedule definition is made up of schedule - * expressions, for example, "cron(30 12 *)" or "rate(12 hours)".

                                  + *

                                  A unique alphanumeric identifier of the schedule to modify.

                                  */ - ScheduleDefinitions: string[] | undefined; + ScheduleIdentifier: string | undefined; /** - *

                                  A unique alphanumeric identifier of the schedule to modify.

                                  + *

                                  An updated list of schedule definitions. A schedule definition is made up of schedule + * expressions, for example, "cron(30 12 *)" or "rate(12 hours)".

                                  */ - ScheduleIdentifier: string | undefined; + ScheduleDefinitions: string[] | undefined; } export namespace ModifySnapshotScheduleMessage { @@ -842,12 +842,6 @@ export namespace SnapshotScheduleUpdateInProgressFault { } export interface ModifyUsageLimitMessage { - /** - *

                                  The new action that Amazon Redshift takes when the limit is reached. - * For more information about this parameter, see UsageLimit.

                                  - */ - BreachAction?: UsageLimitBreachAction | string; - /** *

                                  The identifier of the usage limit to modify.

                                  */ @@ -858,6 +852,12 @@ export interface ModifyUsageLimitMessage { * For more information about this parameter, see UsageLimit.

                                  */ Amount?: number; + + /** + *

                                  The new action that Amazon Redshift takes when the limit is reached. + * For more information about this parameter, see UsageLimit.

                                  + */ + BreachAction?: UsageLimitBreachAction | string; } export namespace ModifyUsageLimitMessage { @@ -883,17 +883,17 @@ export namespace PauseClusterResult { *

                                  */ export interface PurchaseReservedNodeOfferingMessage { + /** + *

                                  The unique identifier of the reserved node offering you want to purchase.

                                  + */ + ReservedNodeOfferingId: string | undefined; + /** *

                                  The number of reserved nodes that you want to purchase.

                                  *

                                  Default: 1 *

                                  */ NodeCount?: number; - - /** - *

                                  The unique identifier of the reserved node offering you want to purchase.

                                  - */ - ReservedNodeOfferingId: string | undefined; } export namespace PurchaseReservedNodeOfferingMessage { @@ -1013,27 +1013,28 @@ export namespace ResizeClusterResult { */ export interface RestoreFromClusterSnapshotMessage { /** - *

                                  Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to - * retrieve the data encryption keys stored in an HSM.

                                  - */ - HsmClientCertificateIdentifier?: string; - - /** - *

                                  The number of days that automated snapshots are retained. If the value is 0, - * automated snapshots are disabled. Even if automated snapshots are disabled, you can - * still create manual snapshots when you want with CreateClusterSnapshot.

                                  - *

                                  Default: The value selected for the cluster from which the snapshot was - * taken.

                                  - *

                                  Constraints: Must be a value from 0 to 35.

                                  - */ - AutomatedSnapshotRetentionPeriod?: number; - - /** - *

                                  The port number on which the cluster accepts connections.

                                  - *

                                  Default: The same port as the original cluster.

                                  - *

                                  Constraints: Must be between 1115 and 65535.

                                  + *

                                  The identifier of the cluster that will be created from restoring the + * snapshot.

                                  + *

                                  Constraints:

                                  + *
                                    + *
                                  • + *

                                    Must contain from 1 to 63 alphanumeric characters or hyphens.

                                    + *
                                  • + *
                                  • + *

                                    Alphabetic characters must be lowercase.

                                    + *
                                  • + *
                                  • + *

                                    First character must be a letter.

                                    + *
                                  • + *
                                  • + *

                                    Cannot end with a hyphen or contain two consecutive hyphens.

                                    + *
                                  • + *
                                  • + *

                                    Must be unique for all clusters within an AWS account.

                                    + *
                                  • + *
                                  */ - Port?: number; + ClusterIdentifier: string | undefined; /** *

                                  The name of the snapshot from which to create the new cluster. This parameter isn't @@ -1041,17 +1042,29 @@ export interface RestoreFromClusterSnapshotMessage { *

                                  Example: my-snapshot-id *

                                  */ - SnapshotIdentifier: string | undefined; + SnapshotIdentifier: string | undefined; + + /** + *

                                  The name of the cluster the source snapshot was created from. This parameter is + * required if your IAM user has a policy containing a snapshot resource element that + * specifies anything other than * for the cluster name.

                                  + */ + SnapshotClusterIdentifier?: string; /** - *

                                  The number of nodes specified when provisioning the restored cluster.

                                  + *

                                  The port number on which the cluster accepts connections.

                                  + *

                                  Default: The same port as the original cluster.

                                  + *

                                  Constraints: Must be between 1115 and 65535.

                                  */ - NumberOfNodes?: number; + Port?: number; /** - *

                                  The elastic IP (EIP) address for the cluster.

                                  + *

                                  The Amazon EC2 Availability Zone in which to restore the cluster.

                                  + *

                                  Default: A random, system-chosen Availability Zone.

                                  + *

                                  Example: us-east-2a + *

                                  */ - ElasticIp?: string; + AvailabilityZone?: string; /** *

                                  If true, major version upgrades can be applied during the maintenance @@ -1061,14 +1074,6 @@ export interface RestoreFromClusterSnapshotMessage { */ AllowVersionUpgrade?: boolean; - /** - *

                                  The default number of days to retain a manual snapshot. If the value is -1, the - * snapshot is retained indefinitely. This setting doesn't change the retention period - * of existing snapshots.

                                  - *

                                  The value must be either -1 or an integer between 1 and 3,653.

                                  - */ - ManualSnapshotRetentionPeriod?: number; - /** *

                                  The name of the subnet group where you want to cluster restored.

                                  *

                                  A snapshot of cluster in VPC can be restored only in VPC. Therefore, you must @@ -1077,74 +1082,32 @@ export interface RestoreFromClusterSnapshotMessage { ClusterSubnetGroupName?: string; /** - *

                                  The weekly time range (in UTC) during which automated cluster maintenance can - * occur.

                                  - *

                                  Format: ddd:hh24:mi-ddd:hh24:mi - *

                                  - *

                                  Default: The value selected for the cluster from which the snapshot was taken. For - * more information about the time blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management Guide.

                                  - *

                                  Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

                                  - *

                                  Constraints: Minimum 30-minute window.

                                  - */ - PreferredMaintenanceWindow?: string; - - /** - *

                                  A list of security groups to be associated with this cluster.

                                  - *

                                  Default: The default cluster security group for Amazon Redshift.

                                  - *

                                  Cluster security groups only apply to clusters outside of VPCs.

                                  + *

                                  If true, the cluster can be accessed from a public network.

                                  */ - ClusterSecurityGroups?: string[]; + PubliclyAccessible?: boolean; /** - *

                                  An option that specifies whether to create the cluster with enhanced VPC routing - * enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a - * VPC. For more information, see Enhanced VPC Routing in - * the Amazon Redshift Cluster Management Guide.

                                  - *

                                  If this option is true, enhanced VPC routing is enabled.

                                  - *

                                  Default: false

                                  + *

                                  The AWS customer account used to create or copy the snapshot. Required if you are + * restoring a snapshot you do not own, optional if you own the snapshot.

                                  */ - EnhancedVpcRouting?: boolean; + OwnerAccount?: string; /** - *

                                  The Amazon EC2 Availability Zone in which to restore the cluster.

                                  - *

                                  Default: A random, system-chosen Availability Zone.

                                  - *

                                  Example: us-east-2a - *

                                  + *

                                  Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to + * retrieve the data encryption keys stored in an HSM.

                                  */ - AvailabilityZone?: string; + HsmClientCertificateIdentifier?: string; /** - *

                                  A list of AWS Identity and Access Management (IAM) roles that can be used by the - * cluster to access other AWS services. You must supply the IAM roles in their Amazon - * Resource Name (ARN) format. You can supply up to 10 IAM roles in a single - * request.

                                  - *

                                  A cluster can have up to 10 IAM roles associated at any time.

                                  + *

                                  Specifies the name of the HSM configuration that contains the information the + * Amazon Redshift cluster can use to retrieve and store keys in an HSM.

                                  */ - IamRoles?: string[]; + HsmConfigurationIdentifier?: string; /** - *

                                  The identifier of the cluster that will be created from restoring the - * snapshot.

                                  - *

                                  Constraints:

                                  - *
                                    - *
                                  • - *

                                    Must contain from 1 to 63 alphanumeric characters or hyphens.

                                    - *
                                  • - *
                                  • - *

                                    Alphabetic characters must be lowercase.

                                    - *
                                  • - *
                                  • - *

                                    First character must be a letter.

                                    - *
                                  • - *
                                  • - *

                                    Cannot end with a hyphen or contain two consecutive hyphens.

                                    - *
                                  • - *
                                  • - *

                                    Must be unique for all clusters within an AWS account.

                                    - *
                                  • - *
                                  + *

                                  The elastic IP (EIP) address for the cluster.

                                  */ - ClusterIdentifier: string | undefined; + ElasticIp?: string; /** *

                                  The name of the parameter group to be associated with this cluster.

                                  @@ -1167,48 +1130,55 @@ export interface RestoreFromClusterSnapshotMessage { ClusterParameterGroupName?: string; /** - *

                                  The name of the cluster the source snapshot was created from. This parameter is - * required if your IAM user has a policy containing a snapshot resource element that - * specifies anything other than * for the cluster name.

                                  - */ - SnapshotClusterIdentifier?: string; - - /** - *

                                  The AWS Key Management Service (KMS) key ID of the encryption key that you want to - * use to encrypt data in the cluster that you restore from a shared snapshot.

                                  + *

                                  A list of security groups to be associated with this cluster.

                                  + *

                                  Default: The default cluster security group for Amazon Redshift.

                                  + *

                                  Cluster security groups only apply to clusters outside of VPCs.

                                  */ - KmsKeyId?: string; + ClusterSecurityGroups?: string[]; /** - *

                                  Reserved.

                                  + *

                                  A list of Virtual Private Cloud (VPC) security groups to be associated with the + * cluster.

                                  + *

                                  Default: The default VPC security group is associated with the cluster.

                                  + *

                                  VPC security groups only apply to clusters in VPCs.

                                  */ - AdditionalInfo?: string; + VpcSecurityGroupIds?: string[]; /** - *

                                  The AWS customer account used to create or copy the snapshot. Required if you are - * restoring a snapshot you do not own, optional if you own the snapshot.

                                  + *

                                  The weekly time range (in UTC) during which automated cluster maintenance can + * occur.

                                  + *

                                  Format: ddd:hh24:mi-ddd:hh24:mi + *

                                  + *

                                  Default: The value selected for the cluster from which the snapshot was taken. For + * more information about the time blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management Guide.

                                  + *

                                  Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

                                  + *

                                  Constraints: Minimum 30-minute window.

                                  */ - OwnerAccount?: string; + PreferredMaintenanceWindow?: string; /** - *

                                  The name of the maintenance track for the restored cluster. When you take a snapshot, - * the snapshot inherits the MaintenanceTrack value from the cluster. The - * snapshot might be on a different track than the cluster that was the source for the - * snapshot. For example, suppose that you take a snapshot of a cluster that is on the - * current track and then change the cluster to be on the trailing track. In this case, the - * snapshot and the source cluster are on different tracks.

                                  + *

                                  The number of days that automated snapshots are retained. If the value is 0, + * automated snapshots are disabled. Even if automated snapshots are disabled, you can + * still create manual snapshots when you want with CreateClusterSnapshot.

                                  + *

                                  Default: The value selected for the cluster from which the snapshot was + * taken.

                                  + *

                                  Constraints: Must be a value from 0 to 35.

                                  */ - MaintenanceTrackName?: string; + AutomatedSnapshotRetentionPeriod?: number; /** - *

                                  If true, the cluster can be accessed from a public network.

                                  + *

                                  The default number of days to retain a manual snapshot. If the value is -1, the + * snapshot is retained indefinitely. This setting doesn't change the retention period + * of existing snapshots.

                                  + *

                                  The value must be either -1 or an integer between 1 and 3,653.

                                  */ - PubliclyAccessible?: boolean; + ManualSnapshotRetentionPeriod?: number; /** - *

                                  A unique identifier for the snapshot schedule.

                                  + *

                                  The AWS Key Management Service (KMS) key ID of the encryption key that you want to + * use to encrypt data in the cluster that you restore from a shared snapshot.

                                  */ - SnapshotScheduleIdentifier?: string; + KmsKeyId?: string; /** *

                                  The node type that the restored cluster will be provisioned with.

                                  @@ -1226,18 +1196,48 @@ export interface RestoreFromClusterSnapshotMessage { NodeType?: string; /** - *

                                  A list of Virtual Private Cloud (VPC) security groups to be associated with the - * cluster.

                                  - *

                                  Default: The default VPC security group is associated with the cluster.

                                  - *

                                  VPC security groups only apply to clusters in VPCs.

                                  + *

                                  An option that specifies whether to create the cluster with enhanced VPC routing + * enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a + * VPC. For more information, see Enhanced VPC Routing in + * the Amazon Redshift Cluster Management Guide.

                                  + *

                                  If this option is true, enhanced VPC routing is enabled.

                                  + *

                                  Default: false

                                  */ - VpcSecurityGroupIds?: string[]; + EnhancedVpcRouting?: boolean; /** - *

                                  Specifies the name of the HSM configuration that contains the information the - * Amazon Redshift cluster can use to retrieve and store keys in an HSM.

                                  + *

                                  Reserved.

                                  */ - HsmConfigurationIdentifier?: string; + AdditionalInfo?: string; + + /** + *

                                  A list of AWS Identity and Access Management (IAM) roles that can be used by the + * cluster to access other AWS services. You must supply the IAM roles in their Amazon + * Resource Name (ARN) format. You can supply up to 10 IAM roles in a single + * request.

                                  + *

                                  A cluster can have up to 10 IAM roles associated at any time.

                                  + */ + IamRoles?: string[]; + + /** + *

                                  The name of the maintenance track for the restored cluster. When you take a snapshot, + * the snapshot inherits the MaintenanceTrack value from the cluster. The + * snapshot might be on a different track than the cluster that was the source for the + * snapshot. For example, suppose that you take a snapshot of a cluster that is on the + * current track and then change the cluster to be on the trailing track. In this case, the + * snapshot and the source cluster are on different tracks.

                                  + */ + MaintenanceTrackName?: string; + + /** + *

                                  A unique identifier for the snapshot schedule.

                                  + */ + SnapshotScheduleIdentifier?: string; + + /** + *

                                  The number of nodes specified when provisioning the restored cluster.

                                  + */ + NumberOfNodes?: number; } export namespace RestoreFromClusterSnapshotMessage { @@ -1264,9 +1264,16 @@ export namespace RestoreFromClusterSnapshotResult { */ export interface RestoreTableFromClusterSnapshotMessage { /** - *

                                  The name of the schema to restore the table to.

                                  + *

                                  The identifier of the Amazon Redshift cluster to restore the table to.

                                  */ - TargetSchemaName?: string; + ClusterIdentifier: string | undefined; + + /** + *

                                  The identifier of the snapshot to restore the table from. This snapshot must have + * been created from the Amazon Redshift cluster specified by the + * ClusterIdentifier parameter.

                                  + */ + SnapshotIdentifier: string | undefined; /** *

                                  The name of the source database that contains the table to restore from.

                                  @@ -1280,32 +1287,25 @@ export interface RestoreTableFromClusterSnapshotMessage { */ SourceSchemaName?: string; - /** - *

                                  The name of the database to restore the table to.

                                  - */ - TargetDatabaseName?: string; - /** *

                                  The name of the source table to restore from.

                                  */ SourceTableName: string | undefined; /** - *

                                  The name of the table to create as a result of the current request.

                                  + *

                                  The name of the database to restore the table to.

                                  */ - NewTableName: string | undefined; + TargetDatabaseName?: string; /** - *

                                  The identifier of the snapshot to restore the table from. This snapshot must have - * been created from the Amazon Redshift cluster specified by the - * ClusterIdentifier parameter.

                                  + *

                                  The name of the schema to restore the table to.

                                  */ - SnapshotIdentifier: string | undefined; + TargetSchemaName?: string; /** - *

                                  The identifier of the Amazon Redshift cluster to restore the table to.

                                  + *

                                  The name of the table to create as a result of the current request.

                                  */ - ClusterIdentifier: string | undefined; + NewTableName: string | undefined; } export namespace RestoreTableFromClusterSnapshotMessage { @@ -1346,15 +1346,9 @@ export namespace ResumeClusterResult { */ export interface RevokeClusterSecurityGroupIngressMessage { /** - *

                                  The AWS account number of the owner of the security group specified in the - * EC2SecurityGroupName parameter. The AWS access key ID is not an - * acceptable value. If EC2SecurityGroupOwnerId is specified, - * EC2SecurityGroupName must also be provided. and CIDRIP - * cannot be provided.

                                  - *

                                  Example: 111122223333 - *

                                  + *

                                  The name of the security Group from which to revoke the ingress rule.

                                  */ - EC2SecurityGroupOwnerId?: string; + ClusterSecurityGroupName: string | undefined; /** *

                                  The IP range for which to revoke access. This range must be a valid Classless @@ -1372,9 +1366,15 @@ export interface RevokeClusterSecurityGroupIngressMessage { EC2SecurityGroupName?: string; /** - *

                                  The name of the security Group from which to revoke the ingress rule.

                                  + *

                                  The AWS account number of the owner of the security group specified in the + * EC2SecurityGroupName parameter. The AWS access key ID is not an + * acceptable value. If EC2SecurityGroupOwnerId is specified, + * EC2SecurityGroupName must also be provided. and CIDRIP + * cannot be provided.

                                  + *

                                  Example: 111122223333 + *

                                  */ - ClusterSecurityGroupName: string | undefined; + EC2SecurityGroupOwnerId?: string; } export namespace RevokeClusterSecurityGroupIngressMessage { @@ -1400,6 +1400,11 @@ export namespace RevokeClusterSecurityGroupIngressResult { *

                                  */ export interface RevokeSnapshotAccessMessage { + /** + *

                                  The identifier of the snapshot that the account can no longer access.

                                  + */ + SnapshotIdentifier: string | undefined; + /** *

                                  The identifier of the cluster the snapshot was created from. This parameter is * required if your IAM user has a policy containing a snapshot resource element that @@ -1412,11 +1417,6 @@ export interface RevokeSnapshotAccessMessage { * snapshot.

                                  */ AccountWithRestoreAccess: string | undefined; - - /** - *

                                  The identifier of the snapshot that the account can no longer access.

                                  - */ - SnapshotIdentifier: string | undefined; } export namespace RevokeSnapshotAccessMessage { diff --git a/clients/client-redshift/pagination/DescribeClusterDbRevisionsPaginator.ts b/clients/client-redshift/pagination/DescribeClusterDbRevisionsPaginator.ts new file mode 100644 index 000000000000..1a05771f1a3d --- /dev/null +++ b/clients/client-redshift/pagination/DescribeClusterDbRevisionsPaginator.ts @@ -0,0 +1,51 @@ +import { Redshift } from "../Redshift"; +import { RedshiftClient } from "../RedshiftClient"; +import { + DescribeClusterDbRevisionsCommand, + DescribeClusterDbRevisionsCommandInput, + DescribeClusterDbRevisionsCommandOutput, +} from "../commands/DescribeClusterDbRevisionsCommand"; +import { RedshiftPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: RedshiftClient, + input: DescribeClusterDbRevisionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeClusterDbRevisionsCommand(input), ...args); +}; +const makePagedRequest = async ( + client: Redshift, + input: DescribeClusterDbRevisionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeClusterDbRevisions(input, ...args); +}; +export async function* paginateDescribeClusterDbRevisions( + config: RedshiftPaginationConfiguration, + input: DescribeClusterDbRevisionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: DescribeClusterDbRevisionsCommandOutput; + while (hasNext) { + input.Marker = token; + input["MaxRecords"] = config.pageSize; + if (config.client instanceof Redshift) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof RedshiftClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Redshift | RedshiftClient"); + } + yield page; + token = page.Marker; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-redshift/pagination/DescribeClusterTracksPaginator.ts b/clients/client-redshift/pagination/DescribeClusterTracksPaginator.ts new file mode 100644 index 000000000000..59c9ca246abf --- /dev/null +++ b/clients/client-redshift/pagination/DescribeClusterTracksPaginator.ts @@ -0,0 +1,51 @@ +import { Redshift } from "../Redshift"; +import { RedshiftClient } from "../RedshiftClient"; +import { + DescribeClusterTracksCommand, + DescribeClusterTracksCommandInput, + DescribeClusterTracksCommandOutput, +} from "../commands/DescribeClusterTracksCommand"; +import { RedshiftPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: RedshiftClient, + input: DescribeClusterTracksCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeClusterTracksCommand(input), ...args); +}; +const makePagedRequest = async ( + client: Redshift, + input: DescribeClusterTracksCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeClusterTracks(input, ...args); +}; +export async function* paginateDescribeClusterTracks( + config: RedshiftPaginationConfiguration, + input: DescribeClusterTracksCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: DescribeClusterTracksCommandOutput; + while (hasNext) { + input.Marker = token; + input["MaxRecords"] = config.pageSize; + if (config.client instanceof Redshift) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof RedshiftClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Redshift | RedshiftClient"); + } + yield page; + token = page.Marker; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-redshift/pagination/DescribeSnapshotCopyGrantsPaginator.ts b/clients/client-redshift/pagination/DescribeSnapshotCopyGrantsPaginator.ts new file mode 100644 index 000000000000..8832054bc751 --- /dev/null +++ b/clients/client-redshift/pagination/DescribeSnapshotCopyGrantsPaginator.ts @@ -0,0 +1,51 @@ +import { Redshift } from "../Redshift"; +import { RedshiftClient } from "../RedshiftClient"; +import { + DescribeSnapshotCopyGrantsCommand, + DescribeSnapshotCopyGrantsCommandInput, + DescribeSnapshotCopyGrantsCommandOutput, +} from "../commands/DescribeSnapshotCopyGrantsCommand"; +import { RedshiftPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: RedshiftClient, + input: DescribeSnapshotCopyGrantsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeSnapshotCopyGrantsCommand(input), ...args); +}; +const makePagedRequest = async ( + client: Redshift, + input: DescribeSnapshotCopyGrantsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeSnapshotCopyGrants(input, ...args); +}; +export async function* paginateDescribeSnapshotCopyGrants( + config: RedshiftPaginationConfiguration, + input: DescribeSnapshotCopyGrantsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: DescribeSnapshotCopyGrantsCommandOutput; + while (hasNext) { + input.Marker = token; + input["MaxRecords"] = config.pageSize; + if (config.client instanceof Redshift) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof RedshiftClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Redshift | RedshiftClient"); + } + yield page; + token = page.Marker; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-redshift/pagination/DescribeSnapshotSchedulesPaginator.ts b/clients/client-redshift/pagination/DescribeSnapshotSchedulesPaginator.ts new file mode 100644 index 000000000000..b3ae2228c79d --- /dev/null +++ b/clients/client-redshift/pagination/DescribeSnapshotSchedulesPaginator.ts @@ -0,0 +1,51 @@ +import { Redshift } from "../Redshift"; +import { RedshiftClient } from "../RedshiftClient"; +import { + DescribeSnapshotSchedulesCommand, + DescribeSnapshotSchedulesCommandInput, + DescribeSnapshotSchedulesCommandOutput, +} from "../commands/DescribeSnapshotSchedulesCommand"; +import { RedshiftPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: RedshiftClient, + input: DescribeSnapshotSchedulesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeSnapshotSchedulesCommand(input), ...args); +}; +const makePagedRequest = async ( + client: Redshift, + input: DescribeSnapshotSchedulesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeSnapshotSchedules(input, ...args); +}; +export async function* paginateDescribeSnapshotSchedules( + config: RedshiftPaginationConfiguration, + input: DescribeSnapshotSchedulesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: DescribeSnapshotSchedulesCommandOutput; + while (hasNext) { + input.Marker = token; + input["MaxRecords"] = config.pageSize; + if (config.client instanceof Redshift) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof RedshiftClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Redshift | RedshiftClient"); + } + yield page; + token = page.Marker; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-redshift/pagination/DescribeTableRestoreStatusPaginator.ts b/clients/client-redshift/pagination/DescribeTableRestoreStatusPaginator.ts new file mode 100644 index 000000000000..216727ca3a8c --- /dev/null +++ b/clients/client-redshift/pagination/DescribeTableRestoreStatusPaginator.ts @@ -0,0 +1,51 @@ +import { Redshift } from "../Redshift"; +import { RedshiftClient } from "../RedshiftClient"; +import { + DescribeTableRestoreStatusCommand, + DescribeTableRestoreStatusCommandInput, + DescribeTableRestoreStatusCommandOutput, +} from "../commands/DescribeTableRestoreStatusCommand"; +import { RedshiftPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: RedshiftClient, + input: DescribeTableRestoreStatusCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeTableRestoreStatusCommand(input), ...args); +}; +const makePagedRequest = async ( + client: Redshift, + input: DescribeTableRestoreStatusCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeTableRestoreStatus(input, ...args); +}; +export async function* paginateDescribeTableRestoreStatus( + config: RedshiftPaginationConfiguration, + input: DescribeTableRestoreStatusCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: DescribeTableRestoreStatusCommandOutput; + while (hasNext) { + input.Marker = token; + input["MaxRecords"] = config.pageSize; + if (config.client instanceof Redshift) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof RedshiftClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Redshift | RedshiftClient"); + } + yield page; + token = page.Marker; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-redshift/pagination/DescribeTagsPaginator.ts b/clients/client-redshift/pagination/DescribeTagsPaginator.ts new file mode 100644 index 000000000000..8799df309a4d --- /dev/null +++ b/clients/client-redshift/pagination/DescribeTagsPaginator.ts @@ -0,0 +1,51 @@ +import { Redshift } from "../Redshift"; +import { RedshiftClient } from "../RedshiftClient"; +import { + DescribeTagsCommand, + DescribeTagsCommandInput, + DescribeTagsCommandOutput, +} from "../commands/DescribeTagsCommand"; +import { RedshiftPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: RedshiftClient, + input: DescribeTagsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeTagsCommand(input), ...args); +}; +const makePagedRequest = async ( + client: Redshift, + input: DescribeTagsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeTags(input, ...args); +}; +export async function* paginateDescribeTags( + config: RedshiftPaginationConfiguration, + input: DescribeTagsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: DescribeTagsCommandOutput; + while (hasNext) { + input.Marker = token; + input["MaxRecords"] = config.pageSize; + if (config.client instanceof Redshift) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof RedshiftClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Redshift | RedshiftClient"); + } + yield page; + token = page.Marker; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-redshift/pagination/GetReservedNodeExchangeOfferingsPaginator.ts b/clients/client-redshift/pagination/GetReservedNodeExchangeOfferingsPaginator.ts new file mode 100644 index 000000000000..8ec3bb8d4007 --- /dev/null +++ b/clients/client-redshift/pagination/GetReservedNodeExchangeOfferingsPaginator.ts @@ -0,0 +1,51 @@ +import { Redshift } from "../Redshift"; +import { RedshiftClient } from "../RedshiftClient"; +import { + GetReservedNodeExchangeOfferingsCommand, + GetReservedNodeExchangeOfferingsCommandInput, + GetReservedNodeExchangeOfferingsCommandOutput, +} from "../commands/GetReservedNodeExchangeOfferingsCommand"; +import { RedshiftPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: RedshiftClient, + input: GetReservedNodeExchangeOfferingsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetReservedNodeExchangeOfferingsCommand(input), ...args); +}; +const makePagedRequest = async ( + client: Redshift, + input: GetReservedNodeExchangeOfferingsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getReservedNodeExchangeOfferings(input, ...args); +}; +export async function* paginateGetReservedNodeExchangeOfferings( + config: RedshiftPaginationConfiguration, + input: GetReservedNodeExchangeOfferingsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || undefined; + let hasNext = true; + let page: GetReservedNodeExchangeOfferingsCommandOutput; + while (hasNext) { + input.Marker = token; + input["MaxRecords"] = config.pageSize; + if (config.client instanceof Redshift) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof RedshiftClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Redshift | RedshiftClient"); + } + yield page; + token = page.Marker; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-redshift/protocols/Aws_query.ts b/clients/client-redshift/protocols/Aws_query.ts index a79a9120cbdf..df31aac12ee7 100644 --- a/clients/client-redshift/protocols/Aws_query.ts +++ b/clients/client-redshift/protocols/Aws_query.ts @@ -10755,12 +10755,12 @@ const serializeAws_queryAcceptReservedNodeExchangeInputMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.TargetReservedNodeOfferingId !== undefined) { - entries["TargetReservedNodeOfferingId"] = input.TargetReservedNodeOfferingId; - } if (input.ReservedNodeId !== undefined) { entries["ReservedNodeId"] = input.ReservedNodeId; } + if (input.TargetReservedNodeOfferingId !== undefined) { + entries["TargetReservedNodeOfferingId"] = input.TargetReservedNodeOfferingId; + } return entries; }; @@ -10779,18 +10779,18 @@ const serializeAws_queryAuthorizeClusterSecurityGroupIngressMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.EC2SecurityGroupName !== undefined) { - entries["EC2SecurityGroupName"] = input.EC2SecurityGroupName; + if (input.ClusterSecurityGroupName !== undefined) { + entries["ClusterSecurityGroupName"] = input.ClusterSecurityGroupName; } if (input.CIDRIP !== undefined) { entries["CIDRIP"] = input.CIDRIP; } + if (input.EC2SecurityGroupName !== undefined) { + entries["EC2SecurityGroupName"] = input.EC2SecurityGroupName; + } if (input.EC2SecurityGroupOwnerId !== undefined) { entries["EC2SecurityGroupOwnerId"] = input.EC2SecurityGroupOwnerId; } - if (input.ClusterSecurityGroupName !== undefined) { - entries["ClusterSecurityGroupName"] = input.ClusterSecurityGroupName; - } return entries; }; @@ -10799,15 +10799,15 @@ const serializeAws_queryAuthorizeSnapshotAccessMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.SnapshotIdentifier !== undefined) { + entries["SnapshotIdentifier"] = input.SnapshotIdentifier; + } if (input.SnapshotClusterIdentifier !== undefined) { entries["SnapshotClusterIdentifier"] = input.SnapshotClusterIdentifier; } if (input.AccountWithRestoreAccess !== undefined) { entries["AccountWithRestoreAccess"] = input.AccountWithRestoreAccess; } - if (input.SnapshotIdentifier !== undefined) { - entries["SnapshotIdentifier"] = input.SnapshotIdentifier; - } return entries; }; @@ -10831,9 +10831,6 @@ const serializeAws_queryBatchModifyClusterSnapshotsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ManualSnapshotRetentionPeriod !== undefined) { - entries["ManualSnapshotRetentionPeriod"] = input.ManualSnapshotRetentionPeriod; - } if (input.SnapshotIdentifierList !== undefined) { const memberEntries = serializeAws_querySnapshotIdentifierList(input.SnapshotIdentifierList, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -10841,6 +10838,9 @@ const serializeAws_queryBatchModifyClusterSnapshotsMessage = ( entries[loc] = value; }); } + if (input.ManualSnapshotRetentionPeriod !== undefined) { + entries["ManualSnapshotRetentionPeriod"] = input.ManualSnapshotRetentionPeriod; + } if (input.Force !== undefined) { entries["Force"] = input.Force; } @@ -10870,128 +10870,128 @@ const serializeAws_queryCopyClusterSnapshotMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.SourceSnapshotIdentifier !== undefined) { + entries["SourceSnapshotIdentifier"] = input.SourceSnapshotIdentifier; + } if (input.SourceSnapshotClusterIdentifier !== undefined) { entries["SourceSnapshotClusterIdentifier"] = input.SourceSnapshotClusterIdentifier; } - if (input.ManualSnapshotRetentionPeriod !== undefined) { - entries["ManualSnapshotRetentionPeriod"] = input.ManualSnapshotRetentionPeriod; - } if (input.TargetSnapshotIdentifier !== undefined) { entries["TargetSnapshotIdentifier"] = input.TargetSnapshotIdentifier; } - if (input.SourceSnapshotIdentifier !== undefined) { - entries["SourceSnapshotIdentifier"] = input.SourceSnapshotIdentifier; + if (input.ManualSnapshotRetentionPeriod !== undefined) { + entries["ManualSnapshotRetentionPeriod"] = input.ManualSnapshotRetentionPeriod; } return entries; }; const serializeAws_queryCreateClusterMessage = (input: CreateClusterMessage, context: __SerdeContext): any => { const entries: any = {}; + if (input.DBName !== undefined) { + entries["DBName"] = input.DBName; + } + if (input.ClusterIdentifier !== undefined) { + entries["ClusterIdentifier"] = input.ClusterIdentifier; + } + if (input.ClusterType !== undefined) { + entries["ClusterType"] = input.ClusterType; + } + if (input.NodeType !== undefined) { + entries["NodeType"] = input.NodeType; + } + if (input.MasterUsername !== undefined) { + entries["MasterUsername"] = input.MasterUsername; + } if (input.MasterUserPassword !== undefined) { entries["MasterUserPassword"] = input.MasterUserPassword; } - if (input.PubliclyAccessible !== undefined) { - entries["PubliclyAccessible"] = input.PubliclyAccessible; + if (input.ClusterSecurityGroups !== undefined) { + const memberEntries = serializeAws_queryClusterSecurityGroupNameList(input.ClusterSecurityGroups, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ClusterSecurityGroups.${key}`; + entries[loc] = value; + }); } - if (input.Tags !== undefined) { - const memberEntries = serializeAws_queryTagList(input.Tags, context); + if (input.VpcSecurityGroupIds !== undefined) { + const memberEntries = serializeAws_queryVpcSecurityGroupIdList(input.VpcSecurityGroupIds, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Tags.${key}`; + const loc = `VpcSecurityGroupIds.${key}`; entries[loc] = value; }); } - if (input.HsmClientCertificateIdentifier !== undefined) { - entries["HsmClientCertificateIdentifier"] = input.HsmClientCertificateIdentifier; + if (input.ClusterSubnetGroupName !== undefined) { + entries["ClusterSubnetGroupName"] = input.ClusterSubnetGroupName; } - if (input.Encrypted !== undefined) { - entries["Encrypted"] = input.Encrypted; + if (input.AvailabilityZone !== undefined) { + entries["AvailabilityZone"] = input.AvailabilityZone; + } + if (input.PreferredMaintenanceWindow !== undefined) { + entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; + } + if (input.ClusterParameterGroupName !== undefined) { + entries["ClusterParameterGroupName"] = input.ClusterParameterGroupName; } if (input.AutomatedSnapshotRetentionPeriod !== undefined) { entries["AutomatedSnapshotRetentionPeriod"] = input.AutomatedSnapshotRetentionPeriod; } + if (input.ManualSnapshotRetentionPeriod !== undefined) { + entries["ManualSnapshotRetentionPeriod"] = input.ManualSnapshotRetentionPeriod; + } if (input.Port !== undefined) { entries["Port"] = input.Port; } - if (input.HsmConfigurationIdentifier !== undefined) { - entries["HsmConfigurationIdentifier"] = input.HsmConfigurationIdentifier; - } if (input.ClusterVersion !== undefined) { entries["ClusterVersion"] = input.ClusterVersion; } - if (input.ClusterType !== undefined) { - entries["ClusterType"] = input.ClusterType; - } - if (input.SnapshotScheduleIdentifier !== undefined) { - entries["SnapshotScheduleIdentifier"] = input.SnapshotScheduleIdentifier; - } - if (input.VpcSecurityGroupIds !== undefined) { - const memberEntries = serializeAws_queryVpcSecurityGroupIdList(input.VpcSecurityGroupIds, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `VpcSecurityGroupIds.${key}`; - entries[loc] = value; - }); - } - if (input.ClusterSubnetGroupName !== undefined) { - entries["ClusterSubnetGroupName"] = input.ClusterSubnetGroupName; - } if (input.AllowVersionUpgrade !== undefined) { entries["AllowVersionUpgrade"] = input.AllowVersionUpgrade; } - if (input.ManualSnapshotRetentionPeriod !== undefined) { - entries["ManualSnapshotRetentionPeriod"] = input.ManualSnapshotRetentionPeriod; - } - if (input.MaintenanceTrackName !== undefined) { - entries["MaintenanceTrackName"] = input.MaintenanceTrackName; + if (input.NumberOfNodes !== undefined) { + entries["NumberOfNodes"] = input.NumberOfNodes; } - if (input.AdditionalInfo !== undefined) { - entries["AdditionalInfo"] = input.AdditionalInfo; + if (input.PubliclyAccessible !== undefined) { + entries["PubliclyAccessible"] = input.PubliclyAccessible; } - if (input.NodeType !== undefined) { - entries["NodeType"] = input.NodeType; + if (input.Encrypted !== undefined) { + entries["Encrypted"] = input.Encrypted; } - if (input.KmsKeyId !== undefined) { - entries["KmsKeyId"] = input.KmsKeyId; + if (input.HsmClientCertificateIdentifier !== undefined) { + entries["HsmClientCertificateIdentifier"] = input.HsmClientCertificateIdentifier; } - if (input.IamRoles !== undefined) { - const memberEntries = serializeAws_queryIamRoleArnList(input.IamRoles, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `IamRoles.${key}`; - entries[loc] = value; - }); + if (input.HsmConfigurationIdentifier !== undefined) { + entries["HsmConfigurationIdentifier"] = input.HsmConfigurationIdentifier; } if (input.ElasticIp !== undefined) { entries["ElasticIp"] = input.ElasticIp; } - if (input.DBName !== undefined) { - entries["DBName"] = input.DBName; + if (input.Tags !== undefined) { + const memberEntries = serializeAws_queryTagList(input.Tags, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Tags.${key}`; + entries[loc] = value; + }); } - if (input.NumberOfNodes !== undefined) { - entries["NumberOfNodes"] = input.NumberOfNodes; + if (input.KmsKeyId !== undefined) { + entries["KmsKeyId"] = input.KmsKeyId; } if (input.EnhancedVpcRouting !== undefined) { entries["EnhancedVpcRouting"] = input.EnhancedVpcRouting; } - if (input.PreferredMaintenanceWindow !== undefined) { - entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; - } - if (input.ClusterParameterGroupName !== undefined) { - entries["ClusterParameterGroupName"] = input.ClusterParameterGroupName; - } - if (input.ClusterIdentifier !== undefined) { - entries["ClusterIdentifier"] = input.ClusterIdentifier; + if (input.AdditionalInfo !== undefined) { + entries["AdditionalInfo"] = input.AdditionalInfo; } - if (input.ClusterSecurityGroups !== undefined) { - const memberEntries = serializeAws_queryClusterSecurityGroupNameList(input.ClusterSecurityGroups, context); + if (input.IamRoles !== undefined) { + const memberEntries = serializeAws_queryIamRoleArnList(input.IamRoles, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ClusterSecurityGroups.${key}`; + const loc = `IamRoles.${key}`; entries[loc] = value; }); } - if (input.MasterUsername !== undefined) { - entries["MasterUsername"] = input.MasterUsername; + if (input.MaintenanceTrackName !== undefined) { + entries["MaintenanceTrackName"] = input.MaintenanceTrackName; } - if (input.AvailabilityZone !== undefined) { - entries["AvailabilityZone"] = input.AvailabilityZone; + if (input.SnapshotScheduleIdentifier !== undefined) { + entries["SnapshotScheduleIdentifier"] = input.SnapshotScheduleIdentifier; } return entries; }; @@ -11001,15 +11001,15 @@ const serializeAws_queryCreateClusterParameterGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Description !== undefined) { - entries["Description"] = input.Description; - } if (input.ParameterGroupName !== undefined) { entries["ParameterGroupName"] = input.ParameterGroupName; } if (input.ParameterGroupFamily !== undefined) { entries["ParameterGroupFamily"] = input.ParameterGroupFamily; } + if (input.Description !== undefined) { + entries["Description"] = input.Description; + } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -11028,6 +11028,9 @@ const serializeAws_queryCreateClusterSecurityGroupMessage = ( if (input.ClusterSecurityGroupName !== undefined) { entries["ClusterSecurityGroupName"] = input.ClusterSecurityGroupName; } + if (input.Description !== undefined) { + entries["Description"] = input.Description; + } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -11035,9 +11038,6 @@ const serializeAws_queryCreateClusterSecurityGroupMessage = ( entries[loc] = value; }); } - if (input.Description !== undefined) { - entries["Description"] = input.Description; - } return entries; }; @@ -11046,9 +11046,15 @@ const serializeAws_queryCreateClusterSnapshotMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.SnapshotIdentifier !== undefined) { + entries["SnapshotIdentifier"] = input.SnapshotIdentifier; + } if (input.ClusterIdentifier !== undefined) { entries["ClusterIdentifier"] = input.ClusterIdentifier; } + if (input.ManualSnapshotRetentionPeriod !== undefined) { + entries["ManualSnapshotRetentionPeriod"] = input.ManualSnapshotRetentionPeriod; + } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -11056,12 +11062,6 @@ const serializeAws_queryCreateClusterSnapshotMessage = ( entries[loc] = value; }); } - if (input.SnapshotIdentifier !== undefined) { - entries["SnapshotIdentifier"] = input.SnapshotIdentifier; - } - if (input.ManualSnapshotRetentionPeriod !== undefined) { - entries["ManualSnapshotRetentionPeriod"] = input.ManualSnapshotRetentionPeriod; - } return entries; }; @@ -11070,12 +11070,11 @@ const serializeAws_queryCreateClusterSubnetGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Tags !== undefined) { - const memberEntries = serializeAws_queryTagList(input.Tags, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Tags.${key}`; - entries[loc] = value; - }); + if (input.ClusterSubnetGroupName !== undefined) { + entries["ClusterSubnetGroupName"] = input.ClusterSubnetGroupName; + } + if (input.Description !== undefined) { + entries["Description"] = input.Description; } if (input.SubnetIds !== undefined) { const memberEntries = serializeAws_querySubnetIdentifierList(input.SubnetIds, context); @@ -11084,11 +11083,12 @@ const serializeAws_queryCreateClusterSubnetGroupMessage = ( entries[loc] = value; }); } - if (input.Description !== undefined) { - entries["Description"] = input.Description; - } - if (input.ClusterSubnetGroupName !== undefined) { - entries["ClusterSubnetGroupName"] = input.ClusterSubnetGroupName; + if (input.Tags !== undefined) { + const memberEntries = serializeAws_queryTagList(input.Tags, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Tags.${key}`; + entries[loc] = value; + }); } return entries; }; @@ -11098,9 +11098,22 @@ const serializeAws_queryCreateEventSubscriptionMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.SubscriptionName !== undefined) { + entries["SubscriptionName"] = input.SubscriptionName; + } if (input.SnsTopicArn !== undefined) { entries["SnsTopicArn"] = input.SnsTopicArn; } + if (input.SourceType !== undefined) { + entries["SourceType"] = input.SourceType; + } + if (input.SourceIds !== undefined) { + const memberEntries = serializeAws_querySourceIdsList(input.SourceIds, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `SourceIds.${key}`; + entries[loc] = value; + }); + } if (input.EventCategories !== undefined) { const memberEntries = serializeAws_queryEventCategoriesList(input.EventCategories, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -11108,24 +11121,11 @@ const serializeAws_queryCreateEventSubscriptionMessage = ( entries[loc] = value; }); } - if (input.Enabled !== undefined) { - entries["Enabled"] = input.Enabled; - } - if (input.SourceType !== undefined) { - entries["SourceType"] = input.SourceType; - } - if (input.SubscriptionName !== undefined) { - entries["SubscriptionName"] = input.SubscriptionName; - } if (input.Severity !== undefined) { entries["Severity"] = input.Severity; } - if (input.SourceIds !== undefined) { - const memberEntries = serializeAws_querySourceIdsList(input.SourceIds, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `SourceIds.${key}`; - entries[loc] = value; - }); + if (input.Enabled !== undefined) { + entries["Enabled"] = input.Enabled; } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryTagList(input.Tags, context); @@ -11142,6 +11142,9 @@ const serializeAws_queryCreateHsmClientCertificateMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.HsmClientCertificateIdentifier !== undefined) { + entries["HsmClientCertificateIdentifier"] = input.HsmClientCertificateIdentifier; + } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -11149,9 +11152,6 @@ const serializeAws_queryCreateHsmClientCertificateMessage = ( entries[loc] = value; }); } - if (input.HsmClientCertificateIdentifier !== undefined) { - entries["HsmClientCertificateIdentifier"] = input.HsmClientCertificateIdentifier; - } return entries; }; @@ -11160,31 +11160,31 @@ const serializeAws_queryCreateHsmConfigurationMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.HsmPartitionName !== undefined) { - entries["HsmPartitionName"] = input.HsmPartitionName; + if (input.HsmConfigurationIdentifier !== undefined) { + entries["HsmConfigurationIdentifier"] = input.HsmConfigurationIdentifier; } - if (input.Tags !== undefined) { - const memberEntries = serializeAws_queryTagList(input.Tags, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Tags.${key}`; - entries[loc] = value; - }); - } - if (input.HsmConfigurationIdentifier !== undefined) { - entries["HsmConfigurationIdentifier"] = input.HsmConfigurationIdentifier; + if (input.Description !== undefined) { + entries["Description"] = input.Description; } if (input.HsmIpAddress !== undefined) { entries["HsmIpAddress"] = input.HsmIpAddress; } + if (input.HsmPartitionName !== undefined) { + entries["HsmPartitionName"] = input.HsmPartitionName; + } if (input.HsmPartitionPassword !== undefined) { entries["HsmPartitionPassword"] = input.HsmPartitionPassword; } - if (input.Description !== undefined) { - entries["Description"] = input.Description; - } if (input.HsmServerPublicCertificate !== undefined) { entries["HsmServerPublicCertificate"] = input.HsmServerPublicCertificate; } + if (input.Tags !== undefined) { + const memberEntries = serializeAws_queryTagList(input.Tags, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Tags.${key}`; + entries[loc] = value; + }); + } return entries; }; @@ -11193,8 +11193,8 @@ const serializeAws_queryCreateScheduledActionMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Enable !== undefined) { - entries["Enable"] = input.Enable; + if (input.ScheduledActionName !== undefined) { + entries["ScheduledActionName"] = input.ScheduledActionName; } if (input.TargetAction !== undefined) { const memberEntries = serializeAws_queryScheduledActionType(input.TargetAction, context); @@ -11203,23 +11203,23 @@ const serializeAws_queryCreateScheduledActionMessage = ( entries[loc] = value; }); } + if (input.Schedule !== undefined) { + entries["Schedule"] = input.Schedule; + } if (input.IamRole !== undefined) { entries["IamRole"] = input.IamRole; } + if (input.ScheduledActionDescription !== undefined) { + entries["ScheduledActionDescription"] = input.ScheduledActionDescription; + } if (input.StartTime !== undefined) { entries["StartTime"] = input.StartTime.toISOString().split(".")[0] + "Z"; } if (input.EndTime !== undefined) { entries["EndTime"] = input.EndTime.toISOString().split(".")[0] + "Z"; } - if (input.ScheduledActionDescription !== undefined) { - entries["ScheduledActionDescription"] = input.ScheduledActionDescription; - } - if (input.Schedule !== undefined) { - entries["Schedule"] = input.Schedule; - } - if (input.ScheduledActionName !== undefined) { - entries["ScheduledActionName"] = input.ScheduledActionName; + if (input.Enable !== undefined) { + entries["Enable"] = input.Enable; } return entries; }; @@ -11229,12 +11229,12 @@ const serializeAws_queryCreateSnapshotCopyGrantMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.KmsKeyId !== undefined) { - entries["KmsKeyId"] = input.KmsKeyId; - } if (input.SnapshotCopyGrantName !== undefined) { entries["SnapshotCopyGrantName"] = input.SnapshotCopyGrantName; } + if (input.KmsKeyId !== undefined) { + entries["KmsKeyId"] = input.KmsKeyId; + } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -11250,6 +11250,16 @@ const serializeAws_queryCreateSnapshotScheduleMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.ScheduleDefinitions !== undefined) { + const memberEntries = serializeAws_queryScheduleDefinitionList(input.ScheduleDefinitions, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ScheduleDefinitions.${key}`; + entries[loc] = value; + }); + } + if (input.ScheduleIdentifier !== undefined) { + entries["ScheduleIdentifier"] = input.ScheduleIdentifier; + } if (input.ScheduleDescription !== undefined) { entries["ScheduleDescription"] = input.ScheduleDescription; } @@ -11260,21 +11270,11 @@ const serializeAws_queryCreateSnapshotScheduleMessage = ( entries[loc] = value; }); } - if (input.NextInvocations !== undefined) { - entries["NextInvocations"] = input.NextInvocations; - } - if (input.ScheduleIdentifier !== undefined) { - entries["ScheduleIdentifier"] = input.ScheduleIdentifier; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.ScheduleDefinitions !== undefined) { - const memberEntries = serializeAws_queryScheduleDefinitionList(input.ScheduleDefinitions, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ScheduleDefinitions.${key}`; - entries[loc] = value; - }); + if (input.NextInvocations !== undefined) { + entries["NextInvocations"] = input.NextInvocations; } return entries; }; @@ -11296,12 +11296,14 @@ const serializeAws_queryCreateTagsMessage = (input: CreateTagsMessage, context: const serializeAws_queryCreateUsageLimitMessage = (input: CreateUsageLimitMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.Tags !== undefined) { - const memberEntries = serializeAws_queryTagList(input.Tags, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Tags.${key}`; - entries[loc] = value; - }); + if (input.ClusterIdentifier !== undefined) { + entries["ClusterIdentifier"] = input.ClusterIdentifier; + } + if (input.FeatureType !== undefined) { + entries["FeatureType"] = input.FeatureType; + } + if (input.LimitType !== undefined) { + entries["LimitType"] = input.LimitType; } if (input.Amount !== undefined) { entries["Amount"] = input.Amount; @@ -11312,14 +11314,12 @@ const serializeAws_queryCreateUsageLimitMessage = (input: CreateUsageLimitMessag if (input.BreachAction !== undefined) { entries["BreachAction"] = input.BreachAction; } - if (input.FeatureType !== undefined) { - entries["FeatureType"] = input.FeatureType; - } - if (input.ClusterIdentifier !== undefined) { - entries["ClusterIdentifier"] = input.ClusterIdentifier; - } - if (input.LimitType !== undefined) { - entries["LimitType"] = input.LimitType; + if (input.Tags !== undefined) { + const memberEntries = serializeAws_queryTagList(input.Tags, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Tags.${key}`; + entries[loc] = value; + }); } return entries; }; @@ -11342,12 +11342,12 @@ const serializeAws_queryDeleteClusterMessage = (input: DeleteClusterMessage, con if (input.SkipFinalClusterSnapshot !== undefined) { entries["SkipFinalClusterSnapshot"] = input.SkipFinalClusterSnapshot; } - if (input.FinalClusterSnapshotRetentionPeriod !== undefined) { - entries["FinalClusterSnapshotRetentionPeriod"] = input.FinalClusterSnapshotRetentionPeriod; - } if (input.FinalClusterSnapshotIdentifier !== undefined) { entries["FinalClusterSnapshotIdentifier"] = input.FinalClusterSnapshotIdentifier; } + if (input.FinalClusterSnapshotRetentionPeriod !== undefined) { + entries["FinalClusterSnapshotRetentionPeriod"] = input.FinalClusterSnapshotRetentionPeriod; + } return entries; }; @@ -11523,14 +11523,14 @@ const serializeAws_queryDescribeClusterDbRevisionsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; + if (input.ClusterIdentifier !== undefined) { + entries["ClusterIdentifier"] = input.ClusterIdentifier; } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } - if (input.ClusterIdentifier !== undefined) { - entries["ClusterIdentifier"] = input.ClusterIdentifier; + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; } return entries; }; @@ -11540,11 +11540,14 @@ const serializeAws_queryDescribeClusterParameterGroupsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.ParameterGroupName !== undefined) { + entries["ParameterGroupName"] = input.ParameterGroupName; + } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } - if (input.ParameterGroupName !== undefined) { - entries["ParameterGroupName"] = input.ParameterGroupName; + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; } if (input.TagKeys !== undefined) { const memberEntries = serializeAws_queryTagKeyList(input.TagKeys, context); @@ -11553,9 +11556,6 @@ const serializeAws_queryDescribeClusterParameterGroupsMessage = ( entries[loc] = value; }); } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } if (input.TagValues !== undefined) { const memberEntries = serializeAws_queryTagValueList(input.TagValues, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -11571,17 +11571,17 @@ const serializeAws_queryDescribeClusterParametersMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } if (input.ParameterGroupName !== undefined) { entries["ParameterGroupName"] = input.ParameterGroupName; } + if (input.Source !== undefined) { + entries["Source"] = input.Source; + } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } - if (input.Source !== undefined) { - entries["Source"] = input.Source; + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; } return entries; }; @@ -11591,19 +11591,15 @@ const serializeAws_queryDescribeClusterSecurityGroupsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } - if (input.TagValues !== undefined) { - const memberEntries = serializeAws_queryTagValueList(input.TagValues, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TagValues.${key}`; - entries[loc] = value; - }); - } if (input.ClusterSecurityGroupName !== undefined) { entries["ClusterSecurityGroupName"] = input.ClusterSecurityGroupName; } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } if (input.TagKeys !== undefined) { const memberEntries = serializeAws_queryTagKeyList(input.TagKeys, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -11611,8 +11607,12 @@ const serializeAws_queryDescribeClusterSecurityGroupsMessage = ( entries[loc] = value; }); } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; + if (input.TagValues !== undefined) { + const memberEntries = serializeAws_queryTagValueList(input.TagValues, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `TagValues.${key}`; + entries[loc] = value; + }); } return entries; }; @@ -11622,18 +11622,11 @@ const serializeAws_queryDescribeClustersMessage = (input: DescribeClustersMessag if (input.ClusterIdentifier !== undefined) { entries["ClusterIdentifier"] = input.ClusterIdentifier; } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } - if (input.TagValues !== undefined) { - const memberEntries = serializeAws_queryTagValueList(input.TagValues, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TagValues.${key}`; - entries[loc] = value; - }); + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; } if (input.TagKeys !== undefined) { const memberEntries = serializeAws_queryTagKeyList(input.TagKeys, context); @@ -11642,6 +11635,13 @@ const serializeAws_queryDescribeClustersMessage = (input: DescribeClustersMessag entries[loc] = value; }); } + if (input.TagValues !== undefined) { + const memberEntries = serializeAws_queryTagValueList(input.TagValues, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `TagValues.${key}`; + entries[loc] = value; + }); + } return entries; }; @@ -11653,21 +11653,27 @@ const serializeAws_queryDescribeClusterSnapshotsMessage = ( if (input.ClusterIdentifier !== undefined) { entries["ClusterIdentifier"] = input.ClusterIdentifier; } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } - if (input.OwnerAccount !== undefined) { - entries["OwnerAccount"] = input.OwnerAccount; + if (input.SnapshotIdentifier !== undefined) { + entries["SnapshotIdentifier"] = input.SnapshotIdentifier; } if (input.SnapshotType !== undefined) { entries["SnapshotType"] = input.SnapshotType; } - if (input.SnapshotIdentifier !== undefined) { - entries["SnapshotIdentifier"] = input.SnapshotIdentifier; - } if (input.StartTime !== undefined) { entries["StartTime"] = input.StartTime.toISOString().split(".")[0] + "Z"; } + if (input.EndTime !== undefined) { + entries["EndTime"] = input.EndTime.toISOString().split(".")[0] + "Z"; + } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } + if (input.OwnerAccount !== undefined) { + entries["OwnerAccount"] = input.OwnerAccount; + } if (input.TagKeys !== undefined) { const memberEntries = serializeAws_queryTagKeyList(input.TagKeys, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -11675,16 +11681,6 @@ const serializeAws_queryDescribeClusterSnapshotsMessage = ( entries[loc] = value; }); } - if (input.SortingEntities !== undefined) { - const memberEntries = serializeAws_querySnapshotSortingEntityList(input.SortingEntities, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `SortingEntities.${key}`; - entries[loc] = value; - }); - } - if (input.EndTime !== undefined) { - entries["EndTime"] = input.EndTime.toISOString().split(".")[0] + "Z"; - } if (input.TagValues !== undefined) { const memberEntries = serializeAws_queryTagValueList(input.TagValues, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -11692,12 +11688,16 @@ const serializeAws_queryDescribeClusterSnapshotsMessage = ( entries[loc] = value; }); } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } if (input.ClusterExists !== undefined) { entries["ClusterExists"] = input.ClusterExists; } + if (input.SortingEntities !== undefined) { + const memberEntries = serializeAws_querySnapshotSortingEntityList(input.SortingEntities, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `SortingEntities.${key}`; + entries[loc] = value; + }); + } return entries; }; @@ -11706,15 +11706,15 @@ const serializeAws_queryDescribeClusterSubnetGroupsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } if (input.ClusterSubnetGroupName !== undefined) { entries["ClusterSubnetGroupName"] = input.ClusterSubnetGroupName; } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } if (input.TagKeys !== undefined) { const memberEntries = serializeAws_queryTagKeyList(input.TagKeys, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -11737,15 +11737,15 @@ const serializeAws_queryDescribeClusterTracksMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.MaintenanceTrackName !== undefined) { + entries["MaintenanceTrackName"] = input.MaintenanceTrackName; + } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } - if (input.MaintenanceTrackName !== undefined) { - entries["MaintenanceTrackName"] = input.MaintenanceTrackName; - } return entries; }; @@ -11754,6 +11754,9 @@ const serializeAws_queryDescribeClusterVersionsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.ClusterVersion !== undefined) { + entries["ClusterVersion"] = input.ClusterVersion; + } if (input.ClusterParameterGroupFamily !== undefined) { entries["ClusterParameterGroupFamily"] = input.ClusterParameterGroupFamily; } @@ -11763,9 +11766,6 @@ const serializeAws_queryDescribeClusterVersionsMessage = ( if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } - if (input.ClusterVersion !== undefined) { - entries["ClusterVersion"] = input.ClusterVersion; - } return entries; }; @@ -11799,24 +11799,24 @@ const serializeAws_queryDescribeEventCategoriesMessage = ( const serializeAws_queryDescribeEventsMessage = (input: DescribeEventsMessage, context: __SerdeContext): any => { const entries: any = {}; + if (input.SourceIdentifier !== undefined) { + entries["SourceIdentifier"] = input.SourceIdentifier; + } if (input.SourceType !== undefined) { entries["SourceType"] = input.SourceType; } - if (input.Duration !== undefined) { - entries["Duration"] = input.Duration; + if (input.StartTime !== undefined) { + entries["StartTime"] = input.StartTime.toISOString().split(".")[0] + "Z"; } if (input.EndTime !== undefined) { entries["EndTime"] = input.EndTime.toISOString().split(".")[0] + "Z"; } - if (input.SourceIdentifier !== undefined) { - entries["SourceIdentifier"] = input.SourceIdentifier; + if (input.Duration !== undefined) { + entries["Duration"] = input.Duration; } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } - if (input.StartTime !== undefined) { - entries["StartTime"] = input.StartTime.toISOString().split(".")[0] + "Z"; - } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } @@ -11831,12 +11831,8 @@ const serializeAws_queryDescribeEventSubscriptionsMessage = ( if (input.SubscriptionName !== undefined) { entries["SubscriptionName"] = input.SubscriptionName; } - if (input.TagValues !== undefined) { - const memberEntries = serializeAws_queryTagValueList(input.TagValues, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TagValues.${key}`; - entries[loc] = value; - }); + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; @@ -11848,8 +11844,12 @@ const serializeAws_queryDescribeEventSubscriptionsMessage = ( entries[loc] = value; }); } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; + if (input.TagValues !== undefined) { + const memberEntries = serializeAws_queryTagValueList(input.TagValues, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `TagValues.${key}`; + entries[loc] = value; + }); } return entries; }; @@ -11868,17 +11868,17 @@ const serializeAws_queryDescribeHsmClientCertificatesMessage = ( if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } - if (input.TagValues !== undefined) { - const memberEntries = serializeAws_queryTagValueList(input.TagValues, context); + if (input.TagKeys !== undefined) { + const memberEntries = serializeAws_queryTagKeyList(input.TagKeys, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TagValues.${key}`; + const loc = `TagKeys.${key}`; entries[loc] = value; }); } - if (input.TagKeys !== undefined) { - const memberEntries = serializeAws_queryTagKeyList(input.TagKeys, context); + if (input.TagValues !== undefined) { + const memberEntries = serializeAws_queryTagValueList(input.TagValues, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TagKeys.${key}`; + const loc = `TagValues.${key}`; entries[loc] = value; }); } @@ -11890,6 +11890,15 @@ const serializeAws_queryDescribeHsmConfigurationsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.HsmConfigurationIdentifier !== undefined) { + entries["HsmConfigurationIdentifier"] = input.HsmConfigurationIdentifier; + } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } if (input.TagKeys !== undefined) { const memberEntries = serializeAws_queryTagKeyList(input.TagKeys, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -11897,12 +11906,6 @@ const serializeAws_queryDescribeHsmConfigurationsMessage = ( entries[loc] = value; }); } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } - if (input.HsmConfigurationIdentifier !== undefined) { - entries["HsmConfigurationIdentifier"] = input.HsmConfigurationIdentifier; - } if (input.TagValues !== undefined) { const memberEntries = serializeAws_queryTagValueList(input.TagValues, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -11910,9 +11913,6 @@ const serializeAws_queryDescribeHsmConfigurationsMessage = ( entries[loc] = value; }); } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } return entries; }; @@ -11935,18 +11935,15 @@ const serializeAws_queryDescribeNodeConfigurationOptionsMessage = ( if (input.ActionType !== undefined) { entries["ActionType"] = input.ActionType; } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; + if (input.ClusterIdentifier !== undefined) { + entries["ClusterIdentifier"] = input.ClusterIdentifier; } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; + if (input.SnapshotIdentifier !== undefined) { + entries["SnapshotIdentifier"] = input.SnapshotIdentifier; } if (input.OwnerAccount !== undefined) { entries["OwnerAccount"] = input.OwnerAccount; } - if (input.SnapshotIdentifier !== undefined) { - entries["SnapshotIdentifier"] = input.SnapshotIdentifier; - } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryNodeConfigurationOptionsFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -11954,8 +11951,11 @@ const serializeAws_queryDescribeNodeConfigurationOptionsMessage = ( entries[loc] = value; }); } - if (input.ClusterIdentifier !== undefined) { - entries["ClusterIdentifier"] = input.ClusterIdentifier; + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; } return entries; }; @@ -11965,18 +11965,18 @@ const serializeAws_queryDescribeOrderableClusterOptionsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } if (input.ClusterVersion !== undefined) { entries["ClusterVersion"] = input.ClusterVersion; } if (input.NodeType !== undefined) { entries["NodeType"] = input.NodeType; } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } return entries; }; @@ -12027,6 +12027,21 @@ const serializeAws_queryDescribeScheduledActionsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.ScheduledActionName !== undefined) { + entries["ScheduledActionName"] = input.ScheduledActionName; + } + if (input.TargetActionType !== undefined) { + entries["TargetActionType"] = input.TargetActionType; + } + if (input.StartTime !== undefined) { + entries["StartTime"] = input.StartTime.toISOString().split(".")[0] + "Z"; + } + if (input.EndTime !== undefined) { + entries["EndTime"] = input.EndTime.toISOString().split(".")[0] + "Z"; + } + if (input.Active !== undefined) { + entries["Active"] = input.Active; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryScheduledActionFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -12034,27 +12049,12 @@ const serializeAws_queryDescribeScheduledActionsMessage = ( entries[loc] = value; }); } - if (input.Active !== undefined) { - entries["Active"] = input.Active; - } - if (input.ScheduledActionName !== undefined) { - entries["ScheduledActionName"] = input.ScheduledActionName; - } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } - if (input.EndTime !== undefined) { - entries["EndTime"] = input.EndTime.toISOString().split(".")[0] + "Z"; - } - if (input.StartTime !== undefined) { - entries["StartTime"] = input.StartTime.toISOString().split(".")[0] + "Z"; - } - if (input.TargetActionType !== undefined) { - entries["TargetActionType"] = input.TargetActionType; - } return entries; }; @@ -12063,12 +12063,8 @@ const serializeAws_queryDescribeSnapshotCopyGrantsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.TagKeys !== undefined) { - const memberEntries = serializeAws_queryTagKeyList(input.TagKeys, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TagKeys.${key}`; - entries[loc] = value; - }); + if (input.SnapshotCopyGrantName !== undefined) { + entries["SnapshotCopyGrantName"] = input.SnapshotCopyGrantName; } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; @@ -12076,8 +12072,12 @@ const serializeAws_queryDescribeSnapshotCopyGrantsMessage = ( if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } - if (input.SnapshotCopyGrantName !== undefined) { - entries["SnapshotCopyGrantName"] = input.SnapshotCopyGrantName; + if (input.TagKeys !== undefined) { + const memberEntries = serializeAws_queryTagKeyList(input.TagKeys, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `TagKeys.${key}`; + entries[loc] = value; + }); } if (input.TagValues !== undefined) { const memberEntries = serializeAws_queryTagValueList(input.TagValues, context); @@ -12097,15 +12097,8 @@ const serializeAws_queryDescribeSnapshotSchedulesMessage = ( if (input.ClusterIdentifier !== undefined) { entries["ClusterIdentifier"] = input.ClusterIdentifier; } - if (input.TagValues !== undefined) { - const memberEntries = serializeAws_queryTagValueList(input.TagValues, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TagValues.${key}`; - entries[loc] = value; - }); - } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; + if (input.ScheduleIdentifier !== undefined) { + entries["ScheduleIdentifier"] = input.ScheduleIdentifier; } if (input.TagKeys !== undefined) { const memberEntries = serializeAws_queryTagKeyList(input.TagKeys, context); @@ -12114,12 +12107,19 @@ const serializeAws_queryDescribeSnapshotSchedulesMessage = ( entries[loc] = value; }); } - if (input.ScheduleIdentifier !== undefined) { - entries["ScheduleIdentifier"] = input.ScheduleIdentifier; + if (input.TagValues !== undefined) { + const memberEntries = serializeAws_queryTagValueList(input.TagValues, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `TagValues.${key}`; + entries[loc] = value; + }); } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } return entries; }; @@ -12128,25 +12128,25 @@ const serializeAws_queryDescribeTableRestoreStatusMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; + if (input.ClusterIdentifier !== undefined) { + entries["ClusterIdentifier"] = input.ClusterIdentifier; } if (input.TableRestoreRequestId !== undefined) { entries["TableRestoreRequestId"] = input.TableRestoreRequestId; } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } - if (input.ClusterIdentifier !== undefined) { - entries["ClusterIdentifier"] = input.ClusterIdentifier; - } return entries; }; const serializeAws_queryDescribeTagsMessage = (input: DescribeTagsMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; + if (input.ResourceName !== undefined) { + entries["ResourceName"] = input.ResourceName; } if (input.ResourceType !== undefined) { entries["ResourceType"] = input.ResourceType; @@ -12154,6 +12154,9 @@ const serializeAws_queryDescribeTagsMessage = (input: DescribeTagsMessage, conte if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } if (input.TagKeys !== undefined) { const memberEntries = serializeAws_queryTagKeyList(input.TagKeys, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -12168,9 +12171,6 @@ const serializeAws_queryDescribeTagsMessage = (input: DescribeTagsMessage, conte entries[loc] = value; }); } - if (input.ResourceName !== undefined) { - entries["ResourceName"] = input.ResourceName; - } return entries; }; @@ -12179,12 +12179,21 @@ const serializeAws_queryDescribeUsageLimitsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.UsageLimitId !== undefined) { + entries["UsageLimitId"] = input.UsageLimitId; + } + if (input.ClusterIdentifier !== undefined) { + entries["ClusterIdentifier"] = input.ClusterIdentifier; + } if (input.FeatureType !== undefined) { entries["FeatureType"] = input.FeatureType; } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } if (input.TagKeys !== undefined) { const memberEntries = serializeAws_queryTagKeyList(input.TagKeys, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -12192,12 +12201,6 @@ const serializeAws_queryDescribeUsageLimitsMessage = ( entries[loc] = value; }); } - if (input.UsageLimitId !== undefined) { - entries["UsageLimitId"] = input.UsageLimitId; - } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } if (input.TagValues !== undefined) { const memberEntries = serializeAws_queryTagValueList(input.TagValues, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -12205,9 +12208,6 @@ const serializeAws_queryDescribeUsageLimitsMessage = ( entries[loc] = value; }); } - if (input.ClusterIdentifier !== undefined) { - entries["ClusterIdentifier"] = input.ClusterIdentifier; - } return entries; }; @@ -12249,17 +12249,17 @@ const serializeAws_queryEnableSnapshotCopyMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.SnapshotCopyGrantName !== undefined) { - entries["SnapshotCopyGrantName"] = input.SnapshotCopyGrantName; - } if (input.ClusterIdentifier !== undefined) { entries["ClusterIdentifier"] = input.ClusterIdentifier; } + if (input.DestinationRegion !== undefined) { + entries["DestinationRegion"] = input.DestinationRegion; + } if (input.RetentionPeriod !== undefined) { entries["RetentionPeriod"] = input.RetentionPeriod; } - if (input.DestinationRegion !== undefined) { - entries["DestinationRegion"] = input.DestinationRegion; + if (input.SnapshotCopyGrantName !== undefined) { + entries["SnapshotCopyGrantName"] = input.SnapshotCopyGrantName; } if (input.ManualSnapshotRetentionPeriod !== undefined) { entries["ManualSnapshotRetentionPeriod"] = input.ManualSnapshotRetentionPeriod; @@ -12282,21 +12282,21 @@ const serializeAws_queryGetClusterCredentialsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DurationSeconds !== undefined) { - entries["DurationSeconds"] = input.DurationSeconds; - } if (input.DbUser !== undefined) { entries["DbUser"] = input.DbUser; } - if (input.AutoCreate !== undefined) { - entries["AutoCreate"] = input.AutoCreate; - } if (input.DbName !== undefined) { entries["DbName"] = input.DbName; } if (input.ClusterIdentifier !== undefined) { entries["ClusterIdentifier"] = input.ClusterIdentifier; } + if (input.DurationSeconds !== undefined) { + entries["DurationSeconds"] = input.DurationSeconds; + } + if (input.AutoCreate !== undefined) { + entries["AutoCreate"] = input.AutoCreate; + } if (input.DbGroups !== undefined) { const memberEntries = serializeAws_queryDbGroupList(input.DbGroups, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -12312,12 +12312,12 @@ const serializeAws_queryGetReservedNodeExchangeOfferingsInputMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } if (input.ReservedNodeId !== undefined) { entries["ReservedNodeId"] = input.ReservedNodeId; } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } @@ -12339,12 +12339,12 @@ const serializeAws_queryModifyClusterDbRevisionMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.RevisionTarget !== undefined) { - entries["RevisionTarget"] = input.RevisionTarget; - } if (input.ClusterIdentifier !== undefined) { entries["ClusterIdentifier"] = input.ClusterIdentifier; } + if (input.RevisionTarget !== undefined) { + entries["RevisionTarget"] = input.RevisionTarget; + } return entries; }; @@ -12356,17 +12356,17 @@ const serializeAws_queryModifyClusterIamRolesMessage = ( if (input.ClusterIdentifier !== undefined) { entries["ClusterIdentifier"] = input.ClusterIdentifier; } - if (input.RemoveIamRoles !== undefined) { - const memberEntries = serializeAws_queryIamRoleArnList(input.RemoveIamRoles, context); + if (input.AddIamRoles !== undefined) { + const memberEntries = serializeAws_queryIamRoleArnList(input.AddIamRoles, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `RemoveIamRoles.${key}`; + const loc = `AddIamRoles.${key}`; entries[loc] = value; }); } - if (input.AddIamRoles !== undefined) { - const memberEntries = serializeAws_queryIamRoleArnList(input.AddIamRoles, context); + if (input.RemoveIamRoles !== undefined) { + const memberEntries = serializeAws_queryIamRoleArnList(input.RemoveIamRoles, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `AddIamRoles.${key}`; + const loc = `RemoveIamRoles.${key}`; entries[loc] = value; }); } @@ -12378,103 +12378,103 @@ const serializeAws_queryModifyClusterMaintenanceMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.ClusterIdentifier !== undefined) { + entries["ClusterIdentifier"] = input.ClusterIdentifier; + } if (input.DeferMaintenance !== undefined) { entries["DeferMaintenance"] = input.DeferMaintenance; } + if (input.DeferMaintenanceIdentifier !== undefined) { + entries["DeferMaintenanceIdentifier"] = input.DeferMaintenanceIdentifier; + } if (input.DeferMaintenanceStartTime !== undefined) { entries["DeferMaintenanceStartTime"] = input.DeferMaintenanceStartTime.toISOString().split(".")[0] + "Z"; } - if (input.DeferMaintenanceDuration !== undefined) { - entries["DeferMaintenanceDuration"] = input.DeferMaintenanceDuration; - } - if (input.ClusterIdentifier !== undefined) { - entries["ClusterIdentifier"] = input.ClusterIdentifier; - } if (input.DeferMaintenanceEndTime !== undefined) { entries["DeferMaintenanceEndTime"] = input.DeferMaintenanceEndTime.toISOString().split(".")[0] + "Z"; } - if (input.DeferMaintenanceIdentifier !== undefined) { - entries["DeferMaintenanceIdentifier"] = input.DeferMaintenanceIdentifier; + if (input.DeferMaintenanceDuration !== undefined) { + entries["DeferMaintenanceDuration"] = input.DeferMaintenanceDuration; } return entries; }; const serializeAws_queryModifyClusterMessage = (input: ModifyClusterMessage, context: __SerdeContext): any => { const entries: any = {}; + if (input.ClusterIdentifier !== undefined) { + entries["ClusterIdentifier"] = input.ClusterIdentifier; + } + if (input.ClusterType !== undefined) { + entries["ClusterType"] = input.ClusterType; + } if (input.NodeType !== undefined) { entries["NodeType"] = input.NodeType; } - if (input.AllowVersionUpgrade !== undefined) { - entries["AllowVersionUpgrade"] = input.AllowVersionUpgrade; + if (input.NumberOfNodes !== undefined) { + entries["NumberOfNodes"] = input.NumberOfNodes; } - if (input.MasterUserPassword !== undefined) { - entries["MasterUserPassword"] = input.MasterUserPassword; + if (input.ClusterSecurityGroups !== undefined) { + const memberEntries = serializeAws_queryClusterSecurityGroupNameList(input.ClusterSecurityGroups, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ClusterSecurityGroups.${key}`; + entries[loc] = value; + }); } - if (input.ManualSnapshotRetentionPeriod !== undefined) { - entries["ManualSnapshotRetentionPeriod"] = input.ManualSnapshotRetentionPeriod; + if (input.VpcSecurityGroupIds !== undefined) { + const memberEntries = serializeAws_queryVpcSecurityGroupIdList(input.VpcSecurityGroupIds, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `VpcSecurityGroupIds.${key}`; + entries[loc] = value; + }); } - if (input.MaintenanceTrackName !== undefined) { - entries["MaintenanceTrackName"] = input.MaintenanceTrackName; + if (input.MasterUserPassword !== undefined) { + entries["MasterUserPassword"] = input.MasterUserPassword; + } + if (input.ClusterParameterGroupName !== undefined) { + entries["ClusterParameterGroupName"] = input.ClusterParameterGroupName; + } + if (input.AutomatedSnapshotRetentionPeriod !== undefined) { + entries["AutomatedSnapshotRetentionPeriod"] = input.AutomatedSnapshotRetentionPeriod; + } + if (input.ManualSnapshotRetentionPeriod !== undefined) { + entries["ManualSnapshotRetentionPeriod"] = input.ManualSnapshotRetentionPeriod; } if (input.PreferredMaintenanceWindow !== undefined) { entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; } - if (input.NumberOfNodes !== undefined) { - entries["NumberOfNodes"] = input.NumberOfNodes; - } - if (input.PubliclyAccessible !== undefined) { - entries["PubliclyAccessible"] = input.PubliclyAccessible; + if (input.ClusterVersion !== undefined) { + entries["ClusterVersion"] = input.ClusterVersion; } - if (input.Encrypted !== undefined) { - entries["Encrypted"] = input.Encrypted; + if (input.AllowVersionUpgrade !== undefined) { + entries["AllowVersionUpgrade"] = input.AllowVersionUpgrade; } if (input.HsmClientCertificateIdentifier !== undefined) { entries["HsmClientCertificateIdentifier"] = input.HsmClientCertificateIdentifier; } - if (input.ElasticIp !== undefined) { - entries["ElasticIp"] = input.ElasticIp; + if (input.HsmConfigurationIdentifier !== undefined) { + entries["HsmConfigurationIdentifier"] = input.HsmConfigurationIdentifier; } if (input.NewClusterIdentifier !== undefined) { entries["NewClusterIdentifier"] = input.NewClusterIdentifier; } - if (input.AutomatedSnapshotRetentionPeriod !== undefined) { - entries["AutomatedSnapshotRetentionPeriod"] = input.AutomatedSnapshotRetentionPeriod; + if (input.PubliclyAccessible !== undefined) { + entries["PubliclyAccessible"] = input.PubliclyAccessible; + } + if (input.ElasticIp !== undefined) { + entries["ElasticIp"] = input.ElasticIp; } if (input.EnhancedVpcRouting !== undefined) { entries["EnhancedVpcRouting"] = input.EnhancedVpcRouting; } - if (input.ClusterSecurityGroups !== undefined) { - const memberEntries = serializeAws_queryClusterSecurityGroupNameList(input.ClusterSecurityGroups, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ClusterSecurityGroups.${key}`; - entries[loc] = value; - }); - } - if (input.ClusterType !== undefined) { - entries["ClusterType"] = input.ClusterType; - } - if (input.ClusterIdentifier !== undefined) { - entries["ClusterIdentifier"] = input.ClusterIdentifier; - } - if (input.ClusterParameterGroupName !== undefined) { - entries["ClusterParameterGroupName"] = input.ClusterParameterGroupName; + if (input.MaintenanceTrackName !== undefined) { + entries["MaintenanceTrackName"] = input.MaintenanceTrackName; } - if (input.HsmConfigurationIdentifier !== undefined) { - entries["HsmConfigurationIdentifier"] = input.HsmConfigurationIdentifier; + if (input.Encrypted !== undefined) { + entries["Encrypted"] = input.Encrypted; } if (input.KmsKeyId !== undefined) { entries["KmsKeyId"] = input.KmsKeyId; } - if (input.ClusterVersion !== undefined) { - entries["ClusterVersion"] = input.ClusterVersion; - } - if (input.VpcSecurityGroupIds !== undefined) { - const memberEntries = serializeAws_queryVpcSecurityGroupIdList(input.VpcSecurityGroupIds, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `VpcSecurityGroupIds.${key}`; - entries[loc] = value; - }); - } return entries; }; @@ -12483,6 +12483,9 @@ const serializeAws_queryModifyClusterParameterGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.ParameterGroupName !== undefined) { + entries["ParameterGroupName"] = input.ParameterGroupName; + } if (input.Parameters !== undefined) { const memberEntries = serializeAws_queryParametersList(input.Parameters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -12490,9 +12493,6 @@ const serializeAws_queryModifyClusterParameterGroupMessage = ( entries[loc] = value; }); } - if (input.ParameterGroupName !== undefined) { - entries["ParameterGroupName"] = input.ParameterGroupName; - } return entries; }; @@ -12501,15 +12501,15 @@ const serializeAws_queryModifyClusterSnapshotMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.SnapshotIdentifier !== undefined) { + entries["SnapshotIdentifier"] = input.SnapshotIdentifier; + } if (input.ManualSnapshotRetentionPeriod !== undefined) { entries["ManualSnapshotRetentionPeriod"] = input.ManualSnapshotRetentionPeriod; } if (input.Force !== undefined) { entries["Force"] = input.Force; } - if (input.SnapshotIdentifier !== undefined) { - entries["SnapshotIdentifier"] = input.SnapshotIdentifier; - } return entries; }; @@ -12518,14 +12518,14 @@ const serializeAws_queryModifyClusterSnapshotScheduleMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DisassociateSchedule !== undefined) { - entries["DisassociateSchedule"] = input.DisassociateSchedule; + if (input.ClusterIdentifier !== undefined) { + entries["ClusterIdentifier"] = input.ClusterIdentifier; } if (input.ScheduleIdentifier !== undefined) { entries["ScheduleIdentifier"] = input.ScheduleIdentifier; } - if (input.ClusterIdentifier !== undefined) { - entries["ClusterIdentifier"] = input.ClusterIdentifier; + if (input.DisassociateSchedule !== undefined) { + entries["DisassociateSchedule"] = input.DisassociateSchedule; } return entries; }; @@ -12535,6 +12535,12 @@ const serializeAws_queryModifyClusterSubnetGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.ClusterSubnetGroupName !== undefined) { + entries["ClusterSubnetGroupName"] = input.ClusterSubnetGroupName; + } + if (input.Description !== undefined) { + entries["Description"] = input.Description; + } if (input.SubnetIds !== undefined) { const memberEntries = serializeAws_querySubnetIdentifierList(input.SubnetIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -12542,12 +12548,6 @@ const serializeAws_queryModifyClusterSubnetGroupMessage = ( entries[loc] = value; }); } - if (input.ClusterSubnetGroupName !== undefined) { - entries["ClusterSubnetGroupName"] = input.ClusterSubnetGroupName; - } - if (input.Description !== undefined) { - entries["Description"] = input.Description; - } return entries; }; @@ -12556,6 +12556,15 @@ const serializeAws_queryModifyEventSubscriptionMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.SubscriptionName !== undefined) { + entries["SubscriptionName"] = input.SubscriptionName; + } + if (input.SnsTopicArn !== undefined) { + entries["SnsTopicArn"] = input.SnsTopicArn; + } + if (input.SourceType !== undefined) { + entries["SourceType"] = input.SourceType; + } if (input.SourceIds !== undefined) { const memberEntries = serializeAws_querySourceIdsList(input.SourceIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -12563,12 +12572,6 @@ const serializeAws_queryModifyEventSubscriptionMessage = ( entries[loc] = value; }); } - if (input.SubscriptionName !== undefined) { - entries["SubscriptionName"] = input.SubscriptionName; - } - if (input.Severity !== undefined) { - entries["Severity"] = input.Severity; - } if (input.EventCategories !== undefined) { const memberEntries = serializeAws_queryEventCategoriesList(input.EventCategories, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -12576,11 +12579,8 @@ const serializeAws_queryModifyEventSubscriptionMessage = ( entries[loc] = value; }); } - if (input.SnsTopicArn !== undefined) { - entries["SnsTopicArn"] = input.SnsTopicArn; - } - if (input.SourceType !== undefined) { - entries["SourceType"] = input.SourceType; + if (input.Severity !== undefined) { + entries["Severity"] = input.Severity; } if (input.Enabled !== undefined) { entries["Enabled"] = input.Enabled; @@ -12593,6 +12593,9 @@ const serializeAws_queryModifyScheduledActionMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.ScheduledActionName !== undefined) { + entries["ScheduledActionName"] = input.ScheduledActionName; + } if (input.TargetAction !== undefined) { const memberEntries = serializeAws_queryScheduledActionType(input.TargetAction, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -12603,6 +12606,9 @@ const serializeAws_queryModifyScheduledActionMessage = ( if (input.Schedule !== undefined) { entries["Schedule"] = input.Schedule; } + if (input.IamRole !== undefined) { + entries["IamRole"] = input.IamRole; + } if (input.ScheduledActionDescription !== undefined) { entries["ScheduledActionDescription"] = input.ScheduledActionDescription; } @@ -12612,12 +12618,6 @@ const serializeAws_queryModifyScheduledActionMessage = ( if (input.EndTime !== undefined) { entries["EndTime"] = input.EndTime.toISOString().split(".")[0] + "Z"; } - if (input.ScheduledActionName !== undefined) { - entries["ScheduledActionName"] = input.ScheduledActionName; - } - if (input.IamRole !== undefined) { - entries["IamRole"] = input.IamRole; - } if (input.Enable !== undefined) { entries["Enable"] = input.Enable; } @@ -12629,15 +12629,15 @@ const serializeAws_queryModifySnapshotCopyRetentionPeriodMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.ClusterIdentifier !== undefined) { + entries["ClusterIdentifier"] = input.ClusterIdentifier; + } if (input.RetentionPeriod !== undefined) { entries["RetentionPeriod"] = input.RetentionPeriod; } if (input.Manual !== undefined) { entries["Manual"] = input.Manual; } - if (input.ClusterIdentifier !== undefined) { - entries["ClusterIdentifier"] = input.ClusterIdentifier; - } return entries; }; @@ -12646,6 +12646,9 @@ const serializeAws_queryModifySnapshotScheduleMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.ScheduleIdentifier !== undefined) { + entries["ScheduleIdentifier"] = input.ScheduleIdentifier; + } if (input.ScheduleDefinitions !== undefined) { const memberEntries = serializeAws_queryScheduleDefinitionList(input.ScheduleDefinitions, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -12653,23 +12656,20 @@ const serializeAws_queryModifySnapshotScheduleMessage = ( entries[loc] = value; }); } - if (input.ScheduleIdentifier !== undefined) { - entries["ScheduleIdentifier"] = input.ScheduleIdentifier; - } return entries; }; const serializeAws_queryModifyUsageLimitMessage = (input: ModifyUsageLimitMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.BreachAction !== undefined) { - entries["BreachAction"] = input.BreachAction; - } if (input.UsageLimitId !== undefined) { entries["UsageLimitId"] = input.UsageLimitId; } if (input.Amount !== undefined) { entries["Amount"] = input.Amount; } + if (input.BreachAction !== undefined) { + entries["BreachAction"] = input.BreachAction; + } return entries; }; @@ -12681,6 +12681,9 @@ const serializeAws_queryNodeConfigurationOptionsFilter = ( if (input.Name !== undefined) { entries["Name"] = input.Name; } + if (input.Operator !== undefined) { + entries["Operator"] = input.Operator; + } if (input.Values !== undefined) { const memberEntries = serializeAws_queryValueStringList(input.Values, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -12688,9 +12691,6 @@ const serializeAws_queryNodeConfigurationOptionsFilter = ( entries[loc] = value; }); } - if (input.Operator !== undefined) { - entries["Operator"] = input.Operator; - } return entries; }; @@ -12712,33 +12712,33 @@ const serializeAws_queryNodeConfigurationOptionsFilterList = ( const serializeAws_queryParameter = (input: Parameter, context: __SerdeContext): any => { const entries: any = {}; - if (input.Source !== undefined) { - entries["Source"] = input.Source; - } if (input.ParameterName !== undefined) { entries["ParameterName"] = input.ParameterName; } - if (input.DataType !== undefined) { - entries["DataType"] = input.DataType; - } - if (input.MinimumEngineVersion !== undefined) { - entries["MinimumEngineVersion"] = input.MinimumEngineVersion; - } - if (input.AllowedValues !== undefined) { - entries["AllowedValues"] = input.AllowedValues; - } if (input.ParameterValue !== undefined) { entries["ParameterValue"] = input.ParameterValue; } if (input.Description !== undefined) { entries["Description"] = input.Description; } + if (input.Source !== undefined) { + entries["Source"] = input.Source; + } + if (input.DataType !== undefined) { + entries["DataType"] = input.DataType; + } + if (input.AllowedValues !== undefined) { + entries["AllowedValues"] = input.AllowedValues; + } if (input.ApplyType !== undefined) { entries["ApplyType"] = input.ApplyType; } if (input.IsModifiable !== undefined) { entries["IsModifiable"] = input.IsModifiable; } + if (input.MinimumEngineVersion !== undefined) { + entries["MinimumEngineVersion"] = input.MinimumEngineVersion; + } return entries; }; @@ -12768,12 +12768,12 @@ const serializeAws_queryPurchaseReservedNodeOfferingMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.NodeCount !== undefined) { - entries["NodeCount"] = input.NodeCount; - } if (input.ReservedNodeOfferingId !== undefined) { entries["ReservedNodeOfferingId"] = input.ReservedNodeOfferingId; } + if (input.NodeCount !== undefined) { + entries["NodeCount"] = input.NodeCount; + } return entries; }; @@ -12808,20 +12808,20 @@ const serializeAws_queryResetClusterParameterGroupMessage = ( const serializeAws_queryResizeClusterMessage = (input: ResizeClusterMessage, context: __SerdeContext): any => { const entries: any = {}; + if (input.ClusterIdentifier !== undefined) { + entries["ClusterIdentifier"] = input.ClusterIdentifier; + } + if (input.ClusterType !== undefined) { + entries["ClusterType"] = input.ClusterType; + } if (input.NodeType !== undefined) { entries["NodeType"] = input.NodeType; } - if (input.Classic !== undefined) { - entries["Classic"] = input.Classic; - } if (input.NumberOfNodes !== undefined) { entries["NumberOfNodes"] = input.NumberOfNodes; } - if (input.ClusterType !== undefined) { - entries["ClusterType"] = input.ClusterType; - } - if (input.ClusterIdentifier !== undefined) { - entries["ClusterIdentifier"] = input.ClusterIdentifier; + if (input.Classic !== undefined) { + entries["Classic"] = input.Classic; } return entries; }; @@ -12831,35 +12831,44 @@ const serializeAws_queryRestoreFromClusterSnapshotMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.HsmClientCertificateIdentifier !== undefined) { - entries["HsmClientCertificateIdentifier"] = input.HsmClientCertificateIdentifier; - } - if (input.AutomatedSnapshotRetentionPeriod !== undefined) { - entries["AutomatedSnapshotRetentionPeriod"] = input.AutomatedSnapshotRetentionPeriod; - } - if (input.Port !== undefined) { - entries["Port"] = input.Port; + if (input.ClusterIdentifier !== undefined) { + entries["ClusterIdentifier"] = input.ClusterIdentifier; } if (input.SnapshotIdentifier !== undefined) { entries["SnapshotIdentifier"] = input.SnapshotIdentifier; } - if (input.NumberOfNodes !== undefined) { - entries["NumberOfNodes"] = input.NumberOfNodes; + if (input.SnapshotClusterIdentifier !== undefined) { + entries["SnapshotClusterIdentifier"] = input.SnapshotClusterIdentifier; } - if (input.ElasticIp !== undefined) { - entries["ElasticIp"] = input.ElasticIp; + if (input.Port !== undefined) { + entries["Port"] = input.Port; + } + if (input.AvailabilityZone !== undefined) { + entries["AvailabilityZone"] = input.AvailabilityZone; } if (input.AllowVersionUpgrade !== undefined) { entries["AllowVersionUpgrade"] = input.AllowVersionUpgrade; } - if (input.ManualSnapshotRetentionPeriod !== undefined) { - entries["ManualSnapshotRetentionPeriod"] = input.ManualSnapshotRetentionPeriod; - } if (input.ClusterSubnetGroupName !== undefined) { entries["ClusterSubnetGroupName"] = input.ClusterSubnetGroupName; } - if (input.PreferredMaintenanceWindow !== undefined) { - entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; + if (input.PubliclyAccessible !== undefined) { + entries["PubliclyAccessible"] = input.PubliclyAccessible; + } + if (input.OwnerAccount !== undefined) { + entries["OwnerAccount"] = input.OwnerAccount; + } + if (input.HsmClientCertificateIdentifier !== undefined) { + entries["HsmClientCertificateIdentifier"] = input.HsmClientCertificateIdentifier; + } + if (input.HsmConfigurationIdentifier !== undefined) { + entries["HsmConfigurationIdentifier"] = input.HsmConfigurationIdentifier; + } + if (input.ElasticIp !== undefined) { + entries["ElasticIp"] = input.ElasticIp; + } + if (input.ClusterParameterGroupName !== undefined) { + entries["ClusterParameterGroupName"] = input.ClusterParameterGroupName; } if (input.ClusterSecurityGroups !== undefined) { const memberEntries = serializeAws_queryClusterSecurityGroupNameList(input.ClusterSecurityGroups, context); @@ -12868,58 +12877,49 @@ const serializeAws_queryRestoreFromClusterSnapshotMessage = ( entries[loc] = value; }); } - if (input.EnhancedVpcRouting !== undefined) { - entries["EnhancedVpcRouting"] = input.EnhancedVpcRouting; - } - if (input.AvailabilityZone !== undefined) { - entries["AvailabilityZone"] = input.AvailabilityZone; - } - if (input.IamRoles !== undefined) { - const memberEntries = serializeAws_queryIamRoleArnList(input.IamRoles, context); + if (input.VpcSecurityGroupIds !== undefined) { + const memberEntries = serializeAws_queryVpcSecurityGroupIdList(input.VpcSecurityGroupIds, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `IamRoles.${key}`; + const loc = `VpcSecurityGroupIds.${key}`; entries[loc] = value; }); } - if (input.ClusterIdentifier !== undefined) { - entries["ClusterIdentifier"] = input.ClusterIdentifier; + if (input.PreferredMaintenanceWindow !== undefined) { + entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; } - if (input.ClusterParameterGroupName !== undefined) { - entries["ClusterParameterGroupName"] = input.ClusterParameterGroupName; + if (input.AutomatedSnapshotRetentionPeriod !== undefined) { + entries["AutomatedSnapshotRetentionPeriod"] = input.AutomatedSnapshotRetentionPeriod; } - if (input.SnapshotClusterIdentifier !== undefined) { - entries["SnapshotClusterIdentifier"] = input.SnapshotClusterIdentifier; + if (input.ManualSnapshotRetentionPeriod !== undefined) { + entries["ManualSnapshotRetentionPeriod"] = input.ManualSnapshotRetentionPeriod; } if (input.KmsKeyId !== undefined) { entries["KmsKeyId"] = input.KmsKeyId; } + if (input.NodeType !== undefined) { + entries["NodeType"] = input.NodeType; + } + if (input.EnhancedVpcRouting !== undefined) { + entries["EnhancedVpcRouting"] = input.EnhancedVpcRouting; + } if (input.AdditionalInfo !== undefined) { entries["AdditionalInfo"] = input.AdditionalInfo; } - if (input.OwnerAccount !== undefined) { - entries["OwnerAccount"] = input.OwnerAccount; + if (input.IamRoles !== undefined) { + const memberEntries = serializeAws_queryIamRoleArnList(input.IamRoles, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `IamRoles.${key}`; + entries[loc] = value; + }); } if (input.MaintenanceTrackName !== undefined) { entries["MaintenanceTrackName"] = input.MaintenanceTrackName; } - if (input.PubliclyAccessible !== undefined) { - entries["PubliclyAccessible"] = input.PubliclyAccessible; - } if (input.SnapshotScheduleIdentifier !== undefined) { entries["SnapshotScheduleIdentifier"] = input.SnapshotScheduleIdentifier; } - if (input.NodeType !== undefined) { - entries["NodeType"] = input.NodeType; - } - if (input.VpcSecurityGroupIds !== undefined) { - const memberEntries = serializeAws_queryVpcSecurityGroupIdList(input.VpcSecurityGroupIds, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `VpcSecurityGroupIds.${key}`; - entries[loc] = value; - }); - } - if (input.HsmConfigurationIdentifier !== undefined) { - entries["HsmConfigurationIdentifier"] = input.HsmConfigurationIdentifier; + if (input.NumberOfNodes !== undefined) { + entries["NumberOfNodes"] = input.NumberOfNodes; } return entries; }; @@ -12929,8 +12929,11 @@ const serializeAws_queryRestoreTableFromClusterSnapshotMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.TargetSchemaName !== undefined) { - entries["TargetSchemaName"] = input.TargetSchemaName; + if (input.ClusterIdentifier !== undefined) { + entries["ClusterIdentifier"] = input.ClusterIdentifier; + } + if (input.SnapshotIdentifier !== undefined) { + entries["SnapshotIdentifier"] = input.SnapshotIdentifier; } if (input.SourceDatabaseName !== undefined) { entries["SourceDatabaseName"] = input.SourceDatabaseName; @@ -12938,21 +12941,18 @@ const serializeAws_queryRestoreTableFromClusterSnapshotMessage = ( if (input.SourceSchemaName !== undefined) { entries["SourceSchemaName"] = input.SourceSchemaName; } + if (input.SourceTableName !== undefined) { + entries["SourceTableName"] = input.SourceTableName; + } if (input.TargetDatabaseName !== undefined) { entries["TargetDatabaseName"] = input.TargetDatabaseName; } - if (input.SourceTableName !== undefined) { - entries["SourceTableName"] = input.SourceTableName; + if (input.TargetSchemaName !== undefined) { + entries["TargetSchemaName"] = input.TargetSchemaName; } if (input.NewTableName !== undefined) { entries["NewTableName"] = input.NewTableName; } - if (input.SnapshotIdentifier !== undefined) { - entries["SnapshotIdentifier"] = input.SnapshotIdentifier; - } - if (input.ClusterIdentifier !== undefined) { - entries["ClusterIdentifier"] = input.ClusterIdentifier; - } return entries; }; @@ -12969,8 +12969,8 @@ const serializeAws_queryRevokeClusterSecurityGroupIngressMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.EC2SecurityGroupOwnerId !== undefined) { - entries["EC2SecurityGroupOwnerId"] = input.EC2SecurityGroupOwnerId; + if (input.ClusterSecurityGroupName !== undefined) { + entries["ClusterSecurityGroupName"] = input.ClusterSecurityGroupName; } if (input.CIDRIP !== undefined) { entries["CIDRIP"] = input.CIDRIP; @@ -12978,8 +12978,8 @@ const serializeAws_queryRevokeClusterSecurityGroupIngressMessage = ( if (input.EC2SecurityGroupName !== undefined) { entries["EC2SecurityGroupName"] = input.EC2SecurityGroupName; } - if (input.ClusterSecurityGroupName !== undefined) { - entries["ClusterSecurityGroupName"] = input.ClusterSecurityGroupName; + if (input.EC2SecurityGroupOwnerId !== undefined) { + entries["EC2SecurityGroupOwnerId"] = input.EC2SecurityGroupOwnerId; } return entries; }; @@ -12989,15 +12989,15 @@ const serializeAws_queryRevokeSnapshotAccessMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.SnapshotIdentifier !== undefined) { + entries["SnapshotIdentifier"] = input.SnapshotIdentifier; + } if (input.SnapshotClusterIdentifier !== undefined) { entries["SnapshotClusterIdentifier"] = input.SnapshotClusterIdentifier; } if (input.AccountWithRestoreAccess !== undefined) { entries["AccountWithRestoreAccess"] = input.AccountWithRestoreAccess; } - if (input.SnapshotIdentifier !== undefined) { - entries["SnapshotIdentifier"] = input.SnapshotIdentifier; - } return entries; }; @@ -13042,6 +13042,13 @@ const serializeAws_queryScheduledActionFilterList = (input: ScheduledActionFilte const serializeAws_queryScheduledActionType = (input: ScheduledActionType, context: __SerdeContext): any => { const entries: any = {}; + if (input.ResizeCluster !== undefined) { + const memberEntries = serializeAws_queryResizeClusterMessage(input.ResizeCluster, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ResizeCluster.${key}`; + entries[loc] = value; + }); + } if (input.PauseCluster !== undefined) { const memberEntries = serializeAws_queryPauseClusterMessage(input.PauseCluster, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -13056,13 +13063,6 @@ const serializeAws_queryScheduledActionType = (input: ScheduledActionType, conte entries[loc] = value; }); } - if (input.ResizeCluster !== undefined) { - const memberEntries = serializeAws_queryResizeClusterMessage(input.ResizeCluster, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ResizeCluster.${key}`; - entries[loc] = value; - }); - } return entries; }; @@ -13088,12 +13088,12 @@ const serializeAws_querySnapshotIdentifierList = (input: string[], context: __Se const serializeAws_querySnapshotSortingEntity = (input: SnapshotSortingEntity, context: __SerdeContext): any => { const entries: any = {}; - if (input.SortOrder !== undefined) { - entries["SortOrder"] = input.SortOrder; - } if (input.Attribute !== undefined) { entries["Attribute"] = input.Attribute; } + if (input.SortOrder !== undefined) { + entries["SortOrder"] = input.SortOrder; + } return entries; }; @@ -13222,9 +13222,12 @@ const deserializeAws_queryAccessToSnapshotDeniedFault = ( const deserializeAws_queryAccountAttribute = (output: any, context: __SerdeContext): AccountAttribute => { let contents: any = { - AttributeValues: undefined, AttributeName: undefined, + AttributeValues: undefined, }; + if (output["AttributeName"] !== undefined) { + contents.AttributeName = output["AttributeName"]; + } if (output.AttributeValues === "") { contents.AttributeValues = []; } @@ -13234,9 +13237,6 @@ const deserializeAws_queryAccountAttribute = (output: any, context: __SerdeConte context ); } - if (output["AttributeName"] !== undefined) { - contents.AttributeName = output["AttributeName"]; - } return contents; }; @@ -13268,15 +13268,15 @@ const deserializeAws_queryAccountWithRestoreAccess = ( context: __SerdeContext ): AccountWithRestoreAccess => { let contents: any = { - AccountAlias: undefined, AccountId: undefined, + AccountAlias: undefined, }; - if (output["AccountAlias"] !== undefined) { - contents.AccountAlias = output["AccountAlias"]; - } if (output["AccountId"] !== undefined) { contents.AccountId = output["AccountId"]; } + if (output["AccountAlias"] !== undefined) { + contents.AccountAlias = output["AccountAlias"]; + } return contents; }; @@ -13372,9 +13372,12 @@ const deserializeAws_queryAuthorizeSnapshotAccessResult = ( const deserializeAws_queryAvailabilityZone = (output: any, context: __SerdeContext): AvailabilityZone => { let contents: any = { - SupportedPlatforms: undefined, Name: undefined, + SupportedPlatforms: undefined, }; + if (output["Name"] !== undefined) { + contents.Name = output["Name"]; + } if (output.SupportedPlatforms === "") { contents.SupportedPlatforms = []; } @@ -13384,9 +13387,6 @@ const deserializeAws_queryAvailabilityZone = (output: any, context: __SerdeConte context ); } - if (output["Name"] !== undefined) { - contents.Name = output["Name"]; - } return contents; }; @@ -13454,18 +13454,9 @@ const deserializeAws_queryBatchModifyClusterSnapshotsOutputMessage = ( context: __SerdeContext ): BatchModifyClusterSnapshotsOutputMessage => { let contents: any = { - Errors: undefined, Resources: undefined, + Errors: undefined, }; - if (output.Errors === "") { - contents.Errors = []; - } - if (output["Errors"] !== undefined && output["Errors"]["SnapshotErrorMessage"] !== undefined) { - contents.Errors = deserializeAws_queryBatchSnapshotOperationErrors( - __getArrayIfSingleItem(output["Errors"]["SnapshotErrorMessage"]), - context - ); - } if (output.Resources === "") { contents.Resources = []; } @@ -13475,6 +13466,15 @@ const deserializeAws_queryBatchModifyClusterSnapshotsOutputMessage = ( context ); } + if (output.Errors === "") { + contents.Errors = []; + } + if (output["Errors"] !== undefined && output["Errors"]["SnapshotErrorMessage"] !== undefined) { + contents.Errors = deserializeAws_queryBatchSnapshotOperationErrors( + __getArrayIfSingleItem(output["Errors"]["SnapshotErrorMessage"]), + context + ); + } return contents; }; @@ -13504,83 +13504,96 @@ const deserializeAws_queryBucketNotFoundFault = (output: any, context: __SerdeCo const deserializeAws_queryCluster = (output: any, context: __SerdeContext): Cluster => { let contents: any = { - ExpectedNextSnapshotScheduleTime: undefined, - Encrypted: undefined, - PendingActions: undefined, - ClusterRevisionNumber: undefined, - ClusterCreateTime: undefined, - SnapshotScheduleState: undefined, - ClusterNodes: undefined, - VpcSecurityGroups: undefined, - ElasticIpStatus: undefined, - NumberOfNodes: undefined, - EnhancedVpcRouting: undefined, - RestoreStatus: undefined, + ClusterIdentifier: undefined, + NodeType: undefined, + ClusterStatus: undefined, + ClusterAvailabilityStatus: undefined, + ModifyStatus: undefined, + MasterUsername: undefined, + DBName: undefined, Endpoint: undefined, - SnapshotScheduleIdentifier: undefined, - Tags: undefined, - DeferredMaintenanceWindows: undefined, - HsmStatus: undefined, + ClusterCreateTime: undefined, AutomatedSnapshotRetentionPeriod: undefined, + ManualSnapshotRetentionPeriod: undefined, + ClusterSecurityGroups: undefined, + VpcSecurityGroups: undefined, ClusterParameterGroups: undefined, - ResizeInfo: undefined, - MaintenanceTrackName: undefined, - DataTransferProgress: undefined, - NextMaintenanceWindowStartTime: undefined, - ExpectedNextSnapshotScheduleTimeStatus: undefined, + ClusterSubnetGroupName: undefined, + VpcId: undefined, + AvailabilityZone: undefined, + PreferredMaintenanceWindow: undefined, + PendingModifiedValues: undefined, ClusterVersion: undefined, - IamRoles: undefined, - ClusterSecurityGroups: undefined, - ClusterAvailabilityStatus: undefined, - ClusterPublicKey: undefined, AllowVersionUpgrade: undefined, - PreferredMaintenanceWindow: undefined, - ClusterIdentifier: undefined, - NodeType: undefined, - ModifyStatus: undefined, + NumberOfNodes: undefined, PubliclyAccessible: undefined, + Encrypted: undefined, + RestoreStatus: undefined, + DataTransferProgress: undefined, + HsmStatus: undefined, ClusterSnapshotCopyStatus: undefined, - ElasticResizeNumberOfNodeOptions: undefined, - AvailabilityZone: undefined, - VpcId: undefined, - ClusterStatus: undefined, + ClusterPublicKey: undefined, + ClusterNodes: undefined, + ElasticIpStatus: undefined, + ClusterRevisionNumber: undefined, + Tags: undefined, KmsKeyId: undefined, - DBName: undefined, - ClusterSubnetGroupName: undefined, - MasterUsername: undefined, - PendingModifiedValues: undefined, - ManualSnapshotRetentionPeriod: undefined, + EnhancedVpcRouting: undefined, + IamRoles: undefined, + PendingActions: undefined, + MaintenanceTrackName: undefined, + ElasticResizeNumberOfNodeOptions: undefined, + DeferredMaintenanceWindows: undefined, + SnapshotScheduleIdentifier: undefined, + SnapshotScheduleState: undefined, + ExpectedNextSnapshotScheduleTime: undefined, + ExpectedNextSnapshotScheduleTimeStatus: undefined, + NextMaintenanceWindowStartTime: undefined, + ResizeInfo: undefined, + ClusterNamespaceArn: undefined, }; - if (output["ExpectedNextSnapshotScheduleTime"] !== undefined) { - contents.ExpectedNextSnapshotScheduleTime = new Date(output["ExpectedNextSnapshotScheduleTime"]); + if (output["ClusterIdentifier"] !== undefined) { + contents.ClusterIdentifier = output["ClusterIdentifier"]; } - if (output["Encrypted"] !== undefined) { - contents.Encrypted = output["Encrypted"] == "true"; + if (output["NodeType"] !== undefined) { + contents.NodeType = output["NodeType"]; } - if (output.PendingActions === "") { - contents.PendingActions = []; + if (output["ClusterStatus"] !== undefined) { + contents.ClusterStatus = output["ClusterStatus"]; } - if (output["PendingActions"] !== undefined && output["PendingActions"]["member"] !== undefined) { - contents.PendingActions = deserializeAws_queryPendingActionsList( - __getArrayIfSingleItem(output["PendingActions"]["member"]), - context - ); + if (output["ClusterAvailabilityStatus"] !== undefined) { + contents.ClusterAvailabilityStatus = output["ClusterAvailabilityStatus"]; } - if (output["ClusterRevisionNumber"] !== undefined) { - contents.ClusterRevisionNumber = output["ClusterRevisionNumber"]; + if (output["ModifyStatus"] !== undefined) { + contents.ModifyStatus = output["ModifyStatus"]; + } + if (output["MasterUsername"] !== undefined) { + contents.MasterUsername = output["MasterUsername"]; + } + if (output["DBName"] !== undefined) { + contents.DBName = output["DBName"]; + } + if (output["Endpoint"] !== undefined) { + contents.Endpoint = deserializeAws_queryEndpoint(output["Endpoint"], context); } if (output["ClusterCreateTime"] !== undefined) { contents.ClusterCreateTime = new Date(output["ClusterCreateTime"]); } - if (output["SnapshotScheduleState"] !== undefined) { - contents.SnapshotScheduleState = output["SnapshotScheduleState"]; + if (output["AutomatedSnapshotRetentionPeriod"] !== undefined) { + contents.AutomatedSnapshotRetentionPeriod = parseInt(output["AutomatedSnapshotRetentionPeriod"]); } - if (output.ClusterNodes === "") { - contents.ClusterNodes = []; + if (output["ManualSnapshotRetentionPeriod"] !== undefined) { + contents.ManualSnapshotRetentionPeriod = parseInt(output["ManualSnapshotRetentionPeriod"]); } - if (output["ClusterNodes"] !== undefined && output["ClusterNodes"]["member"] !== undefined) { - contents.ClusterNodes = deserializeAws_queryClusterNodesList( - __getArrayIfSingleItem(output["ClusterNodes"]["member"]), + if (output.ClusterSecurityGroups === "") { + contents.ClusterSecurityGroups = []; + } + if ( + output["ClusterSecurityGroups"] !== undefined && + output["ClusterSecurityGroups"]["ClusterSecurityGroup"] !== undefined + ) { + contents.ClusterSecurityGroups = deserializeAws_queryClusterSecurityGroupMembershipList( + __getArrayIfSingleItem(output["ClusterSecurityGroups"]["ClusterSecurityGroup"]), context ); } @@ -13593,48 +13606,6 @@ const deserializeAws_queryCluster = (output: any, context: __SerdeContext): Clus context ); } - if (output["ElasticIpStatus"] !== undefined) { - contents.ElasticIpStatus = deserializeAws_queryElasticIpStatus(output["ElasticIpStatus"], context); - } - if (output["NumberOfNodes"] !== undefined) { - contents.NumberOfNodes = parseInt(output["NumberOfNodes"]); - } - if (output["EnhancedVpcRouting"] !== undefined) { - contents.EnhancedVpcRouting = output["EnhancedVpcRouting"] == "true"; - } - if (output["RestoreStatus"] !== undefined) { - contents.RestoreStatus = deserializeAws_queryRestoreStatus(output["RestoreStatus"], context); - } - if (output["Endpoint"] !== undefined) { - contents.Endpoint = deserializeAws_queryEndpoint(output["Endpoint"], context); - } - if (output["SnapshotScheduleIdentifier"] !== undefined) { - contents.SnapshotScheduleIdentifier = output["SnapshotScheduleIdentifier"]; - } - if (output.Tags === "") { - contents.Tags = []; - } - if (output["Tags"] !== undefined && output["Tags"]["Tag"] !== undefined) { - contents.Tags = deserializeAws_queryTagList(__getArrayIfSingleItem(output["Tags"]["Tag"]), context); - } - if (output.DeferredMaintenanceWindows === "") { - contents.DeferredMaintenanceWindows = []; - } - if ( - output["DeferredMaintenanceWindows"] !== undefined && - output["DeferredMaintenanceWindows"]["DeferredMaintenanceWindow"] !== undefined - ) { - contents.DeferredMaintenanceWindows = deserializeAws_queryDeferredMaintenanceWindowsList( - __getArrayIfSingleItem(output["DeferredMaintenanceWindows"]["DeferredMaintenanceWindow"]), - context - ); - } - if (output["HsmStatus"] !== undefined) { - contents.HsmStatus = deserializeAws_queryHsmStatus(output["HsmStatus"], context); - } - if (output["AutomatedSnapshotRetentionPeriod"] !== undefined) { - contents.AutomatedSnapshotRetentionPeriod = parseInt(output["AutomatedSnapshotRetentionPeriod"]); - } if (output.ClusterParameterGroups === "") { contents.ClusterParameterGroups = []; } @@ -13647,107 +13618,140 @@ const deserializeAws_queryCluster = (output: any, context: __SerdeContext): Clus context ); } - if (output["ResizeInfo"] !== undefined) { - contents.ResizeInfo = deserializeAws_queryResizeInfo(output["ResizeInfo"], context); + if (output["ClusterSubnetGroupName"] !== undefined) { + contents.ClusterSubnetGroupName = output["ClusterSubnetGroupName"]; } - if (output["MaintenanceTrackName"] !== undefined) { - contents.MaintenanceTrackName = output["MaintenanceTrackName"]; + if (output["VpcId"] !== undefined) { + contents.VpcId = output["VpcId"]; } - if (output["DataTransferProgress"] !== undefined) { - contents.DataTransferProgress = deserializeAws_queryDataTransferProgress(output["DataTransferProgress"], context); + if (output["AvailabilityZone"] !== undefined) { + contents.AvailabilityZone = output["AvailabilityZone"]; } - if (output["NextMaintenanceWindowStartTime"] !== undefined) { - contents.NextMaintenanceWindowStartTime = new Date(output["NextMaintenanceWindowStartTime"]); + if (output["PreferredMaintenanceWindow"] !== undefined) { + contents.PreferredMaintenanceWindow = output["PreferredMaintenanceWindow"]; } - if (output["ExpectedNextSnapshotScheduleTimeStatus"] !== undefined) { - contents.ExpectedNextSnapshotScheduleTimeStatus = output["ExpectedNextSnapshotScheduleTimeStatus"]; + if (output["PendingModifiedValues"] !== undefined) { + contents.PendingModifiedValues = deserializeAws_queryPendingModifiedValues( + output["PendingModifiedValues"], + context + ); } if (output["ClusterVersion"] !== undefined) { contents.ClusterVersion = output["ClusterVersion"]; } - if (output.IamRoles === "") { - contents.IamRoles = []; + if (output["AllowVersionUpgrade"] !== undefined) { + contents.AllowVersionUpgrade = output["AllowVersionUpgrade"] == "true"; } - if (output["IamRoles"] !== undefined && output["IamRoles"]["ClusterIamRole"] !== undefined) { - contents.IamRoles = deserializeAws_queryClusterIamRoleList( - __getArrayIfSingleItem(output["IamRoles"]["ClusterIamRole"]), + if (output["NumberOfNodes"] !== undefined) { + contents.NumberOfNodes = parseInt(output["NumberOfNodes"]); + } + if (output["PubliclyAccessible"] !== undefined) { + contents.PubliclyAccessible = output["PubliclyAccessible"] == "true"; + } + if (output["Encrypted"] !== undefined) { + contents.Encrypted = output["Encrypted"] == "true"; + } + if (output["RestoreStatus"] !== undefined) { + contents.RestoreStatus = deserializeAws_queryRestoreStatus(output["RestoreStatus"], context); + } + if (output["DataTransferProgress"] !== undefined) { + contents.DataTransferProgress = deserializeAws_queryDataTransferProgress(output["DataTransferProgress"], context); + } + if (output["HsmStatus"] !== undefined) { + contents.HsmStatus = deserializeAws_queryHsmStatus(output["HsmStatus"], context); + } + if (output["ClusterSnapshotCopyStatus"] !== undefined) { + contents.ClusterSnapshotCopyStatus = deserializeAws_queryClusterSnapshotCopyStatus( + output["ClusterSnapshotCopyStatus"], context ); } - if (output.ClusterSecurityGroups === "") { - contents.ClusterSecurityGroups = []; + if (output["ClusterPublicKey"] !== undefined) { + contents.ClusterPublicKey = output["ClusterPublicKey"]; } - if ( - output["ClusterSecurityGroups"] !== undefined && - output["ClusterSecurityGroups"]["ClusterSecurityGroup"] !== undefined - ) { - contents.ClusterSecurityGroups = deserializeAws_queryClusterSecurityGroupMembershipList( - __getArrayIfSingleItem(output["ClusterSecurityGroups"]["ClusterSecurityGroup"]), + if (output.ClusterNodes === "") { + contents.ClusterNodes = []; + } + if (output["ClusterNodes"] !== undefined && output["ClusterNodes"]["member"] !== undefined) { + contents.ClusterNodes = deserializeAws_queryClusterNodesList( + __getArrayIfSingleItem(output["ClusterNodes"]["member"]), context ); } - if (output["ClusterAvailabilityStatus"] !== undefined) { - contents.ClusterAvailabilityStatus = output["ClusterAvailabilityStatus"]; + if (output["ElasticIpStatus"] !== undefined) { + contents.ElasticIpStatus = deserializeAws_queryElasticIpStatus(output["ElasticIpStatus"], context); } - if (output["ClusterPublicKey"] !== undefined) { - contents.ClusterPublicKey = output["ClusterPublicKey"]; + if (output["ClusterRevisionNumber"] !== undefined) { + contents.ClusterRevisionNumber = output["ClusterRevisionNumber"]; } - if (output["AllowVersionUpgrade"] !== undefined) { - contents.AllowVersionUpgrade = output["AllowVersionUpgrade"] == "true"; + if (output.Tags === "") { + contents.Tags = []; } - if (output["PreferredMaintenanceWindow"] !== undefined) { - contents.PreferredMaintenanceWindow = output["PreferredMaintenanceWindow"]; + if (output["Tags"] !== undefined && output["Tags"]["Tag"] !== undefined) { + contents.Tags = deserializeAws_queryTagList(__getArrayIfSingleItem(output["Tags"]["Tag"]), context); } - if (output["ClusterIdentifier"] !== undefined) { - contents.ClusterIdentifier = output["ClusterIdentifier"]; + if (output["KmsKeyId"] !== undefined) { + contents.KmsKeyId = output["KmsKeyId"]; } - if (output["NodeType"] !== undefined) { - contents.NodeType = output["NodeType"]; + if (output["EnhancedVpcRouting"] !== undefined) { + contents.EnhancedVpcRouting = output["EnhancedVpcRouting"] == "true"; } - if (output["ModifyStatus"] !== undefined) { - contents.ModifyStatus = output["ModifyStatus"]; + if (output.IamRoles === "") { + contents.IamRoles = []; } - if (output["PubliclyAccessible"] !== undefined) { - contents.PubliclyAccessible = output["PubliclyAccessible"] == "true"; + if (output["IamRoles"] !== undefined && output["IamRoles"]["ClusterIamRole"] !== undefined) { + contents.IamRoles = deserializeAws_queryClusterIamRoleList( + __getArrayIfSingleItem(output["IamRoles"]["ClusterIamRole"]), + context + ); } - if (output["ClusterSnapshotCopyStatus"] !== undefined) { - contents.ClusterSnapshotCopyStatus = deserializeAws_queryClusterSnapshotCopyStatus( - output["ClusterSnapshotCopyStatus"], + if (output.PendingActions === "") { + contents.PendingActions = []; + } + if (output["PendingActions"] !== undefined && output["PendingActions"]["member"] !== undefined) { + contents.PendingActions = deserializeAws_queryPendingActionsList( + __getArrayIfSingleItem(output["PendingActions"]["member"]), context ); } + if (output["MaintenanceTrackName"] !== undefined) { + contents.MaintenanceTrackName = output["MaintenanceTrackName"]; + } if (output["ElasticResizeNumberOfNodeOptions"] !== undefined) { contents.ElasticResizeNumberOfNodeOptions = output["ElasticResizeNumberOfNodeOptions"]; } - if (output["AvailabilityZone"] !== undefined) { - contents.AvailabilityZone = output["AvailabilityZone"]; + if (output.DeferredMaintenanceWindows === "") { + contents.DeferredMaintenanceWindows = []; } - if (output["VpcId"] !== undefined) { - contents.VpcId = output["VpcId"]; + if ( + output["DeferredMaintenanceWindows"] !== undefined && + output["DeferredMaintenanceWindows"]["DeferredMaintenanceWindow"] !== undefined + ) { + contents.DeferredMaintenanceWindows = deserializeAws_queryDeferredMaintenanceWindowsList( + __getArrayIfSingleItem(output["DeferredMaintenanceWindows"]["DeferredMaintenanceWindow"]), + context + ); } - if (output["ClusterStatus"] !== undefined) { - contents.ClusterStatus = output["ClusterStatus"]; + if (output["SnapshotScheduleIdentifier"] !== undefined) { + contents.SnapshotScheduleIdentifier = output["SnapshotScheduleIdentifier"]; } - if (output["KmsKeyId"] !== undefined) { - contents.KmsKeyId = output["KmsKeyId"]; + if (output["SnapshotScheduleState"] !== undefined) { + contents.SnapshotScheduleState = output["SnapshotScheduleState"]; } - if (output["DBName"] !== undefined) { - contents.DBName = output["DBName"]; + if (output["ExpectedNextSnapshotScheduleTime"] !== undefined) { + contents.ExpectedNextSnapshotScheduleTime = new Date(output["ExpectedNextSnapshotScheduleTime"]); } - if (output["ClusterSubnetGroupName"] !== undefined) { - contents.ClusterSubnetGroupName = output["ClusterSubnetGroupName"]; + if (output["ExpectedNextSnapshotScheduleTimeStatus"] !== undefined) { + contents.ExpectedNextSnapshotScheduleTimeStatus = output["ExpectedNextSnapshotScheduleTimeStatus"]; } - if (output["MasterUsername"] !== undefined) { - contents.MasterUsername = output["MasterUsername"]; + if (output["NextMaintenanceWindowStartTime"] !== undefined) { + contents.NextMaintenanceWindowStartTime = new Date(output["NextMaintenanceWindowStartTime"]); } - if (output["PendingModifiedValues"] !== undefined) { - contents.PendingModifiedValues = deserializeAws_queryPendingModifiedValues( - output["PendingModifiedValues"], - context - ); + if (output["ResizeInfo"] !== undefined) { + contents.ResizeInfo = deserializeAws_queryResizeInfo(output["ResizeInfo"], context); } - if (output["ManualSnapshotRetentionPeriod"] !== undefined) { - contents.ManualSnapshotRetentionPeriod = parseInt(output["ManualSnapshotRetentionPeriod"]); + if (output["ClusterNamespaceArn"] !== undefined) { + contents.ClusterNamespaceArn = output["ClusterNamespaceArn"]; } return contents; }; @@ -13785,34 +13789,37 @@ const deserializeAws_queryClusterAssociatedToSchedule = ( const deserializeAws_queryClusterCredentials = (output: any, context: __SerdeContext): ClusterCredentials => { let contents: any = { DbUser: undefined, - Expiration: undefined, DbPassword: undefined, + Expiration: undefined, }; if (output["DbUser"] !== undefined) { contents.DbUser = output["DbUser"]; } - if (output["Expiration"] !== undefined) { - contents.Expiration = new Date(output["Expiration"]); - } if (output["DbPassword"] !== undefined) { contents.DbPassword = output["DbPassword"]; } + if (output["Expiration"] !== undefined) { + contents.Expiration = new Date(output["Expiration"]); + } return contents; }; const deserializeAws_queryClusterDbRevision = (output: any, context: __SerdeContext): ClusterDbRevision => { let contents: any = { - DatabaseRevisionReleaseDate: undefined, ClusterIdentifier: undefined, - RevisionTargets: undefined, CurrentDatabaseRevision: undefined, + DatabaseRevisionReleaseDate: undefined, + RevisionTargets: undefined, }; - if (output["DatabaseRevisionReleaseDate"] !== undefined) { - contents.DatabaseRevisionReleaseDate = new Date(output["DatabaseRevisionReleaseDate"]); - } if (output["ClusterIdentifier"] !== undefined) { contents.ClusterIdentifier = output["ClusterIdentifier"]; } + if (output["CurrentDatabaseRevision"] !== undefined) { + contents.CurrentDatabaseRevision = output["CurrentDatabaseRevision"]; + } + if (output["DatabaseRevisionReleaseDate"] !== undefined) { + contents.DatabaseRevisionReleaseDate = new Date(output["DatabaseRevisionReleaseDate"]); + } if (output.RevisionTargets === "") { contents.RevisionTargets = []; } @@ -13822,9 +13829,6 @@ const deserializeAws_queryClusterDbRevision = (output: any, context: __SerdeCont context ); } - if (output["CurrentDatabaseRevision"] !== undefined) { - contents.CurrentDatabaseRevision = output["CurrentDatabaseRevision"]; - } return contents; }; @@ -13837,9 +13841,12 @@ const deserializeAws_queryClusterDbRevisionsMessage = ( context: __SerdeContext ): ClusterDbRevisionsMessage => { let contents: any = { - ClusterDbRevisions: undefined, Marker: undefined, + ClusterDbRevisions: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.ClusterDbRevisions === "") { contents.ClusterDbRevisions = []; } @@ -13849,23 +13856,20 @@ const deserializeAws_queryClusterDbRevisionsMessage = ( context ); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; const deserializeAws_queryClusterIamRole = (output: any, context: __SerdeContext): ClusterIamRole => { let contents: any = { - ApplyStatus: undefined, IamRoleArn: undefined, + ApplyStatus: undefined, }; - if (output["ApplyStatus"] !== undefined) { - contents.ApplyStatus = output["ApplyStatus"]; - } if (output["IamRoleArn"] !== undefined) { contents.IamRoleArn = output["IamRoleArn"]; } + if (output["ApplyStatus"] !== undefined) { + contents.ApplyStatus = output["ApplyStatus"]; + } return contents; }; @@ -13879,18 +13883,18 @@ const deserializeAws_queryClusterList = (output: any, context: __SerdeContext): const deserializeAws_queryClusterNode = (output: any, context: __SerdeContext): ClusterNode => { let contents: any = { - PublicIPAddress: undefined, - PrivateIPAddress: undefined, NodeRole: undefined, + PrivateIPAddress: undefined, + PublicIPAddress: undefined, }; - if (output["PublicIPAddress"] !== undefined) { - contents.PublicIPAddress = output["PublicIPAddress"]; + if (output["NodeRole"] !== undefined) { + contents.NodeRole = output["NodeRole"]; } if (output["PrivateIPAddress"] !== undefined) { contents.PrivateIPAddress = output["PrivateIPAddress"]; } - if (output["NodeRole"] !== undefined) { - contents.NodeRole = output["NodeRole"]; + if (output["PublicIPAddress"] !== undefined) { + contents.PublicIPAddress = output["PublicIPAddress"]; } return contents; }; @@ -13965,12 +13969,9 @@ const deserializeAws_queryClusterParameterGroupDetails = ( context: __SerdeContext ): ClusterParameterGroupDetails => { let contents: any = { - Marker: undefined, Parameters: undefined, + Marker: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output.Parameters === "") { contents.Parameters = []; } @@ -13980,6 +13981,9 @@ const deserializeAws_queryClusterParameterGroupDetails = ( context ); } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; @@ -13988,15 +13992,15 @@ const deserializeAws_queryClusterParameterGroupNameMessage = ( context: __SerdeContext ): ClusterParameterGroupNameMessage => { let contents: any = { - ParameterGroupStatus: undefined, ParameterGroupName: undefined, + ParameterGroupStatus: undefined, }; - if (output["ParameterGroupStatus"] !== undefined) { - contents.ParameterGroupStatus = output["ParameterGroupStatus"]; - } if (output["ParameterGroupName"] !== undefined) { contents.ParameterGroupName = output["ParameterGroupName"]; } + if (output["ParameterGroupStatus"] !== undefined) { + contents.ParameterGroupStatus = output["ParameterGroupStatus"]; + } return contents; }; @@ -14054,10 +14058,16 @@ const deserializeAws_queryClusterParameterGroupStatus = ( context: __SerdeContext ): ClusterParameterGroupStatus => { let contents: any = { - ClusterParameterStatusList: undefined, - ParameterApplyStatus: undefined, ParameterGroupName: undefined, + ParameterApplyStatus: undefined, + ClusterParameterStatusList: undefined, }; + if (output["ParameterGroupName"] !== undefined) { + contents.ParameterGroupName = output["ParameterGroupName"]; + } + if (output["ParameterApplyStatus"] !== undefined) { + contents.ParameterApplyStatus = output["ParameterApplyStatus"]; + } if (output.ClusterParameterStatusList === "") { contents.ClusterParameterStatusList = []; } @@ -14070,12 +14080,6 @@ const deserializeAws_queryClusterParameterGroupStatus = ( context ); } - if (output["ParameterApplyStatus"] !== undefined) { - contents.ParameterApplyStatus = output["ParameterApplyStatus"]; - } - if (output["ParameterGroupName"] !== undefined) { - contents.ParameterGroupName = output["ParameterGroupName"]; - } return contents; }; @@ -14088,16 +14092,16 @@ const deserializeAws_queryClusterParameterGroupStatusList = ( const deserializeAws_queryClusterParameterStatus = (output: any, context: __SerdeContext): ClusterParameterStatus => { let contents: any = { - ParameterApplyStatus: undefined, ParameterName: undefined, + ParameterApplyStatus: undefined, ParameterApplyErrorDescription: undefined, }; - if (output["ParameterApplyStatus"] !== undefined) { - contents.ParameterApplyStatus = output["ParameterApplyStatus"]; - } if (output["ParameterName"] !== undefined) { contents.ParameterName = output["ParameterName"]; } + if (output["ParameterApplyStatus"] !== undefined) { + contents.ParameterApplyStatus = output["ParameterApplyStatus"]; + } if (output["ParameterApplyErrorDescription"] !== undefined) { contents.ParameterApplyErrorDescription = output["ParameterApplyErrorDescription"]; } @@ -14126,12 +14130,18 @@ const deserializeAws_queryClusterQuotaExceededFault = ( const deserializeAws_queryClusterSecurityGroup = (output: any, context: __SerdeContext): ClusterSecurityGroup => { let contents: any = { + ClusterSecurityGroupName: undefined, + Description: undefined, EC2SecurityGroups: undefined, IPRanges: undefined, - ClusterSecurityGroupName: undefined, Tags: undefined, - Description: undefined, }; + if (output["ClusterSecurityGroupName"] !== undefined) { + contents.ClusterSecurityGroupName = output["ClusterSecurityGroupName"]; + } + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; + } if (output.EC2SecurityGroups === "") { contents.EC2SecurityGroups = []; } @@ -14147,18 +14157,12 @@ const deserializeAws_queryClusterSecurityGroup = (output: any, context: __SerdeC if (output["IPRanges"] !== undefined && output["IPRanges"]["IPRange"] !== undefined) { contents.IPRanges = deserializeAws_queryIPRangeList(__getArrayIfSingleItem(output["IPRanges"]["IPRange"]), context); } - if (output["ClusterSecurityGroupName"] !== undefined) { - contents.ClusterSecurityGroupName = output["ClusterSecurityGroupName"]; - } if (output.Tags === "") { contents.Tags = []; } if (output["Tags"] !== undefined && output["Tags"]["Tag"] !== undefined) { contents.Tags = deserializeAws_queryTagList(__getArrayIfSingleItem(output["Tags"]["Tag"]), context); } - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; - } return contents; }; @@ -14257,18 +14261,18 @@ const deserializeAws_queryClusterSecurityGroups = (output: any, context: __Serde const deserializeAws_queryClustersMessage = (output: any, context: __SerdeContext): ClustersMessage => { let contents: any = { - Clusters: undefined, Marker: undefined, + Clusters: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.Clusters === "") { contents.Clusters = []; } if (output["Clusters"] !== undefined && output["Clusters"]["Cluster"] !== undefined) { contents.Clusters = deserializeAws_queryClusterList(__getArrayIfSingleItem(output["Clusters"]["Cluster"]), context); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; @@ -14290,13 +14294,13 @@ const deserializeAws_queryClusterSnapshotCopyStatus = ( context: __SerdeContext ): ClusterSnapshotCopyStatus => { let contents: any = { - SnapshotCopyGrantName: undefined, + DestinationRegion: undefined, RetentionPeriod: undefined, ManualSnapshotRetentionPeriod: undefined, - DestinationRegion: undefined, + SnapshotCopyGrantName: undefined, }; - if (output["SnapshotCopyGrantName"] !== undefined) { - contents.SnapshotCopyGrantName = output["SnapshotCopyGrantName"]; + if (output["DestinationRegion"] !== undefined) { + contents.DestinationRegion = output["DestinationRegion"]; } if (output["RetentionPeriod"] !== undefined) { contents.RetentionPeriod = parseInt(output["RetentionPeriod"]); @@ -14304,8 +14308,8 @@ const deserializeAws_queryClusterSnapshotCopyStatus = ( if (output["ManualSnapshotRetentionPeriod"] !== undefined) { contents.ManualSnapshotRetentionPeriod = parseInt(output["ManualSnapshotRetentionPeriod"]); } - if (output["DestinationRegion"] !== undefined) { - contents.DestinationRegion = output["DestinationRegion"]; + if (output["SnapshotCopyGrantName"] !== undefined) { + contents.SnapshotCopyGrantName = output["SnapshotCopyGrantName"]; } return contents; }; @@ -14338,24 +14342,24 @@ const deserializeAws_queryClusterSnapshotQuotaExceededFault = ( const deserializeAws_queryClusterSubnetGroup = (output: any, context: __SerdeContext): ClusterSubnetGroup => { let contents: any = { - Description: undefined, ClusterSubnetGroupName: undefined, - Tags: undefined, - Subnets: undefined, - SubnetGroupStatus: undefined, + Description: undefined, VpcId: undefined, + SubnetGroupStatus: undefined, + Subnets: undefined, + Tags: undefined, }; - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; - } if (output["ClusterSubnetGroupName"] !== undefined) { contents.ClusterSubnetGroupName = output["ClusterSubnetGroupName"]; } - if (output.Tags === "") { - contents.Tags = []; + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; } - if (output["Tags"] !== undefined && output["Tags"]["Tag"] !== undefined) { - contents.Tags = deserializeAws_queryTagList(__getArrayIfSingleItem(output["Tags"]["Tag"]), context); + if (output["VpcId"] !== undefined) { + contents.VpcId = output["VpcId"]; + } + if (output["SubnetGroupStatus"] !== undefined) { + contents.SubnetGroupStatus = output["SubnetGroupStatus"]; } if (output.Subnets === "") { contents.Subnets = []; @@ -14363,11 +14367,11 @@ const deserializeAws_queryClusterSubnetGroup = (output: any, context: __SerdeCon if (output["Subnets"] !== undefined && output["Subnets"]["Subnet"] !== undefined) { contents.Subnets = deserializeAws_querySubnetList(__getArrayIfSingleItem(output["Subnets"]["Subnet"]), context); } - if (output["SubnetGroupStatus"] !== undefined) { - contents.SubnetGroupStatus = output["SubnetGroupStatus"]; + if (output.Tags === "") { + contents.Tags = []; } - if (output["VpcId"] !== undefined) { - contents.VpcId = output["VpcId"]; + if (output["Tags"] !== undefined && output["Tags"]["Tag"] !== undefined) { + contents.Tags = deserializeAws_queryTagList(__getArrayIfSingleItem(output["Tags"]["Tag"]), context); } return contents; }; @@ -14390,9 +14394,12 @@ const deserializeAws_queryClusterSubnetGroupMessage = ( context: __SerdeContext ): ClusterSubnetGroupMessage => { let contents: any = { - ClusterSubnetGroups: undefined, Marker: undefined, + ClusterSubnetGroups: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.ClusterSubnetGroups === "") { contents.ClusterSubnetGroups = []; } @@ -14405,9 +14412,6 @@ const deserializeAws_queryClusterSubnetGroupMessage = ( context ); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; @@ -14456,19 +14460,19 @@ const deserializeAws_queryClusterSubnetQuotaExceededFault = ( const deserializeAws_queryClusterVersion = (output: any, context: __SerdeContext): ClusterVersion => { let contents: any = { - Description: undefined, ClusterVersion: undefined, ClusterParameterGroupFamily: undefined, + Description: undefined, }; - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; - } if (output["ClusterVersion"] !== undefined) { contents.ClusterVersion = output["ClusterVersion"]; } if (output["ClusterParameterGroupFamily"] !== undefined) { contents.ClusterParameterGroupFamily = output["ClusterParameterGroupFamily"]; } + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; + } return contents; }; @@ -14478,9 +14482,12 @@ const deserializeAws_queryClusterVersionList = (output: any, context: __SerdeCon const deserializeAws_queryClusterVersionsMessage = (output: any, context: __SerdeContext): ClusterVersionsMessage => { let contents: any = { - ClusterVersions: undefined, Marker: undefined, + ClusterVersions: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.ClusterVersions === "") { contents.ClusterVersions = []; } @@ -14490,9 +14497,6 @@ const deserializeAws_queryClusterVersionsMessage = (output: any, context: __Serd context ); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; @@ -14641,45 +14645,45 @@ const deserializeAws_queryCreateSnapshotCopyGrantResult = ( const deserializeAws_queryCustomerStorageMessage = (output: any, context: __SerdeContext): CustomerStorageMessage => { let contents: any = { - TotalProvisionedStorageInMegaBytes: undefined, TotalBackupSizeInMegaBytes: undefined, + TotalProvisionedStorageInMegaBytes: undefined, }; - if (output["TotalProvisionedStorageInMegaBytes"] !== undefined) { - contents.TotalProvisionedStorageInMegaBytes = parseFloat(output["TotalProvisionedStorageInMegaBytes"]); - } if (output["TotalBackupSizeInMegaBytes"] !== undefined) { contents.TotalBackupSizeInMegaBytes = parseFloat(output["TotalBackupSizeInMegaBytes"]); } + if (output["TotalProvisionedStorageInMegaBytes"] !== undefined) { + contents.TotalProvisionedStorageInMegaBytes = parseFloat(output["TotalProvisionedStorageInMegaBytes"]); + } return contents; }; const deserializeAws_queryDataTransferProgress = (output: any, context: __SerdeContext): DataTransferProgress => { let contents: any = { - EstimatedTimeToCompletionInSeconds: undefined, Status: undefined, CurrentRateInMegaBytesPerSecond: undefined, - ElapsedTimeInSeconds: undefined, TotalDataInMegaBytes: undefined, DataTransferredInMegaBytes: undefined, + EstimatedTimeToCompletionInSeconds: undefined, + ElapsedTimeInSeconds: undefined, }; - if (output["EstimatedTimeToCompletionInSeconds"] !== undefined) { - contents.EstimatedTimeToCompletionInSeconds = parseInt(output["EstimatedTimeToCompletionInSeconds"]); - } if (output["Status"] !== undefined) { contents.Status = output["Status"]; } if (output["CurrentRateInMegaBytesPerSecond"] !== undefined) { contents.CurrentRateInMegaBytesPerSecond = parseFloat(output["CurrentRateInMegaBytesPerSecond"]); } - if (output["ElapsedTimeInSeconds"] !== undefined) { - contents.ElapsedTimeInSeconds = parseInt(output["ElapsedTimeInSeconds"]); - } if (output["TotalDataInMegaBytes"] !== undefined) { contents.TotalDataInMegaBytes = parseInt(output["TotalDataInMegaBytes"]); } if (output["DataTransferredInMegaBytes"] !== undefined) { contents.DataTransferredInMegaBytes = parseInt(output["DataTransferredInMegaBytes"]); } + if (output["EstimatedTimeToCompletionInSeconds"] !== undefined) { + contents.EstimatedTimeToCompletionInSeconds = parseInt(output["EstimatedTimeToCompletionInSeconds"]); + } + if (output["ElapsedTimeInSeconds"] !== undefined) { + contents.ElapsedTimeInSeconds = parseInt(output["ElapsedTimeInSeconds"]); + } return contents; }; @@ -14688,10 +14692,16 @@ const deserializeAws_queryDefaultClusterParameters = ( context: __SerdeContext ): DefaultClusterParameters => { let contents: any = { - Parameters: undefined, ParameterGroupFamily: undefined, Marker: undefined, + Parameters: undefined, }; + if (output["ParameterGroupFamily"] !== undefined) { + contents.ParameterGroupFamily = output["ParameterGroupFamily"]; + } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.Parameters === "") { contents.Parameters = []; } @@ -14701,12 +14711,6 @@ const deserializeAws_queryDefaultClusterParameters = ( context ); } - if (output["ParameterGroupFamily"] !== undefined) { - contents.ParameterGroupFamily = output["ParameterGroupFamily"]; - } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; @@ -14715,19 +14719,19 @@ const deserializeAws_queryDeferredMaintenanceWindow = ( context: __SerdeContext ): DeferredMaintenanceWindow => { let contents: any = { - DeferMaintenanceEndTime: undefined, DeferMaintenanceIdentifier: undefined, DeferMaintenanceStartTime: undefined, + DeferMaintenanceEndTime: undefined, }; - if (output["DeferMaintenanceEndTime"] !== undefined) { - contents.DeferMaintenanceEndTime = new Date(output["DeferMaintenanceEndTime"]); - } if (output["DeferMaintenanceIdentifier"] !== undefined) { contents.DeferMaintenanceIdentifier = output["DeferMaintenanceIdentifier"]; } if (output["DeferMaintenanceStartTime"] !== undefined) { contents.DeferMaintenanceStartTime = new Date(output["DeferMaintenanceStartTime"]); } + if (output["DeferMaintenanceEndTime"] !== undefined) { + contents.DeferMaintenanceEndTime = new Date(output["DeferMaintenanceEndTime"]); + } return contents; }; @@ -14841,11 +14845,17 @@ const deserializeAws_queryDisableSnapshotCopyResult = ( const deserializeAws_queryEC2SecurityGroup = (output: any, context: __SerdeContext): EC2SecurityGroup => { let contents: any = { + Status: undefined, + EC2SecurityGroupName: undefined, EC2SecurityGroupOwnerId: undefined, Tags: undefined, - EC2SecurityGroupName: undefined, - Status: undefined, }; + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; + } + if (output["EC2SecurityGroupName"] !== undefined) { + contents.EC2SecurityGroupName = output["EC2SecurityGroupName"]; + } if (output["EC2SecurityGroupOwnerId"] !== undefined) { contents.EC2SecurityGroupOwnerId = output["EC2SecurityGroupOwnerId"]; } @@ -14855,12 +14865,6 @@ const deserializeAws_queryEC2SecurityGroup = (output: any, context: __SerdeConte if (output["Tags"] !== undefined && output["Tags"]["Tag"] !== undefined) { contents.Tags = deserializeAws_queryTagList(__getArrayIfSingleItem(output["Tags"]["Tag"]), context); } - if (output["EC2SecurityGroupName"] !== undefined) { - contents.EC2SecurityGroupName = output["EC2SecurityGroupName"]; - } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } return contents; }; @@ -14915,25 +14919,22 @@ const deserializeAws_queryEndpoint = (output: any, context: __SerdeContext): End const deserializeAws_queryEvent = (output: any, context: __SerdeContext): Event => { let contents: any = { - Message: undefined, - SourceType: undefined, SourceIdentifier: undefined, - EventId: undefined, + SourceType: undefined, + Message: undefined, EventCategories: undefined, Severity: undefined, Date: undefined, + EventId: undefined, }; - if (output["Message"] !== undefined) { - contents.Message = output["Message"]; + if (output["SourceIdentifier"] !== undefined) { + contents.SourceIdentifier = output["SourceIdentifier"]; } if (output["SourceType"] !== undefined) { contents.SourceType = output["SourceType"]; } - if (output["SourceIdentifier"] !== undefined) { - contents.SourceIdentifier = output["SourceIdentifier"]; - } - if (output["EventId"] !== undefined) { - contents.EventId = output["EventId"]; + if (output["Message"] !== undefined) { + contents.Message = output["Message"]; } if (output.EventCategories === "") { contents.EventCategories = []; @@ -14950,6 +14951,9 @@ const deserializeAws_queryEvent = (output: any, context: __SerdeContext): Event if (output["Date"] !== undefined) { contents.Date = new Date(output["Date"]); } + if (output["EventId"] !== undefined) { + contents.EventId = output["EventId"]; + } return contents; }; @@ -14959,9 +14963,12 @@ const deserializeAws_queryEventCategoriesList = (output: any, context: __SerdeCo const deserializeAws_queryEventCategoriesMap = (output: any, context: __SerdeContext): EventCategoriesMap => { let contents: any = { - Events: undefined, SourceType: undefined, + Events: undefined, }; + if (output["SourceType"] !== undefined) { + contents.SourceType = output["SourceType"]; + } if (output.Events === "") { contents.Events = []; } @@ -14971,9 +14978,6 @@ const deserializeAws_queryEventCategoriesMap = (output: any, context: __SerdeCon context ); } - if (output["SourceType"] !== undefined) { - contents.SourceType = output["SourceType"]; - } return contents; }; @@ -15002,11 +15006,14 @@ const deserializeAws_queryEventCategoriesMessage = (output: any, context: __Serd const deserializeAws_queryEventInfoMap = (output: any, context: __SerdeContext): EventInfoMap => { let contents: any = { - EventCategories: undefined, EventId: undefined, + EventCategories: undefined, EventDescription: undefined, Severity: undefined, }; + if (output["EventId"] !== undefined) { + contents.EventId = output["EventId"]; + } if (output.EventCategories === "") { contents.EventCategories = []; } @@ -15016,9 +15023,6 @@ const deserializeAws_queryEventInfoMap = (output: any, context: __SerdeContext): context ); } - if (output["EventId"] !== undefined) { - contents.EventId = output["EventId"]; - } if (output["EventDescription"] !== undefined) { contents.EventDescription = output["EventDescription"]; } @@ -15038,43 +15042,52 @@ const deserializeAws_queryEventList = (output: any, context: __SerdeContext): Ev const deserializeAws_queryEventsMessage = (output: any, context: __SerdeContext): EventsMessage => { let contents: any = { - Events: undefined, Marker: undefined, + Events: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.Events === "") { contents.Events = []; } if (output["Events"] !== undefined && output["Events"]["Event"] !== undefined) { contents.Events = deserializeAws_queryEventList(__getArrayIfSingleItem(output["Events"]["Event"]), context); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; const deserializeAws_queryEventSubscription = (output: any, context: __SerdeContext): EventSubscription => { let contents: any = { - Status: undefined, - Tags: undefined, - SourceIdsList: undefined, - CustSubscriptionId: undefined, CustomerAwsId: undefined, - SubscriptionCreationTime: undefined, - Severity: undefined, - Enabled: undefined, + CustSubscriptionId: undefined, SnsTopicArn: undefined, + Status: undefined, + SubscriptionCreationTime: undefined, SourceType: undefined, + SourceIdsList: undefined, EventCategoriesList: undefined, + Severity: undefined, + Enabled: undefined, + Tags: undefined, }; + if (output["CustomerAwsId"] !== undefined) { + contents.CustomerAwsId = output["CustomerAwsId"]; + } + if (output["CustSubscriptionId"] !== undefined) { + contents.CustSubscriptionId = output["CustSubscriptionId"]; + } + if (output["SnsTopicArn"] !== undefined) { + contents.SnsTopicArn = output["SnsTopicArn"]; + } if (output["Status"] !== undefined) { contents.Status = output["Status"]; } - if (output.Tags === "") { - contents.Tags = []; + if (output["SubscriptionCreationTime"] !== undefined) { + contents.SubscriptionCreationTime = new Date(output["SubscriptionCreationTime"]); } - if (output["Tags"] !== undefined && output["Tags"]["Tag"] !== undefined) { - contents.Tags = deserializeAws_queryTagList(__getArrayIfSingleItem(output["Tags"]["Tag"]), context); + if (output["SourceType"] !== undefined) { + contents.SourceType = output["SourceType"]; } if (output.SourceIdsList === "") { contents.SourceIdsList = []; @@ -15085,14 +15098,14 @@ const deserializeAws_queryEventSubscription = (output: any, context: __SerdeCont context ); } - if (output["CustSubscriptionId"] !== undefined) { - contents.CustSubscriptionId = output["CustSubscriptionId"]; - } - if (output["CustomerAwsId"] !== undefined) { - contents.CustomerAwsId = output["CustomerAwsId"]; + if (output.EventCategoriesList === "") { + contents.EventCategoriesList = []; } - if (output["SubscriptionCreationTime"] !== undefined) { - contents.SubscriptionCreationTime = new Date(output["SubscriptionCreationTime"]); + if (output["EventCategoriesList"] !== undefined && output["EventCategoriesList"]["EventCategory"] !== undefined) { + contents.EventCategoriesList = deserializeAws_queryEventCategoriesList( + __getArrayIfSingleItem(output["EventCategoriesList"]["EventCategory"]), + context + ); } if (output["Severity"] !== undefined) { contents.Severity = output["Severity"]; @@ -15100,20 +15113,11 @@ const deserializeAws_queryEventSubscription = (output: any, context: __SerdeCont if (output["Enabled"] !== undefined) { contents.Enabled = output["Enabled"] == "true"; } - if (output["SnsTopicArn"] !== undefined) { - contents.SnsTopicArn = output["SnsTopicArn"]; - } - if (output["SourceType"] !== undefined) { - contents.SourceType = output["SourceType"]; - } - if (output.EventCategoriesList === "") { - contents.EventCategoriesList = []; + if (output.Tags === "") { + contents.Tags = []; } - if (output["EventCategoriesList"] !== undefined && output["EventCategoriesList"]["EventCategory"] !== undefined) { - contents.EventCategoriesList = deserializeAws_queryEventCategoriesList( - __getArrayIfSingleItem(output["EventCategoriesList"]["EventCategory"]), - context - ); + if (output["Tags"] !== undefined && output["Tags"]["Tag"] !== undefined) { + contents.Tags = deserializeAws_queryTagList(__getArrayIfSingleItem(output["Tags"]["Tag"]), context); } return contents; }; @@ -15166,9 +15170,12 @@ const deserializeAws_queryGetReservedNodeExchangeOfferingsOutputMessage = ( context: __SerdeContext ): GetReservedNodeExchangeOfferingsOutputMessage => { let contents: any = { - ReservedNodeOfferings: undefined, Marker: undefined, + ReservedNodeOfferings: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.ReservedNodeOfferings === "") { contents.ReservedNodeOfferings = []; } @@ -15181,30 +15188,27 @@ const deserializeAws_queryGetReservedNodeExchangeOfferingsOutputMessage = ( context ); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; const deserializeAws_queryHsmClientCertificate = (output: any, context: __SerdeContext): HsmClientCertificate => { let contents: any = { - Tags: undefined, HsmClientCertificateIdentifier: undefined, HsmClientCertificatePublicKey: undefined, + Tags: undefined, }; - if (output.Tags === "") { - contents.Tags = []; - } - if (output["Tags"] !== undefined && output["Tags"]["Tag"] !== undefined) { - contents.Tags = deserializeAws_queryTagList(__getArrayIfSingleItem(output["Tags"]["Tag"]), context); - } if (output["HsmClientCertificateIdentifier"] !== undefined) { contents.HsmClientCertificateIdentifier = output["HsmClientCertificateIdentifier"]; } if (output["HsmClientCertificatePublicKey"] !== undefined) { contents.HsmClientCertificatePublicKey = output["HsmClientCertificatePublicKey"]; } + if (output.Tags === "") { + contents.Tags = []; + } + if (output["Tags"] !== undefined && output["Tags"]["Tag"] !== undefined) { + contents.Tags = deserializeAws_queryTagList(__getArrayIfSingleItem(output["Tags"]["Tag"]), context); + } return contents; }; @@ -15230,9 +15234,12 @@ const deserializeAws_queryHsmClientCertificateMessage = ( context: __SerdeContext ): HsmClientCertificateMessage => { let contents: any = { - HsmClientCertificates: undefined, Marker: undefined, + HsmClientCertificates: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.HsmClientCertificates === "") { contents.HsmClientCertificates = []; } @@ -15245,9 +15252,6 @@ const deserializeAws_queryHsmClientCertificateMessage = ( context ); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; @@ -15279,20 +15283,23 @@ const deserializeAws_queryHsmClientCertificateQuotaExceededFault = ( const deserializeAws_queryHsmConfiguration = (output: any, context: __SerdeContext): HsmConfiguration => { let contents: any = { + HsmConfigurationIdentifier: undefined, Description: undefined, HsmIpAddress: undefined, - HsmConfigurationIdentifier: undefined, - Tags: undefined, HsmPartitionName: undefined, + Tags: undefined, }; + if (output["HsmConfigurationIdentifier"] !== undefined) { + contents.HsmConfigurationIdentifier = output["HsmConfigurationIdentifier"]; + } if (output["Description"] !== undefined) { contents.Description = output["Description"]; } if (output["HsmIpAddress"] !== undefined) { contents.HsmIpAddress = output["HsmIpAddress"]; } - if (output["HsmConfigurationIdentifier"] !== undefined) { - contents.HsmConfigurationIdentifier = output["HsmConfigurationIdentifier"]; + if (output["HsmPartitionName"] !== undefined) { + contents.HsmPartitionName = output["HsmPartitionName"]; } if (output.Tags === "") { contents.Tags = []; @@ -15300,9 +15307,6 @@ const deserializeAws_queryHsmConfiguration = (output: any, context: __SerdeConte if (output["Tags"] !== undefined && output["Tags"]["Tag"] !== undefined) { contents.Tags = deserializeAws_queryTagList(__getArrayIfSingleItem(output["Tags"]["Tag"]), context); } - if (output["HsmPartitionName"] !== undefined) { - contents.HsmPartitionName = output["HsmPartitionName"]; - } return contents; }; @@ -15325,9 +15329,12 @@ const deserializeAws_queryHsmConfigurationList = (output: any, context: __SerdeC const deserializeAws_queryHsmConfigurationMessage = (output: any, context: __SerdeContext): HsmConfigurationMessage => { let contents: any = { - HsmConfigurations: undefined, Marker: undefined, + HsmConfigurations: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.HsmConfigurations === "") { contents.HsmConfigurations = []; } @@ -15337,9 +15344,6 @@ const deserializeAws_queryHsmConfigurationMessage = (output: any, context: __Ser context ); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; @@ -15372,18 +15376,18 @@ const deserializeAws_queryHsmConfigurationQuotaExceededFault = ( const deserializeAws_queryHsmStatus = (output: any, context: __SerdeContext): HsmStatus => { let contents: any = { HsmClientCertificateIdentifier: undefined, - Status: undefined, HsmConfigurationIdentifier: undefined, + Status: undefined, }; if (output["HsmClientCertificateIdentifier"] !== undefined) { contents.HsmClientCertificateIdentifier = output["HsmClientCertificateIdentifier"]; } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } if (output["HsmConfigurationIdentifier"] !== undefined) { contents.HsmConfigurationIdentifier = output["HsmConfigurationIdentifier"]; } + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; + } return contents; }; @@ -15757,22 +15761,22 @@ const deserializeAws_queryInvalidVPCNetworkStateFault = ( const deserializeAws_queryIPRange = (output: any, context: __SerdeContext): IPRange => { let contents: any = { - Tags: undefined, - CIDRIP: undefined, Status: undefined, + CIDRIP: undefined, + Tags: undefined, }; + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; + } + if (output["CIDRIP"] !== undefined) { + contents.CIDRIP = output["CIDRIP"]; + } if (output.Tags === "") { contents.Tags = []; } if (output["Tags"] !== undefined && output["Tags"]["Tag"] !== undefined) { contents.Tags = deserializeAws_queryTagList(__getArrayIfSingleItem(output["Tags"]["Tag"]), context); } - if (output["CIDRIP"] !== undefined) { - contents.CIDRIP = output["CIDRIP"]; - } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } return contents; }; @@ -15793,39 +15797,45 @@ const deserializeAws_queryLimitExceededFault = (output: any, context: __SerdeCon const deserializeAws_queryLoggingStatus = (output: any, context: __SerdeContext): LoggingStatus => { let contents: any = { LoggingEnabled: undefined, - LastFailureTime: undefined, - LastSuccessfulDeliveryTime: undefined, BucketName: undefined, - LastFailureMessage: undefined, S3KeyPrefix: undefined, + LastSuccessfulDeliveryTime: undefined, + LastFailureTime: undefined, + LastFailureMessage: undefined, }; if (output["LoggingEnabled"] !== undefined) { contents.LoggingEnabled = output["LoggingEnabled"] == "true"; } - if (output["LastFailureTime"] !== undefined) { - contents.LastFailureTime = new Date(output["LastFailureTime"]); + if (output["BucketName"] !== undefined) { + contents.BucketName = output["BucketName"]; + } + if (output["S3KeyPrefix"] !== undefined) { + contents.S3KeyPrefix = output["S3KeyPrefix"]; } if (output["LastSuccessfulDeliveryTime"] !== undefined) { contents.LastSuccessfulDeliveryTime = new Date(output["LastSuccessfulDeliveryTime"]); } - if (output["BucketName"] !== undefined) { - contents.BucketName = output["BucketName"]; + if (output["LastFailureTime"] !== undefined) { + contents.LastFailureTime = new Date(output["LastFailureTime"]); } if (output["LastFailureMessage"] !== undefined) { contents.LastFailureMessage = output["LastFailureMessage"]; } - if (output["S3KeyPrefix"] !== undefined) { - contents.S3KeyPrefix = output["S3KeyPrefix"]; - } return contents; }; const deserializeAws_queryMaintenanceTrack = (output: any, context: __SerdeContext): MaintenanceTrack => { let contents: any = { - UpdateTargets: undefined, MaintenanceTrackName: undefined, DatabaseVersion: undefined, + UpdateTargets: undefined, }; + if (output["MaintenanceTrackName"] !== undefined) { + contents.MaintenanceTrackName = output["MaintenanceTrackName"]; + } + if (output["DatabaseVersion"] !== undefined) { + contents.DatabaseVersion = output["DatabaseVersion"]; + } if (output.UpdateTargets === "") { contents.UpdateTargets = []; } @@ -15835,12 +15845,6 @@ const deserializeAws_queryMaintenanceTrack = (output: any, context: __SerdeConte context ); } - if (output["MaintenanceTrackName"] !== undefined) { - contents.MaintenanceTrackName = output["MaintenanceTrackName"]; - } - if (output["DatabaseVersion"] !== undefined) { - contents.DatabaseVersion = output["DatabaseVersion"]; - } return contents; }; @@ -15947,23 +15951,23 @@ const deserializeAws_queryModifySnapshotCopyRetentionPeriodResult = ( const deserializeAws_queryNodeConfigurationOption = (output: any, context: __SerdeContext): NodeConfigurationOption => { let contents: any = { - EstimatedDiskUtilizationPercent: undefined, NodeType: undefined, - Mode: undefined, NumberOfNodes: undefined, + EstimatedDiskUtilizationPercent: undefined, + Mode: undefined, }; - if (output["EstimatedDiskUtilizationPercent"] !== undefined) { - contents.EstimatedDiskUtilizationPercent = parseFloat(output["EstimatedDiskUtilizationPercent"]); - } if (output["NodeType"] !== undefined) { contents.NodeType = output["NodeType"]; } - if (output["Mode"] !== undefined) { - contents.Mode = output["Mode"]; - } if (output["NumberOfNodes"] !== undefined) { contents.NumberOfNodes = parseInt(output["NumberOfNodes"]); } + if (output["EstimatedDiskUtilizationPercent"] !== undefined) { + contents.EstimatedDiskUtilizationPercent = parseFloat(output["EstimatedDiskUtilizationPercent"]); + } + if (output["Mode"] !== undefined) { + contents.Mode = output["Mode"]; + } return contents; }; @@ -16028,16 +16032,19 @@ const deserializeAws_queryNumberOfNodesQuotaExceededFault = ( const deserializeAws_queryOrderableClusterOption = (output: any, context: __SerdeContext): OrderableClusterOption => { let contents: any = { - ClusterType: undefined, ClusterVersion: undefined, - AvailabilityZones: undefined, + ClusterType: undefined, NodeType: undefined, + AvailabilityZones: undefined, }; + if (output["ClusterVersion"] !== undefined) { + contents.ClusterVersion = output["ClusterVersion"]; + } if (output["ClusterType"] !== undefined) { contents.ClusterType = output["ClusterType"]; } - if (output["ClusterVersion"] !== undefined) { - contents.ClusterVersion = output["ClusterVersion"]; + if (output["NodeType"] !== undefined) { + contents.NodeType = output["NodeType"]; } if (output.AvailabilityZones === "") { contents.AvailabilityZones = []; @@ -16048,9 +16055,6 @@ const deserializeAws_queryOrderableClusterOption = (output: any, context: __Serd context ); } - if (output["NodeType"] !== undefined) { - contents.NodeType = output["NodeType"]; - } return contents; }; @@ -16089,43 +16093,43 @@ const deserializeAws_queryOrderableClusterOptionsMessage = ( const deserializeAws_queryParameter = (output: any, context: __SerdeContext): Parameter => { let contents: any = { - Source: undefined, ParameterName: undefined, - DataType: undefined, - MinimumEngineVersion: undefined, - AllowedValues: undefined, ParameterValue: undefined, Description: undefined, + Source: undefined, + DataType: undefined, + AllowedValues: undefined, ApplyType: undefined, IsModifiable: undefined, + MinimumEngineVersion: undefined, }; + if (output["ParameterName"] !== undefined) { + contents.ParameterName = output["ParameterName"]; + } + if (output["ParameterValue"] !== undefined) { + contents.ParameterValue = output["ParameterValue"]; + } + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; + } if (output["Source"] !== undefined) { contents.Source = output["Source"]; } - if (output["ParameterName"] !== undefined) { - contents.ParameterName = output["ParameterName"]; - } if (output["DataType"] !== undefined) { contents.DataType = output["DataType"]; } - if (output["MinimumEngineVersion"] !== undefined) { - contents.MinimumEngineVersion = output["MinimumEngineVersion"]; - } if (output["AllowedValues"] !== undefined) { contents.AllowedValues = output["AllowedValues"]; } - if (output["ParameterValue"] !== undefined) { - contents.ParameterValue = output["ParameterValue"]; - } - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; - } if (output["ApplyType"] !== undefined) { contents.ApplyType = output["ApplyType"]; } if (output["IsModifiable"] !== undefined) { contents.IsModifiable = output["IsModifiable"] == "true"; } + if (output["MinimumEngineVersion"] !== undefined) { + contents.MinimumEngineVersion = output["MinimumEngineVersion"]; + } return contents; }; @@ -16163,50 +16167,50 @@ const deserializeAws_queryPendingActionsList = (output: any, context: __SerdeCon const deserializeAws_queryPendingModifiedValues = (output: any, context: __SerdeContext): PendingModifiedValues => { let contents: any = { + MasterUserPassword: undefined, + NodeType: undefined, + NumberOfNodes: undefined, ClusterType: undefined, - PubliclyAccessible: undefined, ClusterVersion: undefined, - MasterUserPassword: undefined, + AutomatedSnapshotRetentionPeriod: undefined, ClusterIdentifier: undefined, - EncryptionType: undefined, - MaintenanceTrackName: undefined, - NodeType: undefined, + PubliclyAccessible: undefined, EnhancedVpcRouting: undefined, - AutomatedSnapshotRetentionPeriod: undefined, - NumberOfNodes: undefined, + MaintenanceTrackName: undefined, + EncryptionType: undefined, }; + if (output["MasterUserPassword"] !== undefined) { + contents.MasterUserPassword = output["MasterUserPassword"]; + } + if (output["NodeType"] !== undefined) { + contents.NodeType = output["NodeType"]; + } + if (output["NumberOfNodes"] !== undefined) { + contents.NumberOfNodes = parseInt(output["NumberOfNodes"]); + } if (output["ClusterType"] !== undefined) { contents.ClusterType = output["ClusterType"]; } - if (output["PubliclyAccessible"] !== undefined) { - contents.PubliclyAccessible = output["PubliclyAccessible"] == "true"; - } if (output["ClusterVersion"] !== undefined) { contents.ClusterVersion = output["ClusterVersion"]; } - if (output["MasterUserPassword"] !== undefined) { - contents.MasterUserPassword = output["MasterUserPassword"]; + if (output["AutomatedSnapshotRetentionPeriod"] !== undefined) { + contents.AutomatedSnapshotRetentionPeriod = parseInt(output["AutomatedSnapshotRetentionPeriod"]); } if (output["ClusterIdentifier"] !== undefined) { contents.ClusterIdentifier = output["ClusterIdentifier"]; } - if (output["EncryptionType"] !== undefined) { - contents.EncryptionType = output["EncryptionType"]; - } - if (output["MaintenanceTrackName"] !== undefined) { - contents.MaintenanceTrackName = output["MaintenanceTrackName"]; - } - if (output["NodeType"] !== undefined) { - contents.NodeType = output["NodeType"]; + if (output["PubliclyAccessible"] !== undefined) { + contents.PubliclyAccessible = output["PubliclyAccessible"] == "true"; } if (output["EnhancedVpcRouting"] !== undefined) { contents.EnhancedVpcRouting = output["EnhancedVpcRouting"] == "true"; } - if (output["AutomatedSnapshotRetentionPeriod"] !== undefined) { - contents.AutomatedSnapshotRetentionPeriod = parseInt(output["AutomatedSnapshotRetentionPeriod"]); + if (output["MaintenanceTrackName"] !== undefined) { + contents.MaintenanceTrackName = output["MaintenanceTrackName"]; } - if (output["NumberOfNodes"] !== undefined) { - contents.NumberOfNodes = parseInt(output["NumberOfNodes"]); + if (output["EncryptionType"] !== undefined) { + contents.EncryptionType = output["EncryptionType"]; } return contents; }; @@ -16254,37 +16258,52 @@ const deserializeAws_queryRecurringChargeList = (output: any, context: __SerdeCo const deserializeAws_queryReservedNode = (output: any, context: __SerdeContext): ReservedNode => { let contents: any = { - FixedPrice: undefined, - State: undefined, - CurrencyCode: undefined, + ReservedNodeId: undefined, ReservedNodeOfferingId: undefined, NodeType: undefined, - ReservedNodeOfferingType: undefined, - RecurringCharges: undefined, - NodeCount: undefined, - OfferingType: undefined, StartTime: undefined, Duration: undefined, + FixedPrice: undefined, UsagePrice: undefined, - ReservedNodeId: undefined, + CurrencyCode: undefined, + NodeCount: undefined, + State: undefined, + OfferingType: undefined, + RecurringCharges: undefined, + ReservedNodeOfferingType: undefined, }; + if (output["ReservedNodeId"] !== undefined) { + contents.ReservedNodeId = output["ReservedNodeId"]; + } + if (output["ReservedNodeOfferingId"] !== undefined) { + contents.ReservedNodeOfferingId = output["ReservedNodeOfferingId"]; + } + if (output["NodeType"] !== undefined) { + contents.NodeType = output["NodeType"]; + } + if (output["StartTime"] !== undefined) { + contents.StartTime = new Date(output["StartTime"]); + } + if (output["Duration"] !== undefined) { + contents.Duration = parseInt(output["Duration"]); + } if (output["FixedPrice"] !== undefined) { contents.FixedPrice = parseFloat(output["FixedPrice"]); } - if (output["State"] !== undefined) { - contents.State = output["State"]; + if (output["UsagePrice"] !== undefined) { + contents.UsagePrice = parseFloat(output["UsagePrice"]); } if (output["CurrencyCode"] !== undefined) { contents.CurrencyCode = output["CurrencyCode"]; } - if (output["ReservedNodeOfferingId"] !== undefined) { - contents.ReservedNodeOfferingId = output["ReservedNodeOfferingId"]; + if (output["NodeCount"] !== undefined) { + contents.NodeCount = parseInt(output["NodeCount"]); } - if (output["NodeType"] !== undefined) { - contents.NodeType = output["NodeType"]; + if (output["State"] !== undefined) { + contents.State = output["State"]; } - if (output["ReservedNodeOfferingType"] !== undefined) { - contents.ReservedNodeOfferingType = output["ReservedNodeOfferingType"]; + if (output["OfferingType"] !== undefined) { + contents.OfferingType = output["OfferingType"]; } if (output.RecurringCharges === "") { contents.RecurringCharges = []; @@ -16295,23 +16314,8 @@ const deserializeAws_queryReservedNode = (output: any, context: __SerdeContext): context ); } - if (output["NodeCount"] !== undefined) { - contents.NodeCount = parseInt(output["NodeCount"]); - } - if (output["OfferingType"] !== undefined) { - contents.OfferingType = output["OfferingType"]; - } - if (output["StartTime"] !== undefined) { - contents.StartTime = new Date(output["StartTime"]); - } - if (output["Duration"] !== undefined) { - contents.Duration = parseInt(output["Duration"]); - } - if (output["UsagePrice"] !== undefined) { - contents.UsagePrice = parseFloat(output["UsagePrice"]); - } - if (output["ReservedNodeId"] !== undefined) { - contents.ReservedNodeId = output["ReservedNodeId"]; + if (output["ReservedNodeOfferingType"] !== undefined) { + contents.ReservedNodeOfferingType = output["ReservedNodeOfferingType"]; } return contents; }; @@ -16361,30 +16365,36 @@ const deserializeAws_queryReservedNodeNotFoundFault = ( const deserializeAws_queryReservedNodeOffering = (output: any, context: __SerdeContext): ReservedNodeOffering => { let contents: any = { - ReservedNodeOfferingType: undefined, - OfferingType: undefined, - CurrencyCode: undefined, - NodeType: undefined, ReservedNodeOfferingId: undefined, - RecurringCharges: undefined, + NodeType: undefined, + Duration: undefined, FixedPrice: undefined, UsagePrice: undefined, - Duration: undefined, + CurrencyCode: undefined, + OfferingType: undefined, + RecurringCharges: undefined, + ReservedNodeOfferingType: undefined, }; - if (output["ReservedNodeOfferingType"] !== undefined) { - contents.ReservedNodeOfferingType = output["ReservedNodeOfferingType"]; + if (output["ReservedNodeOfferingId"] !== undefined) { + contents.ReservedNodeOfferingId = output["ReservedNodeOfferingId"]; } - if (output["OfferingType"] !== undefined) { - contents.OfferingType = output["OfferingType"]; + if (output["NodeType"] !== undefined) { + contents.NodeType = output["NodeType"]; + } + if (output["Duration"] !== undefined) { + contents.Duration = parseInt(output["Duration"]); + } + if (output["FixedPrice"] !== undefined) { + contents.FixedPrice = parseFloat(output["FixedPrice"]); + } + if (output["UsagePrice"] !== undefined) { + contents.UsagePrice = parseFloat(output["UsagePrice"]); } if (output["CurrencyCode"] !== undefined) { contents.CurrencyCode = output["CurrencyCode"]; } - if (output["NodeType"] !== undefined) { - contents.NodeType = output["NodeType"]; - } - if (output["ReservedNodeOfferingId"] !== undefined) { - contents.ReservedNodeOfferingId = output["ReservedNodeOfferingId"]; + if (output["OfferingType"] !== undefined) { + contents.OfferingType = output["OfferingType"]; } if (output.RecurringCharges === "") { contents.RecurringCharges = []; @@ -16395,14 +16405,8 @@ const deserializeAws_queryReservedNodeOffering = (output: any, context: __SerdeC context ); } - if (output["FixedPrice"] !== undefined) { - contents.FixedPrice = parseFloat(output["FixedPrice"]); - } - if (output["UsagePrice"] !== undefined) { - contents.UsagePrice = parseFloat(output["UsagePrice"]); - } - if (output["Duration"] !== undefined) { - contents.Duration = parseInt(output["Duration"]); + if (output["ReservedNodeOfferingType"] !== undefined) { + contents.ReservedNodeOfferingType = output["ReservedNodeOfferingType"]; } return contents; }; @@ -16465,9 +16469,12 @@ const deserializeAws_queryReservedNodeQuotaExceededFault = ( const deserializeAws_queryReservedNodesMessage = (output: any, context: __SerdeContext): ReservedNodesMessage => { let contents: any = { - ReservedNodes: undefined, Marker: undefined, + ReservedNodes: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.ReservedNodes === "") { contents.ReservedNodes = []; } @@ -16477,34 +16484,31 @@ const deserializeAws_queryReservedNodesMessage = (output: any, context: __SerdeC context ); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; const deserializeAws_queryResizeClusterMessage = (output: any, context: __SerdeContext): ResizeClusterMessage => { let contents: any = { + ClusterIdentifier: undefined, + ClusterType: undefined, NodeType: undefined, - Classic: undefined, NumberOfNodes: undefined, - ClusterType: undefined, - ClusterIdentifier: undefined, + Classic: undefined, }; + if (output["ClusterIdentifier"] !== undefined) { + contents.ClusterIdentifier = output["ClusterIdentifier"]; + } + if (output["ClusterType"] !== undefined) { + contents.ClusterType = output["ClusterType"]; + } if (output["NodeType"] !== undefined) { contents.NodeType = output["NodeType"]; } - if (output["Classic"] !== undefined) { - contents.Classic = output["Classic"] == "true"; - } if (output["NumberOfNodes"] !== undefined) { contents.NumberOfNodes = parseInt(output["NumberOfNodes"]); } - if (output["ClusterType"] !== undefined) { - contents.ClusterType = output["ClusterType"]; - } - if (output["ClusterIdentifier"] !== undefined) { - contents.ClusterIdentifier = output["ClusterIdentifier"]; + if (output["Classic"] !== undefined) { + contents.Classic = output["Classic"] == "true"; } return contents; }; @@ -16545,49 +16549,34 @@ const deserializeAws_queryResizeNotFoundFault = (output: any, context: __SerdeCo const deserializeAws_queryResizeProgressMessage = (output: any, context: __SerdeContext): ResizeProgressMessage => { let contents: any = { + TargetNodeType: undefined, + TargetNumberOfNodes: undefined, + TargetClusterType: undefined, Status: undefined, - ElapsedTimeInSeconds: undefined, + ImportTablesCompleted: undefined, + ImportTablesInProgress: undefined, ImportTablesNotStarted: undefined, - TargetClusterType: undefined, - TargetEncryptionType: undefined, + AvgResizeRateInMegaBytesPerSecond: undefined, + TotalResizeDataInMegaBytes: undefined, + ProgressInMegaBytes: undefined, + ElapsedTimeInSeconds: undefined, EstimatedTimeToCompletionInSeconds: undefined, - TargetNodeType: undefined, - ImportTablesCompleted: undefined, - TargetNumberOfNodes: undefined, ResizeType: undefined, - ProgressInMegaBytes: undefined, - AvgResizeRateInMegaBytesPerSecond: undefined, - ImportTablesInProgress: undefined, Message: undefined, - TotalResizeDataInMegaBytes: undefined, + TargetEncryptionType: undefined, DataTransferProgressPercent: undefined, }; - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } - if (output["ElapsedTimeInSeconds"] !== undefined) { - contents.ElapsedTimeInSeconds = parseInt(output["ElapsedTimeInSeconds"]); - } - if (output.ImportTablesNotStarted === "") { - contents.ImportTablesNotStarted = []; - } - if (output["ImportTablesNotStarted"] !== undefined && output["ImportTablesNotStarted"]["member"] !== undefined) { - contents.ImportTablesNotStarted = deserializeAws_queryImportTablesNotStarted( - __getArrayIfSingleItem(output["ImportTablesNotStarted"]["member"]), - context - ); - } - if (output["TargetClusterType"] !== undefined) { - contents.TargetClusterType = output["TargetClusterType"]; - } - if (output["TargetEncryptionType"] !== undefined) { - contents.TargetEncryptionType = output["TargetEncryptionType"]; + if (output["TargetNodeType"] !== undefined) { + contents.TargetNodeType = output["TargetNodeType"]; } - if (output["EstimatedTimeToCompletionInSeconds"] !== undefined) { - contents.EstimatedTimeToCompletionInSeconds = parseInt(output["EstimatedTimeToCompletionInSeconds"]); + if (output["TargetNumberOfNodes"] !== undefined) { + contents.TargetNumberOfNodes = parseInt(output["TargetNumberOfNodes"]); } - if (output["TargetNodeType"] !== undefined) { - contents.TargetNodeType = output["TargetNodeType"]; + if (output["TargetClusterType"] !== undefined) { + contents.TargetClusterType = output["TargetClusterType"]; + } + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; } if (output.ImportTablesCompleted === "") { contents.ImportTablesCompleted = []; @@ -16598,18 +16587,6 @@ const deserializeAws_queryResizeProgressMessage = (output: any, context: __Serde context ); } - if (output["TargetNumberOfNodes"] !== undefined) { - contents.TargetNumberOfNodes = parseInt(output["TargetNumberOfNodes"]); - } - if (output["ResizeType"] !== undefined) { - contents.ResizeType = output["ResizeType"]; - } - if (output["ProgressInMegaBytes"] !== undefined) { - contents.ProgressInMegaBytes = parseInt(output["ProgressInMegaBytes"]); - } - if (output["AvgResizeRateInMegaBytesPerSecond"] !== undefined) { - contents.AvgResizeRateInMegaBytesPerSecond = parseFloat(output["AvgResizeRateInMegaBytesPerSecond"]); - } if (output.ImportTablesInProgress === "") { contents.ImportTablesInProgress = []; } @@ -16619,12 +16596,39 @@ const deserializeAws_queryResizeProgressMessage = (output: any, context: __Serde context ); } - if (output["Message"] !== undefined) { - contents.Message = output["Message"]; + if (output.ImportTablesNotStarted === "") { + contents.ImportTablesNotStarted = []; + } + if (output["ImportTablesNotStarted"] !== undefined && output["ImportTablesNotStarted"]["member"] !== undefined) { + contents.ImportTablesNotStarted = deserializeAws_queryImportTablesNotStarted( + __getArrayIfSingleItem(output["ImportTablesNotStarted"]["member"]), + context + ); + } + if (output["AvgResizeRateInMegaBytesPerSecond"] !== undefined) { + contents.AvgResizeRateInMegaBytesPerSecond = parseFloat(output["AvgResizeRateInMegaBytesPerSecond"]); } if (output["TotalResizeDataInMegaBytes"] !== undefined) { contents.TotalResizeDataInMegaBytes = parseInt(output["TotalResizeDataInMegaBytes"]); } + if (output["ProgressInMegaBytes"] !== undefined) { + contents.ProgressInMegaBytes = parseInt(output["ProgressInMegaBytes"]); + } + if (output["ElapsedTimeInSeconds"] !== undefined) { + contents.ElapsedTimeInSeconds = parseInt(output["ElapsedTimeInSeconds"]); + } + if (output["EstimatedTimeToCompletionInSeconds"] !== undefined) { + contents.EstimatedTimeToCompletionInSeconds = parseInt(output["EstimatedTimeToCompletionInSeconds"]); + } + if (output["ResizeType"] !== undefined) { + contents.ResizeType = output["ResizeType"]; + } + if (output["Message"] !== undefined) { + contents.Message = output["Message"]; + } + if (output["TargetEncryptionType"] !== undefined) { + contents.TargetEncryptionType = output["TargetEncryptionType"]; + } if (output["DataTransferProgressPercent"] !== undefined) { contents.DataTransferProgressPercent = parseFloat(output["DataTransferProgressPercent"]); } @@ -16660,31 +16664,31 @@ const deserializeAws_queryRestoreFromClusterSnapshotResult = ( const deserializeAws_queryRestoreStatus = (output: any, context: __SerdeContext): RestoreStatus => { let contents: any = { - SnapshotSizeInMegaBytes: undefined, - ElapsedTimeInSeconds: undefined, - EstimatedTimeToCompletionInSeconds: undefined, Status: undefined, CurrentRestoreRateInMegaBytesPerSecond: undefined, + SnapshotSizeInMegaBytes: undefined, ProgressInMegaBytes: undefined, + ElapsedTimeInSeconds: undefined, + EstimatedTimeToCompletionInSeconds: undefined, }; - if (output["SnapshotSizeInMegaBytes"] !== undefined) { - contents.SnapshotSizeInMegaBytes = parseInt(output["SnapshotSizeInMegaBytes"]); - } - if (output["ElapsedTimeInSeconds"] !== undefined) { - contents.ElapsedTimeInSeconds = parseInt(output["ElapsedTimeInSeconds"]); - } - if (output["EstimatedTimeToCompletionInSeconds"] !== undefined) { - contents.EstimatedTimeToCompletionInSeconds = parseInt(output["EstimatedTimeToCompletionInSeconds"]); - } if (output["Status"] !== undefined) { contents.Status = output["Status"]; } if (output["CurrentRestoreRateInMegaBytesPerSecond"] !== undefined) { contents.CurrentRestoreRateInMegaBytesPerSecond = parseFloat(output["CurrentRestoreRateInMegaBytesPerSecond"]); } + if (output["SnapshotSizeInMegaBytes"] !== undefined) { + contents.SnapshotSizeInMegaBytes = parseInt(output["SnapshotSizeInMegaBytes"]); + } if (output["ProgressInMegaBytes"] !== undefined) { contents.ProgressInMegaBytes = parseInt(output["ProgressInMegaBytes"]); } + if (output["ElapsedTimeInSeconds"] !== undefined) { + contents.ElapsedTimeInSeconds = parseInt(output["ElapsedTimeInSeconds"]); + } + if (output["EstimatedTimeToCompletionInSeconds"] !== undefined) { + contents.EstimatedTimeToCompletionInSeconds = parseInt(output["EstimatedTimeToCompletionInSeconds"]); + } return contents; }; @@ -16723,18 +16727,18 @@ const deserializeAws_queryResumeClusterResult = (output: any, context: __SerdeCo const deserializeAws_queryRevisionTarget = (output: any, context: __SerdeContext): RevisionTarget => { let contents: any = { - DatabaseRevisionReleaseDate: undefined, - Description: undefined, DatabaseRevision: undefined, + Description: undefined, + DatabaseRevisionReleaseDate: undefined, }; - if (output["DatabaseRevisionReleaseDate"] !== undefined) { - contents.DatabaseRevisionReleaseDate = new Date(output["DatabaseRevisionReleaseDate"]); + if (output["DatabaseRevision"] !== undefined) { + contents.DatabaseRevision = output["DatabaseRevision"]; } if (output["Description"] !== undefined) { contents.Description = output["Description"]; } - if (output["DatabaseRevision"] !== undefined) { - contents.DatabaseRevision = output["DatabaseRevision"]; + if (output["DatabaseRevisionReleaseDate"] !== undefined) { + contents.DatabaseRevisionReleaseDate = new Date(output["DatabaseRevisionReleaseDate"]); } return contents; }; @@ -16784,34 +16788,31 @@ const deserializeAws_queryRotateEncryptionKeyResult = ( const deserializeAws_queryScheduledAction = (output: any, context: __SerdeContext): ScheduledAction => { let contents: any = { - IamRole: undefined, - ScheduledActionDescription: undefined, - EndTime: undefined, + ScheduledActionName: undefined, TargetAction: undefined, - StartTime: undefined, Schedule: undefined, + IamRole: undefined, + ScheduledActionDescription: undefined, State: undefined, NextInvocations: undefined, - ScheduledActionName: undefined, + StartTime: undefined, + EndTime: undefined, }; - if (output["IamRole"] !== undefined) { - contents.IamRole = output["IamRole"]; - } - if (output["ScheduledActionDescription"] !== undefined) { - contents.ScheduledActionDescription = output["ScheduledActionDescription"]; - } - if (output["EndTime"] !== undefined) { - contents.EndTime = new Date(output["EndTime"]); + if (output["ScheduledActionName"] !== undefined) { + contents.ScheduledActionName = output["ScheduledActionName"]; } if (output["TargetAction"] !== undefined) { contents.TargetAction = deserializeAws_queryScheduledActionType(output["TargetAction"], context); } - if (output["StartTime"] !== undefined) { - contents.StartTime = new Date(output["StartTime"]); - } if (output["Schedule"] !== undefined) { contents.Schedule = output["Schedule"]; } + if (output["IamRole"] !== undefined) { + contents.IamRole = output["IamRole"]; + } + if (output["ScheduledActionDescription"] !== undefined) { + contents.ScheduledActionDescription = output["ScheduledActionDescription"]; + } if (output["State"] !== undefined) { contents.State = output["State"]; } @@ -16824,8 +16825,11 @@ const deserializeAws_queryScheduledAction = (output: any, context: __SerdeContex context ); } - if (output["ScheduledActionName"] !== undefined) { - contents.ScheduledActionName = output["ScheduledActionName"]; + if (output["StartTime"] !== undefined) { + contents.StartTime = new Date(output["StartTime"]); + } + if (output["EndTime"] !== undefined) { + contents.EndTime = new Date(output["EndTime"]); } return contents; }; @@ -16899,19 +16903,19 @@ const deserializeAws_queryScheduledActionTimeList = (output: any, context: __Ser const deserializeAws_queryScheduledActionType = (output: any, context: __SerdeContext): ScheduledActionType => { let contents: any = { + ResizeCluster: undefined, PauseCluster: undefined, ResumeCluster: undefined, - ResizeCluster: undefined, }; + if (output["ResizeCluster"] !== undefined) { + contents.ResizeCluster = deserializeAws_queryResizeClusterMessage(output["ResizeCluster"], context); + } if (output["PauseCluster"] !== undefined) { contents.PauseCluster = deserializeAws_queryPauseClusterMessage(output["PauseCluster"], context); } if (output["ResumeCluster"] !== undefined) { contents.ResumeCluster = deserializeAws_queryResumeClusterMessage(output["ResumeCluster"], context); } - if (output["ResizeCluster"] !== undefined) { - contents.ResizeCluster = deserializeAws_queryResizeClusterMessage(output["ResizeCluster"], context); - } return contents; }; @@ -16951,81 +16955,90 @@ const deserializeAws_queryScheduledSnapshotTimeList = (output: any, context: __S const deserializeAws_querySnapshot = (output: any, context: __SerdeContext): Snapshot => { let contents: any = { + SnapshotIdentifier: undefined, ClusterIdentifier: undefined, - VpcId: undefined, - Tags: undefined, + SnapshotCreateTime: undefined, Status: undefined, - ManualSnapshotRemainingDays: undefined, + Port: undefined, + AvailabilityZone: undefined, + ClusterCreateTime: undefined, + MasterUsername: undefined, + ClusterVersion: undefined, + SnapshotType: undefined, + NodeType: undefined, + NumberOfNodes: undefined, + DBName: undefined, + VpcId: undefined, Encrypted: undefined, - ElapsedTimeInSeconds: undefined, KmsKeyId: undefined, - SourceRegion: undefined, - ManualSnapshotRetentionPeriod: undefined, - DBName: undefined, - AvailabilityZone: undefined, - BackupProgressInMegaBytes: undefined, + EncryptedWithHSM: undefined, AccountsWithRestoreAccess: undefined, + OwnerAccount: undefined, + TotalBackupSizeInMegaBytes: undefined, ActualIncrementalBackupSizeInMegaBytes: undefined, - MasterUsername: undefined, + BackupProgressInMegaBytes: undefined, CurrentBackupRateInMegaBytesPerSecond: undefined, - TotalBackupSizeInMegaBytes: undefined, EstimatedSecondsToCompletion: undefined, - Port: undefined, - SnapshotCreateTime: undefined, - EnhancedVpcRouting: undefined, - SnapshotType: undefined, - ClusterCreateTime: undefined, - NumberOfNodes: undefined, - NodeType: undefined, - EncryptedWithHSM: undefined, + ElapsedTimeInSeconds: undefined, + SourceRegion: undefined, + Tags: undefined, RestorableNodeTypes: undefined, - SnapshotRetentionStartTime: undefined, + EnhancedVpcRouting: undefined, MaintenanceTrackName: undefined, - OwnerAccount: undefined, - SnapshotIdentifier: undefined, - ClusterVersion: undefined, + ManualSnapshotRetentionPeriod: undefined, + ManualSnapshotRemainingDays: undefined, + SnapshotRetentionStartTime: undefined, }; + if (output["SnapshotIdentifier"] !== undefined) { + contents.SnapshotIdentifier = output["SnapshotIdentifier"]; + } if (output["ClusterIdentifier"] !== undefined) { contents.ClusterIdentifier = output["ClusterIdentifier"]; } - if (output["VpcId"] !== undefined) { - contents.VpcId = output["VpcId"]; - } - if (output.Tags === "") { - contents.Tags = []; - } - if (output["Tags"] !== undefined && output["Tags"]["Tag"] !== undefined) { - contents.Tags = deserializeAws_queryTagList(__getArrayIfSingleItem(output["Tags"]["Tag"]), context); + if (output["SnapshotCreateTime"] !== undefined) { + contents.SnapshotCreateTime = new Date(output["SnapshotCreateTime"]); } if (output["Status"] !== undefined) { contents.Status = output["Status"]; } - if (output["ManualSnapshotRemainingDays"] !== undefined) { - contents.ManualSnapshotRemainingDays = parseInt(output["ManualSnapshotRemainingDays"]); + if (output["Port"] !== undefined) { + contents.Port = parseInt(output["Port"]); } - if (output["Encrypted"] !== undefined) { - contents.Encrypted = output["Encrypted"] == "true"; + if (output["AvailabilityZone"] !== undefined) { + contents.AvailabilityZone = output["AvailabilityZone"]; } - if (output["ElapsedTimeInSeconds"] !== undefined) { - contents.ElapsedTimeInSeconds = parseInt(output["ElapsedTimeInSeconds"]); + if (output["ClusterCreateTime"] !== undefined) { + contents.ClusterCreateTime = new Date(output["ClusterCreateTime"]); } - if (output["KmsKeyId"] !== undefined) { - contents.KmsKeyId = output["KmsKeyId"]; + if (output["MasterUsername"] !== undefined) { + contents.MasterUsername = output["MasterUsername"]; } - if (output["SourceRegion"] !== undefined) { - contents.SourceRegion = output["SourceRegion"]; + if (output["ClusterVersion"] !== undefined) { + contents.ClusterVersion = output["ClusterVersion"]; } - if (output["ManualSnapshotRetentionPeriod"] !== undefined) { - contents.ManualSnapshotRetentionPeriod = parseInt(output["ManualSnapshotRetentionPeriod"]); + if (output["SnapshotType"] !== undefined) { + contents.SnapshotType = output["SnapshotType"]; + } + if (output["NodeType"] !== undefined) { + contents.NodeType = output["NodeType"]; + } + if (output["NumberOfNodes"] !== undefined) { + contents.NumberOfNodes = parseInt(output["NumberOfNodes"]); } if (output["DBName"] !== undefined) { contents.DBName = output["DBName"]; } - if (output["AvailabilityZone"] !== undefined) { - contents.AvailabilityZone = output["AvailabilityZone"]; + if (output["VpcId"] !== undefined) { + contents.VpcId = output["VpcId"]; } - if (output["BackupProgressInMegaBytes"] !== undefined) { - contents.BackupProgressInMegaBytes = parseFloat(output["BackupProgressInMegaBytes"]); + if (output["Encrypted"] !== undefined) { + contents.Encrypted = output["Encrypted"] == "true"; + } + if (output["KmsKeyId"] !== undefined) { + contents.KmsKeyId = output["KmsKeyId"]; + } + if (output["EncryptedWithHSM"] !== undefined) { + contents.EncryptedWithHSM = output["EncryptedWithHSM"] == "true"; } if (output.AccountsWithRestoreAccess === "") { contents.AccountsWithRestoreAccess = []; @@ -17039,44 +17052,35 @@ const deserializeAws_querySnapshot = (output: any, context: __SerdeContext): Sna context ); } - if (output["ActualIncrementalBackupSizeInMegaBytes"] !== undefined) { - contents.ActualIncrementalBackupSizeInMegaBytes = parseFloat(output["ActualIncrementalBackupSizeInMegaBytes"]); - } - if (output["MasterUsername"] !== undefined) { - contents.MasterUsername = output["MasterUsername"]; - } - if (output["CurrentBackupRateInMegaBytesPerSecond"] !== undefined) { - contents.CurrentBackupRateInMegaBytesPerSecond = parseFloat(output["CurrentBackupRateInMegaBytesPerSecond"]); + if (output["OwnerAccount"] !== undefined) { + contents.OwnerAccount = output["OwnerAccount"]; } if (output["TotalBackupSizeInMegaBytes"] !== undefined) { contents.TotalBackupSizeInMegaBytes = parseFloat(output["TotalBackupSizeInMegaBytes"]); } - if (output["EstimatedSecondsToCompletion"] !== undefined) { - contents.EstimatedSecondsToCompletion = parseInt(output["EstimatedSecondsToCompletion"]); - } - if (output["Port"] !== undefined) { - contents.Port = parseInt(output["Port"]); + if (output["ActualIncrementalBackupSizeInMegaBytes"] !== undefined) { + contents.ActualIncrementalBackupSizeInMegaBytes = parseFloat(output["ActualIncrementalBackupSizeInMegaBytes"]); } - if (output["SnapshotCreateTime"] !== undefined) { - contents.SnapshotCreateTime = new Date(output["SnapshotCreateTime"]); + if (output["BackupProgressInMegaBytes"] !== undefined) { + contents.BackupProgressInMegaBytes = parseFloat(output["BackupProgressInMegaBytes"]); } - if (output["EnhancedVpcRouting"] !== undefined) { - contents.EnhancedVpcRouting = output["EnhancedVpcRouting"] == "true"; + if (output["CurrentBackupRateInMegaBytesPerSecond"] !== undefined) { + contents.CurrentBackupRateInMegaBytesPerSecond = parseFloat(output["CurrentBackupRateInMegaBytesPerSecond"]); } - if (output["SnapshotType"] !== undefined) { - contents.SnapshotType = output["SnapshotType"]; + if (output["EstimatedSecondsToCompletion"] !== undefined) { + contents.EstimatedSecondsToCompletion = parseInt(output["EstimatedSecondsToCompletion"]); } - if (output["ClusterCreateTime"] !== undefined) { - contents.ClusterCreateTime = new Date(output["ClusterCreateTime"]); + if (output["ElapsedTimeInSeconds"] !== undefined) { + contents.ElapsedTimeInSeconds = parseInt(output["ElapsedTimeInSeconds"]); } - if (output["NumberOfNodes"] !== undefined) { - contents.NumberOfNodes = parseInt(output["NumberOfNodes"]); + if (output["SourceRegion"] !== undefined) { + contents.SourceRegion = output["SourceRegion"]; } - if (output["NodeType"] !== undefined) { - contents.NodeType = output["NodeType"]; + if (output.Tags === "") { + contents.Tags = []; } - if (output["EncryptedWithHSM"] !== undefined) { - contents.EncryptedWithHSM = output["EncryptedWithHSM"] == "true"; + if (output["Tags"] !== undefined && output["Tags"]["Tag"] !== undefined) { + contents.Tags = deserializeAws_queryTagList(__getArrayIfSingleItem(output["Tags"]["Tag"]), context); } if (output.RestorableNodeTypes === "") { contents.RestorableNodeTypes = []; @@ -17087,20 +17091,20 @@ const deserializeAws_querySnapshot = (output: any, context: __SerdeContext): Sna context ); } - if (output["SnapshotRetentionStartTime"] !== undefined) { - contents.SnapshotRetentionStartTime = new Date(output["SnapshotRetentionStartTime"]); + if (output["EnhancedVpcRouting"] !== undefined) { + contents.EnhancedVpcRouting = output["EnhancedVpcRouting"] == "true"; } if (output["MaintenanceTrackName"] !== undefined) { contents.MaintenanceTrackName = output["MaintenanceTrackName"]; } - if (output["OwnerAccount"] !== undefined) { - contents.OwnerAccount = output["OwnerAccount"]; + if (output["ManualSnapshotRetentionPeriod"] !== undefined) { + contents.ManualSnapshotRetentionPeriod = parseInt(output["ManualSnapshotRetentionPeriod"]); } - if (output["SnapshotIdentifier"] !== undefined) { - contents.SnapshotIdentifier = output["SnapshotIdentifier"]; + if (output["ManualSnapshotRemainingDays"] !== undefined) { + contents.ManualSnapshotRemainingDays = parseInt(output["ManualSnapshotRemainingDays"]); } - if (output["ClusterVersion"] !== undefined) { - contents.ClusterVersion = output["ClusterVersion"]; + if (output["SnapshotRetentionStartTime"] !== undefined) { + contents.SnapshotRetentionStartTime = new Date(output["SnapshotRetentionStartTime"]); } return contents; }; @@ -17146,22 +17150,22 @@ const deserializeAws_querySnapshotCopyDisabledFault = ( const deserializeAws_querySnapshotCopyGrant = (output: any, context: __SerdeContext): SnapshotCopyGrant => { let contents: any = { - Tags: undefined, - KmsKeyId: undefined, SnapshotCopyGrantName: undefined, + KmsKeyId: undefined, + Tags: undefined, }; + if (output["SnapshotCopyGrantName"] !== undefined) { + contents.SnapshotCopyGrantName = output["SnapshotCopyGrantName"]; + } + if (output["KmsKeyId"] !== undefined) { + contents.KmsKeyId = output["KmsKeyId"]; + } if (output.Tags === "") { contents.Tags = []; } if (output["Tags"] !== undefined && output["Tags"]["Tag"] !== undefined) { contents.Tags = deserializeAws_queryTagList(__getArrayIfSingleItem(output["Tags"]["Tag"]), context); } - if (output["KmsKeyId"] !== undefined) { - contents.KmsKeyId = output["KmsKeyId"]; - } - if (output["SnapshotCopyGrantName"] !== undefined) { - contents.SnapshotCopyGrantName = output["SnapshotCopyGrantName"]; - } return contents; }; @@ -17187,9 +17191,12 @@ const deserializeAws_querySnapshotCopyGrantMessage = ( context: __SerdeContext ): SnapshotCopyGrantMessage => { let contents: any = { - SnapshotCopyGrants: undefined, Marker: undefined, + SnapshotCopyGrants: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.SnapshotCopyGrants === "") { contents.SnapshotCopyGrants = []; } @@ -17199,9 +17206,6 @@ const deserializeAws_querySnapshotCopyGrantMessage = ( context ); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; @@ -17233,13 +17237,13 @@ const deserializeAws_querySnapshotCopyGrantQuotaExceededFault = ( const deserializeAws_querySnapshotErrorMessage = (output: any, context: __SerdeContext): SnapshotErrorMessage => { let contents: any = { - FailureReason: undefined, + SnapshotIdentifier: undefined, SnapshotClusterIdentifier: undefined, FailureCode: undefined, - SnapshotIdentifier: undefined, + FailureReason: undefined, }; - if (output["FailureReason"] !== undefined) { - contents.FailureReason = output["FailureReason"]; + if (output["SnapshotIdentifier"] !== undefined) { + contents.SnapshotIdentifier = output["SnapshotIdentifier"]; } if (output["SnapshotClusterIdentifier"] !== undefined) { contents.SnapshotClusterIdentifier = output["SnapshotClusterIdentifier"]; @@ -17247,8 +17251,8 @@ const deserializeAws_querySnapshotErrorMessage = (output: any, context: __SerdeC if (output["FailureCode"] !== undefined) { contents.FailureCode = output["FailureCode"]; } - if (output["SnapshotIdentifier"] !== undefined) { - contents.SnapshotIdentifier = output["SnapshotIdentifier"]; + if (output["FailureReason"] !== undefined) { + contents.FailureReason = output["FailureReason"]; } return contents; }; @@ -17283,17 +17287,38 @@ const deserializeAws_querySnapshotMessage = (output: any, context: __SerdeContex const deserializeAws_querySnapshotSchedule = (output: any, context: __SerdeContext): SnapshotSchedule => { let contents: any = { + ScheduleDefinitions: undefined, ScheduleIdentifier: undefined, + ScheduleDescription: undefined, + Tags: undefined, NextInvocations: undefined, AssociatedClusterCount: undefined, AssociatedClusters: undefined, - Tags: undefined, - ScheduleDefinitions: undefined, - ScheduleDescription: undefined, }; + if (output.ScheduleDefinitions === "") { + contents.ScheduleDefinitions = []; + } + if ( + output["ScheduleDefinitions"] !== undefined && + output["ScheduleDefinitions"]["ScheduleDefinition"] !== undefined + ) { + contents.ScheduleDefinitions = deserializeAws_queryScheduleDefinitionList( + __getArrayIfSingleItem(output["ScheduleDefinitions"]["ScheduleDefinition"]), + context + ); + } if (output["ScheduleIdentifier"] !== undefined) { contents.ScheduleIdentifier = output["ScheduleIdentifier"]; } + if (output["ScheduleDescription"] !== undefined) { + contents.ScheduleDescription = output["ScheduleDescription"]; + } + if (output.Tags === "") { + contents.Tags = []; + } + if (output["Tags"] !== undefined && output["Tags"]["Tag"] !== undefined) { + contents.Tags = deserializeAws_queryTagList(__getArrayIfSingleItem(output["Tags"]["Tag"]), context); + } if (output.NextInvocations === "") { contents.NextInvocations = []; } @@ -17318,27 +17343,6 @@ const deserializeAws_querySnapshotSchedule = (output: any, context: __SerdeConte context ); } - if (output.Tags === "") { - contents.Tags = []; - } - if (output["Tags"] !== undefined && output["Tags"]["Tag"] !== undefined) { - contents.Tags = deserializeAws_queryTagList(__getArrayIfSingleItem(output["Tags"]["Tag"]), context); - } - if (output.ScheduleDefinitions === "") { - contents.ScheduleDefinitions = []; - } - if ( - output["ScheduleDefinitions"] !== undefined && - output["ScheduleDefinitions"]["ScheduleDefinition"] !== undefined - ) { - contents.ScheduleDefinitions = deserializeAws_queryScheduleDefinitionList( - __getArrayIfSingleItem(output["ScheduleDefinitions"]["ScheduleDefinition"]), - context - ); - } - if (output["ScheduleDescription"] !== undefined) { - contents.ScheduleDescription = output["ScheduleDescription"]; - } return contents; }; @@ -17448,18 +17452,18 @@ const deserializeAws_querySourceNotFoundFault = (output: any, context: __SerdeCo const deserializeAws_querySubnet = (output: any, context: __SerdeContext): Subnet => { let contents: any = { SubnetIdentifier: undefined, - SubnetStatus: undefined, SubnetAvailabilityZone: undefined, + SubnetStatus: undefined, }; if (output["SubnetIdentifier"] !== undefined) { contents.SubnetIdentifier = output["SubnetIdentifier"]; } - if (output["SubnetStatus"] !== undefined) { - contents.SubnetStatus = output["SubnetStatus"]; - } if (output["SubnetAvailabilityZone"] !== undefined) { contents.SubnetAvailabilityZone = deserializeAws_queryAvailabilityZone(output["SubnetAvailabilityZone"], context); } + if (output["SubnetStatus"] !== undefined) { + contents.SubnetStatus = output["SubnetStatus"]; + } return contents; }; @@ -17595,62 +17599,62 @@ const deserializeAws_queryTableRestoreNotFoundFault = ( const deserializeAws_queryTableRestoreStatus = (output: any, context: __SerdeContext): TableRestoreStatus => { let contents: any = { - SourceDatabaseName: undefined, + TableRestoreRequestId: undefined, + Status: undefined, + Message: undefined, RequestTime: undefined, + ProgressInMegaBytes: undefined, + TotalDataInMegaBytes: undefined, + ClusterIdentifier: undefined, + SnapshotIdentifier: undefined, + SourceDatabaseName: undefined, + SourceSchemaName: undefined, SourceTableName: undefined, TargetDatabaseName: undefined, - SnapshotIdentifier: undefined, - TotalDataInMegaBytes: undefined, TargetSchemaName: undefined, - ClusterIdentifier: undefined, NewTableName: undefined, - Status: undefined, - SourceSchemaName: undefined, - Message: undefined, - ProgressInMegaBytes: undefined, - TableRestoreRequestId: undefined, }; - if (output["SourceDatabaseName"] !== undefined) { - contents.SourceDatabaseName = output["SourceDatabaseName"]; + if (output["TableRestoreRequestId"] !== undefined) { + contents.TableRestoreRequestId = output["TableRestoreRequestId"]; } - if (output["RequestTime"] !== undefined) { - contents.RequestTime = new Date(output["RequestTime"]); + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; } - if (output["SourceTableName"] !== undefined) { - contents.SourceTableName = output["SourceTableName"]; + if (output["Message"] !== undefined) { + contents.Message = output["Message"]; } - if (output["TargetDatabaseName"] !== undefined) { - contents.TargetDatabaseName = output["TargetDatabaseName"]; + if (output["RequestTime"] !== undefined) { + contents.RequestTime = new Date(output["RequestTime"]); } - if (output["SnapshotIdentifier"] !== undefined) { - contents.SnapshotIdentifier = output["SnapshotIdentifier"]; + if (output["ProgressInMegaBytes"] !== undefined) { + contents.ProgressInMegaBytes = parseInt(output["ProgressInMegaBytes"]); } if (output["TotalDataInMegaBytes"] !== undefined) { contents.TotalDataInMegaBytes = parseInt(output["TotalDataInMegaBytes"]); } - if (output["TargetSchemaName"] !== undefined) { - contents.TargetSchemaName = output["TargetSchemaName"]; - } if (output["ClusterIdentifier"] !== undefined) { contents.ClusterIdentifier = output["ClusterIdentifier"]; } - if (output["NewTableName"] !== undefined) { - contents.NewTableName = output["NewTableName"]; + if (output["SnapshotIdentifier"] !== undefined) { + contents.SnapshotIdentifier = output["SnapshotIdentifier"]; } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; + if (output["SourceDatabaseName"] !== undefined) { + contents.SourceDatabaseName = output["SourceDatabaseName"]; } if (output["SourceSchemaName"] !== undefined) { contents.SourceSchemaName = output["SourceSchemaName"]; } - if (output["Message"] !== undefined) { - contents.Message = output["Message"]; + if (output["SourceTableName"] !== undefined) { + contents.SourceTableName = output["SourceTableName"]; } - if (output["ProgressInMegaBytes"] !== undefined) { - contents.ProgressInMegaBytes = parseInt(output["ProgressInMegaBytes"]); + if (output["TargetDatabaseName"] !== undefined) { + contents.TargetDatabaseName = output["TargetDatabaseName"]; } - if (output["TableRestoreRequestId"] !== undefined) { - contents.TableRestoreRequestId = output["TableRestoreRequestId"]; + if (output["TargetSchemaName"] !== undefined) { + contents.TargetSchemaName = output["TargetSchemaName"]; + } + if (output["NewTableName"] !== undefined) { + contents.NewTableName = output["NewTableName"]; } return contents; }; @@ -17664,12 +17668,9 @@ const deserializeAws_queryTableRestoreStatusMessage = ( context: __SerdeContext ): TableRestoreStatusMessage => { let contents: any = { - Marker: undefined, TableRestoreStatusDetails: undefined, + Marker: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output.TableRestoreStatusDetails === "") { contents.TableRestoreStatusDetails = []; } @@ -17682,6 +17683,9 @@ const deserializeAws_queryTableRestoreStatusMessage = ( context ); } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; @@ -17701,19 +17705,19 @@ const deserializeAws_queryTag = (output: any, context: __SerdeContext): Tag => { const deserializeAws_queryTaggedResource = (output: any, context: __SerdeContext): TaggedResource => { let contents: any = { + Tag: undefined, ResourceName: undefined, ResourceType: undefined, - Tag: undefined, }; + if (output["Tag"] !== undefined) { + contents.Tag = deserializeAws_queryTag(output["Tag"], context); + } if (output["ResourceName"] !== undefined) { contents.ResourceName = output["ResourceName"]; } if (output["ResourceType"] !== undefined) { contents.ResourceType = output["ResourceType"]; } - if (output["Tag"] !== undefined) { - contents.Tag = deserializeAws_queryTag(output["Tag"], context); - } return contents; }; @@ -17830,16 +17834,16 @@ const deserializeAws_queryUnsupportedOptionFault = (output: any, context: __Serd const deserializeAws_queryUpdateTarget = (output: any, context: __SerdeContext): UpdateTarget => { let contents: any = { - DatabaseVersion: undefined, MaintenanceTrackName: undefined, + DatabaseVersion: undefined, SupportedOperations: undefined, }; - if (output["DatabaseVersion"] !== undefined) { - contents.DatabaseVersion = output["DatabaseVersion"]; - } if (output["MaintenanceTrackName"] !== undefined) { contents.MaintenanceTrackName = output["MaintenanceTrackName"]; } + if (output["DatabaseVersion"] !== undefined) { + contents.DatabaseVersion = output["DatabaseVersion"]; + } if (output.SupportedOperations === "") { contents.SupportedOperations = []; } @@ -17857,33 +17861,24 @@ const deserializeAws_queryUpdateTarget = (output: any, context: __SerdeContext): const deserializeAws_queryUsageLimit = (output: any, context: __SerdeContext): UsageLimit => { let contents: any = { - ClusterIdentifier: undefined, - Tags: undefined, UsageLimitId: undefined, + ClusterIdentifier: undefined, FeatureType: undefined, - BreachAction: undefined, LimitType: undefined, Amount: undefined, Period: undefined, + BreachAction: undefined, + Tags: undefined, }; - if (output["ClusterIdentifier"] !== undefined) { - contents.ClusterIdentifier = output["ClusterIdentifier"]; - } - if (output.Tags === "") { - contents.Tags = []; - } - if (output["Tags"] !== undefined && output["Tags"]["Tag"] !== undefined) { - contents.Tags = deserializeAws_queryTagList(__getArrayIfSingleItem(output["Tags"]["Tag"]), context); - } if (output["UsageLimitId"] !== undefined) { contents.UsageLimitId = output["UsageLimitId"]; } + if (output["ClusterIdentifier"] !== undefined) { + contents.ClusterIdentifier = output["ClusterIdentifier"]; + } if (output["FeatureType"] !== undefined) { contents.FeatureType = output["FeatureType"]; } - if (output["BreachAction"] !== undefined) { - contents.BreachAction = output["BreachAction"]; - } if (output["LimitType"] !== undefined) { contents.LimitType = output["LimitType"]; } @@ -17893,6 +17888,15 @@ const deserializeAws_queryUsageLimit = (output: any, context: __SerdeContext): U if (output["Period"] !== undefined) { contents.Period = output["Period"]; } + if (output["BreachAction"] !== undefined) { + contents.BreachAction = output["BreachAction"]; + } + if (output.Tags === "") { + contents.Tags = []; + } + if (output["Tags"] !== undefined && output["Tags"]["Tag"] !== undefined) { + contents.Tags = deserializeAws_queryTagList(__getArrayIfSingleItem(output["Tags"]["Tag"]), context); + } return contents; }; @@ -17948,15 +17952,15 @@ const deserializeAws_queryVpcSecurityGroupMembership = ( context: __SerdeContext ): VpcSecurityGroupMembership => { let contents: any = { - Status: undefined, VpcSecurityGroupId: undefined, + Status: undefined, }; - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } if (output["VpcSecurityGroupId"] !== undefined) { contents.VpcSecurityGroupId = output["VpcSecurityGroupId"]; } + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; + } return contents; }; diff --git a/clients/client-s3/S3.ts b/clients/client-s3/S3.ts index edb1425194df..7c281b3c64b8 100644 --- a/clients/client-s3/S3.ts +++ b/clients/client-s3/S3.ts @@ -1787,8 +1787,6 @@ export class S3 extends S3Client { * ability to perform this action.

                                  * * - * - * *

                                  For more information about bucket policies, see Using Bucket Policies and * UserPolicies.

                                  *

                                  The following operations are related to DeleteBucketPolicy @@ -3422,12 +3420,13 @@ export class S3 extends S3Client { * BitTorrent. For more information, see Amazon S3 * Torrent. For more information about returning the ACL of an object, see GetObjectAcl.

                                  * - *

                                  If the object you are retrieving is stored in the S3 Glacier, S3 Glacier Deep Archive, - * S3 Intelligent-Tiering Archive, or S3 Intelligent-Tiering Deep Archive storage classes, before you can retrieve - * the object you must first restore a copy using RestoreObject. Otherwise, this - * operation returns an InvalidObjectStateError error. For information about - * restoring archived objects, see Restoring - * Archived Objects.

                                  + *

                                  If the object you are retrieving is stored in the S3 Glacier or + * S3 Glacier Deep Archive storage class, or S3 Intelligent-Tiering Archive or + * S3 Intelligent-Tiering Deep Archive tiers, before you can retrieve the object you must first restore a + * copy using RestoreObject. Otherwise, this operation returns an + * InvalidObjectStateError error. For information about restoring archived + * objects, see Restoring Archived + * Objects.

                                  * *

                                  Encryption request headers, like x-amz-server-side-encryption, should not * be sent for GET requests if your object uses server-side encryption with CMKs stored in AWS @@ -5531,6 +5530,7 @@ export class S3 extends S3Client { * * * + * *

                                  * Rules *

                                  @@ -6069,12 +6069,8 @@ export class S3 extends S3Client { * DeleteMarkerReplication, Status, and * Priority.

                                  * - *

                                  The latest version of the replication configuration XML is V2. XML V2 replication - * configurations are those that contain the Filter element for rules, and - * rules that specify S3 Replication Time Control (S3 RTC). In XML V2 replication configurations, Amazon S3 doesn't - * replicate delete markers. Therefore, you must set the - * DeleteMarkerReplication element to Disabled. For backward - * compatibility, Amazon S3 continues to support the XML V1 replication configuration.

                                  + *

                                  If you are using an earlier version of the replication configuration, Amazon S3 handles + * replication of delete markers differently. For more information, see Backward Compatibility.

                                  *
                                  *

                                  For information about enabling versioning on a bucket, see Using Versioning.

                                  * @@ -7313,16 +7309,17 @@ export class S3 extends S3Client { *
                                • *
                                *

                                - * Restoring Archives + * Restoring objects *

                                - *

                                Objects that you archive to the S3 Glacier, - * S3 Glacier Deep Archive, S3 Intelligent-Tiering Archive, or S3 Intelligent-Tiering Deep Archive storage - * classes are not accessible in real time. For objects in Archive Access tier or - * Deep Archive Access tier you must first initiate a restore request, and then wait until the object - * is moved into the Frequent Access tier. For objects in S3 Glacier or - * S3 Glacier Deep Archive you must first initiate a restore request, and then wait - * until a temporary copy of the object is available. To access an archived object, you must - * restore the object for the duration (number of days) that you specify.

                                + *

                                Objects that you archive to the S3 Glacier or + * S3 Glacier Deep Archive storage class, and S3 Intelligent-Tiering Archive or + * S3 Intelligent-Tiering Deep Archive tiers are not accessible in real time. For objects in + * Archive Access or Deep Archive Access tiers you must first initiate a restore request, and + * then wait until the object is moved into the Frequent Access tier. For objects in + * S3 Glacier or S3 Glacier Deep Archive storage classes you must + * first initiate a restore request, and then wait until a temporary copy of the object is + * available. To access an archived object, you must restore the object for the duration + * (number of days) that you specify.

                                *

                                To restore a specific object version, you can provide a version ID. If you don't provide * a version ID, Amazon S3 restores the current version.

                                *

                                When restoring an archived object (or using a select request), you can specify one of @@ -7334,14 +7331,14 @@ export class S3 extends S3Client { * * Expedited * - Expedited retrievals - * allow you to quickly access your data stored in the S3 Glacier or - * S3 Intelligent-Tiering Archive storage class when occasional urgent requests for a subset of - * archives are required. For all but the largest archived objects (250 MB+), data - * accessed using Expedited retrievals is typically made available within 1–5 minutes. - * Provisioned capacity ensures that retrieval capacity for Expedited retrievals is - * available when you need it. Expedited retrievals and provisioned capacity are not - * available for objects stored in the S3 Glacier Deep Archive or - * S3 Intelligent-Tiering Deep Archive storage class.

                                + * allow you to quickly access your data stored in the S3 Glacier + * storage class or S3 Intelligent-Tiering Archive tier when occasional urgent requests for a + * subset of archives are required. For all but the largest archived objects (250 MB+), + * data accessed using Expedited retrievals is typically made available within 1–5 + * minutes. Provisioned capacity ensures that retrieval capacity for Expedited + * retrievals is available when you need it. Expedited retrievals and provisioned + * capacity are not available for objects stored in the S3 Glacier Deep Archive + * storage class or S3 Intelligent-Tiering Deep Archive tier.

                                *
                              • *
                              • *

                                @@ -7351,10 +7348,10 @@ export class S3 extends S3Client { * you to access any of your archived objects within several hours. This is the default * option for retrieval requests that do not specify the retrieval option. Standard * retrievals typically finish within 3–5 hours for objects stored in the - * S3 Glacier or S3 Intelligent-Tiering Archive storage class. They typically - * finish within 12 hours for objects stored in the S3 Glacier Deep Archive or - * S3 Intelligent-Tiering Deep Archive storage class. Standard retrievals are free for objects stored - * in S3 Intelligent-Tiering.

                                + * S3 Glacier storage class or S3 Intelligent-Tiering Archive tier. They + * typically finish within 12 hours for objects stored in the + * S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier. + * Standard retrievals are free for objects stored in S3 Intelligent-Tiering.

                                *
                              • *
                              • *

                                @@ -7363,10 +7360,10 @@ export class S3 extends S3Client { * - Bulk retrievals are the * lowest-cost retrieval option in S3 Glacier, enabling you to retrieve large amounts, * even petabytes, of data inexpensively. Bulk retrievals typically finish within 5–12 - * hours for objects stored in the S3 Glacier or S3 Intelligent-Tiering Archive - * storage class. They typically finish within 48 hours for objects stored in the - * S3 Glacier Deep Archive or S3 Intelligent-Tiering Deep Archive storage class. Bulk - * retrievals are free for objects stored in S3 Intelligent-Tiering.

                                + * hours for objects stored in the S3 Glacier storage class or + * S3 Intelligent-Tiering Archive tier. They typically finish within 48 hours for objects stored + * in the S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier. + * Bulk retrievals are free for objects stored in S3 Intelligent-Tiering.

                                *
                              • *
                              *

                              For more information about archive retrieval options and provisioned capacity for diff --git a/clients/client-s3/models/models_0.ts b/clients/client-s3/models/models_0.ts index 94a479a09ad5..a0507f4021b8 100644 --- a/clients/client-s3/models/models_0.ts +++ b/clients/client-s3/models/models_0.ts @@ -3790,28 +3790,71 @@ export namespace AnalyticsAndOperator { * one prefix, one tag, or one conjunction (AnalyticsAndOperator). If no filter is provided, * all objects will be considered in any analysis.

                              */ -export interface AnalyticsFilter { +export type AnalyticsFilter = + | AnalyticsFilter.AndMember + | AnalyticsFilter.PrefixMember + | AnalyticsFilter.TagMember + | AnalyticsFilter.$UnknownMember; + +export namespace AnalyticsFilter { /** *

                              The prefix to use when evaluating an analytics filter.

                              */ - Prefix?: string; + export interface PrefixMember { + Prefix: string; + Tag?: never; + And?: never; + $unknown?: never; + } /** *

                              The tag to use when evaluating an analytics filter.

                              */ - Tag?: Tag; + export interface TagMember { + Prefix?: never; + Tag: Tag; + And?: never; + $unknown?: never; + } /** *

                              A conjunction (logical AND) of predicates, which is used in evaluating an analytics * filter. The operator must have at least two predicates.

                              */ - And?: AnalyticsAndOperator; -} - -export namespace AnalyticsFilter { - export const filterSensitiveLog = (obj: AnalyticsFilter): any => ({ - ...obj, - }); + export interface AndMember { + Prefix?: never; + Tag?: never; + And: AnalyticsAndOperator; + $unknown?: never; + } + + export interface $UnknownMember { + Prefix?: never; + Tag?: never; + And?: never; + $unknown: [string, any]; + } + + export interface Visitor { + Prefix: (value: string) => T; + Tag: (value: Tag) => T; + And: (value: AnalyticsAndOperator) => T; + _: (name: string, value: any) => T; + } + + export const visit = (value: AnalyticsFilter, visitor: Visitor): T => { + if (value.Prefix !== undefined) return visitor.Prefix(value.Prefix); + if (value.Tag !== undefined) return visitor.Tag(value.Tag); + if (value.And !== undefined) return visitor.And(value.And); + return visitor._(value.$unknown[0], value.$unknown[1]); + }; + + export const filterSensitiveLog = (obj: AnalyticsFilter): any => { + if (obj.Prefix !== undefined) return { Prefix: obj.Prefix }; + if (obj.Tag !== undefined) return { Tag: Tag.filterSensitiveLog(obj.Tag) }; + if (obj.And !== undefined) return { And: AnalyticsAndOperator.filterSensitiveLog(obj.And) }; + if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" }; + }; } export type AnalyticsS3ExportFileFormat = "CSV"; @@ -3938,6 +3981,7 @@ export interface AnalyticsConfiguration { export namespace AnalyticsConfiguration { export const filterSensitiveLog = (obj: AnalyticsConfiguration): any => ({ ...obj, + ...(obj.Filter && { Filter: AnalyticsFilter.filterSensitiveLog(obj.Filter) }), }); } @@ -3951,6 +3995,9 @@ export interface GetBucketAnalyticsConfigurationOutput { export namespace GetBucketAnalyticsConfigurationOutput { export const filterSensitiveLog = (obj: GetBucketAnalyticsConfigurationOutput): any => ({ ...obj, + ...(obj.AnalyticsConfiguration && { + AnalyticsConfiguration: AnalyticsConfiguration.filterSensitiveLog(obj.AnalyticsConfiguration), + }), }); } @@ -4244,9 +4291,10 @@ export type IntelligentTieringAccessTier = "ARCHIVE_ACCESS" | "DEEP_ARCHIVE_ACCE */ export interface Tiering { /** - *

                              The number of days that you want your archived data to be accessible. The minimum number - * of days specified in the restore request must be at least 90 days. If a smaller value is - * specifed it will be ignored.

                              + *

                              The number of consecutive days of no access after which an object will be eligible to be + * transitioned to the corresponding tier. The minimum number of days specified for + * Archive Access tier must be at least 90 days and Deep Archive Access tier must be at least + * 180 days. The maximum can be up to 2 years (730 days).

                              */ Days: number | undefined; @@ -4652,29 +4700,72 @@ export namespace LifecycleRuleAndOperator { * Filter must have exactly one of Prefix, Tag, or * And specified.

                              */ -export interface LifecycleRuleFilter { +export type LifecycleRuleFilter = + | LifecycleRuleFilter.AndMember + | LifecycleRuleFilter.PrefixMember + | LifecycleRuleFilter.TagMember + | LifecycleRuleFilter.$UnknownMember; + +export namespace LifecycleRuleFilter { /** *

                              Prefix identifying one or more objects to which the rule applies.

                              */ - Prefix?: string; + export interface PrefixMember { + Prefix: string; + Tag?: never; + And?: never; + $unknown?: never; + } /** *

                              This tag must exist in the object's tag set in order for the rule to apply.

                              */ - Tag?: Tag; + export interface TagMember { + Prefix?: never; + Tag: Tag; + And?: never; + $unknown?: never; + } /** *

                              This is used in a Lifecycle Rule Filter to apply a logical AND to two or more * predicates. The Lifecycle Rule will apply to any object matching all of the predicates * configured inside the And operator.

                              */ - And?: LifecycleRuleAndOperator; -} - -export namespace LifecycleRuleFilter { - export const filterSensitiveLog = (obj: LifecycleRuleFilter): any => ({ - ...obj, - }); + export interface AndMember { + Prefix?: never; + Tag?: never; + And: LifecycleRuleAndOperator; + $unknown?: never; + } + + export interface $UnknownMember { + Prefix?: never; + Tag?: never; + And?: never; + $unknown: [string, any]; + } + + export interface Visitor { + Prefix: (value: string) => T; + Tag: (value: Tag) => T; + And: (value: LifecycleRuleAndOperator) => T; + _: (name: string, value: any) => T; + } + + export const visit = (value: LifecycleRuleFilter, visitor: Visitor): T => { + if (value.Prefix !== undefined) return visitor.Prefix(value.Prefix); + if (value.Tag !== undefined) return visitor.Tag(value.Tag); + if (value.And !== undefined) return visitor.And(value.And); + return visitor._(value.$unknown[0], value.$unknown[1]); + }; + + export const filterSensitiveLog = (obj: LifecycleRuleFilter): any => { + if (obj.Prefix !== undefined) return { Prefix: obj.Prefix }; + if (obj.Tag !== undefined) return { Tag: Tag.filterSensitiveLog(obj.Tag) }; + if (obj.And !== undefined) return { And: LifecycleRuleAndOperator.filterSensitiveLog(obj.And) }; + if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" }; + }; } /** @@ -4832,6 +4923,7 @@ export interface LifecycleRule { export namespace LifecycleRule { export const filterSensitiveLog = (obj: LifecycleRule): any => ({ ...obj, + ...(obj.Filter && { Filter: LifecycleRuleFilter.filterSensitiveLog(obj.Filter) }), }); } @@ -4845,6 +4937,7 @@ export interface GetBucketLifecycleConfigurationOutput { export namespace GetBucketLifecycleConfigurationOutput { export const filterSensitiveLog = (obj: GetBucketLifecycleConfigurationOutput): any => ({ ...obj, + ...(obj.Rules && { Rules: obj.Rules.map((item) => LifecycleRule.filterSensitiveLog(item)) }), }); } @@ -5018,29 +5111,72 @@ export namespace MetricsAndOperator { * objects that meet the filter's criteria. A filter must be a prefix, a tag, or a conjunction * (MetricsAndOperator).

                              */ -export interface MetricsFilter { +export type MetricsFilter = + | MetricsFilter.AndMember + | MetricsFilter.PrefixMember + | MetricsFilter.TagMember + | MetricsFilter.$UnknownMember; + +export namespace MetricsFilter { /** *

                              The prefix used when evaluating a metrics filter.

                              */ - Prefix?: string; + export interface PrefixMember { + Prefix: string; + Tag?: never; + And?: never; + $unknown?: never; + } /** *

                              The tag used when evaluating a metrics filter.

                              */ - Tag?: Tag; + export interface TagMember { + Prefix?: never; + Tag: Tag; + And?: never; + $unknown?: never; + } /** *

                              A conjunction (logical AND) of predicates, which is used in evaluating a metrics filter. * The operator must have at least two predicates, and an object must match all of the * predicates in order for the filter to apply.

                              */ - And?: MetricsAndOperator; -} - -export namespace MetricsFilter { - export const filterSensitiveLog = (obj: MetricsFilter): any => ({ - ...obj, - }); + export interface AndMember { + Prefix?: never; + Tag?: never; + And: MetricsAndOperator; + $unknown?: never; + } + + export interface $UnknownMember { + Prefix?: never; + Tag?: never; + And?: never; + $unknown: [string, any]; + } + + export interface Visitor { + Prefix: (value: string) => T; + Tag: (value: Tag) => T; + And: (value: MetricsAndOperator) => T; + _: (name: string, value: any) => T; + } + + export const visit = (value: MetricsFilter, visitor: Visitor): T => { + if (value.Prefix !== undefined) return visitor.Prefix(value.Prefix); + if (value.Tag !== undefined) return visitor.Tag(value.Tag); + if (value.And !== undefined) return visitor.And(value.And); + return visitor._(value.$unknown[0], value.$unknown[1]); + }; + + export const filterSensitiveLog = (obj: MetricsFilter): any => { + if (obj.Prefix !== undefined) return { Prefix: obj.Prefix }; + if (obj.Tag !== undefined) return { Tag: Tag.filterSensitiveLog(obj.Tag) }; + if (obj.And !== undefined) return { And: MetricsAndOperator.filterSensitiveLog(obj.And) }; + if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" }; + }; } /** @@ -5068,6 +5204,7 @@ export interface MetricsConfiguration { export namespace MetricsConfiguration { export const filterSensitiveLog = (obj: MetricsConfiguration): any => ({ ...obj, + ...(obj.Filter && { Filter: MetricsFilter.filterSensitiveLog(obj.Filter) }), }); } @@ -5081,6 +5218,9 @@ export interface GetBucketMetricsConfigurationOutput { export namespace GetBucketMetricsConfigurationOutput { export const filterSensitiveLog = (obj: GetBucketMetricsConfigurationOutput): any => ({ ...obj, + ...(obj.MetricsConfiguration && { + MetricsConfiguration: MetricsConfiguration.filterSensitiveLog(obj.MetricsConfiguration), + }), }); } @@ -5748,18 +5888,34 @@ export namespace ReplicationRuleAndOperator { * Filter must specify exactly one Prefix, Tag, or * an And child element.

                              */ -export interface ReplicationRuleFilter { +export type ReplicationRuleFilter = + | ReplicationRuleFilter.AndMember + | ReplicationRuleFilter.PrefixMember + | ReplicationRuleFilter.TagMember + | ReplicationRuleFilter.$UnknownMember; + +export namespace ReplicationRuleFilter { /** *

                              An object key name prefix that identifies the subset of objects to which the rule * applies.

                              */ - Prefix?: string; + export interface PrefixMember { + Prefix: string; + Tag?: never; + And?: never; + $unknown?: never; + } /** *

                              A container for specifying a tag key and value.

                              *

                              The rule applies only to objects that have the tag in their tag set.

                              */ - Tag?: Tag; + export interface TagMember { + Prefix?: never; + Tag: Tag; + And?: never; + $unknown?: never; + } /** *

                              A container for specifying rule filters. The filters determine the subset of objects to @@ -5776,13 +5932,40 @@ export interface ReplicationRuleFilter { *

                            • *
                            */ - And?: ReplicationRuleAndOperator; -} - -export namespace ReplicationRuleFilter { - export const filterSensitiveLog = (obj: ReplicationRuleFilter): any => ({ - ...obj, - }); + export interface AndMember { + Prefix?: never; + Tag?: never; + And: ReplicationRuleAndOperator; + $unknown?: never; + } + + export interface $UnknownMember { + Prefix?: never; + Tag?: never; + And?: never; + $unknown: [string, any]; + } + + export interface Visitor { + Prefix: (value: string) => T; + Tag: (value: Tag) => T; + And: (value: ReplicationRuleAndOperator) => T; + _: (name: string, value: any) => T; + } + + export const visit = (value: ReplicationRuleFilter, visitor: Visitor): T => { + if (value.Prefix !== undefined) return visitor.Prefix(value.Prefix); + if (value.Tag !== undefined) return visitor.Tag(value.Tag); + if (value.And !== undefined) return visitor.And(value.And); + return visitor._(value.$unknown[0], value.$unknown[1]); + }; + + export const filterSensitiveLog = (obj: ReplicationRuleFilter): any => { + if (obj.Prefix !== undefined) return { Prefix: obj.Prefix }; + if (obj.Tag !== undefined) return { Tag: Tag.filterSensitiveLog(obj.Tag) }; + if (obj.And !== undefined) return { And: ReplicationRuleAndOperator.filterSensitiveLog(obj.And) }; + if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" }; + }; } export type SseKmsEncryptedObjectsStatus = "Disabled" | "Enabled"; @@ -5916,6 +6099,7 @@ export interface ReplicationRule { export namespace ReplicationRule { export const filterSensitiveLog = (obj: ReplicationRule): any => ({ ...obj, + ...(obj.Filter && { Filter: ReplicationRuleFilter.filterSensitiveLog(obj.Filter) }), }); } @@ -5941,6 +6125,7 @@ export interface ReplicationConfiguration { export namespace ReplicationConfiguration { export const filterSensitiveLog = (obj: ReplicationConfiguration): any => ({ ...obj, + ...(obj.Rules && { Rules: obj.Rules.map((item) => ReplicationRule.filterSensitiveLog(item)) }), }); } @@ -5955,6 +6140,9 @@ export interface GetBucketReplicationOutput { export namespace GetBucketReplicationOutput { export const filterSensitiveLog = (obj: GetBucketReplicationOutput): any => ({ ...obj, + ...(obj.ReplicationConfiguration && { + ReplicationConfiguration: ReplicationConfiguration.filterSensitiveLog(obj.ReplicationConfiguration), + }), }); } @@ -7534,6 +7722,11 @@ export interface ListBucketAnalyticsConfigurationsOutput { export namespace ListBucketAnalyticsConfigurationsOutput { export const filterSensitiveLog = (obj: ListBucketAnalyticsConfigurationsOutput): any => ({ ...obj, + ...(obj.AnalyticsConfigurationList && { + AnalyticsConfigurationList: obj.AnalyticsConfigurationList.map((item) => + AnalyticsConfiguration.filterSensitiveLog(item) + ), + }), }); } @@ -7707,6 +7900,11 @@ export interface ListBucketMetricsConfigurationsOutput { export namespace ListBucketMetricsConfigurationsOutput { export const filterSensitiveLog = (obj: ListBucketMetricsConfigurationsOutput): any => ({ ...obj, + ...(obj.MetricsConfigurationList && { + MetricsConfigurationList: obj.MetricsConfigurationList.map((item) => + MetricsConfiguration.filterSensitiveLog(item) + ), + }), }); } @@ -8879,6 +9077,7 @@ export interface PutBucketAclRequest { * information, go to RFC * 1864. *

                            + *

                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                            */ ContentMD5?: string; @@ -8945,6 +9144,9 @@ export interface PutBucketAnalyticsConfigurationRequest { export namespace PutBucketAnalyticsConfigurationRequest { export const filterSensitiveLog = (obj: PutBucketAnalyticsConfigurationRequest): any => ({ ...obj, + ...(obj.AnalyticsConfiguration && { + AnalyticsConfiguration: AnalyticsConfiguration.filterSensitiveLog(obj.AnalyticsConfiguration), + }), }); } @@ -8987,6 +9189,7 @@ export interface PutBucketCorsRequest { * information, go to RFC * 1864. *

                            + *

                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                            */ ContentMD5?: string; @@ -9012,8 +9215,8 @@ export interface PutBucketEncryptionRequest { Bucket: string | undefined; /** - *

                            The base64-encoded 128-bit MD5 digest of the server-side encryption configuration. This - * parameter is auto-populated when using the command from the CLI.

                            + *

                            The base64-encoded 128-bit MD5 digest of the server-side encryption configuration.

                            + *

                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                            */ ContentMD5?: string; @@ -9108,6 +9311,7 @@ export interface BucketLifecycleConfiguration { export namespace BucketLifecycleConfiguration { export const filterSensitiveLog = (obj: BucketLifecycleConfiguration): any => ({ ...obj, + ...(obj.Rules && { Rules: obj.Rules.map((item) => LifecycleRule.filterSensitiveLog(item)) }), }); } @@ -9131,6 +9335,9 @@ export interface PutBucketLifecycleConfigurationRequest { export namespace PutBucketLifecycleConfigurationRequest { export const filterSensitiveLog = (obj: PutBucketLifecycleConfigurationRequest): any => ({ ...obj, + ...(obj.LifecycleConfiguration && { + LifecycleConfiguration: BucketLifecycleConfiguration.filterSensitiveLog(obj.LifecycleConfiguration), + }), }); } @@ -9165,6 +9372,7 @@ export interface PutBucketLoggingRequest { /** *

                            The MD5 hash of the PutBucketLogging request body.

                            + *

                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                            */ ContentMD5?: string; @@ -9205,6 +9413,9 @@ export interface PutBucketMetricsConfigurationRequest { export namespace PutBucketMetricsConfigurationRequest { export const filterSensitiveLog = (obj: PutBucketMetricsConfigurationRequest): any => ({ ...obj, + ...(obj.MetricsConfiguration && { + MetricsConfiguration: MetricsConfiguration.filterSensitiveLog(obj.MetricsConfiguration), + }), }); } @@ -9240,6 +9451,7 @@ export interface PutBucketOwnershipControlsRequest { /** *

                            The MD5 hash of the OwnershipControls request body.

                            + *

                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                            */ ContentMD5?: string; @@ -9269,6 +9481,7 @@ export interface PutBucketPolicyRequest { /** *

                            The MD5 hash of the request body.

                            + *

                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                            */ ContentMD5?: string; @@ -9305,6 +9518,7 @@ export interface PutBucketReplicationRequest { *

                            The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message * integrity check to verify that the request body was not corrupted in transit. For more * information, see RFC 1864.

                            + *

                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                            */ ContentMD5?: string; @@ -9328,6 +9542,9 @@ export interface PutBucketReplicationRequest { export namespace PutBucketReplicationRequest { export const filterSensitiveLog = (obj: PutBucketReplicationRequest): any => ({ ...obj, + ...(obj.ReplicationConfiguration && { + ReplicationConfiguration: ReplicationConfiguration.filterSensitiveLog(obj.ReplicationConfiguration), + }), }); } @@ -9358,6 +9575,7 @@ export interface PutBucketRequestPaymentRequest { * message integrity check to verify that the request body was not corrupted in transit. For * more information, see RFC * 1864.

                            + *

                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                            */ ContentMD5?: string; @@ -9404,6 +9622,7 @@ export interface PutBucketTaggingRequest { *

                            The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message * integrity check to verify that the request body was not corrupted in transit. For more * information, see RFC 1864.

                            + *

                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                            */ ContentMD5?: string; @@ -9461,6 +9680,7 @@ export interface PutBucketVersioningRequest { * message integrity check to verify that the request body was not corrupted in transit. For * more information, see RFC * 1864.

                            + *

                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                            */ ContentMD5?: string; @@ -9531,6 +9751,7 @@ export interface PutBucketWebsiteRequest { *

                            The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message * integrity check to verify that the request body was not corrupted in transit. For more * information, see RFC 1864.

                            + *

                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                            */ ContentMD5?: string; @@ -9890,6 +10111,7 @@ export interface PutObjectAclRequest { * information, go to RFC * 1864.> *

                            + *

                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                            */ ContentMD5?: string; @@ -10004,6 +10226,7 @@ export interface PutObjectLegalHoldRequest { /** *

                            The MD5 hash for the request body.

                            + *

                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                            */ ContentMD5?: string; @@ -10059,6 +10282,7 @@ export interface PutObjectLockConfigurationRequest { /** *

                            The MD5 hash for the request body.

                            + *

                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                            */ ContentMD5?: string; @@ -10128,6 +10352,7 @@ export interface PutObjectRetentionRequest { /** *

                            The MD5 hash for the request body.

                            + *

                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                            */ ContentMD5?: string; @@ -10176,6 +10401,7 @@ export interface PutObjectTaggingRequest { /** *

                            The MD5 hash for the request body.

                            + *

                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                            */ ContentMD5?: string; @@ -10205,6 +10431,7 @@ export interface PutPublicAccessBlockRequest { /** *

                            The MD5 hash of the PutPublicAccessBlock request body.

                            + *

                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                            */ ContentMD5?: string; diff --git a/clients/client-s3/protocols/Aws_restXml.ts b/clients/client-s3/protocols/Aws_restXml.ts index 85f187e3058f..ddef24636dc7 100644 --- a/clients/client-s3/protocols/Aws_restXml.ts +++ b/clients/client-s3/protocols/Aws_restXml.ts @@ -10135,18 +10135,26 @@ const serializeAws_restXmlAnalyticsExportDestination = ( const serializeAws_restXmlAnalyticsFilter = (input: AnalyticsFilter, context: __SerdeContext): any => { const bodyNode = new __XmlNode("AnalyticsFilter"); - if (input.Prefix !== undefined) { - const node = new __XmlNode("Prefix").addChildNode(new __XmlText(input.Prefix)).withName("Prefix"); - bodyNode.addChildNode(node); - } - if (input.Tag !== undefined) { - const node = serializeAws_restXmlTag(input.Tag, context).withName("Tag"); - bodyNode.addChildNode(node); - } - if (input.And !== undefined) { - const node = serializeAws_restXmlAnalyticsAndOperator(input.And, context).withName("And"); - bodyNode.addChildNode(node); - } + AnalyticsFilter.visit(input, { + Prefix: (value) => { + const node = new __XmlNode("Prefix").addChildNode(new __XmlText(value)).withName("Prefix"); + bodyNode.addChildNode(node); + }, + Tag: (value) => { + const node = serializeAws_restXmlTag(value, context).withName("Tag"); + bodyNode.addChildNode(node); + }, + And: (value) => { + const node = serializeAws_restXmlAnalyticsAndOperator(value, context).withName("And"); + bodyNode.addChildNode(node); + }, + _: (name: string, value: any) => { + if (!(value instanceof __XmlNode || value instanceof __XmlText)) { + throw new Error("Unable to serialize unknown union members in XML."); + } + bodyNode.addChildNode(new __XmlNode(value).addChildNode(value)); + }, + }); return bodyNode; }; @@ -10997,18 +11005,26 @@ const serializeAws_restXmlLifecycleRuleAndOperator = ( const serializeAws_restXmlLifecycleRuleFilter = (input: LifecycleRuleFilter, context: __SerdeContext): any => { const bodyNode = new __XmlNode("LifecycleRuleFilter"); - if (input.Prefix !== undefined) { - const node = new __XmlNode("Prefix").addChildNode(new __XmlText(input.Prefix)).withName("Prefix"); - bodyNode.addChildNode(node); - } - if (input.Tag !== undefined) { - const node = serializeAws_restXmlTag(input.Tag, context).withName("Tag"); - bodyNode.addChildNode(node); - } - if (input.And !== undefined) { - const node = serializeAws_restXmlLifecycleRuleAndOperator(input.And, context).withName("And"); - bodyNode.addChildNode(node); - } + LifecycleRuleFilter.visit(input, { + Prefix: (value) => { + const node = new __XmlNode("Prefix").addChildNode(new __XmlText(value)).withName("Prefix"); + bodyNode.addChildNode(node); + }, + Tag: (value) => { + const node = serializeAws_restXmlTag(value, context).withName("Tag"); + bodyNode.addChildNode(node); + }, + And: (value) => { + const node = serializeAws_restXmlLifecycleRuleAndOperator(value, context).withName("And"); + bodyNode.addChildNode(node); + }, + _: (name: string, value: any) => { + if (!(value instanceof __XmlNode || value instanceof __XmlText)) { + throw new Error("Unable to serialize unknown union members in XML."); + } + bodyNode.addChildNode(new __XmlNode(value).addChildNode(value)); + }, + }); return bodyNode; }; @@ -11097,18 +11113,26 @@ const serializeAws_restXmlMetricsConfiguration = (input: MetricsConfiguration, c const serializeAws_restXmlMetricsFilter = (input: MetricsFilter, context: __SerdeContext): any => { const bodyNode = new __XmlNode("MetricsFilter"); - if (input.Prefix !== undefined) { - const node = new __XmlNode("Prefix").addChildNode(new __XmlText(input.Prefix)).withName("Prefix"); - bodyNode.addChildNode(node); - } - if (input.Tag !== undefined) { - const node = serializeAws_restXmlTag(input.Tag, context).withName("Tag"); - bodyNode.addChildNode(node); - } - if (input.And !== undefined) { - const node = serializeAws_restXmlMetricsAndOperator(input.And, context).withName("And"); - bodyNode.addChildNode(node); - } + MetricsFilter.visit(input, { + Prefix: (value) => { + const node = new __XmlNode("Prefix").addChildNode(new __XmlText(value)).withName("Prefix"); + bodyNode.addChildNode(node); + }, + Tag: (value) => { + const node = serializeAws_restXmlTag(value, context).withName("Tag"); + bodyNode.addChildNode(node); + }, + And: (value) => { + const node = serializeAws_restXmlMetricsAndOperator(value, context).withName("And"); + bodyNode.addChildNode(node); + }, + _: (name: string, value: any) => { + if (!(value instanceof __XmlNode || value instanceof __XmlText)) { + throw new Error("Unable to serialize unknown union members in XML."); + } + bodyNode.addChildNode(new __XmlNode(value).addChildNode(value)); + }, + }); return bodyNode; }; @@ -11531,18 +11555,26 @@ const serializeAws_restXmlReplicationRuleAndOperator = ( const serializeAws_restXmlReplicationRuleFilter = (input: ReplicationRuleFilter, context: __SerdeContext): any => { const bodyNode = new __XmlNode("ReplicationRuleFilter"); - if (input.Prefix !== undefined) { - const node = new __XmlNode("Prefix").addChildNode(new __XmlText(input.Prefix)).withName("Prefix"); - bodyNode.addChildNode(node); - } - if (input.Tag !== undefined) { - const node = serializeAws_restXmlTag(input.Tag, context).withName("Tag"); - bodyNode.addChildNode(node); - } - if (input.And !== undefined) { - const node = serializeAws_restXmlReplicationRuleAndOperator(input.And, context).withName("And"); - bodyNode.addChildNode(node); - } + ReplicationRuleFilter.visit(input, { + Prefix: (value) => { + const node = new __XmlNode("Prefix").addChildNode(new __XmlText(value)).withName("Prefix"); + bodyNode.addChildNode(node); + }, + Tag: (value) => { + const node = serializeAws_restXmlTag(value, context).withName("Tag"); + bodyNode.addChildNode(node); + }, + And: (value) => { + const node = serializeAws_restXmlReplicationRuleAndOperator(value, context).withName("And"); + bodyNode.addChildNode(node); + }, + _: (name: string, value: any) => { + if (!(value instanceof __XmlNode || value instanceof __XmlText)) { + throw new Error("Unable to serialize unknown union members in XML."); + } + bodyNode.addChildNode(new __XmlNode(value).addChildNode(value)); + }, + }); return bodyNode; }; @@ -12155,21 +12187,22 @@ const deserializeAws_restXmlAnalyticsExportDestination = ( }; const deserializeAws_restXmlAnalyticsFilter = (output: any, context: __SerdeContext): AnalyticsFilter => { - let contents: any = { - Prefix: undefined, - Tag: undefined, - And: undefined, - }; if (output["Prefix"] !== undefined) { - contents.Prefix = output["Prefix"]; + return { + Prefix: output["Prefix"], + }; } if (output["Tag"] !== undefined) { - contents.Tag = deserializeAws_restXmlTag(output["Tag"], context); + return { + Tag: deserializeAws_restXmlTag(output["Tag"], context), + }; } if (output["And"] !== undefined) { - contents.And = deserializeAws_restXmlAnalyticsAndOperator(output["And"], context); + return { + And: deserializeAws_restXmlAnalyticsAndOperator(output["And"], context), + }; } - return contents; + return { $unknown: Object.entries(output)[0] }; }; const deserializeAws_restXmlAnalyticsS3BucketDestination = ( @@ -12945,21 +12978,22 @@ const deserializeAws_restXmlLifecycleRuleAndOperator = ( }; const deserializeAws_restXmlLifecycleRuleFilter = (output: any, context: __SerdeContext): LifecycleRuleFilter => { - let contents: any = { - Prefix: undefined, - Tag: undefined, - And: undefined, - }; if (output["Prefix"] !== undefined) { - contents.Prefix = output["Prefix"]; + return { + Prefix: output["Prefix"], + }; } if (output["Tag"] !== undefined) { - contents.Tag = deserializeAws_restXmlTag(output["Tag"], context); + return { + Tag: deserializeAws_restXmlTag(output["Tag"], context), + }; } if (output["And"] !== undefined) { - contents.And = deserializeAws_restXmlLifecycleRuleAndOperator(output["And"], context); + return { + And: deserializeAws_restXmlLifecycleRuleAndOperator(output["And"], context), + }; } - return contents; + return { $unknown: Object.entries(output)[0] }; }; const deserializeAws_restXmlLifecycleRules = (output: any, context: __SerdeContext): LifecycleRule[] => { @@ -13043,21 +13077,22 @@ const deserializeAws_restXmlMetricsConfigurationList = ( }; const deserializeAws_restXmlMetricsFilter = (output: any, context: __SerdeContext): MetricsFilter => { - let contents: any = { - Prefix: undefined, - Tag: undefined, - And: undefined, - }; if (output["Prefix"] !== undefined) { - contents.Prefix = output["Prefix"]; + return { + Prefix: output["Prefix"], + }; } if (output["Tag"] !== undefined) { - contents.Tag = deserializeAws_restXmlTag(output["Tag"], context); + return { + Tag: deserializeAws_restXmlTag(output["Tag"], context), + }; } if (output["And"] !== undefined) { - contents.And = deserializeAws_restXmlMetricsAndOperator(output["And"], context); + return { + And: deserializeAws_restXmlMetricsAndOperator(output["And"], context), + }; } - return contents; + return { $unknown: Object.entries(output)[0] }; }; const deserializeAws_restXmlMultipartUpload = (output: any, context: __SerdeContext): MultipartUpload => { @@ -13537,21 +13572,22 @@ const deserializeAws_restXmlReplicationRuleAndOperator = ( }; const deserializeAws_restXmlReplicationRuleFilter = (output: any, context: __SerdeContext): ReplicationRuleFilter => { - let contents: any = { - Prefix: undefined, - Tag: undefined, - And: undefined, - }; if (output["Prefix"] !== undefined) { - contents.Prefix = output["Prefix"]; + return { + Prefix: output["Prefix"], + }; } if (output["Tag"] !== undefined) { - contents.Tag = deserializeAws_restXmlTag(output["Tag"], context); + return { + Tag: deserializeAws_restXmlTag(output["Tag"], context), + }; } if (output["And"] !== undefined) { - contents.And = deserializeAws_restXmlReplicationRuleAndOperator(output["And"], context); + return { + And: deserializeAws_restXmlReplicationRuleAndOperator(output["And"], context), + }; } - return contents; + return { $unknown: Object.entries(output)[0] }; }; const deserializeAws_restXmlReplicationRules = (output: any, context: __SerdeContext): ReplicationRule[] => { diff --git a/clients/client-service-catalog-appregistry/ServiceCatalogAppRegistry.ts b/clients/client-service-catalog-appregistry/ServiceCatalogAppRegistry.ts index f8b843b34019..c05ae7d59daa 100644 --- a/clients/client-service-catalog-appregistry/ServiceCatalogAppRegistry.ts +++ b/clients/client-service-catalog-appregistry/ServiceCatalogAppRegistry.ts @@ -86,7 +86,9 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; */ export class ServiceCatalogAppRegistry extends ServiceCatalogAppRegistryClient { /** - *

                            Associates an attribute group with an application to augment the application's metadata with the group's attributes. This way applications can be described with user-defined details which are machine-readable (e.g. for third-party integrations).

                            + *

                            Associates an attribute group with an application to augment the application's metadata + * with the group's attributes. This feature enables applications to be described with + * user-defined details that are machine-readable, such as third-party integrations.

                            */ public associateAttributeGroup( args: AssociateAttributeGroupCommandInput, @@ -182,7 +184,10 @@ export class ServiceCatalogAppRegistry extends ServiceCatalogAppRegistryClient { } /** - *

                            Creates a new attribute group as a container for user-defined attributes. This approach enables users to have full control over their cloud application's metadata in a rich machine-readable format to facilitate integration with automated workflows and third-party tools.

                            + *

                            Creates a new attribute group as a container for user-defined attributes. This feature + * enables users to have full control over their cloud application's metadata in a rich + * machine-readable format to facilitate integration with automated workflows and third-party + * tools.

                            */ public createAttributeGroup( args: CreateAttributeGroupCommandInput, @@ -214,7 +219,7 @@ export class ServiceCatalogAppRegistry extends ServiceCatalogAppRegistryClient { } /** - *

                            Delete an application, specified either by its application ID or name.

                            + *

                            Deletes an application that is specified either by its application ID or name. All associated attribute groups and resources must be disassociated from it before deleting an application.

                            */ public deleteApplication( args: DeleteApplicationCommandInput, @@ -278,7 +283,7 @@ export class ServiceCatalogAppRegistry extends ServiceCatalogAppRegistryClient { } /** - *

                            Disassociates an attribute group from an application to remove the extra attributes contained in the attribute group from the application's metadata. This operation reverts AssociateAttributeGroup.

                            + *

                            Disassociates an attribute group from an application to remove the extra attributes contained in the attribute group from the application's metadata. This operation reverts AssociateAttributeGroup.

                            */ public disassociateAttributeGroup( args: DisassociateAttributeGroupCommandInput, @@ -342,7 +347,7 @@ export class ServiceCatalogAppRegistry extends ServiceCatalogAppRegistryClient { } /** - *

                            Retrieves metadata information about one of your applications. The application can be specified either by its unique ID or by its name (which is unique within one account in one region at a given point in time). Specify by ID in automated workflows if you want to make sure that the exact same application is returned or a ResourceNotFoundException is thrown, avoiding the ABA addressing problem.

                            + *

                            Retrieves metadata information about one of your applications. The application can be specified either by its unique ID or by its name (which is unique within one account in one region at a given point in time). Specify by ID in automated workflows if you want to make sure that the exact same application is returned or a ResourceNotFoundException is thrown, avoiding the ABA addressing problem.

                            */ public getApplication( args: GetApplicationCommandInput, @@ -374,7 +379,7 @@ export class ServiceCatalogAppRegistry extends ServiceCatalogAppRegistryClient { } /** - *

                            Retrieves an attribute group, either by its name or its ID.

                            + *

                            Retrieves an attribute group, either by its name or its ID. The attribute group can be specified either by its unique ID or by its name.

                            */ public getAttributeGroup( args: GetAttributeGroupCommandInput, diff --git a/clients/client-service-catalog-appregistry/models/models_0.ts b/clients/client-service-catalog-appregistry/models/models_0.ts index 12180229dd86..1d9916866a5f 100644 --- a/clients/client-service-catalog-appregistry/models/models_0.ts +++ b/clients/client-service-catalog-appregistry/models/models_0.ts @@ -195,7 +195,11 @@ export interface AssociateResourceRequest { */ application: string | undefined; + /** + *

                            The type of resource of which the application will be associated.

                            + */ resourceType: ResourceType | string | undefined; + /** *

                            The name or ID of the resource of which the application will be associated.

                            */ @@ -252,7 +256,7 @@ export interface AttributeGroup { id?: string; /** - *

                            The Amazon resource name (ARN) that specifies the application across services.

                            + *

                            The Amazon resource name (ARN) that specifies the attribute group across services.

                            */ arn?: string; @@ -298,7 +302,7 @@ export interface AttributeGroupSummary { id?: string; /** - *

                            The Amazon resource name (ARN) that specifies the application across services.

                            + *

                            The Amazon resource name (ARN) that specifies the attribute group across services.

                            */ arn?: string; @@ -346,7 +350,10 @@ export interface CreateApplicationRequest { tags?: { [key: string]: string }; /** - *

                            A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the clientToken, the same response is returned for each repeated request.

                            + *

                            A unique identifier that you provide to ensure idempotency. If you retry a request that + * completed successfully using the same client token and the same parameters, the retry succeeds + * without performing any further actions. If you retry a successful request using the same + * client token, but one or more of the parameters are different, the retry fails.

                            */ clientToken?: string; } @@ -359,7 +366,7 @@ export namespace CreateApplicationRequest { export interface CreateApplicationResponse { /** - *

                            The name or ID of the application.

                            + *

                            Information about the application.

                            */ application?: Application; } @@ -392,8 +399,10 @@ export interface CreateAttributeGroupRequest { tags?: { [key: string]: string }; /** - *

                            A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the - * clientToken, the same response is returned for each repeated request.

                            + *

                            A unique identifier that you provide to ensure idempotency. If you retry a request that + * completed successfully using the same client token and the same parameters, the retry succeeds + * without performing any further actions. If you retry a successful request using the same + * client token, but one or more of the parameters are different, the retry fails.

                            */ clientToken?: string; } @@ -406,7 +415,7 @@ export namespace CreateAttributeGroupRequest { export interface CreateAttributeGroupResponse { /** - *

                            The name or ID of the attribute group that holds the attributes to describe the application.

                            + *

                            Information about the attribute group.

                            */ attributeGroup?: AttributeGroup; } @@ -432,7 +441,7 @@ export namespace DeleteApplicationRequest { export interface DeleteApplicationResponse { /** - *

                            The name or ID of the application.

                            + *

                            Information about the deleted application.

                            */ application?: ApplicationSummary; } @@ -458,7 +467,7 @@ export namespace DeleteAttributeGroupRequest { export interface DeleteAttributeGroupResponse { /** - *

                            The name or ID of the attribute group that holds the attributes to describe the application.

                            + *

                            Information about the deleted attribute group.

                            */ attributeGroup?: AttributeGroupSummary; } @@ -489,12 +498,12 @@ export namespace DisassociateAttributeGroupRequest { export interface DisassociateAttributeGroupResponse { /** - *

                            The Amazon resource name (ARN) of the application that was augmented with attributes.

                            + *

                            The Amazon resource name (ARN) that specifies the application.

                            */ applicationArn?: string; /** - *

                            The Amazon resource name (ARN) of the attribute group that contains the application's new attributes.

                            + *

                            The Amazon resource name (ARN) that specifies the attribute group.

                            */ attributeGroupArn?: string; } @@ -512,12 +521,12 @@ export interface DisassociateResourceRequest { application: string | undefined; /** - *

                            The type of the resource that's being disassociated.

                            + *

                            The type of the resource that is being disassociated.

                            */ resourceType: ResourceType | string | undefined; /** - *

                            The name or ID of the resource of which the application will be associated.

                            + *

                            The name or ID of the resource.

                            */ resource: string | undefined; } @@ -530,7 +539,7 @@ export namespace DisassociateResourceRequest { export interface DisassociateResourceResponse { /** - *

                            The Amazon resource name (ARN) of the application that was augmented with attributes.

                            + *

                            The Amazon resource name (ARN) that specifies the application.

                            */ applicationArn?: string; @@ -596,7 +605,7 @@ export interface GetApplicationResponse { associatedResourceCount?: number; /** - *

                            Key-value pairs you can use to associate with the application.

                            + *

                            Key-value pairs associated with the application.

                            */ tags?: { [key: string]: string }; } @@ -622,12 +631,12 @@ export namespace GetAttributeGroupRequest { export interface GetAttributeGroupResponse { /** - *

                            The identifier of the application.

                            + *

                            The identifier of the attribute group.

                            */ id?: string; /** - *

                            The Amazon resource name (ARN) that specifies the application across services.

                            + *

                            The Amazon resource name (ARN) that specifies the attribute group across services.

                            */ arn?: string; @@ -657,7 +666,7 @@ export interface GetAttributeGroupResponse { lastUpdateTime?: Date; /** - *

                            Key-value pairs you can use to associate with the attribute group.

                            + *

                            Key-value pairs associated with the attribute group.

                            */ tags?: { [key: string]: string }; } @@ -688,7 +697,7 @@ export namespace ListApplicationsRequest { export interface ListApplicationsResponse { /** - *

                            The name or ID of the application.

                            + *

                            This list of applications.

                            */ applications?: ApplicationSummary[]; @@ -778,7 +787,7 @@ export interface ResourceInfo { name?: string; /** - *

                            The Amazon resource name (ARN) that specifies the application across services.

                            + *

                            The Amazon resource name (ARN) that specifies the resource across services.

                            */ arn?: string; } @@ -791,7 +800,7 @@ export namespace ResourceInfo { export interface ListAssociatedResourcesResponse { /** - *

                            The name or ID of the resource of which the application will be associated.

                            + *

                            Information about the resources.

                            */ resources?: ResourceInfo[]; @@ -827,7 +836,7 @@ export namespace ListAttributeGroupsRequest { export interface ListAttributeGroupsResponse { /** - *

                            A list of attribute group IDs.

                            + *

                            This list of attribute groups.

                            */ attributeGroups?: AttributeGroupSummary[]; @@ -845,18 +854,17 @@ export namespace ListAttributeGroupsResponse { export interface UpdateApplicationRequest { /** - *

                            The name or ID of the application. The name must be unique in the region in which you are - * updating the attribute group.

                            + *

                            The name or ID of the application that will be updated.

                            */ application: string | undefined; /** - *

                            The anme of the application. The name must be unique in the region in which you are creating the application.

                            + *

                            The new name of the application. The name must be unique in the region in which you are updating the application.

                            */ name?: string; /** - *

                            The description of the application.

                            + *

                            The new description of the application.

                            */ description?: string; } @@ -869,7 +877,7 @@ export namespace UpdateApplicationRequest { export interface UpdateApplicationResponse { /** - *

                            The name or ID of the application.

                            + *

                            The updated information of the application.

                            */ application?: Application; } @@ -911,7 +919,7 @@ export namespace UpdateAttributeGroupRequest { export interface UpdateAttributeGroupResponse { /** - *

                            The name or ID of the attribute group that holds the attributes to describe the application.

                            + *

                            The updated information of the attribute group.

                            */ attributeGroup?: AttributeGroup; } diff --git a/codegen/sdk-codegen/aws-models/auto-scaling.2011-01-01.json b/codegen/sdk-codegen/aws-models/auto-scaling.2011-01-01.json index 54ee2e816f05..6fc466b7be7c 100644 --- a/codegen/sdk-codegen/aws-models/auto-scaling.2011-01-01.json +++ b/codegen/sdk-codegen/aws-models/auto-scaling.2011-01-01.json @@ -1263,7 +1263,7 @@ "MixedInstancesPolicy": { "target": "com.amazonaws.autoscaling#MixedInstancesPolicy", "traits": { - "smithy.api#documentation": "

                            An embedded object that specifies a mixed instances policy. The required parameters\n must be specified. If optional parameters are unspecified, their default values are\n used.

                            \n

                            The policy includes parameters that not only define the distribution of On-Demand\n Instances and Spot Instances, the maximum price to pay for Spot Instances, and how the\n Auto Scaling group allocates instance types to fulfill On-Demand and Spot capacities, but also the\n parameters that specify the instance configuration information—the launch template and\n instance types. The policy can also include a weight for each instance type. For more\n information, see Auto Scaling groups with multiple\n instance types and purchase options in the Amazon EC2 Auto Scaling User\n Guide.

                            \n

                            Conditional: You must specify either a launch template (LaunchTemplate or\n MixedInstancesPolicy) or a launch configuration\n (LaunchConfigurationName or InstanceId).

                            " + "smithy.api#documentation": "

                            An embedded object that specifies a mixed instances policy. The required parameters\n must be specified. If optional parameters are unspecified, their default values are\n used.

                            \n

                            The policy includes parameters that not only define the distribution of On-Demand\n Instances and Spot Instances, the maximum price to pay for Spot Instances, and how the\n Auto Scaling group allocates instance types to fulfill On-Demand and Spot capacities, but also\n the parameters that specify the instance configuration information—the launch template\n and instance types. The policy can also include a weight for each instance type and\n different launch templates for individual instance types. For more information, see\n Auto Scaling groups with multiple\n instance types and purchase options in the Amazon EC2 Auto Scaling User\n Guide.

                            \n

                            Conditional: You must specify either a launch template (LaunchTemplate or\n MixedInstancesPolicy) or a launch configuration\n (LaunchConfigurationName or InstanceId).

                            " } }, "InstanceId": { @@ -3743,12 +3743,12 @@ "Overrides": { "target": "com.amazonaws.autoscaling#Overrides", "traits": { - "smithy.api#documentation": "

                            Any parameters that you specify override the same parameters in the launch template.\n Currently, the only supported override is instance type. You can specify between 1 and\n 20 instance types. If not provided, Amazon EC2 Auto Scaling will use the instance type specified in the\n launch template when it launches an instance.

                            " + "smithy.api#documentation": "

                            Any parameters that you specify override the same parameters in the launch template.\n If not provided, Amazon EC2 Auto Scaling uses the instance type specified in the launch template when\n it launches an instance.

                            " } } }, "traits": { - "smithy.api#documentation": "

                            Describes a launch template and overrides.

                            \n

                            The overrides are used to override the instance type specified by the launch template\n with multiple instance types that can be used to launch On-Demand Instances and Spot\n Instances.

                            \n

                            When you update the launch template or overrides, existing Amazon EC2 instances\n continue to run. When scale out occurs, Amazon EC2 Auto Scaling launches instances to match the new\n settings. When scale in occurs, Amazon EC2 Auto Scaling terminates instances according to the group's\n termination policies.

                            " + "smithy.api#documentation": "

                            Describes a launch template and overrides.

                            \n

                            You specify these parameters as part of a mixed instances policy.

                            \n

                            When you update the launch template or overrides, existing Amazon EC2 instances continue to\n run. When scale out occurs, Amazon EC2 Auto Scaling launches instances to match the new settings. When\n scale in occurs, Amazon EC2 Auto Scaling terminates instances according to the group's termination\n policies.

                            " } }, "com.amazonaws.autoscaling#LaunchTemplateName": { @@ -3758,7 +3758,7 @@ "min": 3, "max": 128 }, - "smithy.api#pattern": "[a-zA-Z0-9\\(\\)\\.-/_]+" + "smithy.api#pattern": "[a-zA-Z0-9\\(\\)\\.\\-/_]+" } }, "com.amazonaws.autoscaling#LaunchTemplateOverrides": { @@ -3767,7 +3767,7 @@ "InstanceType": { "target": "com.amazonaws.autoscaling#XmlStringMaxLen255", "traits": { - "smithy.api#documentation": "

                            The instance type, such as m3.xlarge. You must use an instance type that\n is supported in your requested Region and Availability Zones. For information about\n available instance types, see Available\n instance types in the Amazon Elastic Compute Cloud User\n Guide.\n

                            " + "smithy.api#documentation": "

                            The instance type, such as m3.xlarge. You must use an instance type that\n is supported in your requested Region and Availability Zones. For more information, see\n Instance types in the Amazon Elastic Compute Cloud User\n Guide.

                            " } }, "WeightedCapacity": { @@ -3775,10 +3775,16 @@ "traits": { "smithy.api#documentation": "

                            The number of capacity units provided by the specified instance type in terms of\n virtual CPUs, memory, storage, throughput, or other relative performance characteristic.\n When a Spot or On-Demand Instance is provisioned, the capacity units count toward the\n desired capacity. Amazon EC2 Auto Scaling provisions instances until the desired capacity is totally\n fulfilled, even if this results in an overage. For example, if there are 2 units\n remaining to fulfill capacity, and Amazon EC2 Auto Scaling can only provision an instance with a\n WeightedCapacity of 5 units, the instance is provisioned, and the\n desired capacity is exceeded by 3 units. For more information, see Instance weighting for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

                            \n

                            Valid Range: Minimum value of 1. Maximum value of 999.

                            " } + }, + "LaunchTemplateSpecification": { + "target": "com.amazonaws.autoscaling#LaunchTemplateSpecification", + "traits": { + "smithy.api#documentation": "

                            Provides the launch template to be used when launching the instance type. For example,\n some instance types might require a launch template with a different AMI. If not\n provided, Amazon EC2 Auto Scaling uses the launch template that's defined for your mixed instances\n policy. For more information, see Specifying a\n different launch template for an instance type in the\n Amazon EC2 Auto Scaling User Guide.

                            " + } } }, "traits": { - "smithy.api#documentation": "

                            Describes an override for a launch template. Currently, the only supported override is\n instance type.

                            \n

                            The maximum number of instance type overrides that can be associated with an Auto Scaling\n group is 20.

                            " + "smithy.api#documentation": "

                            Describes an override for a launch template. The maximum number of instance types that\n can be associated with an Auto Scaling group is 20. For more information, see Configuring overrides in the Amazon EC2 Auto Scaling User Guide.

                            " } }, "com.amazonaws.autoscaling#LaunchTemplateSpecification": { @@ -3799,7 +3805,7 @@ "Version": { "target": "com.amazonaws.autoscaling#XmlStringMaxLen255", "traits": { - "smithy.api#documentation": "

                            The version number, $Latest, or $Default. To get the version\n number, use the Amazon EC2 DescribeLaunchTemplateVersions API operation. New launch template versions\n can be created using the Amazon EC2 CreateLaunchTemplateVersion API. If the value is $Latest,\n Amazon EC2 Auto Scaling selects the latest version of the launch template when launching instances. If\n the value is $Default, Amazon EC2 Auto Scaling selects the default version of the launch\n template when launching instances. The default value is $Default.

                            " + "smithy.api#documentation": "

                            The version number, $Latest, or $Default. To get the version number, use the Amazon EC2 DescribeLaunchTemplateVersions API operation. New launch template versions\n can be created using the Amazon EC2 CreateLaunchTemplateVersion API. If the value is $Latest,\n Amazon EC2 Auto Scaling selects the latest version of the launch template when launching instances. If\n the value is $Default, Amazon EC2 Auto Scaling selects the default version of the launch\n template when launching instances. The default value is $Default.

                            " } } }, @@ -4301,7 +4307,7 @@ } }, "traits": { - "smithy.api#documentation": "

                            Describes a mixed instances policy for an Auto Scaling group. With mixed instances, your Auto Scaling\n group can provision a combination of On-Demand Instances and Spot Instances across\n multiple instance types. For more information, see Auto Scaling Groups with\n Multiple Instance Types and Purchase Options in the Amazon EC2 Auto Scaling User\n Guide.

                            \n

                            You can create a mixed instances policy for a new Auto Scaling group, or you can create it for\n an existing group by updating the group to specify MixedInstancesPolicy as\n the top-level parameter instead of a launch configuration or launch template.

                            " + "smithy.api#documentation": "

                            Describes a mixed instances policy for an Auto Scaling group. With mixed instances, your Auto Scaling\n group can provision a combination of On-Demand Instances and Spot Instances across\n multiple instance types. For more information, see Auto Scaling groups with multiple\n instance types and purchase options in the Amazon EC2 Auto Scaling User\n Guide.

                            \n

                            You can create a mixed instances policy for a new Auto Scaling group, or you can create it for\n an existing group by updating the group to specify MixedInstancesPolicy as\n the top-level parameter instead of a launch configuration or launch template.

                            " } }, "com.amazonaws.autoscaling#MonitoringEnabled": { @@ -5904,7 +5910,7 @@ "MixedInstancesPolicy": { "target": "com.amazonaws.autoscaling#MixedInstancesPolicy", "traits": { - "smithy.api#documentation": "

                            An embedded object that specifies a mixed instances policy. When you make changes to\n an existing policy, all optional parameters are left unchanged if not specified. For\n more information, see Auto Scaling Groups with Multiple\n Instance Types and Purchase Options in the Amazon EC2 Auto Scaling User\n Guide.

                            " + "smithy.api#documentation": "

                            An embedded object that specifies a mixed instances policy. When you make changes to\n an existing policy, all optional parameters are left unchanged if not specified. For\n more information, see Auto Scaling groups with multiple\n instance types and purchase options in the Amazon EC2 Auto Scaling User\n Guide.

                            " } }, "MinSize": { diff --git a/codegen/sdk-codegen/aws-models/chime.2018-05-01.json b/codegen/sdk-codegen/aws-models/chime.2018-05-01.json index 6b462c73ace7..9117ce123135 100644 --- a/codegen/sdk-codegen/aws-models/chime.2018-05-01.json +++ b/codegen/sdk-codegen/aws-models/chime.2018-05-01.json @@ -189,6 +189,275 @@ "smithy.api#pattern": "[A-Z]{2}" } }, + "com.amazonaws.chime#AppInstance": { + "type": "structure", + "members": { + "AppInstanceArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the messaging instance.

                            " + } + }, + "Name": { + "target": "com.amazonaws.chime#NonEmptyResourceName", + "traits": { + "smithy.api#documentation": "

                            The name of an app instance.

                            " + } + }, + "Metadata": { + "target": "com.amazonaws.chime#Metadata", + "traits": { + "smithy.api#documentation": "

                            The metadata of an app instance.

                            " + } + }, + "CreatedTimestamp": { + "target": "com.amazonaws.chime#Timestamp", + "traits": { + "smithy.api#documentation": "

                            The time at which an app instance was created. In epoch milliseconds.

                            " + } + }, + "LastUpdatedTimestamp": { + "target": "com.amazonaws.chime#Timestamp", + "traits": { + "smithy.api#documentation": "

                            The time an app instance was last updated. In epoch milliseconds.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            An instance of a Chime messaging application.

                            " + } + }, + "com.amazonaws.chime#AppInstanceAdmin": { + "type": "structure", + "members": { + "Admin": { + "target": "com.amazonaws.chime#Identity", + "traits": { + "smithy.api#documentation": "

                            The name and metadata of the app instance administrator.

                            " + } + }, + "AppInstanceArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the app instance administrator.

                            " + } + }, + "CreatedTimestamp": { + "target": "com.amazonaws.chime#Timestamp", + "traits": { + "smithy.api#documentation": "

                            The time at which an administrator was created.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Promotes a user to the administrator role for the duration of an app instance.

                            " + } + }, + "com.amazonaws.chime#AppInstanceAdminList": { + "type": "list", + "member": { + "target": "com.amazonaws.chime#AppInstanceAdminSummary" + } + }, + "com.amazonaws.chime#AppInstanceAdminSummary": { + "type": "structure", + "members": { + "Admin": { + "target": "com.amazonaws.chime#Identity", + "traits": { + "smithy.api#documentation": "

                            The name and metadata of the app instance administrator.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The identity and metadata of an administrator.

                            " + } + }, + "com.amazonaws.chime#AppInstanceDataType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "Channel", + "name": "Channel" + }, + { + "value": "ChannelMessage", + "name": "ChannelMessage" + } + ] + } + }, + "com.amazonaws.chime#AppInstanceList": { + "type": "list", + "member": { + "target": "com.amazonaws.chime#AppInstanceSummary" + } + }, + "com.amazonaws.chime#AppInstanceRetentionSettings": { + "type": "structure", + "members": { + "ChannelRetentionSettings": { + "target": "com.amazonaws.chime#ChannelRetentionSettings", + "traits": { + "smithy.api#documentation": "

                            The length of time in days to retain a channel.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The length of time in days to retain messages.

                            " + } + }, + "com.amazonaws.chime#AppInstanceStreamingConfiguration": { + "type": "structure", + "members": { + "AppInstanceDataType": { + "target": "com.amazonaws.chime#AppInstanceDataType", + "traits": { + "smithy.api#documentation": "

                            The data type of the app instance.

                            ", + "smithy.api#required": {} + } + }, + "ResourceArn": { + "target": "com.amazonaws.chime#Arn", + "traits": { + "smithy.api#documentation": "

                            The resource ARN.

                            ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The streaming configuration of an app instance.

                            " + } + }, + "com.amazonaws.chime#AppInstanceStreamingConfigurationList": { + "type": "list", + "member": { + "target": "com.amazonaws.chime#AppInstanceStreamingConfiguration" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2 + } + } + }, + "com.amazonaws.chime#AppInstanceSummary": { + "type": "structure", + "members": { + "AppInstanceArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The app instance ARN.

                            " + } + }, + "Name": { + "target": "com.amazonaws.chime#NonEmptyResourceName", + "traits": { + "smithy.api#documentation": "

                            The name of the app instance summary.

                            " + } + }, + "Metadata": { + "target": "com.amazonaws.chime#Metadata", + "traits": { + "smithy.api#documentation": "

                            The metadata of the app instance summary.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The summary data for an app instance.

                            " + } + }, + "com.amazonaws.chime#AppInstanceUser": { + "type": "structure", + "members": { + "AppInstanceUserArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the app instance user.

                            " + } + }, + "Name": { + "target": "com.amazonaws.chime#UserName", + "traits": { + "smithy.api#documentation": "

                            The name of the app instance user.

                            " + } + }, + "CreatedTimestamp": { + "target": "com.amazonaws.chime#Timestamp", + "traits": { + "smithy.api#documentation": "

                            The time at which the app instance user was created.

                            " + } + }, + "Metadata": { + "target": "com.amazonaws.chime#Metadata", + "traits": { + "smithy.api#documentation": "

                            The metadata of the app instance user.

                            " + } + }, + "LastUpdatedTimestamp": { + "target": "com.amazonaws.chime#Timestamp", + "traits": { + "smithy.api#documentation": "

                            The time at which the app instance user was last updated.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The app instance user.

                            " + } + }, + "com.amazonaws.chime#AppInstanceUserList": { + "type": "list", + "member": { + "target": "com.amazonaws.chime#AppInstanceUserSummary" + } + }, + "com.amazonaws.chime#AppInstanceUserMembershipSummary": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.chime#ChannelMembershipType", + "traits": { + "smithy.api#documentation": "

                            The type of channel summary,

                            " + } + }, + "ReadMarkerTimestamp": { + "target": "com.amazonaws.chime#Timestamp", + "traits": { + "smithy.api#documentation": "

                            The time at which a summary was last read.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Lists the channels to which app instance users belong.

                            " + } + }, + "com.amazonaws.chime#AppInstanceUserSummary": { + "type": "structure", + "members": { + "AppInstanceUserArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the app instance user.

                            " + } + }, + "Name": { + "target": "com.amazonaws.chime#UserName", + "traits": { + "smithy.api#documentation": "

                            The name in an app instance user summary.

                            " + } + }, + "Metadata": { + "target": "com.amazonaws.chime#Metadata", + "traits": { + "smithy.api#documentation": "

                            The metadata in an app instance user summary.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The app instance user summary data .

                            " + } + }, "com.amazonaws.chime#AreaCode": { "type": "string", "traits": { @@ -1240,287 +1509,654 @@ "target": "com.amazonaws.chime#Capability" } }, - "com.amazonaws.chime#ClientRequestToken": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 2, - "max": 64 - }, - "smithy.api#pattern": "[-_a-zA-Z0-9]*", - "smithy.api#sensitive": {} - } - }, - "com.amazonaws.chime#ConflictException": { + "com.amazonaws.chime#Channel": { "type": "structure", "members": { - "Code": { - "target": "com.amazonaws.chime#ErrorCode" + "Name": { + "target": "com.amazonaws.chime#NonEmptyResourceName", + "traits": { + "smithy.api#documentation": "

                            The name of the channel.

                            " + } }, - "Message": { - "target": "com.amazonaws.chime#String" + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the channel.

                            " + } + }, + "Mode": { + "target": "com.amazonaws.chime#ChannelMode", + "traits": { + "smithy.api#documentation": "

                            The mode of the channel.

                            " + } + }, + "Privacy": { + "target": "com.amazonaws.chime#ChannelPrivacy", + "traits": { + "smithy.api#documentation": "

                            The channel's privacy setting, PUBLIC or HIDDEN.

                            " + } + }, + "Metadata": { + "target": "com.amazonaws.chime#Metadata", + "traits": { + "smithy.api#documentation": "

                            The metadata of the channel.

                            " + } + }, + "CreatedBy": { + "target": "com.amazonaws.chime#Identity", + "traits": { + "smithy.api#documentation": "

                            The administrator who created the channel.

                            " + } + }, + "CreatedTimestamp": { + "target": "com.amazonaws.chime#Timestamp", + "traits": { + "smithy.api#documentation": "

                            The time at which the administrator created the channel.

                            " + } + }, + "LastMessageTimestamp": { + "target": "com.amazonaws.chime#Timestamp", + "traits": { + "smithy.api#documentation": "

                            The time at which a member sent the last message in a session.

                            " + } + }, + "LastUpdatedTimestamp": { + "target": "com.amazonaws.chime#Timestamp", + "traits": { + "smithy.api#documentation": "

                            The time at which a channel was last updated.

                            " + } } }, "traits": { - "smithy.api#documentation": "

                            The request could not be processed because of conflict in the current state of the\n resource.

                            ", - "smithy.api#error": "client", - "smithy.api#httpError": 409 + "smithy.api#documentation": "

                            Creates a channel.

                            " } }, - "com.amazonaws.chime#ConversationRetentionSettings": { + "com.amazonaws.chime#ChannelBan": { "type": "structure", "members": { - "RetentionDays": { - "target": "com.amazonaws.chime#RetentionDays", + "Member": { + "target": "com.amazonaws.chime#Identity", "traits": { - "smithy.api#documentation": "

                            The number of days for which to retain chat conversation messages.

                            " + "smithy.api#documentation": "

                            The member being banned from the channel.

                            " + } + }, + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the channel from which a member is being banned.

                            " + } + }, + "CreatedTimestamp": { + "target": "com.amazonaws.chime#Timestamp", + "traits": { + "smithy.api#documentation": "

                            The time at which the ban was created.

                            " + } + }, + "CreatedBy": { + "target": "com.amazonaws.chime#Identity", + "traits": { + "smithy.api#documentation": "

                            The parameter of the action.

                            " } } }, "traits": { - "smithy.api#documentation": "

                            The retention settings that determine how long to retain chat conversation messages for an Amazon Chime Enterprise account.

                            " + "smithy.api#documentation": "

                            Bans a user from a channel.

                            " } }, - "com.amazonaws.chime#Country": { - "type": "string", + "com.amazonaws.chime#ChannelBanSummary": { + "type": "structure", + "members": { + "Member": { + "target": "com.amazonaws.chime#Identity", + "traits": { + "smithy.api#documentation": "

                            The member being banned from a channel.

                            " + } + } + }, "traits": { - "smithy.api#pattern": "^$|^[A-Z]{2,2}$" + "smithy.api#documentation": "

                            The summary data for the channel ban.

                            " } }, - "com.amazonaws.chime#CountryList": { + "com.amazonaws.chime#ChannelBanSummaryList": { "type": "list", "member": { - "target": "com.amazonaws.chime#Country" - }, - "traits": { - "smithy.api#length": { - "min": 1, - "max": 100 - } + "target": "com.amazonaws.chime#ChannelBanSummary" } }, - "com.amazonaws.chime#CpsLimit": { - "type": "integer", - "traits": { - "smithy.api#box": {}, - "smithy.api#range": { - "min": 1 - } - } - }, - "com.amazonaws.chime#CreateAccount": { - "type": "operation", - "input": { - "target": "com.amazonaws.chime#CreateAccountRequest" - }, - "output": { - "target": "com.amazonaws.chime#CreateAccountResponse" - }, - "errors": [ - { - "target": "com.amazonaws.chime#BadRequestException" - }, - { - "target": "com.amazonaws.chime#ForbiddenException" + "com.amazonaws.chime#ChannelMembership": { + "type": "structure", + "members": { + "InvitedBy": { + "target": "com.amazonaws.chime#Identity", + "traits": { + "smithy.api#documentation": "

                            The identifier of the member who invited another member. Taken from the message header.

                            " + } }, - { - "target": "com.amazonaws.chime#NotFoundException" + "Type": { + "target": "com.amazonaws.chime#ChannelMembershipType", + "traits": { + "smithy.api#documentation": "

                            The membership type set for the channel member.

                            " + } }, - { - "target": "com.amazonaws.chime#ServiceFailureException" + "Member": { + "target": "com.amazonaws.chime#Identity", + "traits": { + "smithy.api#documentation": "

                            The data of the channel member.

                            " + } }, - { - "target": "com.amazonaws.chime#ServiceUnavailableException" + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the member's channel.

                            " + } }, - { - "target": "com.amazonaws.chime#ThrottledClientException" + "CreatedTimestamp": { + "target": "com.amazonaws.chime#Timestamp", + "traits": { + "smithy.api#documentation": "

                            The time at which the channel membership was created.

                            " + } }, - { - "target": "com.amazonaws.chime#UnauthorizedClientException" + "LastUpdatedTimestamp": { + "target": "com.amazonaws.chime#Timestamp", + "traits": { + "smithy.api#documentation": "

                            The time at which a channel membership was last updated.

                            " + } } - ], + }, "traits": { - "smithy.api#documentation": "

                            Creates an Amazon Chime account under the administrator's AWS account. Only\n Team account types are currently supported for this action. For more information\n about different account types, see Managing Your Amazon Chime Accounts in the\n Amazon\n Chime Administration Guide.

                            ", - "smithy.api#http": { - "method": "POST", - "uri": "/accounts", - "code": 201 - } + "smithy.api#documentation": "

                            Creates a channel member.

                            " } }, - "com.amazonaws.chime#CreateAccountRequest": { + "com.amazonaws.chime#ChannelMembershipForAppInstanceUserSummary": { "type": "structure", "members": { - "Name": { - "target": "com.amazonaws.chime#AccountName", + "ChannelSummary": { + "target": "com.amazonaws.chime#ChannelSummary" + }, + "AppInstanceUserMembershipSummary": { + "target": "com.amazonaws.chime#AppInstanceUserMembershipSummary", "traits": { - "smithy.api#documentation": "

                            The name of the Amazon Chime account.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            Returns the channel membership data for an app instance.

                            " } } + }, + "traits": { + "smithy.api#documentation": "

                            Returns the channel membership summary data for an app instance.

                            " } }, - "com.amazonaws.chime#CreateAccountResponse": { + "com.amazonaws.chime#ChannelMembershipForAppInstanceUserSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.chime#ChannelMembershipForAppInstanceUserSummary" + } + }, + "com.amazonaws.chime#ChannelMembershipSummary": { "type": "structure", "members": { - "Account": { - "target": "com.amazonaws.chime#Account" + "Member": { + "target": "com.amazonaws.chime#Identity", + "traits": { + "smithy.api#documentation": "

                            A member's summary data.

                            " + } } + }, + "traits": { + "smithy.api#documentation": "

                            The summary data of a channel membership.

                            " } }, - "com.amazonaws.chime#CreateAttendee": { - "type": "operation", - "input": { - "target": "com.amazonaws.chime#CreateAttendeeRequest" - }, - "output": { - "target": "com.amazonaws.chime#CreateAttendeeResponse" - }, - "errors": [ - { - "target": "com.amazonaws.chime#BadRequestException" + "com.amazonaws.chime#ChannelMembershipSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.chime#ChannelMembershipSummary" + } + }, + "com.amazonaws.chime#ChannelMembershipType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "DEFAULT", + "name": "DEFAULT" + }, + { + "value": "HIDDEN", + "name": "HIDDEN" + } + ] + } + }, + "com.amazonaws.chime#ChannelMessage": { + "type": "structure", + "members": { + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the channel.

                            " + } }, - { - "target": "com.amazonaws.chime#ForbiddenException" + "MessageId": { + "target": "com.amazonaws.chime#MessageId", + "traits": { + "smithy.api#documentation": "

                            The ID of a message.

                            " + } }, - { - "target": "com.amazonaws.chime#NotFoundException" + "Content": { + "target": "com.amazonaws.chime#Content", + "traits": { + "smithy.api#documentation": "

                            The message content.

                            " + } }, - { - "target": "com.amazonaws.chime#ResourceLimitExceededException" + "Metadata": { + "target": "com.amazonaws.chime#Metadata", + "traits": { + "smithy.api#documentation": "

                            The message metadata.

                            " + } }, - { - "target": "com.amazonaws.chime#ServiceFailureException" + "Type": { + "target": "com.amazonaws.chime#ChannelMessageType", + "traits": { + "smithy.api#documentation": "

                            The message type.

                            " + } }, - { - "target": "com.amazonaws.chime#ServiceUnavailableException" + "CreatedTimestamp": { + "target": "com.amazonaws.chime#Timestamp", + "traits": { + "smithy.api#documentation": "

                            The time at which the message was created.

                            " + } }, - { - "target": "com.amazonaws.chime#ThrottledClientException" + "LastEditedTimestamp": { + "target": "com.amazonaws.chime#Timestamp", + "traits": { + "smithy.api#documentation": "

                            The time at which a message was edited.

                            " + } }, - { - "target": "com.amazonaws.chime#UnauthorizedClientException" - } - ], - "traits": { - "smithy.api#documentation": "

                            Creates a new attendee for an active Amazon Chime SDK meeting. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide.

                            ", - "smithy.api#http": { - "method": "POST", - "uri": "/meetings/{MeetingId}/attendees", - "code": 201 - } - } - }, - "com.amazonaws.chime#CreateAttendeeError": { - "type": "structure", - "members": { - "ExternalUserId": { - "target": "com.amazonaws.chime#ExternalUserIdType", + "LastUpdatedTimestamp": { + "target": "com.amazonaws.chime#Timestamp", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime SDK external user ID. An idempotency token. Links the attendee to an identity managed by a builder application.\n If you create an attendee with the same external user id, the service returns the existing record.

                            " + "smithy.api#documentation": "

                            The time at which a message was updated.

                            " } }, - "ErrorCode": { - "target": "com.amazonaws.chime#String", + "Sender": { + "target": "com.amazonaws.chime#Identity", "traits": { - "smithy.api#documentation": "

                            The error code.

                            " + "smithy.api#documentation": "

                            The message sender.

                            " } }, - "ErrorMessage": { - "target": "com.amazonaws.chime#String", + "Redacted": { + "target": "com.amazonaws.chime#NonNullableBoolean", "traits": { - "smithy.api#documentation": "

                            The error message.

                            " + "smithy.api#documentation": "

                            Hides the content of a message. The message still exists on the back end, but this action \n only returns metadata.

                            " } + }, + "Persistence": { + "target": "com.amazonaws.chime#ChannelMessagePersistenceType" } }, "traits": { - "smithy.api#documentation": "

                            The list of errors returned when errors are encountered during the BatchCreateAttendee and CreateAttendee actions. This includes external user IDs, error codes, and error messages.

                            " + "smithy.api#documentation": "

                            Creates a message in a channel.

                            " } }, - "com.amazonaws.chime#CreateAttendeeRequest": { + "com.amazonaws.chime#ChannelMessagePersistenceType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "PERSISTENT", + "name": "PERSISTENT" + }, + { + "value": "NON_PERSISTENT", + "name": "NON_PERSISTENT" + } + ] + } + }, + "com.amazonaws.chime#ChannelMessageSummary": { "type": "structure", "members": { - "MeetingId": { - "target": "com.amazonaws.chime#GuidString", + "MessageId": { + "target": "com.amazonaws.chime#MessageId", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime SDK meeting ID.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#documentation": "

                            The ID of the message summary.

                            " } }, - "ExternalUserId": { - "target": "com.amazonaws.chime#ExternalUserIdType", + "Content": { + "target": "com.amazonaws.chime#Content", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime SDK external user ID. An idempotency token. Links the attendee to an identity managed by a builder application.\n If you create an attendee with the same external user id, the service returns the existing record.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The content of the message summary.

                            " } }, - "Tags": { - "target": "com.amazonaws.chime#AttendeeTagList", + "Metadata": { + "target": "com.amazonaws.chime#Metadata", "traits": { - "smithy.api#documentation": "

                            The tag key-value pairs.

                            " + "smithy.api#documentation": "

                            The metadata of the message summary.

                            " } - } - } - }, - "com.amazonaws.chime#CreateAttendeeRequestItem": { - "type": "structure", - "members": { - "ExternalUserId": { - "target": "com.amazonaws.chime#ExternalUserIdType", + }, + "Type": { + "target": "com.amazonaws.chime#ChannelMessageType", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime SDK external user ID. An idempotency token. Links the attendee to an identity managed by a builder application.\n If you create an attendee with the same external user id, the service returns the existing record.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The type of message summary.

                            " } }, - "Tags": { - "target": "com.amazonaws.chime#AttendeeTagList", + "CreatedTimestamp": { + "target": "com.amazonaws.chime#Timestamp", "traits": { - "smithy.api#documentation": "

                            The tag key-value pairs.

                            " + "smithy.api#documentation": "

                            The time at which the message summary was created.

                            " + } + }, + "LastUpdatedTimestamp": { + "target": "com.amazonaws.chime#Timestamp" + }, + "LastEditedTimestamp": { + "target": "com.amazonaws.chime#Timestamp" + }, + "Sender": { + "target": "com.amazonaws.chime#Identity", + "traits": { + "smithy.api#documentation": "

                            The sender of the message summary.

                            " + } + }, + "Redacted": { + "target": "com.amazonaws.chime#NonNullableBoolean", + "traits": { + "smithy.api#documentation": "

                            Redacts the content of a message summary.

                            " } } }, "traits": { - "smithy.api#documentation": "

                            The Amazon Chime SDK attendee fields to create, used with the BatchCreateAttendee action.

                            " + "smithy.api#documentation": "

                            A summary of the messages in a channel.

                            " } }, - "com.amazonaws.chime#CreateAttendeeRequestItemList": { + "com.amazonaws.chime#ChannelMessageSummaryList": { "type": "list", "member": { - "target": "com.amazonaws.chime#CreateAttendeeRequestItem" + "target": "com.amazonaws.chime#ChannelMessageSummary" } }, - "com.amazonaws.chime#CreateAttendeeResponse": { + "com.amazonaws.chime#ChannelMessageType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "STANDARD", + "name": "STANDARD" + }, + { + "value": "CONTROL", + "name": "CONTROL" + } + ] + } + }, + "com.amazonaws.chime#ChannelMode": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "UNRESTRICTED", + "name": "UNRESTRICTED" + }, + { + "value": "RESTRICTED", + "name": "RESTRICTED" + } + ] + } + }, + "com.amazonaws.chime#ChannelModeratedByAppInstanceUserSummary": { "type": "structure", "members": { - "Attendee": { - "target": "com.amazonaws.chime#Attendee", - "traits": { - "smithy.api#documentation": "

                            The attendee information, including attendee ID and join token.

                            " - } + "ChannelSummary": { + "target": "com.amazonaws.chime#ChannelSummary" } + }, + "traits": { + "smithy.api#documentation": "

                            Returns the summary data for a moderated channel.

                            " } }, - "com.amazonaws.chime#CreateBot": { - "type": "operation", - "input": { - "target": "com.amazonaws.chime#CreateBotRequest" - }, - "output": { - "target": "com.amazonaws.chime#CreateBotResponse" - }, - "errors": [ - { - "target": "com.amazonaws.chime#BadRequestException" - }, - { - "target": "com.amazonaws.chime#ForbiddenException" - }, - { - "target": "com.amazonaws.chime#NotFoundException" + "com.amazonaws.chime#ChannelModeratedByAppInstanceUserSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.chime#ChannelModeratedByAppInstanceUserSummary" + } + }, + "com.amazonaws.chime#ChannelModerator": { + "type": "structure", + "members": { + "Moderator": { + "target": "com.amazonaws.chime#Identity", + "traits": { + "smithy.api#documentation": "

                            The moderator's data.

                            " + } + }, + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the moderator's channel.

                            " + } + }, + "CreatedTimestamp": { + "target": "com.amazonaws.chime#Timestamp", + "traits": { + "smithy.api#documentation": "

                            The time at which the moderator was created.

                            " + } + }, + "CreatedBy": { + "target": "com.amazonaws.chime#Identity", + "traits": { + "smithy.api#documentation": "

                            The member who created the moderator.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Creates a moderator on a channel.

                            " + } + }, + "com.amazonaws.chime#ChannelModeratorSummary": { + "type": "structure", + "members": { + "Moderator": { + "target": "com.amazonaws.chime#Identity", + "traits": { + "smithy.api#documentation": "

                            The data for a moderator.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Summary data of the moderators in a channel.

                            " + } + }, + "com.amazonaws.chime#ChannelModeratorSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.chime#ChannelModeratorSummary" + } + }, + "com.amazonaws.chime#ChannelPrivacy": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "PUBLIC", + "name": "PUBLIC" + }, + { + "value": "PRIVATE", + "name": "PRIVATE" + } + ] + } + }, + "com.amazonaws.chime#ChannelRetentionSettings": { + "type": "structure", + "members": { + "RetentionDays": { + "target": "com.amazonaws.chime#RetentionDays", + "traits": { + "smithy.api#documentation": "

                            The time in days to retain a channel.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The retention settings for a channel.

                            " + } + }, + "com.amazonaws.chime#ChannelSummary": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.chime#NonEmptyResourceName", + "traits": { + "smithy.api#documentation": "

                            The parameter of the action.

                            " + } + }, + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the channel summary.

                            " + } + }, + "Mode": { + "target": "com.amazonaws.chime#ChannelMode", + "traits": { + "smithy.api#documentation": "

                            The summary mode of the channel.

                            " + } + }, + "Privacy": { + "target": "com.amazonaws.chime#ChannelPrivacy", + "traits": { + "smithy.api#documentation": "

                            The privacy setting of the channel being summarized, PUBLIC or HIDDEN.

                            " + } + }, + "Metadata": { + "target": "com.amazonaws.chime#Metadata", + "traits": { + "smithy.api#documentation": "

                            The metadata of the channel summary.

                            " + } + }, + "LastMessageTimestamp": { + "target": "com.amazonaws.chime#Timestamp", + "traits": { + "smithy.api#documentation": "

                            The time at which the last message in a channel was sent.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The summary data for a channel.

                            " + } + }, + "com.amazonaws.chime#ChannelSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.chime#ChannelSummary" + } + }, + "com.amazonaws.chime#ChimeArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 5, + "max": 1600 + }, + "smithy.api#pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}" + } + }, + "com.amazonaws.chime#ClientRequestToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 2, + "max": 64 + }, + "smithy.api#pattern": "[-_a-zA-Z0-9]*", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.chime#ConflictException": { + "type": "structure", + "members": { + "Code": { + "target": "com.amazonaws.chime#ErrorCode" + }, + "Message": { + "target": "com.amazonaws.chime#String" + } + }, + "traits": { + "smithy.api#documentation": "

                            The request could not be processed because of conflict in the current state of the\n resource.

                            ", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, + "com.amazonaws.chime#Content": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 4096 + }, + "smithy.api#pattern": "[\\s\\S]*", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.chime#ConversationRetentionSettings": { + "type": "structure", + "members": { + "RetentionDays": { + "target": "com.amazonaws.chime#RetentionDays", + "traits": { + "smithy.api#documentation": "

                            The number of days for which to retain chat conversation messages.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The retention settings that determine how long to retain chat conversation messages for an Amazon Chime Enterprise account.

                            " + } + }, + "com.amazonaws.chime#Country": { + "type": "string", + "traits": { + "smithy.api#pattern": "^$|^[A-Z]{2,2}$" + } + }, + "com.amazonaws.chime#CountryList": { + "type": "list", + "member": { + "target": "com.amazonaws.chime#Country" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.chime#CpsLimit": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 1 + } + } + }, + "com.amazonaws.chime#CreateAccount": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#CreateAccountRequest" + }, + "output": { + "target": "com.amazonaws.chime#CreateAccountResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" }, { - "target": "com.amazonaws.chime#ResourceLimitExceededException" + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" }, { "target": "com.amazonaws.chime#ServiceFailureException" @@ -1536,63 +2172,49 @@ } ], "traits": { - "smithy.api#documentation": "

                            Creates a bot for an Amazon Chime Enterprise account.

                            ", + "smithy.api#documentation": "

                            Creates an Amazon Chime account under the administrator's AWS account. Only\n Team account types are currently supported for this action. For more information\n about different account types, see Managing Your Amazon Chime Accounts in the\n Amazon\n Chime Administration Guide.

                            ", "smithy.api#http": { "method": "POST", - "uri": "/accounts/{AccountId}/bots", + "uri": "/accounts", "code": 201 } } }, - "com.amazonaws.chime#CreateBotRequest": { + "com.amazonaws.chime#CreateAccountRequest": { "type": "structure", "members": { - "AccountId": { - "target": "com.amazonaws.chime#NonEmptyString", - "traits": { - "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "DisplayName": { - "target": "com.amazonaws.chime#SensitiveString", + "Name": { + "target": "com.amazonaws.chime#AccountName", "traits": { - "smithy.api#documentation": "

                            The bot display name.

                            ", + "smithy.api#documentation": "

                            The name of the Amazon Chime account.

                            ", "smithy.api#required": {} } - }, - "Domain": { - "target": "com.amazonaws.chime#NonEmptyString", - "traits": { - "smithy.api#documentation": "

                            The domain of the Amazon Chime Enterprise account.

                            " - } } } }, - "com.amazonaws.chime#CreateBotResponse": { + "com.amazonaws.chime#CreateAccountResponse": { "type": "structure", "members": { - "Bot": { - "target": "com.amazonaws.chime#Bot", - "traits": { - "smithy.api#documentation": "

                            The bot details.

                            " - } + "Account": { + "target": "com.amazonaws.chime#Account" } } }, - "com.amazonaws.chime#CreateMeeting": { + "com.amazonaws.chime#CreateAppInstance": { "type": "operation", "input": { - "target": "com.amazonaws.chime#CreateMeetingRequest" + "target": "com.amazonaws.chime#CreateAppInstanceRequest" }, "output": { - "target": "com.amazonaws.chime#CreateMeetingResponse" + "target": "com.amazonaws.chime#CreateAppInstanceResponse" }, "errors": [ { "target": "com.amazonaws.chime#BadRequestException" }, + { + "target": "com.amazonaws.chime#ConflictException" + }, { "target": "com.amazonaws.chime#ForbiddenException" }, @@ -1613,26 +2235,32 @@ } ], "traits": { - "smithy.api#documentation": "

                            Creates a new Amazon Chime SDK meeting in the specified media Region with no initial attendees. For more information about specifying media Regions, see Amazon Chime SDK Media Regions in the Amazon Chime Developer Guide. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide.

                            ", + "smithy.api#documentation": "

                            Creates an Amazon Chime Messaging SDK AppInstance under an AWS Account. Only Messaging SDK customers use this API. \n CreateAppInstance supports idempotency behavior as described in the AWS API Standard.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "identity-" + }, "smithy.api#http": { "method": "POST", - "uri": "/meetings", + "uri": "/app-instances", "code": 201 } } }, - "com.amazonaws.chime#CreateMeetingDialOut": { + "com.amazonaws.chime#CreateAppInstanceAdmin": { "type": "operation", "input": { - "target": "com.amazonaws.chime#CreateMeetingDialOutRequest" + "target": "com.amazonaws.chime#CreateAppInstanceAdminRequest" }, "output": { - "target": "com.amazonaws.chime#CreateMeetingDialOutResponse" + "target": "com.amazonaws.chime#CreateAppInstanceAdminResponse" }, "errors": [ { "target": "com.amazonaws.chime#BadRequestException" }, + { + "target": "com.amazonaws.chime#ConflictException" + }, { "target": "com.amazonaws.chime#ForbiddenException" }, @@ -1653,125 +2281,106 @@ } ], "traits": { - "smithy.api#documentation": "

                            Uses the join token and call metadata in a meeting request (From number, To number, and so forth) to initiate an outbound call to a \n public switched telephone network (PSTN) and joins them into Chime meeting. Also ensures that the From number belongs to the \n customer.

                            \n \n

                            To play welcome audio or implement an interactive voice response (IVR), use the CreateSipMediaApplicationCall API with \n the corresponding SIP media application ID.

                            ", + "smithy.api#documentation": "

                            Promotes an AppInstanceUser to an AppInstanceAdmin. The promoted user can perform the following actions.

                            \n
                              \n
                            • \n

                              \n ChannelModerator actions across all channels in the app instance.

                              \n
                            • \n
                            • \n

                              \n DeleteChannelMessage actions.

                              \n
                            • \n
                            \n

                            Only an AppInstanceUser can be promoted to an AppInstanceAdmin role.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "identity-" + }, "smithy.api#http": { "method": "POST", - "uri": "/meetings/{MeetingId}/dial-outs", + "uri": "/app-instances/{AppInstanceArn}/admins", "code": 201 } } }, - "com.amazonaws.chime#CreateMeetingDialOutRequest": { + "com.amazonaws.chime#CreateAppInstanceAdminRequest": { "type": "structure", "members": { - "MeetingId": { - "target": "com.amazonaws.chime#GuidString", + "AppInstanceAdminArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime SDK meeting ID.

                            \n \n

                            Type: String

                            \n \n

                            Pattern: [a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}

                            \n \n

                            Required: No

                            ", - "smithy.api#httpLabel": {}, + "smithy.api#documentation": "

                            The ARN of the administrator of the current app instance.

                            ", "smithy.api#required": {} } }, - "FromPhoneNumber": { - "target": "com.amazonaws.chime#E164PhoneNumber", + "AppInstanceArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            Phone number used as the caller ID when the remote party receives a call.

                            ", + "smithy.api#documentation": "

                            The ARN of the app instance.

                            ", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } + } + } + }, + "com.amazonaws.chime#CreateAppInstanceAdminResponse": { + "type": "structure", + "members": { + "AppInstanceAdmin": { + "target": "com.amazonaws.chime#Identity", + "traits": { + "smithy.api#documentation": "

                            The name and ARN of the admin for the app instance.

                            " + } }, - "ToPhoneNumber": { - "target": "com.amazonaws.chime#E164PhoneNumber", - "traits": { - "smithy.api#documentation": "

                            Phone number called when inviting someone to a meeting.

                            ", - "smithy.api#required": {} - } - }, - "JoinToken": { - "target": "com.amazonaws.chime#JoinTokenString", - "traits": { - "smithy.api#documentation": "

                            Token used by the Amazon Chime SDK attendee. Call the \n CreateAttendee API to get a join token.

                            ", - "smithy.api#required": {} - } - } - } - }, - "com.amazonaws.chime#CreateMeetingDialOutResponse": { - "type": "structure", - "members": { - "TransactionId": { - "target": "com.amazonaws.chime#GuidString", + "AppInstanceArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            Unique ID that tracks API calls.

                            " + "smithy.api#documentation": "

                            The ARN of the of the admin for the app instance.

                            " } } } }, - "com.amazonaws.chime#CreateMeetingRequest": { + "com.amazonaws.chime#CreateAppInstanceRequest": { "type": "structure", "members": { - "ClientRequestToken": { - "target": "com.amazonaws.chime#ClientRequestToken", + "Name": { + "target": "com.amazonaws.chime#NonEmptyResourceName", "traits": { - "smithy.api#documentation": "

                            The unique identifier for the client request. Use a different token for different meetings.

                            ", - "smithy.api#idempotencyToken": {}, + "smithy.api#documentation": "

                            The name of the app instance.

                            ", "smithy.api#required": {} } }, - "ExternalMeetingId": { - "target": "com.amazonaws.chime#ExternalMeetingIdType", - "traits": { - "smithy.api#documentation": "

                            The external meeting ID.

                            " - } - }, - "MeetingHostId": { - "target": "com.amazonaws.chime#ExternalUserIdType", - "traits": { - "smithy.api#documentation": "

                            Reserved.

                            " - } - }, - "MediaRegion": { - "target": "com.amazonaws.chime#String", - "traits": { - "smithy.api#documentation": "

                            The Region in which to create the meeting. Default: us-east-1.

                            \n

                            Available values: af-south-1, ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, ca-central-1, eu-central-1, eu-north-1, eu-south-1, eu-west-1, eu-west-2, eu-west-3, sa-east-1, us-east-1, us-east-2, us-west-1, us-west-2.

                            " - } - }, - "Tags": { - "target": "com.amazonaws.chime#MeetingTagList", + "Metadata": { + "target": "com.amazonaws.chime#Metadata", "traits": { - "smithy.api#documentation": "

                            The tag key-value pairs.

                            " + "smithy.api#documentation": "

                            The metadata of the app instance. Limited to a 1KB string in UTF-8.

                            " } }, - "NotificationsConfiguration": { - "target": "com.amazonaws.chime#MeetingNotificationConfiguration", + "ClientRequestToken": { + "target": "com.amazonaws.chime#ClientRequestToken", "traits": { - "smithy.api#documentation": "

                            The configuration for resource targets to receive notifications when meeting and attendee events occur.

                            " + "smithy.api#documentation": "

                            The ClientRequestToken of the app instance.

                            ", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} } } } }, - "com.amazonaws.chime#CreateMeetingResponse": { + "com.amazonaws.chime#CreateAppInstanceResponse": { "type": "structure", "members": { - "Meeting": { - "target": "com.amazonaws.chime#Meeting", + "AppInstanceArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            The meeting information, including the meeting ID and MediaPlacement.

                            " + "smithy.api#documentation": "

                            The Amazon Resource Number (ARN) of the app instance.

                            " } } } }, - "com.amazonaws.chime#CreateMeetingWithAttendees": { + "com.amazonaws.chime#CreateAppInstanceUser": { "type": "operation", "input": { - "target": "com.amazonaws.chime#CreateMeetingWithAttendeesRequest" + "target": "com.amazonaws.chime#CreateAppInstanceUserRequest" }, "output": { - "target": "com.amazonaws.chime#CreateMeetingWithAttendeesResponse" + "target": "com.amazonaws.chime#CreateAppInstanceUserResponse" }, "errors": [ { "target": "com.amazonaws.chime#BadRequestException" }, + { + "target": "com.amazonaws.chime#ConflictException" + }, { "target": "com.amazonaws.chime#ForbiddenException" }, @@ -1792,110 +2401,86 @@ } ], "traits": { - "smithy.api#documentation": "

                            Creates a new Amazon Chime SDK meeting in the specified media Region, with attendees. For more information about specifying media Regions, \n see Amazon Chime SDK Media Regions in the \n Amazon Chime Developer Guide. For more information about the Amazon Chime SDK, see \n Using the Amazon Chime SDK in the \n Amazon Chime Developer Guide.

                            ", + "smithy.api#documentation": "

                            Creates a user under an Amazon Chime AppInstance. The request consists of a unique appInstanceUserId and \n Name for that user.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "identity-" + }, "smithy.api#http": { "method": "POST", - "uri": "/meetings?operation=create-attendees", + "uri": "/app-instance-users", "code": 201 } } }, - "com.amazonaws.chime#CreateMeetingWithAttendeesRequest": { + "com.amazonaws.chime#CreateAppInstanceUserRequest": { "type": "structure", "members": { - "ClientRequestToken": { - "target": "com.amazonaws.chime#ClientRequestToken", + "AppInstanceArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            The unique identifier for the client request. Use a different token for different meetings.

                            ", - "smithy.api#idempotencyToken": {}, + "smithy.api#documentation": "

                            The ARN of the app instance request.

                            ", "smithy.api#required": {} } }, - "ExternalMeetingId": { - "target": "com.amazonaws.chime#ExternalMeetingIdType", - "traits": { - "smithy.api#documentation": "

                            The external meeting ID.

                            " - } - }, - "MeetingHostId": { - "target": "com.amazonaws.chime#ExternalUserIdType", + "AppInstanceUserId": { + "target": "com.amazonaws.chime#UserId", "traits": { - "smithy.api#documentation": "

                            Reserved.

                            " + "smithy.api#documentation": "

                            The user ID of the app instance.

                            ", + "smithy.api#required": {} } }, - "MediaRegion": { - "target": "com.amazonaws.chime#String", + "Name": { + "target": "com.amazonaws.chime#UserName", "traits": { - "smithy.api#documentation": "

                            The Region in which to create the meeting. Default: us-east-1.

                            \n

                            Available values: af-south-1, ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, ca-central-1, eu-central-1, eu-north-1, eu-south-1, eu-west-1, eu-west-2, eu-west-3, sa-east-1, us-east-1, us-east-2, us-west-1, us-west-2.

                            " + "smithy.api#documentation": "

                            The user's name.

                            ", + "smithy.api#required": {} } }, - "Tags": { - "target": "com.amazonaws.chime#MeetingTagList", + "Metadata": { + "target": "com.amazonaws.chime#Metadata", "traits": { - "smithy.api#documentation": "

                            The tag key-value pairs.

                            " + "smithy.api#documentation": "

                            The request's metadata. Limited to a 1KB string in UTF-8.

                            " } }, - "NotificationsConfiguration": { - "target": "com.amazonaws.chime#MeetingNotificationConfiguration" - }, - "Attendees": { - "target": "com.amazonaws.chime#CreateMeetingWithAttendeesRequestItemList", + "ClientRequestToken": { + "target": "com.amazonaws.chime#ClientRequestToken", "traits": { - "smithy.api#documentation": "

                            The request containing the attendees to create.

                            " + "smithy.api#documentation": "

                            The token assigned to the user requesting an app instance.

                            ", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} } } } }, - "com.amazonaws.chime#CreateMeetingWithAttendeesRequestItemList": { - "type": "list", - "member": { - "target": "com.amazonaws.chime#CreateAttendeeRequestItem" - }, - "traits": { - "smithy.api#length": { - "min": 1, - "max": 10 - } - } - }, - "com.amazonaws.chime#CreateMeetingWithAttendeesResponse": { + "com.amazonaws.chime#CreateAppInstanceUserResponse": { "type": "structure", "members": { - "Meeting": { - "target": "com.amazonaws.chime#Meeting" - }, - "Attendees": { - "target": "com.amazonaws.chime#AttendeeList", + "AppInstanceUserArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            The attendee information, including attendees IDs and join tokens.

                            " - } - }, - "Errors": { - "target": "com.amazonaws.chime#BatchCreateAttendeeErrorList", - "traits": { - "smithy.api#documentation": "

                            If the action fails for one or more of the attendees in the request, a list of the attendees is returned, along with error codes and error messages.

                            " + "smithy.api#documentation": "

                            The user's ARN.

                            " } } } }, - "com.amazonaws.chime#CreatePhoneNumberOrder": { + "com.amazonaws.chime#CreateAttendee": { "type": "operation", "input": { - "target": "com.amazonaws.chime#CreatePhoneNumberOrderRequest" + "target": "com.amazonaws.chime#CreateAttendeeRequest" }, "output": { - "target": "com.amazonaws.chime#CreatePhoneNumberOrderResponse" + "target": "com.amazonaws.chime#CreateAttendeeResponse" }, "errors": [ - { - "target": "com.amazonaws.chime#AccessDeniedException" - }, { "target": "com.amazonaws.chime#BadRequestException" }, { "target": "com.amazonaws.chime#ForbiddenException" }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, { "target": "com.amazonaws.chime#ResourceLimitExceededException" }, @@ -1913,51 +2498,111 @@ } ], "traits": { - "smithy.api#documentation": "

                            Creates an order for phone numbers to be provisioned. Choose from Amazon Chime Business\n Calling and Amazon Chime Voice Connector product types. For toll-free numbers, you must use\n the Amazon Chime Voice Connector product type.

                            ", + "smithy.api#documentation": "

                            Creates a new attendee for an active Amazon Chime SDK meeting. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide.

                            ", "smithy.api#http": { "method": "POST", - "uri": "/phone-number-orders", + "uri": "/meetings/{MeetingId}/attendees", "code": 201 } } }, - "com.amazonaws.chime#CreatePhoneNumberOrderRequest": { + "com.amazonaws.chime#CreateAttendeeError": { "type": "structure", "members": { - "ProductType": { - "target": "com.amazonaws.chime#PhoneNumberProductType", + "ExternalUserId": { + "target": "com.amazonaws.chime#ExternalUserIdType", "traits": { - "smithy.api#documentation": "

                            The phone number product type.

                            ", + "smithy.api#documentation": "

                            The Amazon Chime SDK external user ID. An idempotency token. Links the attendee to an identity managed by a builder application.\n If you create an attendee with the same external user id, the service returns the existing record.

                            " + } + }, + "ErrorCode": { + "target": "com.amazonaws.chime#String", + "traits": { + "smithy.api#documentation": "

                            The error code.

                            " + } + }, + "ErrorMessage": { + "target": "com.amazonaws.chime#String", + "traits": { + "smithy.api#documentation": "

                            The error message.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The list of errors returned when errors are encountered during the BatchCreateAttendee and CreateAttendee actions. This includes external user IDs, error codes, and error messages.

                            " + } + }, + "com.amazonaws.chime#CreateAttendeeRequest": { + "type": "structure", + "members": { + "MeetingId": { + "target": "com.amazonaws.chime#GuidString", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime SDK meeting ID.

                            ", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "E164PhoneNumbers": { - "target": "com.amazonaws.chime#E164PhoneNumberList", + "ExternalUserId": { + "target": "com.amazonaws.chime#ExternalUserIdType", "traits": { - "smithy.api#documentation": "

                            List of phone numbers, in E.164 format.

                            ", + "smithy.api#documentation": "

                            The Amazon Chime SDK external user ID. An idempotency token. Links the attendee to an identity managed by a builder application.\n If you create an attendee with the same external user id, the service returns the existing record.

                            ", "smithy.api#required": {} } + }, + "Tags": { + "target": "com.amazonaws.chime#AttendeeTagList", + "traits": { + "smithy.api#documentation": "

                            The tag key-value pairs.

                            " + } } } }, - "com.amazonaws.chime#CreatePhoneNumberOrderResponse": { + "com.amazonaws.chime#CreateAttendeeRequestItem": { "type": "structure", "members": { - "PhoneNumberOrder": { - "target": "com.amazonaws.chime#PhoneNumberOrder", + "ExternalUserId": { + "target": "com.amazonaws.chime#ExternalUserIdType", "traits": { - "smithy.api#documentation": "

                            The phone number order details.

                            " + "smithy.api#documentation": "

                            The Amazon Chime SDK external user ID. An idempotency token. Links the attendee to an identity managed by a builder application.\n If you create an attendee with the same external user id, the service returns the existing record.

                            \n\n\n

                            The Amazon Chime SDK external user ID. Links the attendee to an identity managed by a builder application.

                            ", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.chime#AttendeeTagList", + "traits": { + "smithy.api#documentation": "

                            The tag key-value pairs.

                            " } } + }, + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime SDK attendee fields to create, used with the BatchCreateAttendee action.

                            " } }, - "com.amazonaws.chime#CreateProxySession": { + "com.amazonaws.chime#CreateAttendeeRequestItemList": { + "type": "list", + "member": { + "target": "com.amazonaws.chime#CreateAttendeeRequestItem" + } + }, + "com.amazonaws.chime#CreateAttendeeResponse": { + "type": "structure", + "members": { + "Attendee": { + "target": "com.amazonaws.chime#Attendee", + "traits": { + "smithy.api#documentation": "

                            The attendee information, including attendee ID and join token.

                            " + } + } + } + }, + "com.amazonaws.chime#CreateBot": { "type": "operation", "input": { - "target": "com.amazonaws.chime#CreateProxySessionRequest" + "target": "com.amazonaws.chime#CreateBotRequest" }, "output": { - "target": "com.amazonaws.chime#CreateProxySessionResponse" + "target": "com.amazonaws.chime#CreateBotResponse" }, "errors": [ { @@ -1969,6 +2614,9 @@ { "target": "com.amazonaws.chime#NotFoundException" }, + { + "target": "com.amazonaws.chime#ResourceLimitExceededException" + }, { "target": "com.amazonaws.chime#ServiceFailureException" }, @@ -1983,99 +2631,68 @@ } ], "traits": { - "smithy.api#documentation": "

                            Creates a proxy session on the specified Amazon Chime Voice Connector for the specified participant phone numbers.

                            ", + "smithy.api#documentation": "

                            Creates a bot for an Amazon Chime Enterprise account.

                            ", "smithy.api#http": { "method": "POST", - "uri": "/voice-connectors/{VoiceConnectorId}/proxy-sessions", + "uri": "/accounts/{AccountId}/bots", "code": 201 } } }, - "com.amazonaws.chime#CreateProxySessionRequest": { + "com.amazonaws.chime#CreateBotRequest": { "type": "structure", "members": { - "VoiceConnectorId": { - "target": "com.amazonaws.chime#NonEmptyString128", + "AccountId": { + "target": "com.amazonaws.chime#NonEmptyString", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime voice connector ID.

                            ", + "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "ParticipantPhoneNumbers": { - "target": "com.amazonaws.chime#ParticipantPhoneNumberList", + "DisplayName": { + "target": "com.amazonaws.chime#SensitiveString", "traits": { - "smithy.api#documentation": "

                            The participant phone numbers.

                            ", + "smithy.api#documentation": "

                            The bot display name.

                            ", "smithy.api#required": {} } }, - "Name": { - "target": "com.amazonaws.chime#ProxySessionNameString", + "Domain": { + "target": "com.amazonaws.chime#NonEmptyString", "traits": { - "smithy.api#documentation": "

                            The name of the proxy session.

                            " - } - }, - "ExpiryMinutes": { - "target": "com.amazonaws.chime#PositiveInteger", - "traits": { - "smithy.api#documentation": "

                            The number of minutes allowed for the proxy session.

                            " - } - }, - "Capabilities": { - "target": "com.amazonaws.chime#CapabilityList", - "traits": { - "smithy.api#documentation": "

                            The proxy session capabilities.

                            ", - "smithy.api#required": {} - } - }, - "NumberSelectionBehavior": { - "target": "com.amazonaws.chime#NumberSelectionBehavior", - "traits": { - "smithy.api#documentation": "

                            The preference for proxy phone number reuse, or stickiness, between the same participants across sessions.

                            " - } - }, - "GeoMatchLevel": { - "target": "com.amazonaws.chime#GeoMatchLevel", - "traits": { - "smithy.api#documentation": "

                            The preference for matching the country or area code of the proxy phone number with that of the first participant.

                            " - } - }, - "GeoMatchParams": { - "target": "com.amazonaws.chime#GeoMatchParams", - "traits": { - "smithy.api#documentation": "

                            The country and area code for the proxy phone number.

                            " + "smithy.api#documentation": "

                            The domain of the Amazon Chime Enterprise account.

                            " } } } }, - "com.amazonaws.chime#CreateProxySessionResponse": { + "com.amazonaws.chime#CreateBotResponse": { "type": "structure", "members": { - "ProxySession": { - "target": "com.amazonaws.chime#ProxySession", + "Bot": { + "target": "com.amazonaws.chime#Bot", "traits": { - "smithy.api#documentation": "

                            The proxy session details.

                            " + "smithy.api#documentation": "

                            The bot details.

                            " } } } }, - "com.amazonaws.chime#CreateRoom": { + "com.amazonaws.chime#CreateChannel": { "type": "operation", "input": { - "target": "com.amazonaws.chime#CreateRoomRequest" + "target": "com.amazonaws.chime#CreateChannelRequest" }, "output": { - "target": "com.amazonaws.chime#CreateRoomResponse" + "target": "com.amazonaws.chime#CreateChannelResponse" }, "errors": [ { "target": "com.amazonaws.chime#BadRequestException" }, { - "target": "com.amazonaws.chime#ForbiddenException" + "target": "com.amazonaws.chime#ConflictException" }, { - "target": "com.amazonaws.chime#NotFoundException" + "target": "com.amazonaws.chime#ForbiddenException" }, { "target": "com.amazonaws.chime#ResourceLimitExceededException" @@ -2094,21 +2711,24 @@ } ], "traits": { - "smithy.api#documentation": "

                            Creates a chat room for the specified Amazon Chime Enterprise account.

                            ", + "smithy.api#documentation": "

                            Creates a channel to which you can add users and send messages.

                            \n

                            \n Restriction: You can't change a channel's privacy.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "messaging-" + }, "smithy.api#http": { "method": "POST", - "uri": "/accounts/{AccountId}/rooms", + "uri": "/channels", "code": 201 } } }, - "com.amazonaws.chime#CreateRoomMembership": { + "com.amazonaws.chime#CreateChannelBan": { "type": "operation", "input": { - "target": "com.amazonaws.chime#CreateRoomMembershipRequest" + "target": "com.amazonaws.chime#CreateChannelBanRequest" }, "output": { - "target": "com.amazonaws.chime#CreateRoomMembershipResponse" + "target": "com.amazonaws.chime#CreateChannelBanResponse" }, "errors": [ { @@ -2120,9 +2740,6 @@ { "target": "com.amazonaws.chime#ForbiddenException" }, - { - "target": "com.amazonaws.chime#NotFoundException" - }, { "target": "com.amazonaws.chime#ResourceLimitExceededException" }, @@ -2140,109 +2757,63 @@ } ], "traits": { - "smithy.api#documentation": "

                            Adds a member to a chat room in an Amazon Chime Enterprise account. A member can be either a user or a bot. The member role designates whether the member is a chat room administrator or a general chat room member.

                            ", + "smithy.api#documentation": "

                            Permanently bans a member from a channel. Moderators can't add banned members to a channel.\n To undo a ban, you first have to DeleteChannelBan, and then CreateChannelMembership. \n Bans are cleaned up when you delete users or channels. \n

                            \n

                            If you ban a user who is already part of a channel, that user is automatically kicked from the channel.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "messaging-" + }, "smithy.api#http": { "method": "POST", - "uri": "/accounts/{AccountId}/rooms/{RoomId}/memberships", + "uri": "/channels/{ChannelArn}/bans", "code": 201 } } }, - "com.amazonaws.chime#CreateRoomMembershipRequest": { + "com.amazonaws.chime#CreateChannelBanRequest": { "type": "structure", "members": { - "AccountId": { - "target": "com.amazonaws.chime#NonEmptyString", - "traits": { - "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "RoomId": { - "target": "com.amazonaws.chime#NonEmptyString", + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            The room ID.

                            ", + "smithy.api#documentation": "

                            The ARN of the ban request.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "MemberId": { - "target": "com.amazonaws.chime#NonEmptyString", + "MemberArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime member ID (user ID or bot ID).

                            ", + "smithy.api#documentation": "

                            The ARN of the member being banned.

                            ", "smithy.api#required": {} } - }, - "Role": { - "target": "com.amazonaws.chime#RoomMembershipRole", - "traits": { - "smithy.api#documentation": "

                            The role of the member.

                            " - } } } }, - "com.amazonaws.chime#CreateRoomMembershipResponse": { - "type": "structure", - "members": { - "RoomMembership": { - "target": "com.amazonaws.chime#RoomMembership", - "traits": { - "smithy.api#documentation": "

                            The room membership details.

                            " - } - } - } - }, - "com.amazonaws.chime#CreateRoomRequest": { + "com.amazonaws.chime#CreateChannelBanResponse": { "type": "structure", "members": { - "AccountId": { - "target": "com.amazonaws.chime#NonEmptyString", - "traits": { - "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "Name": { - "target": "com.amazonaws.chime#SensitiveString", + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            The room name.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The ARN of the response to the ban request.

                            " } }, - "ClientRequestToken": { - "target": "com.amazonaws.chime#ClientRequestToken", - "traits": { - "smithy.api#documentation": "

                            The idempotency token for the request.

                            ", - "smithy.api#idempotencyToken": {} - } - } - } - }, - "com.amazonaws.chime#CreateRoomResponse": { - "type": "structure", - "members": { - "Room": { - "target": "com.amazonaws.chime#Room", + "Member": { + "target": "com.amazonaws.chime#Identity", "traits": { - "smithy.api#documentation": "

                            The room details.

                            " + "smithy.api#documentation": "

                            The ChannelArn and BannedIdentity of the member in the ban response.

                            " } } } }, - "com.amazonaws.chime#CreateSipMediaApplication": { + "com.amazonaws.chime#CreateChannelMembership": { "type": "operation", "input": { - "target": "com.amazonaws.chime#CreateSipMediaApplicationRequest" + "target": "com.amazonaws.chime#CreateChannelMembershipRequest" }, "output": { - "target": "com.amazonaws.chime#CreateSipMediaApplicationResponse" + "target": "com.amazonaws.chime#CreateChannelMembershipResponse" }, "errors": [ - { - "target": "com.amazonaws.chime#AccessDeniedException" - }, { "target": "com.amazonaws.chime#BadRequestException" }, @@ -2269,26 +2840,76 @@ } ], "traits": { - "smithy.api#documentation": "

                            Creates a SIP media application.

                            ", + "smithy.api#documentation": "

                            Adds a user to a channel. The InvitedBy response field is derived from the request header. \n A channel member can:

                            \n
                              \n
                            • \n

                              List messages

                              \n
                            • \n
                            • \n

                              Send messages

                              \n
                            • \n
                            • \n

                              Receive messages

                              \n
                            • \n
                            • \n

                              Edit their own messages

                              \n
                            • \n
                            • \n

                              Leave the channel

                              \n
                            • \n
                            \n

                            Privacy settings impact this action as follows:

                            \n
                              \n
                            • \n

                              Public Channels: You do not need to be a member to list messages, but you must be a member to send messages.

                              \n
                            • \n
                            • \n

                              Private Channels: You must be a member to list or send messages.

                              \n
                            • \n
                            ", + "smithy.api#endpoint": { + "hostPrefix": "messaging-" + }, "smithy.api#http": { "method": "POST", - "uri": "/sip-media-applications", + "uri": "/channels/{ChannelArn}/memberships", "code": 201 } } }, - "com.amazonaws.chime#CreateSipMediaApplicationCall": { + "com.amazonaws.chime#CreateChannelMembershipRequest": { + "type": "structure", + "members": { + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the channel to which you're adding users.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "MemberArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the member you want to add to the channel.

                            ", + "smithy.api#required": {} + } + }, + "Type": { + "target": "com.amazonaws.chime#ChannelMembershipType", + "traits": { + "smithy.api#documentation": "

                            The membership type of a user, DEFAULT or HIDDEN. Default members are always returned as part of \n ListChannelMemberships. Hidden members are only returned if the type filter in ListChannelMemberships \n equals HIDDEN. Otherwise hidden members are not returned. This is only supported by moderators.

                            ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#CreateChannelMembershipResponse": { + "type": "structure", + "members": { + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the channel.

                            " + } + }, + "Member": { + "target": "com.amazonaws.chime#Identity", + "traits": { + "smithy.api#documentation": "

                            The ARN and metadata of the member being added.

                            " + } + } + } + }, + "com.amazonaws.chime#CreateChannelModerator": { "type": "operation", "input": { - "target": "com.amazonaws.chime#CreateSipMediaApplicationCallRequest" + "target": "com.amazonaws.chime#CreateChannelModeratorRequest" }, "output": { - "target": "com.amazonaws.chime#CreateSipMediaApplicationCallResponse" + "target": "com.amazonaws.chime#CreateChannelModeratorResponse" }, "errors": [ { "target": "com.amazonaws.chime#BadRequestException" }, + { + "target": "com.amazonaws.chime#ConflictException" + }, { "target": "com.amazonaws.chime#ForbiddenException" }, @@ -2309,104 +2930,125 @@ } ], "traits": { - "smithy.api#documentation": "

                            Creates an outbound call to a phone number from the phone number specified in the request, and it invokes the endpoint of the \n specified sipMediaApplicationId.

                            ", + "smithy.api#documentation": "

                            Creates a new ChannelModerator. A channel moderator can:

                            \n
                              \n
                            • \n

                              Add and remove other members of the channel.

                              \n
                            • \n
                            • \n

                              Add and remove other moderators of the channel.

                              \n
                            • \n
                            • \n

                              Add and remove user bans for the channel.

                              \n
                            • \n
                            • \n

                              Redact messages in the channel.

                              \n
                            • \n
                            • \n

                              List messages in the channel.

                              \n
                            • \n
                            ", + "smithy.api#endpoint": { + "hostPrefix": "messaging-" + }, "smithy.api#http": { "method": "POST", - "uri": "/sip-media-applications/{SipMediaApplicationId}/calls", + "uri": "/channels/{ChannelArn}/moderators", "code": 201 } } }, - "com.amazonaws.chime#CreateSipMediaApplicationCallRequest": { + "com.amazonaws.chime#CreateChannelModeratorRequest": { "type": "structure", "members": { - "FromPhoneNumber": { - "target": "com.amazonaws.chime#E164PhoneNumber", - "traits": { - "smithy.api#documentation": "

                            The phone number that a user calls from.

                            " - } - }, - "ToPhoneNumber": { - "target": "com.amazonaws.chime#E164PhoneNumber", + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            The phone number that the user dials in order to connect to a meeting

                            " + "smithy.api#documentation": "

                            The ARN of the channel.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, - "SipMediaApplicationId": { - "target": "com.amazonaws.chime#NonEmptyString", + "ChannelModeratorArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            The ID of the SIP media application.

                            ", - "smithy.api#httpLabel": {}, + "smithy.api#documentation": "

                            The ARN of the moderator.

                            ", "smithy.api#required": {} } } } }, - "com.amazonaws.chime#CreateSipMediaApplicationCallResponse": { + "com.amazonaws.chime#CreateChannelModeratorResponse": { "type": "structure", "members": { - "SipMediaApplicationCall": { - "target": "com.amazonaws.chime#SipMediaApplicationCall", + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            The actual call.

                            " + "smithy.api#documentation": "

                            The ARN of the channel.

                            " + } + }, + "ChannelModerator": { + "target": "com.amazonaws.chime#Identity", + "traits": { + "smithy.api#documentation": "

                            The ARNs of the channel and the moderator.

                            " } } } }, - "com.amazonaws.chime#CreateSipMediaApplicationRequest": { + "com.amazonaws.chime#CreateChannelRequest": { "type": "structure", "members": { - "AwsRegion": { - "target": "com.amazonaws.chime#String", + "AppInstanceArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            AWS Region assigned to the SIP media application.

                            ", + "smithy.api#documentation": "

                            The ARN of the channel request.

                            ", "smithy.api#required": {} } }, "Name": { - "target": "com.amazonaws.chime#SipMediaApplicationName", + "target": "com.amazonaws.chime#NonEmptyResourceName", "traits": { - "smithy.api#documentation": "

                            The SIP media application name.

                            " + "smithy.api#documentation": "

                            The name of the channel.

                            ", + "smithy.api#required": {} } }, - "Endpoints": { - "target": "com.amazonaws.chime#SipMediaApplicationEndpointList", + "Mode": { + "target": "com.amazonaws.chime#ChannelMode", "traits": { - "smithy.api#documentation": "

                            List of endpoints (Lambda Amazon Resource Names) specified for the SIP media\n application. Currently, only one endpoint is supported.

                            ", + "smithy.api#documentation": "

                            The channel mode: UNRESTRICTED or RESTRICTED. Administrators, moderators, and channel members can add\n themselves and other members to unrestricted channels. Only administrators and moderators can add members to restricted channels.

                            " + } + }, + "Privacy": { + "target": "com.amazonaws.chime#ChannelPrivacy", + "traits": { + "smithy.api#documentation": "

                            The channel's privacy level: PUBLIC or PRIVATE. Private channels aren't discoverable by users outside \n the channel. Public channels are discoverable by anyone in the app instance.

                            " + } + }, + "Metadata": { + "target": "com.amazonaws.chime#Metadata", + "traits": { + "smithy.api#documentation": "

                            The metadata of the creation request. Limited to 1KB and UTF-8.

                            " + } + }, + "ClientRequestToken": { + "target": "com.amazonaws.chime#ClientRequestToken", + "traits": { + "smithy.api#documentation": "

                            The client token for the request. An Idempotency token.

                            ", + "smithy.api#idempotencyToken": {}, "smithy.api#required": {} } + }, + "Tags": { + "target": "com.amazonaws.chime#TagList" } } }, - "com.amazonaws.chime#CreateSipMediaApplicationResponse": { + "com.amazonaws.chime#CreateChannelResponse": { "type": "structure", "members": { - "SipMediaApplication": { - "target": "com.amazonaws.chime#SipMediaApplication", + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            The Sip media application details.

                            " + "smithy.api#documentation": "

                            The ARN of the channel.

                            " } } } }, - "com.amazonaws.chime#CreateSipRule": { + "com.amazonaws.chime#CreateMeeting": { "type": "operation", "input": { - "target": "com.amazonaws.chime#CreateSipRuleRequest" + "target": "com.amazonaws.chime#CreateMeetingRequest" }, "output": { - "target": "com.amazonaws.chime#CreateSipRuleResponse" + "target": "com.amazonaws.chime#CreateMeetingResponse" }, "errors": [ - { - "target": "com.amazonaws.chime#AccessDeniedException" - }, { "target": "com.amazonaws.chime#BadRequestException" }, - { - "target": "com.amazonaws.chime#ConflictException" - }, { "target": "com.amazonaws.chime#ForbiddenException" }, @@ -2427,84 +3069,170 @@ } ], "traits": { - "smithy.api#documentation": "

                            Creates a SIP rule which can be used to run a SIP media application as a target for a\n specific trigger type.

                            ", + "smithy.api#documentation": "

                            Creates a new Amazon Chime SDK meeting in the specified media Region with no initial attendees. For more information about specifying media Regions, see Amazon Chime SDK Media Regions in the Amazon Chime Developer Guide. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide.

                            ", "smithy.api#http": { "method": "POST", - "uri": "/sip-rules", + "uri": "/meetings", "code": 201 } } }, - "com.amazonaws.chime#CreateSipRuleRequest": { - "type": "structure", - "members": { - "Name": { - "target": "com.amazonaws.chime#SipRuleName", - "traits": { - "smithy.api#documentation": "

                            The name of the SIP rule.

                            ", - "smithy.api#required": {} - } + "com.amazonaws.chime#CreateMeetingDialOut": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#CreateMeetingDialOutRequest" + }, + "output": { + "target": "com.amazonaws.chime#CreateMeetingDialOutResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" }, - "TriggerType": { - "target": "com.amazonaws.chime#SipRuleTriggerType", + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#ResourceLimitExceededException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Uses the join token and call metadata in a meeting request (From number, To number, and so forth) to initiate an outbound call to a \n public switched telephone network (PSTN) and joins them into Chime meeting. Also ensures that the From number belongs to the \n customer.

                            \n \n

                            To play welcome audio or implement an interactive voice response (IVR), use the CreateSipMediaApplicationCall API with \n the corresponding SIP media application ID.

                            ", + "smithy.api#http": { + "method": "POST", + "uri": "/meetings/{MeetingId}/dial-outs", + "code": 201 + } + } + }, + "com.amazonaws.chime#CreateMeetingDialOutRequest": { + "type": "structure", + "members": { + "MeetingId": { + "target": "com.amazonaws.chime#GuidString", "traits": { - "smithy.api#documentation": "

                            The type of trigger whose value is assigned to the SIP rule in\n TriggerValue. Allowed trigger values are RequestUriHostname and ToPhoneNumber.

                            ", + "smithy.api#documentation": "

                            The Amazon Chime SDK meeting ID.

                            \n \n

                            Type: String

                            \n \n

                            Pattern: [a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}

                            \n \n

                            Required: No

                            ", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "TriggerValue": { - "target": "com.amazonaws.chime#NonEmptyString", + "FromPhoneNumber": { + "target": "com.amazonaws.chime#E164PhoneNumber", "traits": { - "smithy.api#documentation": "

                            If TriggerType is RequestUriHostname then the value can be the\n outbound host name of an Amazon Chime Voice Connector. If TriggerType is\n ToPhoneNumber then the value can be a customer-owned phone number in E164\n format. SipRule is triggered if the SIP application requests a host name, or a If\n TriggerType is RequestUriHostname, then the value can be the\n outbound hostname of an Amazon Chime Voice Connector. If TriggerType is\n ToPhoneNumber, then the value can be a customer-owned phone number in E164\n format. SipRule is triggered if the SIP application requests a host name, or a\n ToPhoneNumber value matches the incoming SIP request.

                            ", + "smithy.api#documentation": "

                            Phone number used as the caller ID when the remote party receives a call.

                            ", "smithy.api#required": {} } }, - "Disabled": { - "target": "com.amazonaws.chime#NullableBoolean", + "ToPhoneNumber": { + "target": "com.amazonaws.chime#E164PhoneNumber", "traits": { - "smithy.api#documentation": "

                            Enables or disables a rule. You must disable rules before you can delete them.

                            " + "smithy.api#documentation": "

                            Phone number called when inviting someone to a meeting.

                            ", + "smithy.api#required": {} } }, - "TargetApplications": { - "target": "com.amazonaws.chime#SipRuleTargetApplicationList", + "JoinToken": { + "target": "com.amazonaws.chime#JoinTokenString", "traits": { - "smithy.api#documentation": "

                            List of SIP media applications with priority and AWS Region. Only one SIP application\n per AWS Region can be used.

                            ", + "smithy.api#documentation": "

                            Token used by the Amazon Chime SDK attendee. Call the \n CreateAttendee API to get a join token.

                            ", "smithy.api#required": {} } } } }, - "com.amazonaws.chime#CreateSipRuleResponse": { + "com.amazonaws.chime#CreateMeetingDialOutResponse": { "type": "structure", "members": { - "SipRule": { - "target": "com.amazonaws.chime#SipRule", + "TransactionId": { + "target": "com.amazonaws.chime#GuidString", "traits": { - "smithy.api#documentation": "

                            Returns the SIP rule information, including the rule ID, triggers, and target applications.

                            " + "smithy.api#documentation": "

                            Unique ID that tracks API calls.

                            " } } } }, - "com.amazonaws.chime#CreateUser": { + "com.amazonaws.chime#CreateMeetingRequest": { + "type": "structure", + "members": { + "ClientRequestToken": { + "target": "com.amazonaws.chime#ClientRequestToken", + "traits": { + "smithy.api#documentation": "

                            The unique identifier for the client request. Use a different token for different meetings.

                            ", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} + } + }, + "ExternalMeetingId": { + "target": "com.amazonaws.chime#ExternalMeetingIdType", + "traits": { + "smithy.api#documentation": "

                            The external meeting ID.

                            " + } + }, + "MeetingHostId": { + "target": "com.amazonaws.chime#ExternalUserIdType", + "traits": { + "smithy.api#documentation": "

                            Reserved.

                            " + } + }, + "MediaRegion": { + "target": "com.amazonaws.chime#String", + "traits": { + "smithy.api#documentation": "

                            The Region in which to create the meeting. Default: us-east-1.

                            \n

                            Available values: af-south-1, ap-northeast-1, ap-northeast-2, ap-south-1, \n ap-southeast-1, ap-southeast-2, ca-central-1, eu-central-1, eu-north-1, \n eu-south-1, eu-west-1, eu-west-2, eu-west-3, sa-east-1, us-east-1, \n us-east-2, us-west-1, us-west-2.

                            " + } + }, + "Tags": { + "target": "com.amazonaws.chime#MeetingTagList", + "traits": { + "smithy.api#documentation": "

                            The tag key-value pairs.

                            " + } + }, + "NotificationsConfiguration": { + "target": "com.amazonaws.chime#MeetingNotificationConfiguration", + "traits": { + "smithy.api#documentation": "

                            The configuration for resource targets to receive notifications when meeting and attendee events occur.

                            " + } + } + } + }, + "com.amazonaws.chime#CreateMeetingResponse": { + "type": "structure", + "members": { + "Meeting": { + "target": "com.amazonaws.chime#Meeting", + "traits": { + "smithy.api#documentation": "

                            The meeting information, including the meeting ID and MediaPlacement.

                            " + } + } + } + }, + "com.amazonaws.chime#CreateMeetingWithAttendees": { "type": "operation", "input": { - "target": "com.amazonaws.chime#CreateUserRequest" + "target": "com.amazonaws.chime#CreateMeetingWithAttendeesRequest" }, "output": { - "target": "com.amazonaws.chime#CreateUserResponse" + "target": "com.amazonaws.chime#CreateMeetingWithAttendeesResponse" }, "errors": [ { "target": "com.amazonaws.chime#BadRequestException" }, - { - "target": "com.amazonaws.chime#ConflictException" - }, { "target": "com.amazonaws.chime#ForbiddenException" }, { - "target": "com.amazonaws.chime#NotFoundException" + "target": "com.amazonaws.chime#ResourceLimitExceededException" }, { "target": "com.amazonaws.chime#ServiceFailureException" @@ -2520,60 +3248,99 @@ } ], "traits": { - "smithy.api#documentation": "

                            Creates a user under the specified Amazon Chime account.

                            ", + "smithy.api#documentation": "

                            Creates a new Amazon Chime SDK meeting in the specified media Region, with attendees. For more information about specifying media Regions, \n see Amazon Chime SDK Media Regions in the \n Amazon Chime Developer Guide. For more information about the Amazon Chime SDK, see \n Using the Amazon Chime SDK in the \n Amazon Chime Developer Guide.

                            ", "smithy.api#http": { "method": "POST", - "uri": "/accounts/{AccountId}/users?operation=create", + "uri": "/meetings?operation=create-attendees", "code": 201 } } }, - "com.amazonaws.chime#CreateUserRequest": { + "com.amazonaws.chime#CreateMeetingWithAttendeesRequest": { "type": "structure", "members": { - "AccountId": { - "target": "com.amazonaws.chime#NonEmptyString", + "ClientRequestToken": { + "target": "com.amazonaws.chime#ClientRequestToken", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", - "smithy.api#httpLabel": {}, + "smithy.api#documentation": "

                            The unique identifier for the client request. Use a different token for different meetings.

                            ", + "smithy.api#idempotencyToken": {}, "smithy.api#required": {} } }, - "Username": { + "ExternalMeetingId": { + "target": "com.amazonaws.chime#ExternalMeetingIdType", + "traits": { + "smithy.api#documentation": "

                            The external meeting ID.

                            " + } + }, + "MeetingHostId": { + "target": "com.amazonaws.chime#ExternalUserIdType", + "traits": { + "smithy.api#documentation": "

                            Reserved.

                            " + } + }, + "MediaRegion": { "target": "com.amazonaws.chime#String", "traits": { - "smithy.api#documentation": "

                            The user name.

                            " + "smithy.api#documentation": "

                            The Region in which to create the meeting. Default: us-east-1.

                            \n

                            Available values: af-south-1, ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, ca-central-1, eu-central-1, eu-north-1, eu-south-1, eu-west-1, eu-west-2, eu-west-3, sa-east-1, us-east-1, us-east-2, us-west-1, us-west-2.

                            " } }, - "Email": { - "target": "com.amazonaws.chime#EmailAddress", + "Tags": { + "target": "com.amazonaws.chime#MeetingTagList", "traits": { - "smithy.api#documentation": "

                            The user's email address.

                            " + "smithy.api#documentation": "

                            The tag key-value pairs.

                            " } }, - "UserType": { - "target": "com.amazonaws.chime#UserType", + "NotificationsConfiguration": { + "target": "com.amazonaws.chime#MeetingNotificationConfiguration" + }, + "Attendees": { + "target": "com.amazonaws.chime#CreateMeetingWithAttendeesRequestItemList", "traits": { - "smithy.api#documentation": "

                            The user type.

                            " + "smithy.api#documentation": "

                            The request containing the attendees to create.

                            " } } } }, - "com.amazonaws.chime#CreateUserResponse": { + "com.amazonaws.chime#CreateMeetingWithAttendeesRequestItemList": { + "type": "list", + "member": { + "target": "com.amazonaws.chime#CreateAttendeeRequestItem" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, + "com.amazonaws.chime#CreateMeetingWithAttendeesResponse": { "type": "structure", "members": { - "User": { - "target": "com.amazonaws.chime#User" + "Meeting": { + "target": "com.amazonaws.chime#Meeting" + }, + "Attendees": { + "target": "com.amazonaws.chime#AttendeeList", + "traits": { + "smithy.api#documentation": "

                            The attendee information, including attendees IDs and join tokens.

                            " + } + }, + "Errors": { + "target": "com.amazonaws.chime#BatchCreateAttendeeErrorList", + "traits": { + "smithy.api#documentation": "

                            If the action fails for one or more of the attendees in the request, a list of the attendees is returned, along with error codes and error messages.

                            " + } } } }, - "com.amazonaws.chime#CreateVoiceConnector": { + "com.amazonaws.chime#CreatePhoneNumberOrder": { "type": "operation", "input": { - "target": "com.amazonaws.chime#CreateVoiceConnectorRequest" + "target": "com.amazonaws.chime#CreatePhoneNumberOrderRequest" }, "output": { - "target": "com.amazonaws.chime#CreateVoiceConnectorResponse" + "target": "com.amazonaws.chime#CreatePhoneNumberOrderResponse" }, "errors": [ { @@ -2602,26 +3369,53 @@ } ], "traits": { - "smithy.api#documentation": "

                            Creates an Amazon Chime Voice Connector under the administrator's AWS account. You can choose to create an Amazon Chime Voice Connector in a specific AWS Region.

                            \n

                            Enabling CreateVoiceConnectorRequest$RequireEncryption configures your Amazon Chime Voice Connector to use TLS transport for SIP signaling and Secure RTP (SRTP) for media. \n Inbound calls use TLS transport, and unencrypted outbound calls are blocked.

                            ", + "smithy.api#documentation": "

                            Creates an order for phone numbers to be provisioned. Choose from Amazon Chime Business\n Calling and Amazon Chime Voice Connector product types. For toll-free numbers, you must use\n the Amazon Chime Voice Connector product type.

                            ", "smithy.api#http": { "method": "POST", - "uri": "/voice-connectors", + "uri": "/phone-number-orders", "code": 201 } } }, - "com.amazonaws.chime#CreateVoiceConnectorGroup": { + "com.amazonaws.chime#CreatePhoneNumberOrderRequest": { + "type": "structure", + "members": { + "ProductType": { + "target": "com.amazonaws.chime#PhoneNumberProductType", + "traits": { + "smithy.api#documentation": "

                            The phone number product type.

                            ", + "smithy.api#required": {} + } + }, + "E164PhoneNumbers": { + "target": "com.amazonaws.chime#E164PhoneNumberList", + "traits": { + "smithy.api#documentation": "

                            List of phone numbers, in E.164 format.

                            ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#CreatePhoneNumberOrderResponse": { + "type": "structure", + "members": { + "PhoneNumberOrder": { + "target": "com.amazonaws.chime#PhoneNumberOrder", + "traits": { + "smithy.api#documentation": "

                            The phone number order details.

                            " + } + } + } + }, + "com.amazonaws.chime#CreateProxySession": { "type": "operation", "input": { - "target": "com.amazonaws.chime#CreateVoiceConnectorGroupRequest" + "target": "com.amazonaws.chime#CreateProxySessionRequest" }, "output": { - "target": "com.amazonaws.chime#CreateVoiceConnectorGroupResponse" + "target": "com.amazonaws.chime#CreateProxySessionResponse" }, "errors": [ - { - "target": "com.amazonaws.chime#AccessDeniedException" - }, { "target": "com.amazonaws.chime#BadRequestException" }, @@ -2629,7 +3423,7 @@ "target": "com.amazonaws.chime#ForbiddenException" }, { - "target": "com.amazonaws.chime#ResourceLimitExceededException" + "target": "com.amazonaws.chime#NotFoundException" }, { "target": "com.amazonaws.chime#ServiceFailureException" @@ -2645,155 +3439,89 @@ } ], "traits": { - "smithy.api#documentation": "

                            Creates an Amazon Chime Voice Connector group under the administrator's AWS account.\n You can associate Amazon Chime Voice Connectors with the Amazon Chime\n Voice Connector group by including VoiceConnectorItems in the request.

                            \n

                            You can include Amazon Chime Voice Connectors from different AWS Regions in your group.\n This creates a fault tolerant mechanism for fallback in case of availability events.

                            ", + "smithy.api#documentation": "

                            Creates a proxy session on the specified Amazon Chime Voice Connector for the specified participant phone numbers.

                            ", "smithy.api#http": { "method": "POST", - "uri": "/voice-connector-groups", + "uri": "/voice-connectors/{VoiceConnectorId}/proxy-sessions", "code": 201 } } }, - "com.amazonaws.chime#CreateVoiceConnectorGroupRequest": { + "com.amazonaws.chime#CreateProxySessionRequest": { "type": "structure", "members": { - "Name": { - "target": "com.amazonaws.chime#VoiceConnectorGroupName", + "VoiceConnectorId": { + "target": "com.amazonaws.chime#NonEmptyString128", "traits": { - "smithy.api#documentation": "

                            The name of the Amazon Chime Voice Connector group.

                            ", + "smithy.api#documentation": "

                            The Amazon Chime voice connector ID.

                            ", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "VoiceConnectorItems": { - "target": "com.amazonaws.chime#VoiceConnectorItemList", - "traits": { - "smithy.api#documentation": "

                            The Amazon Chime Voice Connectors to route inbound calls to.

                            " - } - } - } - }, - "com.amazonaws.chime#CreateVoiceConnectorGroupResponse": { - "type": "structure", - "members": { - "VoiceConnectorGroup": { - "target": "com.amazonaws.chime#VoiceConnectorGroup", + "ParticipantPhoneNumbers": { + "target": "com.amazonaws.chime#ParticipantPhoneNumberList", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime Voice Connector group details.

                            " + "smithy.api#documentation": "

                            The participant phone numbers.

                            ", + "smithy.api#required": {} } - } - } - }, - "com.amazonaws.chime#CreateVoiceConnectorRequest": { - "type": "structure", - "members": { + }, "Name": { - "target": "com.amazonaws.chime#VoiceConnectorName", + "target": "com.amazonaws.chime#ProxySessionNameString", "traits": { - "smithy.api#documentation": "

                            The name of the Amazon Chime Voice Connector.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The name of the proxy session.

                            " } }, - "AwsRegion": { - "target": "com.amazonaws.chime#VoiceConnectorAwsRegion", + "ExpiryMinutes": { + "target": "com.amazonaws.chime#PositiveInteger", "traits": { - "smithy.api#documentation": "

                            The AWS Region in which the Amazon Chime Voice Connector is created. Default value: us-east-1.

                            " + "smithy.api#documentation": "

                            The number of minutes allowed for the proxy session.

                            " } }, - "RequireEncryption": { - "target": "com.amazonaws.chime#Boolean", + "Capabilities": { + "target": "com.amazonaws.chime#CapabilityList", "traits": { - "smithy.api#documentation": "

                            When enabled, requires encryption for the Amazon Chime Voice Connector.

                            ", + "smithy.api#documentation": "

                            The proxy session capabilities.

                            ", "smithy.api#required": {} } - } - } - }, - "com.amazonaws.chime#CreateVoiceConnectorResponse": { - "type": "structure", - "members": { - "VoiceConnector": { - "target": "com.amazonaws.chime#VoiceConnector", + }, + "NumberSelectionBehavior": { + "target": "com.amazonaws.chime#NumberSelectionBehavior", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime Voice Connector details.

                            " + "smithy.api#documentation": "

                            The preference for proxy phone number reuse, or stickiness, between the same participants across sessions.

                            " } - } - } - }, - "com.amazonaws.chime#Credential": { - "type": "structure", - "members": { - "Username": { - "target": "com.amazonaws.chime#SensitiveString", + }, + "GeoMatchLevel": { + "target": "com.amazonaws.chime#GeoMatchLevel", "traits": { - "smithy.api#documentation": "

                            The RFC2617 compliant user name associated with the SIP credentials, in US-ASCII\n format.

                            " + "smithy.api#documentation": "

                            The preference for matching the country or area code of the proxy phone number with that of the first participant.

                            " } }, - "Password": { - "target": "com.amazonaws.chime#SensitiveString", + "GeoMatchParams": { + "target": "com.amazonaws.chime#GeoMatchParams", "traits": { - "smithy.api#documentation": "

                            The RFC2617 compliant password associated with the SIP credentials, in US-ASCII format.

                            " + "smithy.api#documentation": "

                            The country and area code for the proxy phone number.

                            " } } - }, - "traits": { - "smithy.api#documentation": "

                            The SIP credentials used to authenticate requests to your Amazon Chime Voice Connector.

                            " - } - }, - "com.amazonaws.chime#CredentialList": { - "type": "list", - "member": { - "target": "com.amazonaws.chime#Credential" } }, - "com.amazonaws.chime#DNISEmergencyCallingConfiguration": { + "com.amazonaws.chime#CreateProxySessionResponse": { "type": "structure", "members": { - "EmergencyPhoneNumber": { - "target": "com.amazonaws.chime#E164PhoneNumber", - "traits": { - "smithy.api#documentation": "

                            The DNIS phone number to route emergency calls to, in E.164 format.

                            ", - "smithy.api#required": {} - } - }, - "TestPhoneNumber": { - "target": "com.amazonaws.chime#E164PhoneNumber", - "traits": { - "smithy.api#documentation": "

                            The DNIS phone number to route test emergency calls to, in E.164 format.

                            " - } - }, - "CallingCountry": { - "target": "com.amazonaws.chime#Alpha2CountryCode", + "ProxySession": { + "target": "com.amazonaws.chime#ProxySession", "traits": { - "smithy.api#documentation": "

                            The country from which emergency calls are allowed, in ISO 3166-1 alpha-2 format.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The proxy session details.

                            " } } - }, - "traits": { - "smithy.api#documentation": "

                            The Dialed Number Identification Service (DNIS) emergency calling configuration details associated with an Amazon Chime Voice Connector's emergency calling configuration.

                            " - } - }, - "com.amazonaws.chime#DNISEmergencyCallingConfigurationList": { - "type": "list", - "member": { - "target": "com.amazonaws.chime#DNISEmergencyCallingConfiguration" - } - }, - "com.amazonaws.chime#DataRetentionInHours": { - "type": "integer", - "traits": { - "smithy.api#box": {}, - "smithy.api#range": { - "min": 0 - } } }, - "com.amazonaws.chime#DeleteAccount": { + "com.amazonaws.chime#CreateRoom": { "type": "operation", "input": { - "target": "com.amazonaws.chime#DeleteAccountRequest" + "target": "com.amazonaws.chime#CreateRoomRequest" }, "output": { - "target": "com.amazonaws.chime#DeleteAccountResponse" + "target": "com.amazonaws.chime#CreateRoomResponse" }, "errors": [ { @@ -2805,6 +3533,9 @@ { "target": "com.amazonaws.chime#NotFoundException" }, + { + "target": "com.amazonaws.chime#ResourceLimitExceededException" + }, { "target": "com.amazonaws.chime#ServiceFailureException" }, @@ -2816,52 +3547,41 @@ }, { "target": "com.amazonaws.chime#UnauthorizedClientException" - }, - { - "target": "com.amazonaws.chime#UnprocessableEntityException" } ], "traits": { - "smithy.api#documentation": "

                            Deletes the specified Amazon Chime account. You must suspend all users before deleting\n a Team account. You can use the BatchSuspendUser action to do\n so.

                            \n

                            For EnterpriseLWA and EnterpriseAD accounts, you must\n release the claimed domains for your Amazon Chime account before deletion. As soon as you\n release the domain, all users under that account are suspended.

                            \n

                            Deleted accounts appear in your Disabled accounts list for 90 days. To restore a\n deleted account from your Disabled accounts list, you must contact AWS Support.

                            \n

                            After 90 days, deleted accounts are permanently removed from your\n Disabled accounts list.

                            ", + "smithy.api#documentation": "

                            Creates a chat room for the specified Amazon Chime Enterprise account.

                            ", "smithy.api#http": { - "method": "DELETE", - "uri": "/accounts/{AccountId}", - "code": 204 - } - } - }, - "com.amazonaws.chime#DeleteAccountRequest": { - "type": "structure", - "members": { - "AccountId": { - "target": "com.amazonaws.chime#NonEmptyString", - "traits": { - "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } + "method": "POST", + "uri": "/accounts/{AccountId}/rooms", + "code": 201 } } }, - "com.amazonaws.chime#DeleteAccountResponse": { - "type": "structure", - "members": {} - }, - "com.amazonaws.chime#DeleteAttendee": { + "com.amazonaws.chime#CreateRoomMembership": { "type": "operation", "input": { - "target": "com.amazonaws.chime#DeleteAttendeeRequest" + "target": "com.amazonaws.chime#CreateRoomMembershipRequest" + }, + "output": { + "target": "com.amazonaws.chime#CreateRoomMembershipResponse" }, "errors": [ { "target": "com.amazonaws.chime#BadRequestException" }, + { + "target": "com.amazonaws.chime#ConflictException" + }, { "target": "com.amazonaws.chime#ForbiddenException" }, { "target": "com.amazonaws.chime#NotFoundException" }, + { + "target": "com.amazonaws.chime#ResourceLimitExceededException" + }, { "target": "com.amazonaws.chime#ServiceFailureException" }, @@ -2876,104 +3596,120 @@ } ], "traits": { - "smithy.api#documentation": "

                            Deletes an attendee from the specified Amazon Chime SDK meeting and deletes their JoinToken. Attendees are automatically deleted when a Amazon Chime SDK meeting is deleted. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide.

                            ", + "smithy.api#documentation": "

                            Adds a member to a chat room in an Amazon Chime Enterprise account. A member can be either a user or a bot. The member role designates whether the member is a chat room administrator or a general chat room member.

                            ", "smithy.api#http": { - "method": "DELETE", - "uri": "/meetings/{MeetingId}/attendees/{AttendeeId}", - "code": 204 + "method": "POST", + "uri": "/accounts/{AccountId}/rooms/{RoomId}/memberships", + "code": 201 } } }, - "com.amazonaws.chime#DeleteAttendeeRequest": { + "com.amazonaws.chime#CreateRoomMembershipRequest": { "type": "structure", "members": { - "MeetingId": { - "target": "com.amazonaws.chime#GuidString", + "AccountId": { + "target": "com.amazonaws.chime#NonEmptyString", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime SDK meeting ID.

                            ", + "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "AttendeeId": { - "target": "com.amazonaws.chime#GuidString", + "RoomId": { + "target": "com.amazonaws.chime#NonEmptyString", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime SDK attendee ID.

                            ", + "smithy.api#documentation": "

                            The room ID.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } - } - } - }, - "com.amazonaws.chime#DeleteEventsConfiguration": { - "type": "operation", - "input": { - "target": "com.amazonaws.chime#DeleteEventsConfigurationRequest" - }, - "errors": [ - { - "target": "com.amazonaws.chime#BadRequestException" - }, - { - "target": "com.amazonaws.chime#ForbiddenException" - }, - { - "target": "com.amazonaws.chime#ResourceLimitExceededException" - }, - { - "target": "com.amazonaws.chime#ServiceFailureException" }, - { - "target": "com.amazonaws.chime#ServiceUnavailableException" + "MemberId": { + "target": "com.amazonaws.chime#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime member ID (user ID or bot ID).

                            ", + "smithy.api#required": {} + } }, - { - "target": "com.amazonaws.chime#UnauthorizedClientException" - } - ], - "traits": { - "smithy.api#documentation": "

                            Deletes the events configuration that allows a bot to receive outgoing events.

                            ", - "smithy.api#http": { - "method": "DELETE", - "uri": "/accounts/{AccountId}/bots/{BotId}/events-configuration", - "code": 204 + "Role": { + "target": "com.amazonaws.chime#RoomMembershipRole", + "traits": { + "smithy.api#documentation": "

                            The role of the member.

                            " + } } } }, - "com.amazonaws.chime#DeleteEventsConfigurationRequest": { + "com.amazonaws.chime#CreateRoomMembershipResponse": { "type": "structure", "members": { - "AccountId": { - "target": "com.amazonaws.chime#NonEmptyString", + "RoomMembership": { + "target": "com.amazonaws.chime#RoomMembership", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#documentation": "

                            The room membership details.

                            " } - }, - "BotId": { + } + } + }, + "com.amazonaws.chime#CreateRoomRequest": { + "type": "structure", + "members": { + "AccountId": { "target": "com.amazonaws.chime#NonEmptyString", "traits": { - "smithy.api#documentation": "

                            The bot ID.

                            ", + "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } + }, + "Name": { + "target": "com.amazonaws.chime#SensitiveString", + "traits": { + "smithy.api#documentation": "

                            The room name.

                            ", + "smithy.api#required": {} + } + }, + "ClientRequestToken": { + "target": "com.amazonaws.chime#ClientRequestToken", + "traits": { + "smithy.api#documentation": "

                            The idempotency token for the request.

                            ", + "smithy.api#idempotencyToken": {} + } } } }, - "com.amazonaws.chime#DeleteMeeting": { + "com.amazonaws.chime#CreateRoomResponse": { + "type": "structure", + "members": { + "Room": { + "target": "com.amazonaws.chime#Room", + "traits": { + "smithy.api#documentation": "

                            The room details.

                            " + } + } + } + }, + "com.amazonaws.chime#CreateSipMediaApplication": { "type": "operation", "input": { - "target": "com.amazonaws.chime#DeleteMeetingRequest" + "target": "com.amazonaws.chime#CreateSipMediaApplicationRequest" + }, + "output": { + "target": "com.amazonaws.chime#CreateSipMediaApplicationResponse" }, "errors": [ + { + "target": "com.amazonaws.chime#AccessDeniedException" + }, { "target": "com.amazonaws.chime#BadRequestException" }, + { + "target": "com.amazonaws.chime#ConflictException" + }, { "target": "com.amazonaws.chime#ForbiddenException" }, { - "target": "com.amazonaws.chime#NotFoundException" + "target": "com.amazonaws.chime#ResourceLimitExceededException" }, { "target": "com.amazonaws.chime#ServiceFailureException" @@ -2989,31 +3725,21 @@ } ], "traits": { - "smithy.api#documentation": "

                            Deletes the specified Amazon Chime SDK meeting. When a meeting is deleted, its attendees are also deleted and clients can no longer join it. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide.

                            ", + "smithy.api#documentation": "

                            Creates a SIP media application.

                            ", "smithy.api#http": { - "method": "DELETE", - "uri": "/meetings/{MeetingId}", - "code": 204 - } - } - }, - "com.amazonaws.chime#DeleteMeetingRequest": { - "type": "structure", - "members": { - "MeetingId": { - "target": "com.amazonaws.chime#GuidString", - "traits": { - "smithy.api#documentation": "

                            The Amazon Chime SDK meeting ID.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } + "method": "POST", + "uri": "/sip-media-applications", + "code": 201 } } }, - "com.amazonaws.chime#DeletePhoneNumber": { + "com.amazonaws.chime#CreateSipMediaApplicationCall": { "type": "operation", "input": { - "target": "com.amazonaws.chime#DeletePhoneNumberRequest" + "target": "com.amazonaws.chime#CreateSipMediaApplicationCallRequest" + }, + "output": { + "target": "com.amazonaws.chime#CreateSipMediaApplicationCallResponse" }, "errors": [ { @@ -3023,7 +3749,7 @@ "target": "com.amazonaws.chime#ForbiddenException" }, { - "target": "com.amazonaws.chime#NotFoundException" + "target": "com.amazonaws.chime#ResourceLimitExceededException" }, { "target": "com.amazonaws.chime#ServiceFailureException" @@ -3039,41 +3765,109 @@ } ], "traits": { - "smithy.api#documentation": "

                            Moves the specified phone number into the Deletion\n queue. A phone number must be disassociated from any users or Amazon Chime Voice\n Connectors before it can be deleted.

                            \n

                            Deleted phone numbers remain in the Deletion queue\n for 7 days before they are deleted permanently.

                            ", + "smithy.api#documentation": "

                            Creates an outbound call to a phone number from the phone number specified in the request, and it invokes the endpoint of the \n specified sipMediaApplicationId.

                            ", "smithy.api#http": { - "method": "DELETE", - "uri": "/phone-numbers/{PhoneNumberId}", - "code": 204 + "method": "POST", + "uri": "/sip-media-applications/{SipMediaApplicationId}/calls", + "code": 201 } } }, - "com.amazonaws.chime#DeletePhoneNumberRequest": { + "com.amazonaws.chime#CreateSipMediaApplicationCallRequest": { "type": "structure", "members": { - "PhoneNumberId": { - "target": "com.amazonaws.chime#String", + "FromPhoneNumber": { + "target": "com.amazonaws.chime#E164PhoneNumber", "traits": { - "smithy.api#documentation": "

                            The phone number ID.

                            ", + "smithy.api#documentation": "

                            The phone number that a user calls from.

                            " + } + }, + "ToPhoneNumber": { + "target": "com.amazonaws.chime#E164PhoneNumber", + "traits": { + "smithy.api#documentation": "

                            The phone number that the user dials in order to connect to a meeting

                            " + } + }, + "SipMediaApplicationId": { + "target": "com.amazonaws.chime#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                            The ID of the SIP media application.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } } }, - "com.amazonaws.chime#DeleteProxySession": { + "com.amazonaws.chime#CreateSipMediaApplicationCallResponse": { + "type": "structure", + "members": { + "SipMediaApplicationCall": { + "target": "com.amazonaws.chime#SipMediaApplicationCall", + "traits": { + "smithy.api#documentation": "

                            The actual call.

                            " + } + } + } + }, + "com.amazonaws.chime#CreateSipMediaApplicationRequest": { + "type": "structure", + "members": { + "AwsRegion": { + "target": "com.amazonaws.chime#String", + "traits": { + "smithy.api#documentation": "

                            AWS Region assigned to the SIP media application.

                            ", + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.chime#SipMediaApplicationName", + "traits": { + "smithy.api#documentation": "

                            The SIP media application name.

                            " + } + }, + "Endpoints": { + "target": "com.amazonaws.chime#SipMediaApplicationEndpointList", + "traits": { + "smithy.api#documentation": "

                            List of endpoints (Lambda Amazon Resource Names) specified for the SIP media\n application. Currently, only one endpoint is supported.

                            ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#CreateSipMediaApplicationResponse": { + "type": "structure", + "members": { + "SipMediaApplication": { + "target": "com.amazonaws.chime#SipMediaApplication", + "traits": { + "smithy.api#documentation": "

                            The Sip media application details.

                            " + } + } + } + }, + "com.amazonaws.chime#CreateSipRule": { "type": "operation", "input": { - "target": "com.amazonaws.chime#DeleteProxySessionRequest" + "target": "com.amazonaws.chime#CreateSipRuleRequest" + }, + "output": { + "target": "com.amazonaws.chime#CreateSipRuleResponse" }, "errors": [ + { + "target": "com.amazonaws.chime#AccessDeniedException" + }, { "target": "com.amazonaws.chime#BadRequestException" }, + { + "target": "com.amazonaws.chime#ConflictException" + }, { "target": "com.amazonaws.chime#ForbiddenException" }, { - "target": "com.amazonaws.chime#NotFoundException" + "target": "com.amazonaws.chime#ResourceLimitExceededException" }, { "target": "com.amazonaws.chime#ServiceFailureException" @@ -3089,44 +3883,79 @@ } ], "traits": { - "smithy.api#documentation": "

                            Deletes the specified proxy session from the specified Amazon Chime Voice Connector.

                            ", + "smithy.api#documentation": "

                            Creates a SIP rule which can be used to run a SIP media application as a target for a\n specific trigger type.

                            ", "smithy.api#http": { - "method": "DELETE", - "uri": "/voice-connectors/{VoiceConnectorId}/proxy-sessions/{ProxySessionId}", - "code": 204 + "method": "POST", + "uri": "/sip-rules", + "code": 201 } } }, - "com.amazonaws.chime#DeleteProxySessionRequest": { + "com.amazonaws.chime#CreateSipRuleRequest": { "type": "structure", "members": { - "VoiceConnectorId": { - "target": "com.amazonaws.chime#NonEmptyString128", + "Name": { + "target": "com.amazonaws.chime#SipRuleName", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime voice connector ID.

                            ", - "smithy.api#httpLabel": {}, + "smithy.api#documentation": "

                            The name of the SIP rule.

                            ", "smithy.api#required": {} } }, - "ProxySessionId": { - "target": "com.amazonaws.chime#NonEmptyString128", + "TriggerType": { + "target": "com.amazonaws.chime#SipRuleTriggerType", "traits": { - "smithy.api#documentation": "

                            The proxy session ID.

                            ", - "smithy.api#httpLabel": {}, + "smithy.api#documentation": "

                            The type of trigger whose value is assigned to the SIP rule in\n TriggerValue. Allowed trigger values are RequestUriHostname and ToPhoneNumber.

                            ", + "smithy.api#required": {} + } + }, + "TriggerValue": { + "target": "com.amazonaws.chime#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                            If TriggerType is RequestUriHostname then the value can be the\n outbound host name of an Amazon Chime Voice Connector. If TriggerType is\n ToPhoneNumber then the value can be a customer-owned phone number in E164\n format. SipRule is triggered if the SIP application requests a host name, or a If\n TriggerType is RequestUriHostname, then the value can be the\n outbound hostname of an Amazon Chime Voice Connector. If TriggerType is\n ToPhoneNumber, then the value can be a customer-owned phone number in E164\n format. SipRule is triggered if the SIP application requests a host name, or a\n ToPhoneNumber value matches the incoming SIP request.

                            ", + "smithy.api#required": {} + } + }, + "Disabled": { + "target": "com.amazonaws.chime#NullableBoolean", + "traits": { + "smithy.api#documentation": "

                            Enables or disables a rule. You must disable rules before you can delete them.

                            " + } + }, + "TargetApplications": { + "target": "com.amazonaws.chime#SipRuleTargetApplicationList", + "traits": { + "smithy.api#documentation": "

                            List of SIP media applications with priority and AWS Region. Only one SIP application\n per AWS Region can be used.

                            ", "smithy.api#required": {} } } } }, - "com.amazonaws.chime#DeleteRoom": { + "com.amazonaws.chime#CreateSipRuleResponse": { + "type": "structure", + "members": { + "SipRule": { + "target": "com.amazonaws.chime#SipRule", + "traits": { + "smithy.api#documentation": "

                            Returns the SIP rule information, including the rule ID, triggers, and target applications.

                            " + } + } + } + }, + "com.amazonaws.chime#CreateUser": { "type": "operation", "input": { - "target": "com.amazonaws.chime#DeleteRoomRequest" + "target": "com.amazonaws.chime#CreateUserRequest" + }, + "output": { + "target": "com.amazonaws.chime#CreateUserResponse" }, "errors": [ { "target": "com.amazonaws.chime#BadRequestException" }, + { + "target": "com.amazonaws.chime#ConflictException" + }, { "target": "com.amazonaws.chime#ForbiddenException" }, @@ -3147,52 +3976,15 @@ } ], "traits": { - "smithy.api#documentation": "

                            Deletes a chat room in an Amazon Chime Enterprise account.

                            ", + "smithy.api#documentation": "

                            Creates a user under the specified Amazon Chime account.

                            ", "smithy.api#http": { - "method": "DELETE", - "uri": "/accounts/{AccountId}/rooms/{RoomId}", - "code": 204 + "method": "POST", + "uri": "/accounts/{AccountId}/users?operation=create", + "code": 201 } } }, - "com.amazonaws.chime#DeleteRoomMembership": { - "type": "operation", - "input": { - "target": "com.amazonaws.chime#DeleteRoomMembershipRequest" - }, - "errors": [ - { - "target": "com.amazonaws.chime#BadRequestException" - }, - { - "target": "com.amazonaws.chime#ForbiddenException" - }, - { - "target": "com.amazonaws.chime#NotFoundException" - }, - { - "target": "com.amazonaws.chime#ServiceFailureException" - }, - { - "target": "com.amazonaws.chime#ServiceUnavailableException" - }, - { - "target": "com.amazonaws.chime#ThrottledClientException" - }, - { - "target": "com.amazonaws.chime#UnauthorizedClientException" - } - ], - "traits": { - "smithy.api#documentation": "

                            Removes a member from a chat room in an Amazon Chime Enterprise account.

                            ", - "smithy.api#http": { - "method": "DELETE", - "uri": "/accounts/{AccountId}/rooms/{RoomId}/memberships/{MemberId}", - "code": 204 - } - } - }, - "com.amazonaws.chime#DeleteRoomMembershipRequest": { + "com.amazonaws.chime#CreateUserRequest": { "type": "structure", "members": { "AccountId": { @@ -3203,62 +3995,54 @@ "smithy.api#required": {} } }, - "RoomId": { - "target": "com.amazonaws.chime#NonEmptyString", + "Username": { + "target": "com.amazonaws.chime#String", "traits": { - "smithy.api#documentation": "

                            The room ID.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#documentation": "

                            The user name.

                            " } }, - "MemberId": { - "target": "com.amazonaws.chime#NonEmptyString", + "Email": { + "target": "com.amazonaws.chime#EmailAddress", "traits": { - "smithy.api#documentation": "

                            The member ID (user ID or bot ID).

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#documentation": "

                            The user's email address.

                            " + } + }, + "UserType": { + "target": "com.amazonaws.chime#UserType", + "traits": { + "smithy.api#documentation": "

                            The user type.

                            " } } } }, - "com.amazonaws.chime#DeleteRoomRequest": { + "com.amazonaws.chime#CreateUserResponse": { "type": "structure", "members": { - "AccountId": { - "target": "com.amazonaws.chime#NonEmptyString", - "traits": { - "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "RoomId": { - "target": "com.amazonaws.chime#NonEmptyString", - "traits": { - "smithy.api#documentation": "

                            The chat room ID.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } + "User": { + "target": "com.amazonaws.chime#User" } } }, - "com.amazonaws.chime#DeleteSipMediaApplication": { + "com.amazonaws.chime#CreateVoiceConnector": { "type": "operation", "input": { - "target": "com.amazonaws.chime#DeleteSipMediaApplicationRequest" + "target": "com.amazonaws.chime#CreateVoiceConnectorRequest" + }, + "output": { + "target": "com.amazonaws.chime#CreateVoiceConnectorResponse" }, "errors": [ { - "target": "com.amazonaws.chime#BadRequestException" + "target": "com.amazonaws.chime#AccessDeniedException" }, { - "target": "com.amazonaws.chime#ConflictException" + "target": "com.amazonaws.chime#BadRequestException" }, { "target": "com.amazonaws.chime#ForbiddenException" }, { - "target": "com.amazonaws.chime#NotFoundException" + "target": "com.amazonaws.chime#ResourceLimitExceededException" }, { "target": "com.amazonaws.chime#ServiceFailureException" @@ -3274,44 +4058,34 @@ } ], "traits": { - "smithy.api#documentation": "

                            Deletes a SIP media application.

                            ", + "smithy.api#documentation": "

                            Creates an Amazon Chime Voice Connector under the administrator's AWS account. You can choose to create an Amazon Chime Voice Connector in a specific AWS Region.

                            \n

                            Enabling CreateVoiceConnectorRequest$RequireEncryption configures your Amazon Chime Voice Connector to use TLS transport for SIP signaling and Secure RTP (SRTP) for media. \n Inbound calls use TLS transport, and unencrypted outbound calls are blocked.

                            ", "smithy.api#http": { - "method": "DELETE", - "uri": "/sip-media-applications/{SipMediaApplicationId}", - "code": 204 - } - } - }, - "com.amazonaws.chime#DeleteSipMediaApplicationRequest": { - "type": "structure", - "members": { - "SipMediaApplicationId": { - "target": "com.amazonaws.chime#NonEmptyString", - "traits": { - "smithy.api#documentation": "

                            The SIP media application ID.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } + "method": "POST", + "uri": "/voice-connectors", + "code": 201 } } }, - "com.amazonaws.chime#DeleteSipRule": { + "com.amazonaws.chime#CreateVoiceConnectorGroup": { "type": "operation", "input": { - "target": "com.amazonaws.chime#DeleteSipRuleRequest" + "target": "com.amazonaws.chime#CreateVoiceConnectorGroupRequest" + }, + "output": { + "target": "com.amazonaws.chime#CreateVoiceConnectorGroupResponse" }, "errors": [ { - "target": "com.amazonaws.chime#BadRequestException" + "target": "com.amazonaws.chime#AccessDeniedException" }, { - "target": "com.amazonaws.chime#ConflictException" + "target": "com.amazonaws.chime#BadRequestException" }, { "target": "com.amazonaws.chime#ForbiddenException" }, { - "target": "com.amazonaws.chime#NotFoundException" + "target": "com.amazonaws.chime#ResourceLimitExceededException" }, { "target": "com.amazonaws.chime#ServiceFailureException" @@ -3327,128 +4101,159 @@ } ], "traits": { - "smithy.api#documentation": "

                            Deletes a SIP rule. You must disable a SIP rule before you can delete it.

                            ", + "smithy.api#documentation": "

                            Creates an Amazon Chime Voice Connector group under the administrator's AWS account.\n You can associate Amazon Chime Voice Connectors with the Amazon Chime\n Voice Connector group by including VoiceConnectorItems in the request.

                            \n

                            You can include Amazon Chime Voice Connectors from different AWS Regions in your group.\n This creates a fault tolerant mechanism for fallback in case of availability events.

                            ", "smithy.api#http": { - "method": "DELETE", - "uri": "/sip-rules/{SipRuleId}", - "code": 204 + "method": "POST", + "uri": "/voice-connector-groups", + "code": 201 } } }, - "com.amazonaws.chime#DeleteSipRuleRequest": { + "com.amazonaws.chime#CreateVoiceConnectorGroupRequest": { "type": "structure", "members": { - "SipRuleId": { - "target": "com.amazonaws.chime#NonEmptyString", + "Name": { + "target": "com.amazonaws.chime#VoiceConnectorGroupName", "traits": { - "smithy.api#documentation": "

                            The SIP rule ID.

                            ", - "smithy.api#httpLabel": {}, + "smithy.api#documentation": "

                            The name of the Amazon Chime Voice Connector group.

                            ", "smithy.api#required": {} } + }, + "VoiceConnectorItems": { + "target": "com.amazonaws.chime#VoiceConnectorItemList", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime Voice Connectors to route inbound calls to.

                            " + } } } }, - "com.amazonaws.chime#DeleteVoiceConnector": { - "type": "operation", - "input": { - "target": "com.amazonaws.chime#DeleteVoiceConnectorRequest" - }, - "errors": [ - { - "target": "com.amazonaws.chime#BadRequestException" - }, - { - "target": "com.amazonaws.chime#ConflictException" - }, - { - "target": "com.amazonaws.chime#ForbiddenException" - }, - { - "target": "com.amazonaws.chime#NotFoundException" - }, - { - "target": "com.amazonaws.chime#ServiceFailureException" - }, - { - "target": "com.amazonaws.chime#ServiceUnavailableException" - }, - { - "target": "com.amazonaws.chime#ThrottledClientException" - }, - { - "target": "com.amazonaws.chime#UnauthorizedClientException" - } - ], - "traits": { - "smithy.api#documentation": "

                            Deletes the specified Amazon Chime Voice Connector. Any phone numbers associated with the\n Amazon Chime Voice Connector must be disassociated from it before it can be deleted.

                            ", - "smithy.api#http": { - "method": "DELETE", - "uri": "/voice-connectors/{VoiceConnectorId}", - "code": 204 + "com.amazonaws.chime#CreateVoiceConnectorGroupResponse": { + "type": "structure", + "members": { + "VoiceConnectorGroup": { + "target": "com.amazonaws.chime#VoiceConnectorGroup", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime Voice Connector group details.

                            " + } } } }, - "com.amazonaws.chime#DeleteVoiceConnectorEmergencyCallingConfiguration": { - "type": "operation", - "input": { - "target": "com.amazonaws.chime#DeleteVoiceConnectorEmergencyCallingConfigurationRequest" - }, - "errors": [ - { - "target": "com.amazonaws.chime#BadRequestException" - }, - { - "target": "com.amazonaws.chime#ForbiddenException" - }, - { - "target": "com.amazonaws.chime#NotFoundException" - }, - { - "target": "com.amazonaws.chime#ServiceFailureException" - }, - { - "target": "com.amazonaws.chime#ServiceUnavailableException" + "com.amazonaws.chime#CreateVoiceConnectorRequest": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.chime#VoiceConnectorName", + "traits": { + "smithy.api#documentation": "

                            The name of the Amazon Chime Voice Connector.

                            ", + "smithy.api#required": {} + } }, - { - "target": "com.amazonaws.chime#ThrottledClientException" + "AwsRegion": { + "target": "com.amazonaws.chime#VoiceConnectorAwsRegion", + "traits": { + "smithy.api#documentation": "

                            The AWS Region in which the Amazon Chime Voice Connector is created. Default value: us-east-1.

                            " + } }, - { - "target": "com.amazonaws.chime#UnauthorizedClientException" - } - ], - "traits": { - "smithy.api#documentation": "

                            Deletes the emergency calling configuration details from the specified Amazon Chime Voice Connector.

                            ", - "smithy.api#http": { - "method": "DELETE", - "uri": "/voice-connectors/{VoiceConnectorId}/emergency-calling-configuration", - "code": 204 + "RequireEncryption": { + "target": "com.amazonaws.chime#Boolean", + "traits": { + "smithy.api#documentation": "

                            When enabled, requires encryption for the Amazon Chime Voice Connector.

                            ", + "smithy.api#required": {} + } } } }, - "com.amazonaws.chime#DeleteVoiceConnectorEmergencyCallingConfigurationRequest": { + "com.amazonaws.chime#CreateVoiceConnectorResponse": { "type": "structure", "members": { - "VoiceConnectorId": { - "target": "com.amazonaws.chime#NonEmptyString", + "VoiceConnector": { + "target": "com.amazonaws.chime#VoiceConnector", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime Voice Connector ID.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#documentation": "

                            The Amazon Chime Voice Connector details.

                            " } } } }, - "com.amazonaws.chime#DeleteVoiceConnectorGroup": { - "type": "operation", - "input": { - "target": "com.amazonaws.chime#DeleteVoiceConnectorGroupRequest" - }, - "errors": [ - { - "target": "com.amazonaws.chime#BadRequestException" - }, + "com.amazonaws.chime#Credential": { + "type": "structure", + "members": { + "Username": { + "target": "com.amazonaws.chime#SensitiveString", + "traits": { + "smithy.api#documentation": "

                            The RFC2617 compliant user name associated with the SIP credentials, in US-ASCII\n format.

                            " + } + }, + "Password": { + "target": "com.amazonaws.chime#SensitiveString", + "traits": { + "smithy.api#documentation": "

                            The RFC2617 compliant password associated with the SIP credentials, in US-ASCII format.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The SIP credentials used to authenticate requests to your Amazon Chime Voice Connector.

                            " + } + }, + "com.amazonaws.chime#CredentialList": { + "type": "list", + "member": { + "target": "com.amazonaws.chime#Credential" + } + }, + "com.amazonaws.chime#DNISEmergencyCallingConfiguration": { + "type": "structure", + "members": { + "EmergencyPhoneNumber": { + "target": "com.amazonaws.chime#E164PhoneNumber", + "traits": { + "smithy.api#documentation": "

                            The DNIS phone number to route emergency calls to, in E.164 format.

                            ", + "smithy.api#required": {} + } + }, + "TestPhoneNumber": { + "target": "com.amazonaws.chime#E164PhoneNumber", + "traits": { + "smithy.api#documentation": "

                            The DNIS phone number to route test emergency calls to, in E.164 format.

                            " + } + }, + "CallingCountry": { + "target": "com.amazonaws.chime#Alpha2CountryCode", + "traits": { + "smithy.api#documentation": "

                            The country from which emergency calls are allowed, in ISO 3166-1 alpha-2 format.

                            ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The Dialed Number Identification Service (DNIS) emergency calling configuration details associated with an Amazon Chime Voice Connector's emergency calling configuration.

                            " + } + }, + "com.amazonaws.chime#DNISEmergencyCallingConfigurationList": { + "type": "list", + "member": { + "target": "com.amazonaws.chime#DNISEmergencyCallingConfiguration" + } + }, + "com.amazonaws.chime#DataRetentionInHours": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 0 + } + } + }, + "com.amazonaws.chime#DeleteAccount": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#DeleteAccountRequest" + }, + "output": { + "target": "com.amazonaws.chime#DeleteAccountResponse" + }, + "errors": [ { - "target": "com.amazonaws.chime#ConflictException" + "target": "com.amazonaws.chime#BadRequestException" }, { "target": "com.amazonaws.chime#ForbiddenException" @@ -3467,34 +4272,41 @@ }, { "target": "com.amazonaws.chime#UnauthorizedClientException" + }, + { + "target": "com.amazonaws.chime#UnprocessableEntityException" } ], "traits": { - "smithy.api#documentation": "

                            Deletes the specified Amazon Chime Voice Connector group. Any VoiceConnectorItems and phone numbers associated with the group must be removed before it can be deleted.

                            ", + "smithy.api#documentation": "

                            Deletes the specified Amazon Chime account. You must suspend all users before deleting\n a Team account. You can use the BatchSuspendUser action to do\n so.

                            \n

                            For EnterpriseLWA and EnterpriseAD accounts, you must\n release the claimed domains for your Amazon Chime account before deletion. As soon as you\n release the domain, all users under that account are suspended.

                            \n

                            Deleted accounts appear in your Disabled accounts list for 90 days. To restore a\n deleted account from your Disabled accounts list, you must contact AWS Support.

                            \n

                            After 90 days, deleted accounts are permanently removed from your\n Disabled accounts list.

                            ", "smithy.api#http": { "method": "DELETE", - "uri": "/voice-connector-groups/{VoiceConnectorGroupId}", + "uri": "/accounts/{AccountId}", "code": 204 } } }, - "com.amazonaws.chime#DeleteVoiceConnectorGroupRequest": { + "com.amazonaws.chime#DeleteAccountRequest": { "type": "structure", "members": { - "VoiceConnectorGroupId": { + "AccountId": { "target": "com.amazonaws.chime#NonEmptyString", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime Voice Connector group ID.

                            ", + "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } } }, - "com.amazonaws.chime#DeleteVoiceConnectorOrigination": { + "com.amazonaws.chime#DeleteAccountResponse": { + "type": "structure", + "members": {} + }, + "com.amazonaws.chime#DeleteAppInstance": { "type": "operation", "input": { - "target": "com.amazonaws.chime#DeleteVoiceConnectorOriginationRequest" + "target": "com.amazonaws.chime#DeleteAppInstanceRequest" }, "errors": [ { @@ -3503,9 +4315,6 @@ { "target": "com.amazonaws.chime#ForbiddenException" }, - { - "target": "com.amazonaws.chime#NotFoundException" - }, { "target": "com.amazonaws.chime#ServiceFailureException" }, @@ -3520,41 +4329,34 @@ } ], "traits": { - "smithy.api#documentation": "

                            Deletes the origination settings for the specified Amazon Chime Voice Connector.

                            \n \n

                            If emergency calling is configured for the Amazon Chime Voice Connector, it must be deleted prior to deleting the origination settings.

                            \n
                            ", + "smithy.api#documentation": "

                            Deletes an AppInstance and all associated data asynchronously.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "identity-" + }, "smithy.api#http": { "method": "DELETE", - "uri": "/voice-connectors/{VoiceConnectorId}/origination", + "uri": "/app-instances/{AppInstanceArn}", "code": 204 } } }, - "com.amazonaws.chime#DeleteVoiceConnectorOriginationRequest": { - "type": "structure", - "members": { - "VoiceConnectorId": { - "target": "com.amazonaws.chime#NonEmptyString", - "traits": { - "smithy.api#documentation": "

                            The Amazon Chime Voice Connector ID.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - } - } - }, - "com.amazonaws.chime#DeleteVoiceConnectorProxy": { + "com.amazonaws.chime#DeleteAppInstanceAdmin": { "type": "operation", "input": { - "target": "com.amazonaws.chime#DeleteVoiceConnectorProxyRequest" + "target": "com.amazonaws.chime#DeleteAppInstanceAdminRequest" }, "errors": [ { "target": "com.amazonaws.chime#BadRequestException" }, + { + "target": "com.amazonaws.chime#ConflictException" + }, { "target": "com.amazonaws.chime#ForbiddenException" }, { - "target": "com.amazonaws.chime#NotFoundException" + "target": "com.amazonaws.chime#ResourceLimitExceededException" }, { "target": "com.amazonaws.chime#ServiceFailureException" @@ -3570,44 +4372,55 @@ } ], "traits": { - "smithy.api#documentation": "

                            Deletes the proxy configuration from the specified Amazon Chime Voice Connector.

                            ", + "smithy.api#documentation": "

                            Demotes an AppInstanceAdmin to an AppInstanceUser. This action does not delete the user.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "identity-" + }, "smithy.api#http": { "method": "DELETE", - "uri": "/voice-connectors/{VoiceConnectorId}/programmable-numbers/proxy", + "uri": "/app-instances/{AppInstanceArn}/admins/{AppInstanceAdminArn}", "code": 204 } } }, - "com.amazonaws.chime#DeleteVoiceConnectorProxyRequest": { + "com.amazonaws.chime#DeleteAppInstanceAdminRequest": { "type": "structure", "members": { - "VoiceConnectorId": { - "target": "com.amazonaws.chime#NonEmptyString128", + "AppInstanceAdminArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime Voice Connector ID.

                            ", + "smithy.api#documentation": "

                            The ARN of the app instance's administrator.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "AppInstanceArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the app instance.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } } }, - "com.amazonaws.chime#DeleteVoiceConnectorRequest": { + "com.amazonaws.chime#DeleteAppInstanceRequest": { "type": "structure", "members": { - "VoiceConnectorId": { - "target": "com.amazonaws.chime#NonEmptyString", + "AppInstanceArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime Voice Connector ID.

                            ", + "smithy.api#documentation": "

                            The ARN of the app instance.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } } }, - "com.amazonaws.chime#DeleteVoiceConnectorStreamingConfiguration": { + "com.amazonaws.chime#DeleteAppInstanceStreamingConfigurations": { "type": "operation", "input": { - "target": "com.amazonaws.chime#DeleteVoiceConnectorStreamingConfigurationRequest" + "target": "com.amazonaws.chime#DeleteAppInstanceStreamingConfigurationsRequest" }, "errors": [ { @@ -3633,31 +4446,31 @@ } ], "traits": { - "smithy.api#documentation": "

                            Deletes the streaming configuration for the specified Amazon Chime Voice Connector.

                            ", + "smithy.api#documentation": "

                            Deletes the streaming configurations of an app instance.

                            ", "smithy.api#http": { "method": "DELETE", - "uri": "/voice-connectors/{VoiceConnectorId}/streaming-configuration", + "uri": "/app-instances/{AppInstanceArn}/streaming-configurations", "code": 204 } } }, - "com.amazonaws.chime#DeleteVoiceConnectorStreamingConfigurationRequest": { + "com.amazonaws.chime#DeleteAppInstanceStreamingConfigurationsRequest": { "type": "structure", "members": { - "VoiceConnectorId": { - "target": "com.amazonaws.chime#NonEmptyString", + "AppInstanceArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime Voice Connector ID.

                            ", + "smithy.api#documentation": "

                            The ARN of the streaming configurations being deleted.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } } }, - "com.amazonaws.chime#DeleteVoiceConnectorTermination": { + "com.amazonaws.chime#DeleteAppInstanceUser": { "type": "operation", "input": { - "target": "com.amazonaws.chime#DeleteVoiceConnectorTerminationRequest" + "target": "com.amazonaws.chime#DeleteAppInstanceUserRequest" }, "errors": [ { @@ -3666,9 +4479,6 @@ { "target": "com.amazonaws.chime#ForbiddenException" }, - { - "target": "com.amazonaws.chime#NotFoundException" - }, { "target": "com.amazonaws.chime#ServiceFailureException" }, @@ -3683,18 +4493,34 @@ } ], "traits": { - "smithy.api#documentation": "

                            Deletes the termination settings for the specified Amazon Chime Voice Connector.

                            \n \n

                            If emergency calling is configured for the Amazon Chime Voice Connector, it must be deleted prior to deleting the termination settings.

                            \n
                            ", + "smithy.api#documentation": "

                            Deletes an AppInstanceUser.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "identity-" + }, "smithy.api#http": { "method": "DELETE", - "uri": "/voice-connectors/{VoiceConnectorId}/termination", + "uri": "/app-instance-users/{AppInstanceUserArn}", "code": 204 } } }, - "com.amazonaws.chime#DeleteVoiceConnectorTerminationCredentials": { + "com.amazonaws.chime#DeleteAppInstanceUserRequest": { + "type": "structure", + "members": { + "AppInstanceUserArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the user request being deleted.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#DeleteAttendee": { "type": "operation", "input": { - "target": "com.amazonaws.chime#DeleteVoiceConnectorTerminationCredentialsRequest" + "target": "com.amazonaws.chime#DeleteAttendeeRequest" }, "errors": [ { @@ -3720,54 +4546,39 @@ } ], "traits": { - "smithy.api#documentation": "

                            Deletes the specified SIP credentials used by your equipment to authenticate during call termination.

                            ", + "smithy.api#documentation": "

                            Deletes an attendee from the specified Amazon Chime SDK meeting and deletes their JoinToken. Attendees are automatically deleted when a Amazon Chime SDK meeting is deleted. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide.

                            ", "smithy.api#http": { - "method": "POST", - "uri": "/voice-connectors/{VoiceConnectorId}/termination/credentials?operation=delete", + "method": "DELETE", + "uri": "/meetings/{MeetingId}/attendees/{AttendeeId}", "code": 204 } } }, - "com.amazonaws.chime#DeleteVoiceConnectorTerminationCredentialsRequest": { + "com.amazonaws.chime#DeleteAttendeeRequest": { "type": "structure", "members": { - "VoiceConnectorId": { - "target": "com.amazonaws.chime#NonEmptyString", + "MeetingId": { + "target": "com.amazonaws.chime#GuidString", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime Voice Connector ID.

                            ", + "smithy.api#documentation": "

                            The Amazon Chime SDK meeting ID.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "Usernames": { - "target": "com.amazonaws.chime#SensitiveStringList", - "traits": { - "smithy.api#documentation": "

                            The RFC2617 compliant username associated with the SIP credentials, in US-ASCII format.

                            ", - "smithy.api#required": {} - } - } - } - }, - "com.amazonaws.chime#DeleteVoiceConnectorTerminationRequest": { - "type": "structure", - "members": { - "VoiceConnectorId": { - "target": "com.amazonaws.chime#NonEmptyString", + "AttendeeId": { + "target": "com.amazonaws.chime#GuidString", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime Voice Connector ID.

                            ", + "smithy.api#documentation": "

                            The Amazon Chime SDK attendee ID.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } } }, - "com.amazonaws.chime#DisassociatePhoneNumberFromUser": { + "com.amazonaws.chime#DeleteChannel": { "type": "operation", "input": { - "target": "com.amazonaws.chime#DisassociatePhoneNumberFromUserRequest" - }, - "output": { - "target": "com.amazonaws.chime#DisassociatePhoneNumberFromUserResponse" + "target": "com.amazonaws.chime#DeleteChannelRequest" }, "errors": [ { @@ -3776,9 +4587,6 @@ { "target": "com.amazonaws.chime#ForbiddenException" }, - { - "target": "com.amazonaws.chime#NotFoundException" - }, { "target": "com.amazonaws.chime#ServiceFailureException" }, @@ -3793,46 +4601,21 @@ } ], "traits": { - "smithy.api#documentation": "

                            Disassociates the primary provisioned phone number from the specified Amazon Chime\n user.

                            ", - "smithy.api#http": { - "method": "POST", - "uri": "/accounts/{AccountId}/users/{UserId}?operation=disassociate-phone-number", - "code": 200 - } - } - }, - "com.amazonaws.chime#DisassociatePhoneNumberFromUserRequest": { - "type": "structure", - "members": { - "AccountId": { - "target": "com.amazonaws.chime#String", - "traits": { - "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } + "smithy.api#documentation": "

                            Immediately makes a channel and its memberships inaccessible and marks them for deletion. This is an irreversible process.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "messaging-" }, - "UserId": { - "target": "com.amazonaws.chime#String", - "traits": { - "smithy.api#documentation": "

                            The user ID.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } + "smithy.api#http": { + "method": "DELETE", + "uri": "/channels/{ChannelArn}", + "code": 204 } } }, - "com.amazonaws.chime#DisassociatePhoneNumberFromUserResponse": { - "type": "structure", - "members": {} - }, - "com.amazonaws.chime#DisassociatePhoneNumbersFromVoiceConnector": { + "com.amazonaws.chime#DeleteChannelBan": { "type": "operation", "input": { - "target": "com.amazonaws.chime#DisassociatePhoneNumbersFromVoiceConnectorRequest" - }, - "output": { - "target": "com.amazonaws.chime#DisassociatePhoneNumbersFromVoiceConnectorResponse" + "target": "com.amazonaws.chime#DeleteChannelBanRequest" }, "errors": [ { @@ -3841,9 +4624,6 @@ { "target": "com.amazonaws.chime#ForbiddenException" }, - { - "target": "com.amazonaws.chime#NotFoundException" - }, { "target": "com.amazonaws.chime#ServiceFailureException" }, @@ -3858,21 +4638,42 @@ } ], "traits": { - "smithy.api#documentation": "

                            Disassociates the specified phone numbers from the specified Amazon Chime Voice Connector.

                            ", + "smithy.api#documentation": "

                            Removes a user from a channel's ban list.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "messaging-" + }, "smithy.api#http": { - "method": "POST", - "uri": "/voice-connectors/{VoiceConnectorId}?operation=disassociate-phone-numbers", - "code": 200 - } + "method": "DELETE", + "uri": "/channels/{ChannelArn}/bans/{MemberArn}", + "code": 204 + } } }, - "com.amazonaws.chime#DisassociatePhoneNumbersFromVoiceConnectorGroup": { + "com.amazonaws.chime#DeleteChannelBanRequest": { + "type": "structure", + "members": { + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the channel from which the app instance user was banned.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "MemberArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the app instance user that you want to reinstate.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#DeleteChannelMembership": { "type": "operation", "input": { - "target": "com.amazonaws.chime#DisassociatePhoneNumbersFromVoiceConnectorGroupRequest" - }, - "output": { - "target": "com.amazonaws.chime#DisassociatePhoneNumbersFromVoiceConnectorGroupResponse" + "target": "com.amazonaws.chime#DeleteChannelMembershipRequest" }, "errors": [ { @@ -3881,9 +4682,6 @@ { "target": "com.amazonaws.chime#ForbiddenException" }, - { - "target": "com.amazonaws.chime#NotFoundException" - }, { "target": "com.amazonaws.chime#ServiceFailureException" }, @@ -3898,83 +4696,171 @@ } ], "traits": { - "smithy.api#documentation": "

                            Disassociates the specified phone numbers from the specified Amazon Chime Voice Connector group.

                            ", + "smithy.api#documentation": "

                            Removes a member from a channel.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "messaging-" + }, "smithy.api#http": { - "method": "POST", - "uri": "/voice-connector-groups/{VoiceConnectorGroupId}?operation=disassociate-phone-numbers", - "code": 200 + "method": "DELETE", + "uri": "/channels/{ChannelArn}/memberships/{MemberArn}", + "code": 204 } } }, - "com.amazonaws.chime#DisassociatePhoneNumbersFromVoiceConnectorGroupRequest": { + "com.amazonaws.chime#DeleteChannelMembershipRequest": { "type": "structure", "members": { - "VoiceConnectorGroupId": { - "target": "com.amazonaws.chime#NonEmptyString", + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime Voice Connector group ID.

                            ", + "smithy.api#documentation": "

                            The ARN of the channel from which you want to remove the user.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "E164PhoneNumbers": { - "target": "com.amazonaws.chime#E164PhoneNumberList", + "MemberArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            List of phone numbers, in E.164 format.

                            ", + "smithy.api#documentation": "

                            The ARN of the member that you're removing from the channel.

                            ", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } } } }, - "com.amazonaws.chime#DisassociatePhoneNumbersFromVoiceConnectorGroupResponse": { + "com.amazonaws.chime#DeleteChannelMessage": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#DeleteChannelMessageRequest" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Deletes a channel message. Only admins can perform this action. Deletion makes messages inaccessible immediately. A \n background process deletes any revisions created by UpdateChannelMessage.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "messaging-" + }, + "smithy.api#http": { + "method": "DELETE", + "uri": "/channels/{ChannelArn}/messages/{MessageId}", + "code": 204 + } + } + }, + "com.amazonaws.chime#DeleteChannelMessageRequest": { "type": "structure", "members": { - "PhoneNumberErrors": { - "target": "com.amazonaws.chime#PhoneNumberErrorList", + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            If the action fails for one or more of the phone numbers in the request, a list of the phone numbers is returned, along with error codes and error messages.

                            " + "smithy.api#documentation": "

                            The ARN of the channel.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "MessageId": { + "target": "com.amazonaws.chime#MessageId", + "traits": { + "smithy.api#documentation": "

                            The ID of the message being deleted.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } } } }, - "com.amazonaws.chime#DisassociatePhoneNumbersFromVoiceConnectorRequest": { + "com.amazonaws.chime#DeleteChannelModerator": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#DeleteChannelModeratorRequest" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Deletes a channel moderator.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "messaging-" + }, + "smithy.api#http": { + "method": "DELETE", + "uri": "/channels/{ChannelArn}/moderators/{ChannelModeratorArn}", + "code": 204 + } + } + }, + "com.amazonaws.chime#DeleteChannelModeratorRequest": { "type": "structure", "members": { - "VoiceConnectorId": { - "target": "com.amazonaws.chime#NonEmptyString", + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime Voice Connector ID.

                            ", + "smithy.api#documentation": "

                            The ARN of the channel.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "E164PhoneNumbers": { - "target": "com.amazonaws.chime#E164PhoneNumberList", + "ChannelModeratorArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            List of phone numbers, in E.164 format.

                            ", + "smithy.api#documentation": "

                            The ARN of the moderator being deleted.

                            ", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } } } }, - "com.amazonaws.chime#DisassociatePhoneNumbersFromVoiceConnectorResponse": { + "com.amazonaws.chime#DeleteChannelRequest": { "type": "structure", "members": { - "PhoneNumberErrors": { - "target": "com.amazonaws.chime#PhoneNumberErrorList", + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            If the action fails for one or more of the phone numbers in the request, a list of the phone numbers is returned, along with error codes and error messages.

                            " + "smithy.api#documentation": "

                            The ARN of the channel being deleted.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } } } }, - "com.amazonaws.chime#DisassociateSigninDelegateGroupsFromAccount": { + "com.amazonaws.chime#DeleteEventsConfiguration": { "type": "operation", "input": { - "target": "com.amazonaws.chime#DisassociateSigninDelegateGroupsFromAccountRequest" - }, - "output": { - "target": "com.amazonaws.chime#DisassociateSigninDelegateGroupsFromAccountResponse" + "target": "com.amazonaws.chime#DeleteEventsConfigurationRequest" }, "errors": [ { @@ -3984,7 +4870,7 @@ "target": "com.amazonaws.chime#ForbiddenException" }, { - "target": "com.amazonaws.chime#NotFoundException" + "target": "com.amazonaws.chime#ResourceLimitExceededException" }, { "target": "com.amazonaws.chime#ServiceFailureException" @@ -3992,23 +4878,20 @@ { "target": "com.amazonaws.chime#ServiceUnavailableException" }, - { - "target": "com.amazonaws.chime#ThrottledClientException" - }, { "target": "com.amazonaws.chime#UnauthorizedClientException" } ], "traits": { - "smithy.api#documentation": "

                            Disassociates the specified sign-in delegate groups from the specified Amazon Chime account.

                            ", + "smithy.api#documentation": "

                            Deletes the events configuration that allows a bot to receive outgoing events.

                            ", "smithy.api#http": { - "method": "POST", - "uri": "/accounts/{AccountId}?operation=disassociate-signin-delegate-groups", - "code": 200 + "method": "DELETE", + "uri": "/accounts/{AccountId}/bots/{BotId}/events-configuration", + "code": 204 } } }, - "com.amazonaws.chime#DisassociateSigninDelegateGroupsFromAccountRequest": { + "com.amazonaws.chime#DeleteEventsConfigurationRequest": { "type": "structure", "members": { "AccountId": { @@ -4019,84 +4902,1786 @@ "smithy.api#required": {} } }, - "GroupNames": { - "target": "com.amazonaws.chime#NonEmptyStringList", + "BotId": { + "target": "com.amazonaws.chime#NonEmptyString", "traits": { - "smithy.api#documentation": "

                            The sign-in delegate group names.

                            ", + "smithy.api#documentation": "

                            The bot ID.

                            ", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } } } }, - "com.amazonaws.chime#DisassociateSigninDelegateGroupsFromAccountResponse": { - "type": "structure", - "members": {} - }, - "com.amazonaws.chime#E164PhoneNumber": { - "type": "string", - "traits": { - "smithy.api#pattern": "^\\+?[1-9]\\d{1,14}$", - "smithy.api#sensitive": {} - } - }, - "com.amazonaws.chime#E164PhoneNumberList": { - "type": "list", - "member": { - "target": "com.amazonaws.chime#E164PhoneNumber" - } - }, - "com.amazonaws.chime#EmailAddress": { - "type": "string", - "traits": { - "smithy.api#pattern": ".+@.+\\..+", - "smithy.api#sensitive": {} - } - }, - "com.amazonaws.chime#EmailStatus": { - "type": "string", + "com.amazonaws.chime#DeleteMeeting": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#DeleteMeetingRequest" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], "traits": { - "smithy.api#enum": [ - { - "value": "NotSent", - "name": "NotSent" - }, - { - "value": "Sent", - "name": "Sent" - }, - { - "value": "Failed", - "name": "Failed" - } - ] + "smithy.api#documentation": "

                            Deletes the specified Amazon Chime SDK meeting. When a meeting is deleted, its attendees are also deleted and clients can no longer join it. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide.

                            ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/meetings/{MeetingId}", + "code": 204 + } } }, - "com.amazonaws.chime#EmergencyCallingConfiguration": { + "com.amazonaws.chime#DeleteMeetingRequest": { "type": "structure", "members": { - "DNIS": { - "target": "com.amazonaws.chime#DNISEmergencyCallingConfigurationList", + "MeetingId": { + "target": "com.amazonaws.chime#GuidString", "traits": { - "smithy.api#documentation": "

                            The Dialed Number Identification Service (DNIS) emergency calling configuration details.

                            " + "smithy.api#documentation": "

                            The Amazon Chime SDK meeting ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } } - }, - "traits": { - "smithy.api#documentation": "

                            The emergency calling configuration details associated with an Amazon Chime Voice Connector.

                            " } }, - "com.amazonaws.chime#ErrorCode": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "BadRequest", - "name": "BadRequest" - }, - { - "value": "Conflict", - "name": "Conflict" - }, + "com.amazonaws.chime#DeletePhoneNumber": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#DeletePhoneNumberRequest" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Moves the specified phone number into the Deletion\n queue. A phone number must be disassociated from any users or Amazon Chime Voice\n Connectors before it can be deleted.

                            \n

                            Deleted phone numbers remain in the Deletion queue\n for 7 days before they are deleted permanently.

                            ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/phone-numbers/{PhoneNumberId}", + "code": 204 + } + } + }, + "com.amazonaws.chime#DeletePhoneNumberRequest": { + "type": "structure", + "members": { + "PhoneNumberId": { + "target": "com.amazonaws.chime#String", + "traits": { + "smithy.api#documentation": "

                            The phone number ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#DeleteProxySession": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#DeleteProxySessionRequest" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Deletes the specified proxy session from the specified Amazon Chime Voice Connector.

                            ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/voice-connectors/{VoiceConnectorId}/proxy-sessions/{ProxySessionId}", + "code": 204 + } + } + }, + "com.amazonaws.chime#DeleteProxySessionRequest": { + "type": "structure", + "members": { + "VoiceConnectorId": { + "target": "com.amazonaws.chime#NonEmptyString128", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime voice connector ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "ProxySessionId": { + "target": "com.amazonaws.chime#NonEmptyString128", + "traits": { + "smithy.api#documentation": "

                            The proxy session ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#DeleteRoom": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#DeleteRoomRequest" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Deletes a chat room in an Amazon Chime Enterprise account.

                            ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/accounts/{AccountId}/rooms/{RoomId}", + "code": 204 + } + } + }, + "com.amazonaws.chime#DeleteRoomMembership": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#DeleteRoomMembershipRequest" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Removes a member from a chat room in an Amazon Chime Enterprise account.

                            ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/accounts/{AccountId}/rooms/{RoomId}/memberships/{MemberId}", + "code": 204 + } + } + }, + "com.amazonaws.chime#DeleteRoomMembershipRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.chime#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "RoomId": { + "target": "com.amazonaws.chime#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                            The room ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "MemberId": { + "target": "com.amazonaws.chime#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                            The member ID (user ID or bot ID).

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#DeleteRoomRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.chime#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "RoomId": { + "target": "com.amazonaws.chime#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                            The chat room ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#DeleteSipMediaApplication": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#DeleteSipMediaApplicationRequest" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ConflictException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Deletes a SIP media application.

                            ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/sip-media-applications/{SipMediaApplicationId}", + "code": 204 + } + } + }, + "com.amazonaws.chime#DeleteSipMediaApplicationRequest": { + "type": "structure", + "members": { + "SipMediaApplicationId": { + "target": "com.amazonaws.chime#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                            The SIP media application ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#DeleteSipRule": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#DeleteSipRuleRequest" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ConflictException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Deletes a SIP rule. You must disable a SIP rule before you can delete it.

                            ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/sip-rules/{SipRuleId}", + "code": 204 + } + } + }, + "com.amazonaws.chime#DeleteSipRuleRequest": { + "type": "structure", + "members": { + "SipRuleId": { + "target": "com.amazonaws.chime#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                            The SIP rule ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#DeleteVoiceConnector": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#DeleteVoiceConnectorRequest" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ConflictException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Deletes the specified Amazon Chime Voice Connector. Any phone numbers associated with the\n Amazon Chime Voice Connector must be disassociated from it before it can be deleted.

                            ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/voice-connectors/{VoiceConnectorId}", + "code": 204 + } + } + }, + "com.amazonaws.chime#DeleteVoiceConnectorEmergencyCallingConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#DeleteVoiceConnectorEmergencyCallingConfigurationRequest" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Deletes the emergency calling configuration details from the specified Amazon Chime Voice Connector.

                            ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/voice-connectors/{VoiceConnectorId}/emergency-calling-configuration", + "code": 204 + } + } + }, + "com.amazonaws.chime#DeleteVoiceConnectorEmergencyCallingConfigurationRequest": { + "type": "structure", + "members": { + "VoiceConnectorId": { + "target": "com.amazonaws.chime#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime Voice Connector ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#DeleteVoiceConnectorGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#DeleteVoiceConnectorGroupRequest" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ConflictException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Deletes the specified Amazon Chime Voice Connector group. Any VoiceConnectorItems and phone numbers associated with the group must be removed before it can be deleted.

                            ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/voice-connector-groups/{VoiceConnectorGroupId}", + "code": 204 + } + } + }, + "com.amazonaws.chime#DeleteVoiceConnectorGroupRequest": { + "type": "structure", + "members": { + "VoiceConnectorGroupId": { + "target": "com.amazonaws.chime#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime Voice Connector group ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#DeleteVoiceConnectorOrigination": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#DeleteVoiceConnectorOriginationRequest" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Deletes the origination settings for the specified Amazon Chime Voice Connector.

                            \n \n

                            If emergency calling is configured for the Amazon Chime Voice Connector, it must be deleted prior to deleting the origination settings.

                            \n
                            ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/voice-connectors/{VoiceConnectorId}/origination", + "code": 204 + } + } + }, + "com.amazonaws.chime#DeleteVoiceConnectorOriginationRequest": { + "type": "structure", + "members": { + "VoiceConnectorId": { + "target": "com.amazonaws.chime#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime Voice Connector ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#DeleteVoiceConnectorProxy": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#DeleteVoiceConnectorProxyRequest" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Deletes the proxy configuration from the specified Amazon Chime Voice Connector.

                            ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/voice-connectors/{VoiceConnectorId}/programmable-numbers/proxy", + "code": 204 + } + } + }, + "com.amazonaws.chime#DeleteVoiceConnectorProxyRequest": { + "type": "structure", + "members": { + "VoiceConnectorId": { + "target": "com.amazonaws.chime#NonEmptyString128", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime Voice Connector ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#DeleteVoiceConnectorRequest": { + "type": "structure", + "members": { + "VoiceConnectorId": { + "target": "com.amazonaws.chime#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime Voice Connector ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#DeleteVoiceConnectorStreamingConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#DeleteVoiceConnectorStreamingConfigurationRequest" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Deletes the streaming configuration for the specified Amazon Chime Voice Connector.

                            ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/voice-connectors/{VoiceConnectorId}/streaming-configuration", + "code": 204 + } + } + }, + "com.amazonaws.chime#DeleteVoiceConnectorStreamingConfigurationRequest": { + "type": "structure", + "members": { + "VoiceConnectorId": { + "target": "com.amazonaws.chime#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime Voice Connector ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#DeleteVoiceConnectorTermination": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#DeleteVoiceConnectorTerminationRequest" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Deletes the termination settings for the specified Amazon Chime Voice Connector.

                            \n \n

                            If emergency calling is configured for the Amazon Chime Voice Connector, it must be deleted prior to deleting the termination settings.

                            \n
                            ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/voice-connectors/{VoiceConnectorId}/termination", + "code": 204 + } + } + }, + "com.amazonaws.chime#DeleteVoiceConnectorTerminationCredentials": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#DeleteVoiceConnectorTerminationCredentialsRequest" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Deletes the specified SIP credentials used by your equipment to authenticate during call termination.

                            ", + "smithy.api#http": { + "method": "POST", + "uri": "/voice-connectors/{VoiceConnectorId}/termination/credentials?operation=delete", + "code": 204 + } + } + }, + "com.amazonaws.chime#DeleteVoiceConnectorTerminationCredentialsRequest": { + "type": "structure", + "members": { + "VoiceConnectorId": { + "target": "com.amazonaws.chime#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime Voice Connector ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Usernames": { + "target": "com.amazonaws.chime#SensitiveStringList", + "traits": { + "smithy.api#documentation": "

                            The RFC2617 compliant username associated with the SIP credentials, in US-ASCII format.

                            ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#DeleteVoiceConnectorTerminationRequest": { + "type": "structure", + "members": { + "VoiceConnectorId": { + "target": "com.amazonaws.chime#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime Voice Connector ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#DescribeAppInstance": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#DescribeAppInstanceRequest" + }, + "output": { + "target": "com.amazonaws.chime#DescribeAppInstanceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Returns the full details of an AppInstance.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "identity-" + }, + "smithy.api#http": { + "method": "GET", + "uri": "/app-instances/{AppInstanceArn}", + "code": 200 + } + } + }, + "com.amazonaws.chime#DescribeAppInstanceAdmin": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#DescribeAppInstanceAdminRequest" + }, + "output": { + "target": "com.amazonaws.chime#DescribeAppInstanceAdminResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Returns the full details of an AppInstanceAdmin.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "identity-" + }, + "smithy.api#http": { + "method": "GET", + "uri": "/app-instances/{AppInstanceArn}/admins/{AppInstanceAdminArn}", + "code": 200 + } + } + }, + "com.amazonaws.chime#DescribeAppInstanceAdminRequest": { + "type": "structure", + "members": { + "AppInstanceAdminArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the app instance administrator.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "AppInstanceArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the app instance.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#DescribeAppInstanceAdminResponse": { + "type": "structure", + "members": { + "AppInstanceAdmin": { + "target": "com.amazonaws.chime#AppInstanceAdmin", + "traits": { + "smithy.api#documentation": "

                            The ARN and name of the app instance user, the ARN of the app instance, and the created and last-updated timestamps. All timestamps \n use epoch milliseconds.

                            " + } + } + } + }, + "com.amazonaws.chime#DescribeAppInstanceRequest": { + "type": "structure", + "members": { + "AppInstanceArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the app instance.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#DescribeAppInstanceResponse": { + "type": "structure", + "members": { + "AppInstance": { + "target": "com.amazonaws.chime#AppInstance", + "traits": { + "smithy.api#documentation": "

                            The ARN, metadata, created and last-updated timestamps, and the name of the app instance. All timestamps \n use epoch milliseconds.

                            " + } + } + } + }, + "com.amazonaws.chime#DescribeAppInstanceUser": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#DescribeAppInstanceUserRequest" + }, + "output": { + "target": "com.amazonaws.chime#DescribeAppInstanceUserResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Returns the full details of an AppInstanceUser.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "identity-" + }, + "smithy.api#http": { + "method": "GET", + "uri": "/app-instance-users/{AppInstanceUserArn}", + "code": 200 + } + } + }, + "com.amazonaws.chime#DescribeAppInstanceUserRequest": { + "type": "structure", + "members": { + "AppInstanceUserArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the app instance user.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#DescribeAppInstanceUserResponse": { + "type": "structure", + "members": { + "AppInstanceUser": { + "target": "com.amazonaws.chime#AppInstanceUser", + "traits": { + "smithy.api#documentation": "

                            The name of the app instance user.

                            " + } + } + } + }, + "com.amazonaws.chime#DescribeChannel": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#DescribeChannelRequest" + }, + "output": { + "target": "com.amazonaws.chime#DescribeChannelResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Returns the full details of a channel in an Amazon Chime app instance.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "messaging-" + }, + "smithy.api#http": { + "method": "GET", + "uri": "/channels/{ChannelArn}", + "code": 200 + } + } + }, + "com.amazonaws.chime#DescribeChannelBan": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#DescribeChannelBanRequest" + }, + "output": { + "target": "com.amazonaws.chime#DescribeChannelBanResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Returns the full details of a channel ban.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "messaging-" + }, + "smithy.api#http": { + "method": "GET", + "uri": "/channels/{ChannelArn}/bans/{MemberArn}", + "code": 200 + } + } + }, + "com.amazonaws.chime#DescribeChannelBanRequest": { + "type": "structure", + "members": { + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the channel from which the user is banned.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "MemberArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the member being banned.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#DescribeChannelBanResponse": { + "type": "structure", + "members": { + "ChannelBan": { + "target": "com.amazonaws.chime#ChannelBan", + "traits": { + "smithy.api#documentation": "

                            The the details of the ban.

                            " + } + } + } + }, + "com.amazonaws.chime#DescribeChannelMembership": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#DescribeChannelMembershipRequest" + }, + "output": { + "target": "com.amazonaws.chime#DescribeChannelMembershipResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Returns the full details of a user's channel membership.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "messaging-" + }, + "smithy.api#http": { + "method": "GET", + "uri": "/channels/{ChannelArn}/memberships/{MemberArn}", + "code": 200 + } + } + }, + "com.amazonaws.chime#DescribeChannelMembershipForAppInstanceUser": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#DescribeChannelMembershipForAppInstanceUserRequest" + }, + "output": { + "target": "com.amazonaws.chime#DescribeChannelMembershipForAppInstanceUserResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Returns the details of a channel based on the membership of the AppInstanceUser specified.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "messaging-" + }, + "smithy.api#http": { + "method": "GET", + "uri": "/channels/{ChannelArn}?scope=app-instance-user-membership", + "code": 200 + } + } + }, + "com.amazonaws.chime#DescribeChannelMembershipForAppInstanceUserRequest": { + "type": "structure", + "members": { + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the channel to which the user belongs.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "AppInstanceUserArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the user in a channel.

                            ", + "smithy.api#httpQuery": "app-instance-user-arn", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#DescribeChannelMembershipForAppInstanceUserResponse": { + "type": "structure", + "members": { + "ChannelMembership": { + "target": "com.amazonaws.chime#ChannelMembershipForAppInstanceUserSummary", + "traits": { + "smithy.api#documentation": "

                            The channel to which a user belongs.

                            " + } + } + } + }, + "com.amazonaws.chime#DescribeChannelMembershipRequest": { + "type": "structure", + "members": { + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the channel.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "MemberArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the member.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#DescribeChannelMembershipResponse": { + "type": "structure", + "members": { + "ChannelMembership": { + "target": "com.amazonaws.chime#ChannelMembership", + "traits": { + "smithy.api#documentation": "

                            The details of the membership.

                            " + } + } + } + }, + "com.amazonaws.chime#DescribeChannelModeratedByAppInstanceUser": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#DescribeChannelModeratedByAppInstanceUserRequest" + }, + "output": { + "target": "com.amazonaws.chime#DescribeChannelModeratedByAppInstanceUserResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Returns the full details of a channel moderated by the specified AppInstanceUser.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "messaging-" + }, + "smithy.api#http": { + "method": "GET", + "uri": "/channels/{ChannelArn}?scope=app-instance-user-moderated-channel", + "code": 200 + } + } + }, + "com.amazonaws.chime#DescribeChannelModeratedByAppInstanceUserRequest": { + "type": "structure", + "members": { + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the moderated channel.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "AppInstanceUserArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the app instance user in the moderated channel.

                            ", + "smithy.api#httpQuery": "app-instance-user-arn", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#DescribeChannelModeratedByAppInstanceUserResponse": { + "type": "structure", + "members": { + "Channel": { + "target": "com.amazonaws.chime#ChannelModeratedByAppInstanceUserSummary", + "traits": { + "smithy.api#documentation": "

                            The moderated channel.

                            " + } + } + } + }, + "com.amazonaws.chime#DescribeChannelModerator": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#DescribeChannelModeratorRequest" + }, + "output": { + "target": "com.amazonaws.chime#DescribeChannelModeratorResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Returns the full details of a single ChannelModerator.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "messaging-" + }, + "smithy.api#http": { + "method": "GET", + "uri": "/channels/{ChannelArn}/moderators/{ChannelModeratorArn}", + "code": 200 + } + } + }, + "com.amazonaws.chime#DescribeChannelModeratorRequest": { + "type": "structure", + "members": { + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the channel.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "ChannelModeratorArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the channel moderator.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#DescribeChannelModeratorResponse": { + "type": "structure", + "members": { + "ChannelModerator": { + "target": "com.amazonaws.chime#ChannelModerator", + "traits": { + "smithy.api#documentation": "

                            The details of the channel moderator.

                            " + } + } + } + }, + "com.amazonaws.chime#DescribeChannelRequest": { + "type": "structure", + "members": { + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the channel.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#DescribeChannelResponse": { + "type": "structure", + "members": { + "Channel": { + "target": "com.amazonaws.chime#Channel", + "traits": { + "smithy.api#documentation": "

                            The channel details.

                            " + } + } + } + }, + "com.amazonaws.chime#DisassociatePhoneNumberFromUser": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#DisassociatePhoneNumberFromUserRequest" + }, + "output": { + "target": "com.amazonaws.chime#DisassociatePhoneNumberFromUserResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Disassociates the primary provisioned phone number from the specified Amazon Chime\n user.

                            ", + "smithy.api#http": { + "method": "POST", + "uri": "/accounts/{AccountId}/users/{UserId}?operation=disassociate-phone-number", + "code": 200 + } + } + }, + "com.amazonaws.chime#DisassociatePhoneNumberFromUserRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.chime#String", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "UserId": { + "target": "com.amazonaws.chime#String", + "traits": { + "smithy.api#documentation": "

                            The user ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#DisassociatePhoneNumberFromUserResponse": { + "type": "structure", + "members": {} + }, + "com.amazonaws.chime#DisassociatePhoneNumbersFromVoiceConnector": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#DisassociatePhoneNumbersFromVoiceConnectorRequest" + }, + "output": { + "target": "com.amazonaws.chime#DisassociatePhoneNumbersFromVoiceConnectorResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Disassociates the specified phone numbers from the specified Amazon Chime Voice Connector.

                            ", + "smithy.api#http": { + "method": "POST", + "uri": "/voice-connectors/{VoiceConnectorId}?operation=disassociate-phone-numbers", + "code": 200 + } + } + }, + "com.amazonaws.chime#DisassociatePhoneNumbersFromVoiceConnectorGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#DisassociatePhoneNumbersFromVoiceConnectorGroupRequest" + }, + "output": { + "target": "com.amazonaws.chime#DisassociatePhoneNumbersFromVoiceConnectorGroupResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Disassociates the specified phone numbers from the specified Amazon Chime Voice Connector group.

                            ", + "smithy.api#http": { + "method": "POST", + "uri": "/voice-connector-groups/{VoiceConnectorGroupId}?operation=disassociate-phone-numbers", + "code": 200 + } + } + }, + "com.amazonaws.chime#DisassociatePhoneNumbersFromVoiceConnectorGroupRequest": { + "type": "structure", + "members": { + "VoiceConnectorGroupId": { + "target": "com.amazonaws.chime#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime Voice Connector group ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "E164PhoneNumbers": { + "target": "com.amazonaws.chime#E164PhoneNumberList", + "traits": { + "smithy.api#documentation": "

                            List of phone numbers, in E.164 format.

                            ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#DisassociatePhoneNumbersFromVoiceConnectorGroupResponse": { + "type": "structure", + "members": { + "PhoneNumberErrors": { + "target": "com.amazonaws.chime#PhoneNumberErrorList", + "traits": { + "smithy.api#documentation": "

                            If the action fails for one or more of the phone numbers in the request, a list of the phone numbers is returned, along with error codes and error messages.

                            " + } + } + } + }, + "com.amazonaws.chime#DisassociatePhoneNumbersFromVoiceConnectorRequest": { + "type": "structure", + "members": { + "VoiceConnectorId": { + "target": "com.amazonaws.chime#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime Voice Connector ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "E164PhoneNumbers": { + "target": "com.amazonaws.chime#E164PhoneNumberList", + "traits": { + "smithy.api#documentation": "

                            List of phone numbers, in E.164 format.

                            ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#DisassociatePhoneNumbersFromVoiceConnectorResponse": { + "type": "structure", + "members": { + "PhoneNumberErrors": { + "target": "com.amazonaws.chime#PhoneNumberErrorList", + "traits": { + "smithy.api#documentation": "

                            If the action fails for one or more of the phone numbers in the request, a list of the phone numbers is returned, along with error codes and error messages.

                            " + } + } + } + }, + "com.amazonaws.chime#DisassociateSigninDelegateGroupsFromAccount": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#DisassociateSigninDelegateGroupsFromAccountRequest" + }, + "output": { + "target": "com.amazonaws.chime#DisassociateSigninDelegateGroupsFromAccountResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Disassociates the specified sign-in delegate groups from the specified Amazon Chime account.

                            ", + "smithy.api#http": { + "method": "POST", + "uri": "/accounts/{AccountId}?operation=disassociate-signin-delegate-groups", + "code": 200 + } + } + }, + "com.amazonaws.chime#DisassociateSigninDelegateGroupsFromAccountRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.chime#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "GroupNames": { + "target": "com.amazonaws.chime#NonEmptyStringList", + "traits": { + "smithy.api#documentation": "

                            The sign-in delegate group names.

                            ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#DisassociateSigninDelegateGroupsFromAccountResponse": { + "type": "structure", + "members": {} + }, + "com.amazonaws.chime#E164PhoneNumber": { + "type": "string", + "traits": { + "smithy.api#pattern": "^\\+?[1-9]\\d{1,14}$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.chime#E164PhoneNumberList": { + "type": "list", + "member": { + "target": "com.amazonaws.chime#E164PhoneNumber" + } + }, + "com.amazonaws.chime#EmailAddress": { + "type": "string", + "traits": { + "smithy.api#pattern": ".+@.+\\..+", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.chime#EmailStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "NotSent", + "name": "NotSent" + }, + { + "value": "Sent", + "name": "Sent" + }, + { + "value": "Failed", + "name": "Failed" + } + ] + } + }, + "com.amazonaws.chime#EmergencyCallingConfiguration": { + "type": "structure", + "members": { + "DNIS": { + "target": "com.amazonaws.chime#DNISEmergencyCallingConfigurationList", + "traits": { + "smithy.api#documentation": "

                            The Dialed Number Identification Service (DNIS) emergency calling configuration details.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The emergency calling configuration details associated with an Amazon Chime Voice Connector.

                            " + } + }, + "com.amazonaws.chime#ErrorCode": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "BadRequest", + "name": "BadRequest" + }, + { + "value": "Conflict", + "name": "Conflict" + }, { "value": "Forbidden", "name": "Forbidden" @@ -4149,126 +6734,886 @@ "value": "PhoneNumberAssociationsExist", "name": "PhoneNumberAssociationsExist" } - ] + ] + } + }, + "com.amazonaws.chime#EventsConfiguration": { + "type": "structure", + "members": { + "BotId": { + "target": "com.amazonaws.chime#String", + "traits": { + "smithy.api#documentation": "

                            The bot ID.

                            " + } + }, + "OutboundEventsHTTPSEndpoint": { + "target": "com.amazonaws.chime#SensitiveString", + "traits": { + "smithy.api#documentation": "

                            HTTPS endpoint that allows a bot to receive outgoing events.

                            " + } + }, + "LambdaFunctionArn": { + "target": "com.amazonaws.chime#SensitiveString", + "traits": { + "smithy.api#documentation": "

                            Lambda function ARN that allows a bot to receive outgoing events.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The configuration that allows a bot to receive outgoing events. Can be either an HTTPS endpoint or a Lambda function ARN.

                            " + } + }, + "com.amazonaws.chime#ExternalMeetingIdType": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 2, + "max": 64 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.chime#ExternalUserIdType": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 2, + "max": 64 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.chime#ForbiddenException": { + "type": "structure", + "members": { + "Code": { + "target": "com.amazonaws.chime#ErrorCode" + }, + "Message": { + "target": "com.amazonaws.chime#String" + } + }, + "traits": { + "smithy.api#documentation": "

                            The client is permanently forbidden from making the request.

                            ", + "smithy.api#error": "client", + "smithy.api#httpError": 403 + } + }, + "com.amazonaws.chime#FunctionArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 10000 + }, + "smithy.api#pattern": "arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.chime#GeoMatchLevel": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "Country", + "name": "Country" + }, + { + "value": "AreaCode", + "name": "AreaCode" + } + ] + } + }, + "com.amazonaws.chime#GeoMatchParams": { + "type": "structure", + "members": { + "Country": { + "target": "com.amazonaws.chime#Country", + "traits": { + "smithy.api#documentation": "

                            The country.

                            ", + "smithy.api#required": {} + } + }, + "AreaCode": { + "target": "com.amazonaws.chime#AreaCode", + "traits": { + "smithy.api#documentation": "

                            The area code.

                            ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The country and area code for a proxy phone number in a proxy phone session.

                            " + } + }, + "com.amazonaws.chime#GetAccount": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#GetAccountRequest" + }, + "output": { + "target": "com.amazonaws.chime#GetAccountResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Retrieves details for the specified Amazon Chime account, such as account type and\n supported licenses.

                            ", + "smithy.api#http": { + "method": "GET", + "uri": "/accounts/{AccountId}", + "code": 200 + } + } + }, + "com.amazonaws.chime#GetAccountRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.chime#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#GetAccountResponse": { + "type": "structure", + "members": { + "Account": { + "target": "com.amazonaws.chime#Account" + } + } + }, + "com.amazonaws.chime#GetAccountSettings": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#GetAccountSettingsRequest" + }, + "output": { + "target": "com.amazonaws.chime#GetAccountSettingsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Retrieves account settings for the specified Amazon Chime account ID, such as remote control and dial\n out settings. For more information about these settings, see Use the Policies Page in the\n Amazon\n Chime Administration Guide.

                            ", + "smithy.api#http": { + "method": "GET", + "uri": "/accounts/{AccountId}/settings", + "code": 200 + } + } + }, + "com.amazonaws.chime#GetAccountSettingsRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.chime#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#GetAccountSettingsResponse": { + "type": "structure", + "members": { + "AccountSettings": { + "target": "com.amazonaws.chime#AccountSettings", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime account settings.

                            " + } + } + } + }, + "com.amazonaws.chime#GetAppInstanceRetentionSettings": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#GetAppInstanceRetentionSettingsRequest" + }, + "output": { + "target": "com.amazonaws.chime#GetAppInstanceRetentionSettingsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Gets the retention settings for an app instance.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "identity-" + }, + "smithy.api#http": { + "method": "GET", + "uri": "/app-instances/{AppInstanceArn}/retention-settings", + "code": 200 + } + } + }, + "com.amazonaws.chime#GetAppInstanceRetentionSettingsRequest": { + "type": "structure", + "members": { + "AppInstanceArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the app instance.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#GetAppInstanceRetentionSettingsResponse": { + "type": "structure", + "members": { + "AppInstanceRetentionSettings": { + "target": "com.amazonaws.chime#AppInstanceRetentionSettings", + "traits": { + "smithy.api#documentation": "

                            The retention settings for the app instance.

                            " + } + }, + "InitiateDeletionTimestamp": { + "target": "com.amazonaws.chime#Timestamp", + "traits": { + "smithy.api#documentation": "

                            The timestamp representing the time at which the specified items are retained, in Epoch Seconds.

                            " + } + } + } + }, + "com.amazonaws.chime#GetAppInstanceStreamingConfigurations": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#GetAppInstanceStreamingConfigurationsRequest" + }, + "output": { + "target": "com.amazonaws.chime#GetAppInstanceStreamingConfigurationsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Gets the streaming settings for an app instance.

                            ", + "smithy.api#http": { + "method": "GET", + "uri": "/app-instances/{AppInstanceArn}/streaming-configurations", + "code": 200 + } + } + }, + "com.amazonaws.chime#GetAppInstanceStreamingConfigurationsRequest": { + "type": "structure", + "members": { + "AppInstanceArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the app instance.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#GetAppInstanceStreamingConfigurationsResponse": { + "type": "structure", + "members": { + "AppInstanceStreamingConfigurations": { + "target": "com.amazonaws.chime#AppInstanceStreamingConfigurationList", + "traits": { + "smithy.api#documentation": "

                            The streaming settings.

                            " + } + } + } + }, + "com.amazonaws.chime#GetAttendee": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#GetAttendeeRequest" + }, + "output": { + "target": "com.amazonaws.chime#GetAttendeeResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Gets the Amazon Chime SDK attendee details for a specified meeting ID and attendee ID. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide.

                            ", + "smithy.api#http": { + "method": "GET", + "uri": "/meetings/{MeetingId}/attendees/{AttendeeId}", + "code": 200 + } + } + }, + "com.amazonaws.chime#GetAttendeeRequest": { + "type": "structure", + "members": { + "MeetingId": { + "target": "com.amazonaws.chime#GuidString", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime SDK meeting ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "AttendeeId": { + "target": "com.amazonaws.chime#GuidString", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime SDK attendee ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#GetAttendeeResponse": { + "type": "structure", + "members": { + "Attendee": { + "target": "com.amazonaws.chime#Attendee", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime SDK attendee information.

                            " + } + } + } + }, + "com.amazonaws.chime#GetBot": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#GetBotRequest" + }, + "output": { + "target": "com.amazonaws.chime#GetBotResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Retrieves details for the specified bot, such as bot email address, bot type, status, and display name.

                            ", + "smithy.api#http": { + "method": "GET", + "uri": "/accounts/{AccountId}/bots/{BotId}", + "code": 200 + } + } + }, + "com.amazonaws.chime#GetBotRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.chime#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "BotId": { + "target": "com.amazonaws.chime#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                            The bot ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#GetBotResponse": { + "type": "structure", + "members": { + "Bot": { + "target": "com.amazonaws.chime#Bot", + "traits": { + "smithy.api#documentation": "

                            The chat bot details.

                            " + } + } + } + }, + "com.amazonaws.chime#GetChannelMessage": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#GetChannelMessageRequest" + }, + "output": { + "target": "com.amazonaws.chime#GetChannelMessageResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Gets the full details of a channel message.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "messaging-" + }, + "smithy.api#http": { + "method": "GET", + "uri": "/channels/{ChannelArn}/messages/{MessageId}", + "code": 200 + } + } + }, + "com.amazonaws.chime#GetChannelMessageRequest": { + "type": "structure", + "members": { + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the channel.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "MessageId": { + "target": "com.amazonaws.chime#MessageId", + "traits": { + "smithy.api#documentation": "

                            The ID of the message.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } } }, - "com.amazonaws.chime#EventsConfiguration": { + "com.amazonaws.chime#GetChannelMessageResponse": { "type": "structure", "members": { - "BotId": { - "target": "com.amazonaws.chime#String", + "ChannelMessage": { + "target": "com.amazonaws.chime#ChannelMessage", "traits": { - "smithy.api#documentation": "

                            The bot ID.

                            " + "smithy.api#documentation": "

                            The details of and content in the message.

                            " } + } + } + }, + "com.amazonaws.chime#GetEventsConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#GetEventsConfigurationRequest" + }, + "output": { + "target": "com.amazonaws.chime#GetEventsConfigurationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" }, - "OutboundEventsHTTPSEndpoint": { - "target": "com.amazonaws.chime#SensitiveString", + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ResourceLimitExceededException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Gets details for an events configuration that allows a bot to receive outgoing events, such as an HTTPS endpoint or Lambda function ARN.

                            ", + "smithy.api#http": { + "method": "GET", + "uri": "/accounts/{AccountId}/bots/{BotId}/events-configuration", + "code": 200 + } + } + }, + "com.amazonaws.chime#GetEventsConfigurationRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.chime#NonEmptyString", "traits": { - "smithy.api#documentation": "

                            HTTPS endpoint that allows a bot to receive outgoing events.

                            " + "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, - "LambdaFunctionArn": { - "target": "com.amazonaws.chime#SensitiveString", + "BotId": { + "target": "com.amazonaws.chime#NonEmptyString", "traits": { - "smithy.api#documentation": "

                            Lambda function ARN that allows a bot to receive outgoing events.

                            " + "smithy.api#documentation": "

                            The bot ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#GetEventsConfigurationResponse": { + "type": "structure", + "members": { + "EventsConfiguration": { + "target": "com.amazonaws.chime#EventsConfiguration", + "traits": { + "smithy.api#documentation": "

                            The events configuration details.

                            " } } + } + }, + "com.amazonaws.chime#GetGlobalSettings": { + "type": "operation", + "output": { + "target": "com.amazonaws.chime#GetGlobalSettingsResponse" }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], "traits": { - "smithy.api#documentation": "

                            The configuration that allows a bot to receive outgoing events. Can be either an HTTPS endpoint or a Lambda function ARN.

                            " + "smithy.api#documentation": "

                            Retrieves global settings for the administrator's AWS account, such as Amazon\n Chime Business Calling and Amazon Chime Voice Connector settings.

                            ", + "smithy.api#http": { + "method": "GET", + "uri": "/settings", + "code": 200 + } } }, - "com.amazonaws.chime#ExternalMeetingIdType": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 2, - "max": 64 + "com.amazonaws.chime#GetGlobalSettingsResponse": { + "type": "structure", + "members": { + "BusinessCalling": { + "target": "com.amazonaws.chime#BusinessCallingSettings", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime Business Calling settings.

                            " + } }, - "smithy.api#sensitive": {} + "VoiceConnector": { + "target": "com.amazonaws.chime#VoiceConnectorSettings", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime Voice Connector settings.

                            " + } + } } }, - "com.amazonaws.chime#ExternalUserIdType": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 2, - "max": 64 + "com.amazonaws.chime#GetMeeting": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#GetMeetingRequest" + }, + "output": { + "target": "com.amazonaws.chime#GetMeetingResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" }, - "smithy.api#sensitive": {} + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Gets the Amazon Chime SDK meeting details for the specified meeting ID. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide.

                            ", + "smithy.api#http": { + "method": "GET", + "uri": "/meetings/{MeetingId}", + "code": 200 + } } }, - "com.amazonaws.chime#ForbiddenException": { + "com.amazonaws.chime#GetMeetingRequest": { "type": "structure", "members": { - "Code": { - "target": "com.amazonaws.chime#ErrorCode" + "MeetingId": { + "target": "com.amazonaws.chime#GuidString", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime SDK meeting ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#GetMeetingResponse": { + "type": "structure", + "members": { + "Meeting": { + "target": "com.amazonaws.chime#Meeting", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime SDK meeting information.

                            " + } + } + } + }, + "com.amazonaws.chime#GetMessagingSessionEndpoint": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#GetMessagingSessionEndpointRequest" + }, + "output": { + "target": "com.amazonaws.chime#GetMessagingSessionEndpointResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" }, - "Message": { - "target": "com.amazonaws.chime#String" + { + "target": "com.amazonaws.chime#UnauthorizedClientException" } - }, - "traits": { - "smithy.api#documentation": "

                            The client is permanently forbidden from making the request. For example, when a user\n tries to create an account from an unsupported Region.

                            ", - "smithy.api#error": "client", - "smithy.api#httpError": 403 - } - }, - "com.amazonaws.chime#FunctionArn": { - "type": "string", + ], "traits": { - "smithy.api#length": { - "min": 0, - "max": 10000 + "smithy.api#documentation": "

                            The endpoint for the messaging session.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "messaging-" }, - "smithy.api#pattern": "arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?", - "smithy.api#sensitive": {} + "smithy.api#http": { + "method": "GET", + "uri": "/endpoints/messaging-session", + "code": 200 + } } }, - "com.amazonaws.chime#GeoMatchLevel": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "Country", - "name": "Country" - }, - { - "value": "AreaCode", - "name": "AreaCode" - } - ] - } + "com.amazonaws.chime#GetMessagingSessionEndpointRequest": { + "type": "structure", + "members": {} }, - "com.amazonaws.chime#GeoMatchParams": { + "com.amazonaws.chime#GetMessagingSessionEndpointResponse": { "type": "structure", "members": { - "Country": { - "target": "com.amazonaws.chime#Country", - "traits": { - "smithy.api#documentation": "

                            The country.

                            ", - "smithy.api#required": {} - } - }, - "AreaCode": { - "target": "com.amazonaws.chime#AreaCode", + "Endpoint": { + "target": "com.amazonaws.chime#MessagingSessionEndpoint", "traits": { - "smithy.api#documentation": "

                            The area code.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The endpoint returned in the response.

                            " } } + } + }, + "com.amazonaws.chime#GetPhoneNumber": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#GetPhoneNumberRequest" + }, + "output": { + "target": "com.amazonaws.chime#GetPhoneNumberResponse" }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], "traits": { - "smithy.api#documentation": "

                            The country and area code for a proxy phone number in a proxy phone session.

                            " + "smithy.api#documentation": "

                            Retrieves details for the specified phone number ID, such as associations,\n capabilities, and product type.

                            ", + "smithy.api#http": { + "method": "GET", + "uri": "/phone-numbers/{PhoneNumberId}", + "code": 200 + } } }, - "com.amazonaws.chime#GetAccount": { + "com.amazonaws.chime#GetPhoneNumberOrder": { "type": "operation", "input": { - "target": "com.amazonaws.chime#GetAccountRequest" + "target": "com.amazonaws.chime#GetPhoneNumberOrderRequest" }, "output": { - "target": "com.amazonaws.chime#GetAccountResponse" + "target": "com.amazonaws.chime#GetPhoneNumberOrderResponse" }, "errors": [ { @@ -4294,42 +7639,120 @@ } ], "traits": { - "smithy.api#documentation": "

                            Retrieves details for the specified Amazon Chime account, such as account type and\n supported licenses.

                            ", + "smithy.api#documentation": "

                            Retrieves details for the specified phone number order, such as order creation\n timestamp, phone numbers in E.164 format, product type, and order status.

                            ", "smithy.api#http": { "method": "GET", - "uri": "/accounts/{AccountId}", + "uri": "/phone-number-orders/{PhoneNumberOrderId}", "code": 200 } } }, - "com.amazonaws.chime#GetAccountRequest": { + "com.amazonaws.chime#GetPhoneNumberOrderRequest": { "type": "structure", "members": { - "AccountId": { - "target": "com.amazonaws.chime#NonEmptyString", + "PhoneNumberOrderId": { + "target": "com.amazonaws.chime#GuidString", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", + "smithy.api#documentation": "

                            The ID for the phone number order.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } } }, - "com.amazonaws.chime#GetAccountResponse": { + "com.amazonaws.chime#GetPhoneNumberOrderResponse": { "type": "structure", "members": { - "Account": { - "target": "com.amazonaws.chime#Account" + "PhoneNumberOrder": { + "target": "com.amazonaws.chime#PhoneNumberOrder", + "traits": { + "smithy.api#documentation": "

                            The phone number order details.

                            " + } } } }, - "com.amazonaws.chime#GetAccountSettings": { + "com.amazonaws.chime#GetPhoneNumberRequest": { + "type": "structure", + "members": { + "PhoneNumberId": { + "target": "com.amazonaws.chime#String", + "traits": { + "smithy.api#documentation": "

                            The phone number ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#GetPhoneNumberResponse": { + "type": "structure", + "members": { + "PhoneNumber": { + "target": "com.amazonaws.chime#PhoneNumber", + "traits": { + "smithy.api#documentation": "

                            The phone number details.

                            " + } + } + } + }, + "com.amazonaws.chime#GetPhoneNumberSettings": { + "type": "operation", + "output": { + "target": "com.amazonaws.chime#GetPhoneNumberSettingsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Retrieves the phone number settings for the administrator's AWS account, such as the default outbound calling name.

                            ", + "smithy.api#http": { + "method": "GET", + "uri": "/settings/phone-number", + "code": 200 + } + } + }, + "com.amazonaws.chime#GetPhoneNumberSettingsResponse": { + "type": "structure", + "members": { + "CallingName": { + "target": "com.amazonaws.chime#CallingName", + "traits": { + "smithy.api#documentation": "

                            The default outbound calling name for the account.

                            " + } + }, + "CallingNameUpdatedTimestamp": { + "target": "com.amazonaws.chime#Iso8601Timestamp", + "traits": { + "smithy.api#documentation": "

                            The updated outbound calling name timestamp, in ISO 8601 format.

                            " + } + } + } + }, + "com.amazonaws.chime#GetProxySession": { "type": "operation", "input": { - "target": "com.amazonaws.chime#GetAccountSettingsRequest" + "target": "com.amazonaws.chime#GetProxySessionRequest" }, "output": { - "target": "com.amazonaws.chime#GetAccountSettingsResponse" + "target": "com.amazonaws.chime#GetProxySessionResponse" }, "errors": [ { @@ -4355,45 +7778,53 @@ } ], "traits": { - "smithy.api#documentation": "

                            Retrieves account settings for the specified Amazon Chime account ID, such as remote control and dial\n out settings. For more information about these settings, see Use the Policies Page in the\n Amazon\n Chime Administration Guide.

                            ", + "smithy.api#documentation": "

                            Gets the specified proxy session details for the specified Amazon Chime Voice Connector.

                            ", "smithy.api#http": { "method": "GET", - "uri": "/accounts/{AccountId}/settings", + "uri": "/voice-connectors/{VoiceConnectorId}/proxy-sessions/{ProxySessionId}", "code": 200 } } }, - "com.amazonaws.chime#GetAccountSettingsRequest": { + "com.amazonaws.chime#GetProxySessionRequest": { "type": "structure", "members": { - "AccountId": { - "target": "com.amazonaws.chime#NonEmptyString", + "VoiceConnectorId": { + "target": "com.amazonaws.chime#NonEmptyString128", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", + "smithy.api#documentation": "

                            The Amazon Chime voice connector ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "ProxySessionId": { + "target": "com.amazonaws.chime#NonEmptyString128", + "traits": { + "smithy.api#documentation": "

                            The proxy session ID.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } } }, - "com.amazonaws.chime#GetAccountSettingsResponse": { + "com.amazonaws.chime#GetProxySessionResponse": { "type": "structure", "members": { - "AccountSettings": { - "target": "com.amazonaws.chime#AccountSettings", + "ProxySession": { + "target": "com.amazonaws.chime#ProxySession", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime account settings.

                            " + "smithy.api#documentation": "

                            The proxy session details.

                            " } } } }, - "com.amazonaws.chime#GetAttendee": { + "com.amazonaws.chime#GetRetentionSettings": { "type": "operation", "input": { - "target": "com.amazonaws.chime#GetAttendeeRequest" + "target": "com.amazonaws.chime#GetRetentionSettingsRequest" }, "output": { - "target": "com.amazonaws.chime#GetAttendeeResponse" + "target": "com.amazonaws.chime#GetRetentionSettingsResponse" }, "errors": [ { @@ -4419,53 +7850,51 @@ } ], "traits": { - "smithy.api#documentation": "

                            Gets the Amazon Chime SDK attendee details for a specified meeting ID and attendee ID. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide.

                            ", + "smithy.api#documentation": "

                            Gets the retention settings for the specified Amazon Chime Enterprise account. For more information about retention settings, see Managing Chat Retention Policies in the Amazon Chime Administration Guide.

                            ", "smithy.api#http": { "method": "GET", - "uri": "/meetings/{MeetingId}/attendees/{AttendeeId}", + "uri": "/accounts/{AccountId}/retention-settings", "code": 200 } } }, - "com.amazonaws.chime#GetAttendeeRequest": { + "com.amazonaws.chime#GetRetentionSettingsRequest": { "type": "structure", "members": { - "MeetingId": { - "target": "com.amazonaws.chime#GuidString", - "traits": { - "smithy.api#documentation": "

                            The Amazon Chime SDK meeting ID.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "AttendeeId": { - "target": "com.amazonaws.chime#GuidString", + "AccountId": { + "target": "com.amazonaws.chime#NonEmptyString", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime SDK attendee ID.

                            ", + "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } } }, - "com.amazonaws.chime#GetAttendeeResponse": { + "com.amazonaws.chime#GetRetentionSettingsResponse": { "type": "structure", "members": { - "Attendee": { - "target": "com.amazonaws.chime#Attendee", + "RetentionSettings": { + "target": "com.amazonaws.chime#RetentionSettings", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime SDK attendee information.

                            " + "smithy.api#documentation": "

                            The retention settings.

                            " + } + }, + "InitiateDeletionTimestamp": { + "target": "com.amazonaws.chime#Iso8601Timestamp", + "traits": { + "smithy.api#documentation": "

                            The timestamp representing the time at which the specified items are permanently deleted, in ISO 8601 format.

                            " } } } }, - "com.amazonaws.chime#GetBot": { + "com.amazonaws.chime#GetRoom": { "type": "operation", "input": { - "target": "com.amazonaws.chime#GetBotRequest" + "target": "com.amazonaws.chime#GetRoomRequest" }, "output": { - "target": "com.amazonaws.chime#GetBotResponse" + "target": "com.amazonaws.chime#GetRoomResponse" }, "errors": [ { @@ -4491,15 +7920,15 @@ } ], "traits": { - "smithy.api#documentation": "

                            Retrieves details for the specified bot, such as bot email address, bot type, status, and display name.

                            ", + "smithy.api#documentation": "

                            Retrieves room details, such as the room name, for a room in an Amazon Chime Enterprise account.

                            ", "smithy.api#http": { "method": "GET", - "uri": "/accounts/{AccountId}/bots/{BotId}", + "uri": "/accounts/{AccountId}/rooms/{RoomId}", "code": 200 } } }, - "com.amazonaws.chime#GetBotRequest": { + "com.amazonaws.chime#GetRoomRequest": { "type": "structure", "members": { "AccountId": { @@ -4510,34 +7939,34 @@ "smithy.api#required": {} } }, - "BotId": { + "RoomId": { "target": "com.amazonaws.chime#NonEmptyString", "traits": { - "smithy.api#documentation": "

                            The bot ID.

                            ", + "smithy.api#documentation": "

                            The room ID.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } } }, - "com.amazonaws.chime#GetBotResponse": { + "com.amazonaws.chime#GetRoomResponse": { "type": "structure", "members": { - "Bot": { - "target": "com.amazonaws.chime#Bot", + "Room": { + "target": "com.amazonaws.chime#Room", "traits": { - "smithy.api#documentation": "

                            The chat bot details.

                            " + "smithy.api#documentation": "

                            The room details.

                            " } } } }, - "com.amazonaws.chime#GetEventsConfiguration": { + "com.amazonaws.chime#GetSipMediaApplication": { "type": "operation", "input": { - "target": "com.amazonaws.chime#GetEventsConfigurationRequest" + "target": "com.amazonaws.chime#GetSipMediaApplicationRequest" }, "output": { - "target": "com.amazonaws.chime#GetEventsConfigurationResponse" + "target": "com.amazonaws.chime#GetSipMediaApplicationResponse" }, "errors": [ { @@ -4549,64 +7978,35 @@ { "target": "com.amazonaws.chime#NotFoundException" }, - { - "target": "com.amazonaws.chime#ResourceLimitExceededException" - }, { "target": "com.amazonaws.chime#ServiceFailureException" }, { "target": "com.amazonaws.chime#ServiceUnavailableException" }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, { "target": "com.amazonaws.chime#UnauthorizedClientException" } ], "traits": { - "smithy.api#documentation": "

                            Gets details for an events configuration that allows a bot to receive outgoing events, such as an HTTPS endpoint or Lambda function ARN.

                            ", + "smithy.api#documentation": "

                            Retrieves the information for a SIP media application, including name, AWS Region, and\n endpoints.

                            ", "smithy.api#http": { "method": "GET", - "uri": "/accounts/{AccountId}/bots/{BotId}/events-configuration", + "uri": "/sip-media-applications/{SipMediaApplicationId}", "code": 200 } } }, - "com.amazonaws.chime#GetEventsConfigurationRequest": { - "type": "structure", - "members": { - "AccountId": { - "target": "com.amazonaws.chime#NonEmptyString", - "traits": { - "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "BotId": { - "target": "com.amazonaws.chime#NonEmptyString", - "traits": { - "smithy.api#documentation": "

                            The bot ID.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - } - } - }, - "com.amazonaws.chime#GetEventsConfigurationResponse": { - "type": "structure", - "members": { - "EventsConfiguration": { - "target": "com.amazonaws.chime#EventsConfiguration", - "traits": { - "smithy.api#documentation": "

                            The events configuration details.

                            " - } - } - } - }, - "com.amazonaws.chime#GetGlobalSettings": { + "com.amazonaws.chime#GetSipMediaApplicationLoggingConfiguration": { "type": "operation", + "input": { + "target": "com.amazonaws.chime#GetSipMediaApplicationLoggingConfigurationRequest" + }, "output": { - "target": "com.amazonaws.chime#GetGlobalSettingsResponse" + "target": "com.amazonaws.chime#GetSipMediaApplicationLoggingConfigurationResponse" }, "errors": [ { @@ -4615,6 +8015,9 @@ { "target": "com.amazonaws.chime#ForbiddenException" }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, { "target": "com.amazonaws.chime#ServiceFailureException" }, @@ -4629,38 +8032,69 @@ } ], "traits": { - "smithy.api#documentation": "

                            Retrieves global settings for the administrator's AWS account, such as Amazon\n Chime Business Calling and Amazon Chime Voice Connector settings.

                            ", + "smithy.api#documentation": "

                            Returns the logging configuration for the specified SIP media application.

                            ", "smithy.api#http": { "method": "GET", - "uri": "/settings", + "uri": "/sip-media-applications/{SipMediaApplicationId}/logging-configuration", "code": 200 } } }, - "com.amazonaws.chime#GetGlobalSettingsResponse": { + "com.amazonaws.chime#GetSipMediaApplicationLoggingConfigurationRequest": { "type": "structure", "members": { - "BusinessCalling": { - "target": "com.amazonaws.chime#BusinessCallingSettings", + "SipMediaApplicationId": { + "target": "com.amazonaws.chime#NonEmptyString", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime Business Calling settings.

                            " + "smithy.api#documentation": "

                            The ID of the SIP media application.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } - }, - "VoiceConnector": { - "target": "com.amazonaws.chime#VoiceConnectorSettings", + } + } + }, + "com.amazonaws.chime#GetSipMediaApplicationLoggingConfigurationResponse": { + "type": "structure", + "members": { + "SipMediaApplicationLoggingConfiguration": { + "target": "com.amazonaws.chime#SipMediaApplicationLoggingConfiguration", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime Voice Connector settings.

                            " + "smithy.api#documentation": "

                            The actual logging configuration.

                            " } } } }, - "com.amazonaws.chime#GetMeeting": { + "com.amazonaws.chime#GetSipMediaApplicationRequest": { + "type": "structure", + "members": { + "SipMediaApplicationId": { + "target": "com.amazonaws.chime#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                            The SIP media application ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#GetSipMediaApplicationResponse": { + "type": "structure", + "members": { + "SipMediaApplication": { + "target": "com.amazonaws.chime#SipMediaApplication", + "traits": { + "smithy.api#documentation": "

                            The SIP media application details.

                            " + } + } + } + }, + "com.amazonaws.chime#GetSipRule": { "type": "operation", "input": { - "target": "com.amazonaws.chime#GetMeetingRequest" + "target": "com.amazonaws.chime#GetSipRuleRequest" }, "output": { - "target": "com.amazonaws.chime#GetMeetingResponse" + "target": "com.amazonaws.chime#GetSipRuleResponse" }, "errors": [ { @@ -4686,45 +8120,45 @@ } ], "traits": { - "smithy.api#documentation": "

                            Gets the Amazon Chime SDK meeting details for the specified meeting ID. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide.

                            ", + "smithy.api#documentation": "

                            Retrieves the details of a SIP rule, such as the rule ID, name, triggers, and target\n endpoints.

                            ", "smithy.api#http": { "method": "GET", - "uri": "/meetings/{MeetingId}", + "uri": "/sip-rules/{SipRuleId}", "code": 200 } } }, - "com.amazonaws.chime#GetMeetingRequest": { + "com.amazonaws.chime#GetSipRuleRequest": { "type": "structure", "members": { - "MeetingId": { - "target": "com.amazonaws.chime#GuidString", + "SipRuleId": { + "target": "com.amazonaws.chime#NonEmptyString", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime SDK meeting ID.

                            ", + "smithy.api#documentation": "

                            The SIP rule ID.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } } }, - "com.amazonaws.chime#GetMeetingResponse": { + "com.amazonaws.chime#GetSipRuleResponse": { "type": "structure", "members": { - "Meeting": { - "target": "com.amazonaws.chime#Meeting", + "SipRule": { + "target": "com.amazonaws.chime#SipRule", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime SDK meeting information.

                            " + "smithy.api#documentation": "

                            The SIP rule details.

                            " } } } }, - "com.amazonaws.chime#GetPhoneNumber": { + "com.amazonaws.chime#GetUser": { "type": "operation", "input": { - "target": "com.amazonaws.chime#GetPhoneNumberRequest" + "target": "com.amazonaws.chime#GetUserRequest" }, "output": { - "target": "com.amazonaws.chime#GetPhoneNumberResponse" + "target": "com.amazonaws.chime#GetUserResponse" }, "errors": [ { @@ -4750,21 +8184,53 @@ } ], "traits": { - "smithy.api#documentation": "

                            Retrieves details for the specified phone number ID, such as associations,\n capabilities, and product type.

                            ", + "smithy.api#documentation": "

                            Retrieves details for the specified user ID, such as primary email address, license type,\n and personal meeting PIN.

                            \n

                            To retrieve user details with an email address instead of a user ID, use the ListUsers action, and then filter by email address.

                            ", "smithy.api#http": { "method": "GET", - "uri": "/phone-numbers/{PhoneNumberId}", + "uri": "/accounts/{AccountId}/users/{UserId}", "code": 200 } } }, - "com.amazonaws.chime#GetPhoneNumberOrder": { + "com.amazonaws.chime#GetUserRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.chime#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "UserId": { + "target": "com.amazonaws.chime#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                            The user ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#GetUserResponse": { + "type": "structure", + "members": { + "User": { + "target": "com.amazonaws.chime#User", + "traits": { + "smithy.api#documentation": "

                            The user details.

                            " + } + } + } + }, + "com.amazonaws.chime#GetUserSettings": { "type": "operation", "input": { - "target": "com.amazonaws.chime#GetPhoneNumberOrderRequest" + "target": "com.amazonaws.chime#GetUserSettingsRequest" }, "output": { - "target": "com.amazonaws.chime#GetPhoneNumberOrderResponse" + "target": "com.amazonaws.chime#GetUserSettingsResponse" }, "errors": [ { @@ -4790,66 +8256,53 @@ } ], "traits": { - "smithy.api#documentation": "

                            Retrieves details for the specified phone number order, such as order creation\n timestamp, phone numbers in E.164 format, product type, and order status.

                            ", + "smithy.api#documentation": "

                            Retrieves settings for the specified user ID, such as any associated phone number settings.

                            ", "smithy.api#http": { "method": "GET", - "uri": "/phone-number-orders/{PhoneNumberOrderId}", + "uri": "/accounts/{AccountId}/users/{UserId}/settings", "code": 200 } } }, - "com.amazonaws.chime#GetPhoneNumberOrderRequest": { + "com.amazonaws.chime#GetUserSettingsRequest": { "type": "structure", "members": { - "PhoneNumberOrderId": { - "target": "com.amazonaws.chime#GuidString", + "AccountId": { + "target": "com.amazonaws.chime#String", "traits": { - "smithy.api#documentation": "

                            The ID for the phone number order.

                            ", + "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } - } - } - }, - "com.amazonaws.chime#GetPhoneNumberOrderResponse": { - "type": "structure", - "members": { - "PhoneNumberOrder": { - "target": "com.amazonaws.chime#PhoneNumberOrder", - "traits": { - "smithy.api#documentation": "

                            The phone number order details.

                            " - } - } - } - }, - "com.amazonaws.chime#GetPhoneNumberRequest": { - "type": "structure", - "members": { - "PhoneNumberId": { + }, + "UserId": { "target": "com.amazonaws.chime#String", "traits": { - "smithy.api#documentation": "

                            The phone number ID.

                            ", + "smithy.api#documentation": "

                            The user ID.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } } }, - "com.amazonaws.chime#GetPhoneNumberResponse": { + "com.amazonaws.chime#GetUserSettingsResponse": { "type": "structure", - "members": { - "PhoneNumber": { - "target": "com.amazonaws.chime#PhoneNumber", + "members": { + "UserSettings": { + "target": "com.amazonaws.chime#UserSettings", "traits": { - "smithy.api#documentation": "

                            The phone number details.

                            " + "smithy.api#documentation": "

                            The user settings.

                            " } } } }, - "com.amazonaws.chime#GetPhoneNumberSettings": { + "com.amazonaws.chime#GetVoiceConnector": { "type": "operation", + "input": { + "target": "com.amazonaws.chime#GetVoiceConnectorRequest" + }, "output": { - "target": "com.amazonaws.chime#GetPhoneNumberSettingsResponse" + "target": "com.amazonaws.chime#GetVoiceConnectorResponse" }, "errors": [ { @@ -4858,6 +8311,9 @@ { "target": "com.amazonaws.chime#ForbiddenException" }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, { "target": "com.amazonaws.chime#ServiceFailureException" }, @@ -4872,38 +8328,21 @@ } ], "traits": { - "smithy.api#documentation": "

                            Retrieves the phone number settings for the administrator's AWS account, such as the default outbound calling name.

                            ", + "smithy.api#documentation": "

                            Retrieves details for the specified Amazon Chime Voice Connector, such as timestamps,\n name, outbound host, and encryption requirements.

                            ", "smithy.api#http": { "method": "GET", - "uri": "/settings/phone-number", + "uri": "/voice-connectors/{VoiceConnectorId}", "code": 200 } } }, - "com.amazonaws.chime#GetPhoneNumberSettingsResponse": { - "type": "structure", - "members": { - "CallingName": { - "target": "com.amazonaws.chime#CallingName", - "traits": { - "smithy.api#documentation": "

                            The default outbound calling name for the account.

                            " - } - }, - "CallingNameUpdatedTimestamp": { - "target": "com.amazonaws.chime#Iso8601Timestamp", - "traits": { - "smithy.api#documentation": "

                            The updated outbound calling name timestamp, in ISO 8601 format.

                            " - } - } - } - }, - "com.amazonaws.chime#GetProxySession": { + "com.amazonaws.chime#GetVoiceConnectorEmergencyCallingConfiguration": { "type": "operation", "input": { - "target": "com.amazonaws.chime#GetProxySessionRequest" + "target": "com.amazonaws.chime#GetVoiceConnectorEmergencyCallingConfigurationRequest" }, "output": { - "target": "com.amazonaws.chime#GetProxySessionResponse" + "target": "com.amazonaws.chime#GetVoiceConnectorEmergencyCallingConfigurationResponse" }, "errors": [ { @@ -4929,53 +8368,45 @@ } ], "traits": { - "smithy.api#documentation": "

                            Gets the specified proxy session details for the specified Amazon Chime Voice Connector.

                            ", + "smithy.api#documentation": "

                            Gets the emergency calling configuration details for the specified Amazon Chime Voice Connector.

                            ", "smithy.api#http": { "method": "GET", - "uri": "/voice-connectors/{VoiceConnectorId}/proxy-sessions/{ProxySessionId}", + "uri": "/voice-connectors/{VoiceConnectorId}/emergency-calling-configuration", "code": 200 } } }, - "com.amazonaws.chime#GetProxySessionRequest": { + "com.amazonaws.chime#GetVoiceConnectorEmergencyCallingConfigurationRequest": { "type": "structure", "members": { "VoiceConnectorId": { - "target": "com.amazonaws.chime#NonEmptyString128", - "traits": { - "smithy.api#documentation": "

                            The Amazon Chime voice connector ID.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "ProxySessionId": { - "target": "com.amazonaws.chime#NonEmptyString128", + "target": "com.amazonaws.chime#NonEmptyString", "traits": { - "smithy.api#documentation": "

                            The proxy session ID.

                            ", + "smithy.api#documentation": "

                            The Amazon Chime Voice Connector ID.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } } }, - "com.amazonaws.chime#GetProxySessionResponse": { + "com.amazonaws.chime#GetVoiceConnectorEmergencyCallingConfigurationResponse": { "type": "structure", "members": { - "ProxySession": { - "target": "com.amazonaws.chime#ProxySession", + "EmergencyCallingConfiguration": { + "target": "com.amazonaws.chime#EmergencyCallingConfiguration", "traits": { - "smithy.api#documentation": "

                            The proxy session details.

                            " + "smithy.api#documentation": "

                            The emergency calling configuration details.

                            " } } } }, - "com.amazonaws.chime#GetRetentionSettings": { + "com.amazonaws.chime#GetVoiceConnectorGroup": { "type": "operation", "input": { - "target": "com.amazonaws.chime#GetRetentionSettingsRequest" + "target": "com.amazonaws.chime#GetVoiceConnectorGroupRequest" }, "output": { - "target": "com.amazonaws.chime#GetRetentionSettingsResponse" + "target": "com.amazonaws.chime#GetVoiceConnectorGroupResponse" }, "errors": [ { @@ -5001,51 +8432,45 @@ } ], "traits": { - "smithy.api#documentation": "

                            Gets the retention settings for the specified Amazon Chime Enterprise account. For more information about retention settings, see Managing Chat Retention Policies in the Amazon Chime Administration Guide.

                            ", + "smithy.api#documentation": "

                            Retrieves details for the specified Amazon Chime Voice Connector group, such as timestamps,\n name, and associated VoiceConnectorItems.

                            ", "smithy.api#http": { "method": "GET", - "uri": "/accounts/{AccountId}/retention-settings", + "uri": "/voice-connector-groups/{VoiceConnectorGroupId}", "code": 200 } } }, - "com.amazonaws.chime#GetRetentionSettingsRequest": { + "com.amazonaws.chime#GetVoiceConnectorGroupRequest": { "type": "structure", "members": { - "AccountId": { + "VoiceConnectorGroupId": { "target": "com.amazonaws.chime#NonEmptyString", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", + "smithy.api#documentation": "

                            The Amazon Chime Voice Connector group ID.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } } }, - "com.amazonaws.chime#GetRetentionSettingsResponse": { + "com.amazonaws.chime#GetVoiceConnectorGroupResponse": { "type": "structure", "members": { - "RetentionSettings": { - "target": "com.amazonaws.chime#RetentionSettings", - "traits": { - "smithy.api#documentation": "

                            The retention settings.

                            " - } - }, - "InitiateDeletionTimestamp": { - "target": "com.amazonaws.chime#Iso8601Timestamp", + "VoiceConnectorGroup": { + "target": "com.amazonaws.chime#VoiceConnectorGroup", "traits": { - "smithy.api#documentation": "

                            The timestamp representing the time at which the specified items are permanently deleted, in ISO 8601 format.

                            " + "smithy.api#documentation": "

                            The Amazon Chime Voice Connector group details.

                            " } } } }, - "com.amazonaws.chime#GetRoom": { + "com.amazonaws.chime#GetVoiceConnectorLoggingConfiguration": { "type": "operation", "input": { - "target": "com.amazonaws.chime#GetRoomRequest" + "target": "com.amazonaws.chime#GetVoiceConnectorLoggingConfigurationRequest" }, "output": { - "target": "com.amazonaws.chime#GetRoomResponse" + "target": "com.amazonaws.chime#GetVoiceConnectorLoggingConfigurationResponse" }, "errors": [ { @@ -5071,53 +8496,45 @@ } ], "traits": { - "smithy.api#documentation": "

                            Retrieves room details, such as the room name, for a room in an Amazon Chime Enterprise account.

                            ", + "smithy.api#documentation": "

                            Retrieves the logging configuration details for the specified Amazon Chime Voice\n Connector. Shows whether SIP message logs are enabled for sending to Amazon CloudWatch.

                            ", "smithy.api#http": { "method": "GET", - "uri": "/accounts/{AccountId}/rooms/{RoomId}", + "uri": "/voice-connectors/{VoiceConnectorId}/logging-configuration", "code": 200 } } }, - "com.amazonaws.chime#GetRoomRequest": { + "com.amazonaws.chime#GetVoiceConnectorLoggingConfigurationRequest": { "type": "structure", "members": { - "AccountId": { - "target": "com.amazonaws.chime#NonEmptyString", - "traits": { - "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "RoomId": { + "VoiceConnectorId": { "target": "com.amazonaws.chime#NonEmptyString", "traits": { - "smithy.api#documentation": "

                            The room ID.

                            ", + "smithy.api#documentation": "

                            The Amazon Chime Voice Connector ID.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } } }, - "com.amazonaws.chime#GetRoomResponse": { + "com.amazonaws.chime#GetVoiceConnectorLoggingConfigurationResponse": { "type": "structure", "members": { - "Room": { - "target": "com.amazonaws.chime#Room", + "LoggingConfiguration": { + "target": "com.amazonaws.chime#LoggingConfiguration", "traits": { - "smithy.api#documentation": "

                            The room details.

                            " + "smithy.api#documentation": "

                            The logging configuration details.

                            " } } } }, - "com.amazonaws.chime#GetSipMediaApplication": { + "com.amazonaws.chime#GetVoiceConnectorOrigination": { "type": "operation", "input": { - "target": "com.amazonaws.chime#GetSipMediaApplicationRequest" + "target": "com.amazonaws.chime#GetVoiceConnectorOriginationRequest" }, "output": { - "target": "com.amazonaws.chime#GetSipMediaApplicationResponse" + "target": "com.amazonaws.chime#GetVoiceConnectorOriginationResponse" }, "errors": [ { @@ -5143,21 +8560,45 @@ } ], "traits": { - "smithy.api#documentation": "

                            Retrieves the information for a SIP media application, including name, AWS Region, and\n endpoints.

                            ", + "smithy.api#documentation": "

                            Retrieves origination setting details for the specified Amazon Chime Voice Connector.

                            ", "smithy.api#http": { "method": "GET", - "uri": "/sip-media-applications/{SipMediaApplicationId}", + "uri": "/voice-connectors/{VoiceConnectorId}/origination", "code": 200 } } }, - "com.amazonaws.chime#GetSipMediaApplicationLoggingConfiguration": { + "com.amazonaws.chime#GetVoiceConnectorOriginationRequest": { + "type": "structure", + "members": { + "VoiceConnectorId": { + "target": "com.amazonaws.chime#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime Voice Connector ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#GetVoiceConnectorOriginationResponse": { + "type": "structure", + "members": { + "Origination": { + "target": "com.amazonaws.chime#Origination", + "traits": { + "smithy.api#documentation": "

                            The origination setting details.

                            " + } + } + } + }, + "com.amazonaws.chime#GetVoiceConnectorProxy": { "type": "operation", "input": { - "target": "com.amazonaws.chime#GetSipMediaApplicationLoggingConfigurationRequest" + "target": "com.amazonaws.chime#GetVoiceConnectorProxyRequest" }, "output": { - "target": "com.amazonaws.chime#GetSipMediaApplicationLoggingConfigurationResponse" + "target": "com.amazonaws.chime#GetVoiceConnectorProxyResponse" }, "errors": [ { @@ -5183,69 +8624,133 @@ } ], "traits": { - "smithy.api#documentation": "

                            Returns the logging configuration for the specified SIP media application.

                            ", + "smithy.api#documentation": "

                            Gets the proxy configuration details for the specified Amazon Chime Voice Connector.

                            ", "smithy.api#http": { "method": "GET", - "uri": "/sip-media-applications/{SipMediaApplicationId}/logging-configuration", + "uri": "/voice-connectors/{VoiceConnectorId}/programmable-numbers/proxy", "code": 200 } } }, - "com.amazonaws.chime#GetSipMediaApplicationLoggingConfigurationRequest": { + "com.amazonaws.chime#GetVoiceConnectorProxyRequest": { "type": "structure", "members": { - "SipMediaApplicationId": { + "VoiceConnectorId": { + "target": "com.amazonaws.chime#NonEmptyString128", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime voice connector ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#GetVoiceConnectorProxyResponse": { + "type": "structure", + "members": { + "Proxy": { + "target": "com.amazonaws.chime#Proxy", + "traits": { + "smithy.api#documentation": "

                            The proxy configuration details.

                            " + } + } + } + }, + "com.amazonaws.chime#GetVoiceConnectorRequest": { + "type": "structure", + "members": { + "VoiceConnectorId": { "target": "com.amazonaws.chime#NonEmptyString", "traits": { - "smithy.api#documentation": "

                            The ID of the SIP media application.

                            ", + "smithy.api#documentation": "

                            The Amazon Chime Voice Connector ID.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } } }, - "com.amazonaws.chime#GetSipMediaApplicationLoggingConfigurationResponse": { + "com.amazonaws.chime#GetVoiceConnectorResponse": { "type": "structure", "members": { - "SipMediaApplicationLoggingConfiguration": { - "target": "com.amazonaws.chime#SipMediaApplicationLoggingConfiguration", + "VoiceConnector": { + "target": "com.amazonaws.chime#VoiceConnector", "traits": { - "smithy.api#documentation": "

                            The actual logging configuration.

                            " + "smithy.api#documentation": "

                            The Amazon Chime Voice Connector details.

                            " } } } }, - "com.amazonaws.chime#GetSipMediaApplicationRequest": { + "com.amazonaws.chime#GetVoiceConnectorStreamingConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#GetVoiceConnectorStreamingConfigurationRequest" + }, + "output": { + "target": "com.amazonaws.chime#GetVoiceConnectorStreamingConfigurationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Retrieves the streaming configuration details for the specified Amazon Chime Voice\n Connector. Shows whether media streaming is enabled for sending to Amazon Kinesis. It also\n shows the retention period, in hours, for the Amazon Kinesis data.

                            ", + "smithy.api#http": { + "method": "GET", + "uri": "/voice-connectors/{VoiceConnectorId}/streaming-configuration", + "code": 200 + } + } + }, + "com.amazonaws.chime#GetVoiceConnectorStreamingConfigurationRequest": { "type": "structure", "members": { - "SipMediaApplicationId": { + "VoiceConnectorId": { "target": "com.amazonaws.chime#NonEmptyString", "traits": { - "smithy.api#documentation": "

                            The SIP media application ID.

                            ", + "smithy.api#documentation": "

                            The Amazon Chime Voice Connector ID.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } } }, - "com.amazonaws.chime#GetSipMediaApplicationResponse": { + "com.amazonaws.chime#GetVoiceConnectorStreamingConfigurationResponse": { "type": "structure", "members": { - "SipMediaApplication": { - "target": "com.amazonaws.chime#SipMediaApplication", + "StreamingConfiguration": { + "target": "com.amazonaws.chime#StreamingConfiguration", "traits": { - "smithy.api#documentation": "

                            The SIP media application details.

                            " + "smithy.api#documentation": "

                            The streaming configuration details.

                            " } } } }, - "com.amazonaws.chime#GetSipRule": { + "com.amazonaws.chime#GetVoiceConnectorTermination": { "type": "operation", "input": { - "target": "com.amazonaws.chime#GetSipRuleRequest" + "target": "com.amazonaws.chime#GetVoiceConnectorTerminationRequest" }, "output": { - "target": "com.amazonaws.chime#GetSipRuleResponse" + "target": "com.amazonaws.chime#GetVoiceConnectorTerminationResponse" }, "errors": [ { @@ -5271,45 +8776,21 @@ } ], "traits": { - "smithy.api#documentation": "

                            Retrieves the details of a SIP rule, such as the rule ID, name, triggers, and target\n endpoints.

                            ", + "smithy.api#documentation": "

                            Retrieves termination setting details for the specified Amazon Chime Voice Connector.

                            ", "smithy.api#http": { "method": "GET", - "uri": "/sip-rules/{SipRuleId}", + "uri": "/voice-connectors/{VoiceConnectorId}/termination", "code": 200 } } }, - "com.amazonaws.chime#GetSipRuleRequest": { - "type": "structure", - "members": { - "SipRuleId": { - "target": "com.amazonaws.chime#NonEmptyString", - "traits": { - "smithy.api#documentation": "

                            The SIP rule ID.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - } - } - }, - "com.amazonaws.chime#GetSipRuleResponse": { - "type": "structure", - "members": { - "SipRule": { - "target": "com.amazonaws.chime#SipRule", - "traits": { - "smithy.api#documentation": "

                            The SIP rule details.

                            " - } - } - } - }, - "com.amazonaws.chime#GetUser": { + "com.amazonaws.chime#GetVoiceConnectorTerminationHealth": { "type": "operation", "input": { - "target": "com.amazonaws.chime#GetUserRequest" + "target": "com.amazonaws.chime#GetVoiceConnectorTerminationHealthRequest" }, "output": { - "target": "com.amazonaws.chime#GetUserResponse" + "target": "com.amazonaws.chime#GetVoiceConnectorTerminationHealthResponse" }, "errors": [ { @@ -5335,53 +8816,158 @@ } ], "traits": { - "smithy.api#documentation": "

                            Retrieves details for the specified user ID, such as primary email address, license type,\n and personal meeting PIN.

                            \n

                            To retrieve user details with an email address instead of a user ID, use the ListUsers action, and then filter by email address.

                            ", + "smithy.api#documentation": "

                            Retrieves information about the last time a SIP OPTIONS ping was received\n from your SIP infrastructure for the specified Amazon Chime Voice Connector.

                            ", "smithy.api#http": { "method": "GET", - "uri": "/accounts/{AccountId}/users/{UserId}", + "uri": "/voice-connectors/{VoiceConnectorId}/termination/health", "code": 200 } } }, - "com.amazonaws.chime#GetUserRequest": { + "com.amazonaws.chime#GetVoiceConnectorTerminationHealthRequest": { "type": "structure", "members": { - "AccountId": { + "VoiceConnectorId": { "target": "com.amazonaws.chime#NonEmptyString", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", + "smithy.api#documentation": "

                            The Amazon Chime Voice Connector ID.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } - }, - "UserId": { + } + } + }, + "com.amazonaws.chime#GetVoiceConnectorTerminationHealthResponse": { + "type": "structure", + "members": { + "TerminationHealth": { + "target": "com.amazonaws.chime#TerminationHealth", + "traits": { + "smithy.api#documentation": "

                            The termination health details.

                            " + } + } + } + }, + "com.amazonaws.chime#GetVoiceConnectorTerminationRequest": { + "type": "structure", + "members": { + "VoiceConnectorId": { "target": "com.amazonaws.chime#NonEmptyString", "traits": { - "smithy.api#documentation": "

                            The user ID.

                            ", + "smithy.api#documentation": "

                            The Amazon Chime Voice Connector ID.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } } }, - "com.amazonaws.chime#GetUserResponse": { + "com.amazonaws.chime#GetVoiceConnectorTerminationResponse": { "type": "structure", "members": { - "User": { - "target": "com.amazonaws.chime#User", + "Termination": { + "target": "com.amazonaws.chime#Termination", "traits": { - "smithy.api#documentation": "

                            The user details.

                            " + "smithy.api#documentation": "

                            The termination setting details.

                            " } } } }, - "com.amazonaws.chime#GetUserSettings": { + "com.amazonaws.chime#GuidString": { + "type": "string", + "traits": { + "smithy.api#pattern": "[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}" + } + }, + "com.amazonaws.chime#Identity": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN in an Identity.

                            " + } + }, + "Name": { + "target": "com.amazonaws.chime#ResourceName", + "traits": { + "smithy.api#documentation": "

                            The name in an Identity.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The ARN and name of a user.

                            " + } + }, + "com.amazonaws.chime#Integer": { + "type": "integer", + "traits": { + "smithy.api#box": {} + } + }, + "com.amazonaws.chime#Invite": { + "type": "structure", + "members": { + "InviteId": { + "target": "com.amazonaws.chime#String", + "traits": { + "smithy.api#documentation": "

                            The invite ID.

                            " + } + }, + "Status": { + "target": "com.amazonaws.chime#InviteStatus", + "traits": { + "smithy.api#documentation": "

                            The status of the invite.

                            " + } + }, + "EmailAddress": { + "target": "com.amazonaws.chime#EmailAddress", + "traits": { + "smithy.api#documentation": "

                            The email address to which the invite is sent.

                            " + } + }, + "EmailStatus": { + "target": "com.amazonaws.chime#EmailStatus", + "traits": { + "smithy.api#documentation": "

                            The status of the invite email.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Invitation object returned after emailing users to invite them to join the\n Amazon Chime Team account.

                            " + } + }, + "com.amazonaws.chime#InviteList": { + "type": "list", + "member": { + "target": "com.amazonaws.chime#Invite" + } + }, + "com.amazonaws.chime#InviteStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "Pending", + "name": "Pending" + }, + { + "value": "Accepted", + "name": "Accepted" + }, + { + "value": "Failed", + "name": "Failed" + } + ] + } + }, + "com.amazonaws.chime#InviteUsers": { "type": "operation", "input": { - "target": "com.amazonaws.chime#GetUserSettingsRequest" + "target": "com.amazonaws.chime#InviteUsersRequest" }, "output": { - "target": "com.amazonaws.chime#GetUserSettingsResponse" + "target": "com.amazonaws.chime#InviteUsersResponse" }, "errors": [ { @@ -5407,93 +8993,104 @@ } ], "traits": { - "smithy.api#documentation": "

                            Retrieves settings for the specified user ID, such as any associated phone number settings.

                            ", + "smithy.api#documentation": "

                            Sends email to a maximum of 50 users, inviting them to the specified Amazon Chime\n Team account. Only Team account types are currently supported for\n this action.

                            ", "smithy.api#http": { - "method": "GET", - "uri": "/accounts/{AccountId}/users/{UserId}/settings", - "code": 200 + "method": "POST", + "uri": "/accounts/{AccountId}/users?operation=add", + "code": 201 } } }, - "com.amazonaws.chime#GetUserSettingsRequest": { + "com.amazonaws.chime#InviteUsersRequest": { "type": "structure", "members": { "AccountId": { - "target": "com.amazonaws.chime#String", + "target": "com.amazonaws.chime#NonEmptyString", "traits": { "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "UserId": { - "target": "com.amazonaws.chime#String", + "UserEmailList": { + "target": "com.amazonaws.chime#UserEmailList", "traits": { - "smithy.api#documentation": "

                            The user ID.

                            ", - "smithy.api#httpLabel": {}, + "smithy.api#documentation": "

                            The user email addresses to which to send the email invitation.

                            ", "smithy.api#required": {} } + }, + "UserType": { + "target": "com.amazonaws.chime#UserType", + "traits": { + "smithy.api#documentation": "

                            The user type.

                            " + } } } }, - "com.amazonaws.chime#GetUserSettingsResponse": { + "com.amazonaws.chime#InviteUsersResponse": { "type": "structure", "members": { - "UserSettings": { - "target": "com.amazonaws.chime#UserSettings", + "Invites": { + "target": "com.amazonaws.chime#InviteList", "traits": { - "smithy.api#documentation": "

                            The user settings.

                            " + "smithy.api#documentation": "

                            The email invitation details.

                            " } } } }, - "com.amazonaws.chime#GetVoiceConnector": { - "type": "operation", - "input": { - "target": "com.amazonaws.chime#GetVoiceConnectorRequest" - }, - "output": { - "target": "com.amazonaws.chime#GetVoiceConnectorResponse" - }, - "errors": [ - { - "target": "com.amazonaws.chime#BadRequestException" - }, - { - "target": "com.amazonaws.chime#ForbiddenException" - }, - { - "target": "com.amazonaws.chime#NotFoundException" - }, - { - "target": "com.amazonaws.chime#ServiceFailureException" - }, - { - "target": "com.amazonaws.chime#ServiceUnavailableException" - }, - { - "target": "com.amazonaws.chime#ThrottledClientException" + "com.amazonaws.chime#Iso8601Timestamp": { + "type": "timestamp", + "traits": { + "smithy.api#timestampFormat": "date-time" + } + }, + "com.amazonaws.chime#JoinTokenString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 2, + "max": 2048 }, - { - "target": "com.amazonaws.chime#UnauthorizedClientException" - } - ], + "smithy.api#pattern": "^[a-zA-Z0-9+/]+$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.chime#License": { + "type": "string", "traits": { - "smithy.api#documentation": "

                            Retrieves details for the specified Amazon Chime Voice Connector, such as timestamps,\n name, outbound host, and encryption requirements.

                            ", - "smithy.api#http": { - "method": "GET", - "uri": "/voice-connectors/{VoiceConnectorId}", - "code": 200 - } + "smithy.api#enum": [ + { + "value": "Basic", + "name": "Basic" + }, + { + "value": "Plus", + "name": "Plus" + }, + { + "value": "Pro", + "name": "Pro" + }, + { + "value": "ProTrial", + "name": "ProTrial" + } + ] } }, - "com.amazonaws.chime#GetVoiceConnectorEmergencyCallingConfiguration": { + "com.amazonaws.chime#LicenseList": { + "type": "list", + "member": { + "target": "com.amazonaws.chime#License" + } + }, + "com.amazonaws.chime#ListAccounts": { "type": "operation", "input": { - "target": "com.amazonaws.chime#GetVoiceConnectorEmergencyCallingConfigurationRequest" + "target": "com.amazonaws.chime#ListAccountsRequest" }, "output": { - "target": "com.amazonaws.chime#GetVoiceConnectorEmergencyCallingConfigurationResponse" + "target": "com.amazonaws.chime#ListAccountsResponse" }, "errors": [ { @@ -5519,45 +9116,76 @@ } ], "traits": { - "smithy.api#documentation": "

                            Gets the emergency calling configuration details for the specified Amazon Chime Voice Connector.

                            ", + "smithy.api#documentation": "

                            Lists the Amazon Chime accounts under the administrator's AWS account. You can filter\n accounts by account name prefix. To find out which Amazon Chime account a user belongs to, you\n can filter by the user's email address, which returns one account result.

                            ", "smithy.api#http": { "method": "GET", - "uri": "/voice-connectors/{VoiceConnectorId}/emergency-calling-configuration", + "uri": "/accounts", "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" } } }, - "com.amazonaws.chime#GetVoiceConnectorEmergencyCallingConfigurationRequest": { + "com.amazonaws.chime#ListAccountsRequest": { "type": "structure", "members": { - "VoiceConnectorId": { - "target": "com.amazonaws.chime#NonEmptyString", + "Name": { + "target": "com.amazonaws.chime#AccountName", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime Voice Connector ID.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#documentation": "

                            Amazon Chime account name prefix with which to filter results.

                            ", + "smithy.api#httpQuery": "name" + } + }, + "UserEmail": { + "target": "com.amazonaws.chime#EmailAddress", + "traits": { + "smithy.api#documentation": "

                            User email address with which to filter results.

                            ", + "smithy.api#httpQuery": "user-email" + } + }, + "NextToken": { + "target": "com.amazonaws.chime#String", + "traits": { + "smithy.api#documentation": "

                            The token to use to retrieve the next page of results.

                            ", + "smithy.api#httpQuery": "next-token" + } + }, + "MaxResults": { + "target": "com.amazonaws.chime#ProfileServiceMaxResults", + "traits": { + "smithy.api#documentation": "

                            The maximum number of results to return in a single call. Defaults to 100.

                            ", + "smithy.api#httpQuery": "max-results" } } } }, - "com.amazonaws.chime#GetVoiceConnectorEmergencyCallingConfigurationResponse": { + "com.amazonaws.chime#ListAccountsResponse": { "type": "structure", "members": { - "EmergencyCallingConfiguration": { - "target": "com.amazonaws.chime#EmergencyCallingConfiguration", + "Accounts": { + "target": "com.amazonaws.chime#AccountList", "traits": { - "smithy.api#documentation": "

                            The emergency calling configuration details.

                            " + "smithy.api#documentation": "

                            The list of accounts.

                            " + } + }, + "NextToken": { + "target": "com.amazonaws.chime#String", + "traits": { + "smithy.api#documentation": "

                            The account's user token.

                            " } } } }, - "com.amazonaws.chime#GetVoiceConnectorGroup": { + "com.amazonaws.chime#ListAppInstanceAdmins": { "type": "operation", "input": { - "target": "com.amazonaws.chime#GetVoiceConnectorGroupRequest" + "target": "com.amazonaws.chime#ListAppInstanceAdminsRequest" }, "output": { - "target": "com.amazonaws.chime#GetVoiceConnectorGroupResponse" + "target": "com.amazonaws.chime#ListAppInstanceAdminsResponse" }, "errors": [ { @@ -5567,7 +9195,7 @@ "target": "com.amazonaws.chime#ForbiddenException" }, { - "target": "com.amazonaws.chime#NotFoundException" + "target": "com.amazonaws.chime#ResourceLimitExceededException" }, { "target": "com.amazonaws.chime#ServiceFailureException" @@ -5583,45 +9211,79 @@ } ], "traits": { - "smithy.api#documentation": "

                            Retrieves details for the specified Amazon Chime Voice Connector group, such as timestamps,\n name, and associated VoiceConnectorItems.

                            ", + "smithy.api#documentation": "

                            Returns a list of the administrators in the app instance.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "identity-" + }, "smithy.api#http": { "method": "GET", - "uri": "/voice-connector-groups/{VoiceConnectorGroupId}", + "uri": "/app-instances/{AppInstanceArn}/admins", "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" } } }, - "com.amazonaws.chime#GetVoiceConnectorGroupRequest": { + "com.amazonaws.chime#ListAppInstanceAdminsRequest": { "type": "structure", "members": { - "VoiceConnectorGroupId": { - "target": "com.amazonaws.chime#NonEmptyString", + "AppInstanceArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime Voice Connector group ID.

                            ", + "smithy.api#documentation": "

                            The ARN of the app instance.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } + }, + "MaxResults": { + "target": "com.amazonaws.chime#MaxResults", + "traits": { + "smithy.api#documentation": "

                            The maximum number of administrators that you want to return.

                            ", + "smithy.api#httpQuery": "max-results" + } + }, + "NextToken": { + "target": "com.amazonaws.chime#NextToken", + "traits": { + "smithy.api#documentation": "

                            The token returned from previous API requests until the number of administrators is reached.

                            ", + "smithy.api#httpQuery": "next-token" + } } } }, - "com.amazonaws.chime#GetVoiceConnectorGroupResponse": { + "com.amazonaws.chime#ListAppInstanceAdminsResponse": { "type": "structure", "members": { - "VoiceConnectorGroup": { - "target": "com.amazonaws.chime#VoiceConnectorGroup", + "AppInstanceArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime Voice Connector group details.

                            " + "smithy.api#documentation": "

                            The ARN of the app instance.

                            " + } + }, + "AppInstanceAdmins": { + "target": "com.amazonaws.chime#AppInstanceAdminList", + "traits": { + "smithy.api#documentation": "

                            The information for each administrator.

                            " + } + }, + "NextToken": { + "target": "com.amazonaws.chime#NextToken", + "traits": { + "smithy.api#documentation": "

                            The token returned from previous API requests until the number of administrators is reached.

                            " } } } }, - "com.amazonaws.chime#GetVoiceConnectorLoggingConfiguration": { + "com.amazonaws.chime#ListAppInstanceUsers": { "type": "operation", "input": { - "target": "com.amazonaws.chime#GetVoiceConnectorLoggingConfigurationRequest" + "target": "com.amazonaws.chime#ListAppInstanceUsersRequest" }, "output": { - "target": "com.amazonaws.chime#GetVoiceConnectorLoggingConfigurationResponse" + "target": "com.amazonaws.chime#ListAppInstanceUsersResponse" }, "errors": [ { @@ -5630,9 +9292,6 @@ { "target": "com.amazonaws.chime#ForbiddenException" }, - { - "target": "com.amazonaws.chime#NotFoundException" - }, { "target": "com.amazonaws.chime#ServiceFailureException" }, @@ -5647,45 +9306,79 @@ } ], "traits": { - "smithy.api#documentation": "

                            Retrieves the logging configuration details for the specified Amazon Chime Voice\n Connector. Shows whether SIP message logs are enabled for sending to Amazon CloudWatch\n Logs.

                            ", + "smithy.api#documentation": "

                            List all AppInstanceUsers created under a single app instance.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "identity-" + }, "smithy.api#http": { "method": "GET", - "uri": "/voice-connectors/{VoiceConnectorId}/logging-configuration", + "uri": "/app-instance-users", "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" } } }, - "com.amazonaws.chime#GetVoiceConnectorLoggingConfigurationRequest": { + "com.amazonaws.chime#ListAppInstanceUsersRequest": { "type": "structure", "members": { - "VoiceConnectorId": { - "target": "com.amazonaws.chime#NonEmptyString", + "AppInstanceArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime Voice Connector ID.

                            ", - "smithy.api#httpLabel": {}, + "smithy.api#documentation": "

                            The ARN of the app instance.

                            ", + "smithy.api#httpQuery": "app-instance-arn", "smithy.api#required": {} } + }, + "MaxResults": { + "target": "com.amazonaws.chime#MaxResults", + "traits": { + "smithy.api#documentation": "

                            The maximum number of requests that you want returned.

                            ", + "smithy.api#httpQuery": "max-results" + } + }, + "NextToken": { + "target": "com.amazonaws.chime#NextToken", + "traits": { + "smithy.api#documentation": "

                            The token passed by previous API calls until all requested users are returned.

                            ", + "smithy.api#httpQuery": "next-token" + } } } }, - "com.amazonaws.chime#GetVoiceConnectorLoggingConfigurationResponse": { + "com.amazonaws.chime#ListAppInstanceUsersResponse": { "type": "structure", "members": { - "LoggingConfiguration": { - "target": "com.amazonaws.chime#LoggingConfiguration", + "AppInstanceArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            The logging configuration details.

                            " + "smithy.api#documentation": "

                            The ARN of the app instance.

                            " + } + }, + "AppInstanceUsers": { + "target": "com.amazonaws.chime#AppInstanceUserList", + "traits": { + "smithy.api#documentation": "

                            The information for each of the requested app instance users.

                            " + } + }, + "NextToken": { + "target": "com.amazonaws.chime#NextToken", + "traits": { + "smithy.api#documentation": "

                            The token passed by previous API calls until all requested users are returned.

                            " } } } }, - "com.amazonaws.chime#GetVoiceConnectorOrigination": { + "com.amazonaws.chime#ListAppInstances": { "type": "operation", "input": { - "target": "com.amazonaws.chime#GetVoiceConnectorOriginationRequest" + "target": "com.amazonaws.chime#ListAppInstancesRequest" }, "output": { - "target": "com.amazonaws.chime#GetVoiceConnectorOriginationResponse" + "target": "com.amazonaws.chime#ListAppInstancesResponse" }, "errors": [ { @@ -5694,9 +9387,6 @@ { "target": "com.amazonaws.chime#ForbiddenException" }, - { - "target": "com.amazonaws.chime#NotFoundException" - }, { "target": "com.amazonaws.chime#ServiceFailureException" }, @@ -5711,45 +9401,65 @@ } ], "traits": { - "smithy.api#documentation": "

                            Retrieves origination setting details for the specified Amazon Chime Voice Connector.

                            ", + "smithy.api#documentation": "

                            Lists all Amazon Chime app instances created under a single AWS account.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "identity-" + }, "smithy.api#http": { "method": "GET", - "uri": "/voice-connectors/{VoiceConnectorId}/origination", + "uri": "/app-instances", "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" } } }, - "com.amazonaws.chime#GetVoiceConnectorOriginationRequest": { + "com.amazonaws.chime#ListAppInstancesRequest": { "type": "structure", "members": { - "VoiceConnectorId": { - "target": "com.amazonaws.chime#NonEmptyString", + "MaxResults": { + "target": "com.amazonaws.chime#MaxResults", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime Voice Connector ID.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#documentation": "

                            The maximum number of app instances that you want to return.

                            ", + "smithy.api#httpQuery": "max-results" + } + }, + "NextToken": { + "target": "com.amazonaws.chime#NextToken", + "traits": { + "smithy.api#documentation": "

                            The token passed by previous API requests until you reach the maximum number of app instances.

                            ", + "smithy.api#httpQuery": "next-token" } } } }, - "com.amazonaws.chime#GetVoiceConnectorOriginationResponse": { + "com.amazonaws.chime#ListAppInstancesResponse": { "type": "structure", "members": { - "Origination": { - "target": "com.amazonaws.chime#Origination", + "AppInstances": { + "target": "com.amazonaws.chime#AppInstanceList", "traits": { - "smithy.api#documentation": "

                            The origination setting details.

                            " + "smithy.api#documentation": "

                            The information for each app instance.

                            " + } + }, + "NextToken": { + "target": "com.amazonaws.chime#NextToken", + "traits": { + "smithy.api#documentation": "

                            The token passed by previous API requests until the maximum number of app instances is reached.

                            " } } } }, - "com.amazonaws.chime#GetVoiceConnectorProxy": { + "com.amazonaws.chime#ListAttendeeTags": { "type": "operation", "input": { - "target": "com.amazonaws.chime#GetVoiceConnectorProxyRequest" + "target": "com.amazonaws.chime#ListAttendeeTagsRequest" }, "output": { - "target": "com.amazonaws.chime#GetVoiceConnectorProxyResponse" + "target": "com.amazonaws.chime#ListAttendeeTagsResponse" }, "errors": [ { @@ -5775,69 +9485,53 @@ } ], "traits": { - "smithy.api#documentation": "

                            Gets the proxy configuration details for the specified Amazon Chime Voice Connector.

                            ", + "smithy.api#documentation": "

                            Lists the tags applied to an Amazon Chime SDK attendee resource.

                            ", "smithy.api#http": { "method": "GET", - "uri": "/voice-connectors/{VoiceConnectorId}/programmable-numbers/proxy", + "uri": "/meetings/{MeetingId}/attendees/{AttendeeId}/tags", "code": 200 } } }, - "com.amazonaws.chime#GetVoiceConnectorProxyRequest": { + "com.amazonaws.chime#ListAttendeeTagsRequest": { "type": "structure", "members": { - "VoiceConnectorId": { - "target": "com.amazonaws.chime#NonEmptyString128", + "MeetingId": { + "target": "com.amazonaws.chime#GuidString", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime voice connector ID.

                            ", + "smithy.api#documentation": "

                            The Amazon Chime SDK meeting ID.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } - } - } - }, - "com.amazonaws.chime#GetVoiceConnectorProxyResponse": { - "type": "structure", - "members": { - "Proxy": { - "target": "com.amazonaws.chime#Proxy", - "traits": { - "smithy.api#documentation": "

                            The proxy configuration details.

                            " - } - } - } - }, - "com.amazonaws.chime#GetVoiceConnectorRequest": { - "type": "structure", - "members": { - "VoiceConnectorId": { - "target": "com.amazonaws.chime#NonEmptyString", + }, + "AttendeeId": { + "target": "com.amazonaws.chime#GuidString", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime Voice Connector ID.

                            ", + "smithy.api#documentation": "

                            The Amazon Chime SDK attendee ID.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } } }, - "com.amazonaws.chime#GetVoiceConnectorResponse": { + "com.amazonaws.chime#ListAttendeeTagsResponse": { "type": "structure", "members": { - "VoiceConnector": { - "target": "com.amazonaws.chime#VoiceConnector", + "Tags": { + "target": "com.amazonaws.chime#TagList", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime Voice Connector details.

                            " + "smithy.api#documentation": "

                            A list of tag key-value pairs.

                            " } } } }, - "com.amazonaws.chime#GetVoiceConnectorStreamingConfiguration": { + "com.amazonaws.chime#ListAttendees": { "type": "operation", "input": { - "target": "com.amazonaws.chime#GetVoiceConnectorStreamingConfigurationRequest" + "target": "com.amazonaws.chime#ListAttendeesRequest" }, "output": { - "target": "com.amazonaws.chime#GetVoiceConnectorStreamingConfigurationResponse" + "target": "com.amazonaws.chime#ListAttendeesResponse" }, "errors": [ { @@ -5863,45 +9557,70 @@ } ], "traits": { - "smithy.api#documentation": "

                            Retrieves the streaming configuration details for the specified Amazon Chime Voice\n Connector. Shows whether media streaming is enabled for sending to Amazon Kinesis. It also\n shows the retention period, in hours, for the Amazon Kinesis data.

                            ", + "smithy.api#documentation": "

                            Lists the attendees for the specified Amazon Chime SDK meeting. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide.

                            ", "smithy.api#http": { "method": "GET", - "uri": "/voice-connectors/{VoiceConnectorId}/streaming-configuration", + "uri": "/meetings/{MeetingId}/attendees", "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" } } }, - "com.amazonaws.chime#GetVoiceConnectorStreamingConfigurationRequest": { + "com.amazonaws.chime#ListAttendeesRequest": { "type": "structure", "members": { - "VoiceConnectorId": { - "target": "com.amazonaws.chime#NonEmptyString", + "MeetingId": { + "target": "com.amazonaws.chime#GuidString", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime Voice Connector ID.

                            ", + "smithy.api#documentation": "

                            The Amazon Chime SDK meeting ID.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } + }, + "NextToken": { + "target": "com.amazonaws.chime#String", + "traits": { + "smithy.api#documentation": "

                            The token to use to retrieve the next page of results.

                            ", + "smithy.api#httpQuery": "next-token" + } + }, + "MaxResults": { + "target": "com.amazonaws.chime#ResultMax", + "traits": { + "smithy.api#documentation": "

                            The maximum number of results to return in a single call.

                            ", + "smithy.api#httpQuery": "max-results" + } } } }, - "com.amazonaws.chime#GetVoiceConnectorStreamingConfigurationResponse": { + "com.amazonaws.chime#ListAttendeesResponse": { "type": "structure", "members": { - "StreamingConfiguration": { - "target": "com.amazonaws.chime#StreamingConfiguration", + "Attendees": { + "target": "com.amazonaws.chime#AttendeeList", "traits": { - "smithy.api#documentation": "

                            The streaming configuration details.

                            " + "smithy.api#documentation": "

                            The Amazon Chime SDK attendee information.

                            " + } + }, + "NextToken": { + "target": "com.amazonaws.chime#String", + "traits": { + "smithy.api#documentation": "

                            The token to use to retrieve the next page of results.

                            " } } } }, - "com.amazonaws.chime#GetVoiceConnectorTermination": { + "com.amazonaws.chime#ListBots": { "type": "operation", "input": { - "target": "com.amazonaws.chime#GetVoiceConnectorTerminationRequest" + "target": "com.amazonaws.chime#ListBotsRequest" }, "output": { - "target": "com.amazonaws.chime#GetVoiceConnectorTerminationResponse" + "target": "com.amazonaws.chime#ListBotsResponse" }, "errors": [ { @@ -5927,21 +9646,70 @@ } ], "traits": { - "smithy.api#documentation": "

                            Retrieves termination setting details for the specified Amazon Chime Voice Connector.

                            ", + "smithy.api#documentation": "

                            Lists the bots associated with the administrator's Amazon Chime Enterprise account ID.

                            ", "smithy.api#http": { "method": "GET", - "uri": "/voice-connectors/{VoiceConnectorId}/termination", + "uri": "/accounts/{AccountId}/bots", "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" } } }, - "com.amazonaws.chime#GetVoiceConnectorTerminationHealth": { + "com.amazonaws.chime#ListBotsRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.chime#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "MaxResults": { + "target": "com.amazonaws.chime#ResultMax", + "traits": { + "smithy.api#documentation": "

                            The maximum number of results to return in a single call. The default is 10.

                            ", + "smithy.api#httpQuery": "max-results" + } + }, + "NextToken": { + "target": "com.amazonaws.chime#String", + "traits": { + "smithy.api#documentation": "

                            The token to use to retrieve the next page of results.

                            ", + "smithy.api#httpQuery": "next-token" + } + } + } + }, + "com.amazonaws.chime#ListBotsResponse": { + "type": "structure", + "members": { + "Bots": { + "target": "com.amazonaws.chime#BotList", + "traits": { + "smithy.api#documentation": "

                            List of bots and bot details.

                            " + } + }, + "NextToken": { + "target": "com.amazonaws.chime#String", + "traits": { + "smithy.api#documentation": "

                            The token to use to retrieve the next page of results.

                            " + } + } + } + }, + "com.amazonaws.chime#ListChannelBans": { "type": "operation", "input": { - "target": "com.amazonaws.chime#GetVoiceConnectorTerminationHealthRequest" + "target": "com.amazonaws.chime#ListChannelBansRequest" }, "output": { - "target": "com.amazonaws.chime#GetVoiceConnectorTerminationHealthResponse" + "target": "com.amazonaws.chime#ListChannelBansResponse" }, "errors": [ { @@ -5950,9 +9718,6 @@ { "target": "com.amazonaws.chime#ForbiddenException" }, - { - "target": "com.amazonaws.chime#NotFoundException" - }, { "target": "com.amazonaws.chime#ServiceFailureException" }, @@ -5967,138 +9732,124 @@ } ], "traits": { - "smithy.api#documentation": "

                            Retrieves information about the last time a SIP OPTIONS ping was received\n from your SIP infrastructure for the specified Amazon Chime Voice Connector.

                            ", + "smithy.api#documentation": "

                            Lists all the users banned from a particular channel.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "messaging-" + }, "smithy.api#http": { "method": "GET", - "uri": "/voice-connectors/{VoiceConnectorId}/termination/health", + "uri": "/channels/{ChannelArn}/bans", "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" } } }, - "com.amazonaws.chime#GetVoiceConnectorTerminationHealthRequest": { + "com.amazonaws.chime#ListChannelBansRequest": { "type": "structure", "members": { - "VoiceConnectorId": { - "target": "com.amazonaws.chime#NonEmptyString", + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime Voice Connector ID.

                            ", + "smithy.api#documentation": "

                            The ARN of the channel.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } - } - } - }, - "com.amazonaws.chime#GetVoiceConnectorTerminationHealthResponse": { - "type": "structure", - "members": { - "TerminationHealth": { - "target": "com.amazonaws.chime#TerminationHealth", - "traits": { - "smithy.api#documentation": "

                            The termination health details.

                            " - } - } - } - }, - "com.amazonaws.chime#GetVoiceConnectorTerminationRequest": { - "type": "structure", - "members": { - "VoiceConnectorId": { - "target": "com.amazonaws.chime#NonEmptyString", + }, + "MaxResults": { + "target": "com.amazonaws.chime#MaxResults", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime Voice Connector ID.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#documentation": "

                            The maximum number of bans that you want returned.

                            ", + "smithy.api#httpQuery": "max-results" } - } - } - }, - "com.amazonaws.chime#GetVoiceConnectorTerminationResponse": { - "type": "structure", - "members": { - "Termination": { - "target": "com.amazonaws.chime#Termination", + }, + "NextToken": { + "target": "com.amazonaws.chime#NextToken", "traits": { - "smithy.api#documentation": "

                            The termination setting details.

                            " + "smithy.api#documentation": "

                            The token passed by previous API calls until all requested bans are returned.

                            ", + "smithy.api#httpQuery": "next-token" } } } }, - "com.amazonaws.chime#GuidString": { - "type": "string", - "traits": { - "smithy.api#pattern": "[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}" - } - }, - "com.amazonaws.chime#Integer": { - "type": "integer", - "traits": { - "smithy.api#box": {} - } - }, - "com.amazonaws.chime#Invite": { + "com.amazonaws.chime#ListChannelBansResponse": { "type": "structure", "members": { - "InviteId": { - "target": "com.amazonaws.chime#String", - "traits": { - "smithy.api#documentation": "

                            The invite ID.

                            " - } - }, - "Status": { - "target": "com.amazonaws.chime#InviteStatus", + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            The status of the invite.

                            " + "smithy.api#documentation": "

                            The ARN of the channel.

                            " } }, - "EmailAddress": { - "target": "com.amazonaws.chime#EmailAddress", + "NextToken": { + "target": "com.amazonaws.chime#NextToken", "traits": { - "smithy.api#documentation": "

                            The email address to which the invite is sent.

                            " + "smithy.api#documentation": "

                            The token passed by previous API calls until all requested bans are returned.

                            " } }, - "EmailStatus": { - "target": "com.amazonaws.chime#EmailStatus", + "ChannelBans": { + "target": "com.amazonaws.chime#ChannelBanSummaryList", "traits": { - "smithy.api#documentation": "

                            The status of the invite email.

                            " + "smithy.api#documentation": "

                            The information for each requested ban.

                            " } } - }, - "traits": { - "smithy.api#documentation": "

                            Invitation object returned after emailing users to invite them to join the\n Amazon Chime Team account.

                            " - } - }, - "com.amazonaws.chime#InviteList": { - "type": "list", - "member": { - "target": "com.amazonaws.chime#Invite" } }, - "com.amazonaws.chime#InviteStatus": { - "type": "string", + "com.amazonaws.chime#ListChannelMemberships": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#ListChannelMembershipsRequest" + }, + "output": { + "target": "com.amazonaws.chime#ListChannelMembershipsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], "traits": { - "smithy.api#enum": [ - { - "value": "Pending", - "name": "Pending" - }, - { - "value": "Accepted", - "name": "Accepted" - }, - { - "value": "Failed", - "name": "Failed" - } - ] + "smithy.api#documentation": "

                            Lists all channel memberships in a channel.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "messaging-" + }, + "smithy.api#http": { + "method": "GET", + "uri": "/channels/{ChannelArn}/memberships", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.chime#InviteUsers": { + "com.amazonaws.chime#ListChannelMembershipsForAppInstanceUser": { "type": "operation", "input": { - "target": "com.amazonaws.chime#InviteUsersRequest" + "target": "com.amazonaws.chime#ListChannelMembershipsForAppInstanceUserRequest" }, "output": { - "target": "com.amazonaws.chime#InviteUsersResponse" + "target": "com.amazonaws.chime#ListChannelMembershipsForAppInstanceUserResponse" }, "errors": [ { @@ -6107,9 +9858,6 @@ { "target": "com.amazonaws.chime#ForbiddenException" }, - { - "target": "com.amazonaws.chime#NotFoundException" - }, { "target": "com.amazonaws.chime#ServiceFailureException" }, @@ -6124,104 +9872,129 @@ } ], "traits": { - "smithy.api#documentation": "

                            Sends email to a maximum of 50 users, inviting them to the specified Amazon Chime\n Team account. Only Team account types are currently supported for\n this action.

                            ", + "smithy.api#documentation": "

                            Lists all channels that a particular AppInstanceUser is a part of. Only an AppInstanceAdmin can call the\n API with a user ARN that is not their own.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "messaging-" + }, "smithy.api#http": { - "method": "POST", - "uri": "/accounts/{AccountId}/users?operation=add", - "code": 201 + "method": "GET", + "uri": "/channels?scope=app-instance-user-memberships", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" } } }, - "com.amazonaws.chime#InviteUsersRequest": { + "com.amazonaws.chime#ListChannelMembershipsForAppInstanceUserRequest": { "type": "structure", "members": { - "AccountId": { - "target": "com.amazonaws.chime#NonEmptyString", + "AppInstanceUserArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#documentation": "

                            The ARN of the app instance users

                            ", + "smithy.api#httpQuery": "app-instance-user-arn" } }, - "UserEmailList": { - "target": "com.amazonaws.chime#UserEmailList", + "MaxResults": { + "target": "com.amazonaws.chime#MaxResults", "traits": { - "smithy.api#documentation": "

                            The user email addresses to which to send the email invitation.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The maximum number of users that you want returned.

                            ", + "smithy.api#httpQuery": "max-results" } }, - "UserType": { - "target": "com.amazonaws.chime#UserType", + "NextToken": { + "target": "com.amazonaws.chime#NextToken", "traits": { - "smithy.api#documentation": "

                            The user type.

                            " + "smithy.api#documentation": "

                            The token returned from previous API requests until the number of channel memberships is reached.

                            ", + "smithy.api#httpQuery": "next-token" } } } }, - "com.amazonaws.chime#InviteUsersResponse": { + "com.amazonaws.chime#ListChannelMembershipsForAppInstanceUserResponse": { "type": "structure", "members": { - "Invites": { - "target": "com.amazonaws.chime#InviteList", + "ChannelMemberships": { + "target": "com.amazonaws.chime#ChannelMembershipForAppInstanceUserSummaryList", "traits": { - "smithy.api#documentation": "

                            The email invitation details.

                            " + "smithy.api#documentation": "

                            The token passed by previous API calls until all requested users are returned.

                            " + } + }, + "NextToken": { + "target": "com.amazonaws.chime#NextToken", + "traits": { + "smithy.api#documentation": "

                            The token passed by previous API calls until all requested users are returned.

                            " } } } }, - "com.amazonaws.chime#Iso8601Timestamp": { - "type": "timestamp", - "traits": { - "smithy.api#timestampFormat": "date-time" - } - }, - "com.amazonaws.chime#JoinTokenString": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 2, - "max": 2048 + "com.amazonaws.chime#ListChannelMembershipsRequest": { + "type": "structure", + "members": { + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The maximum number of channel memberships that you want returned.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } }, - "smithy.api#pattern": "^[a-zA-Z0-9+/]+$", - "smithy.api#sensitive": {} - } - }, - "com.amazonaws.chime#License": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "Basic", - "name": "Basic" - }, - { - "value": "Plus", - "name": "Plus" - }, - { - "value": "Pro", - "name": "Pro" - }, - { - "value": "ProTrial", - "name": "ProTrial" + "Type": { + "target": "com.amazonaws.chime#ChannelMembershipType", + "traits": { + "smithy.api#documentation": "

                            The membership type of a user, DEFAULT or HIDDEN. Default members are always returned as part of \n ListChannelMemberships. Hidden members are only returned if the type filter in ListChannelMemberships \n equals HIDDEN. Otherwise hidden members are not returned.

                            ", + "smithy.api#httpQuery": "type" } - ] + }, + "MaxResults": { + "target": "com.amazonaws.chime#MaxResults", + "traits": { + "smithy.api#documentation": "

                            The maximum number of channel memberships that you want returned.

                            ", + "smithy.api#httpQuery": "max-results" + } + }, + "NextToken": { + "target": "com.amazonaws.chime#NextToken", + "traits": { + "smithy.api#documentation": "

                            The token passed by previous API calls until all requested channel memberships are returned..

                            ", + "smithy.api#httpQuery": "next-token" + } + } } }, - "com.amazonaws.chime#LicenseList": { - "type": "list", - "member": { - "target": "com.amazonaws.chime#License" + "com.amazonaws.chime#ListChannelMembershipsResponse": { + "type": "structure", + "members": { + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the channel.

                            " + } + }, + "ChannelMemberships": { + "target": "com.amazonaws.chime#ChannelMembershipSummaryList", + "traits": { + "smithy.api#documentation": "

                            The information for the requested channel memberships.

                            " + } + }, + "NextToken": { + "target": "com.amazonaws.chime#NextToken", + "traits": { + "smithy.api#documentation": "

                            The token passed by previous API calls until all requested channel memberships are returned.

                            " + } + } } }, - "com.amazonaws.chime#ListAccounts": { + "com.amazonaws.chime#ListChannelMessages": { "type": "operation", "input": { - "target": "com.amazonaws.chime#ListAccountsRequest" + "target": "com.amazonaws.chime#ListChannelMessagesRequest" }, "output": { - "target": "com.amazonaws.chime#ListAccountsResponse" + "target": "com.amazonaws.chime#ListChannelMessagesResponse" }, "errors": [ { @@ -6230,9 +10003,6 @@ { "target": "com.amazonaws.chime#ForbiddenException" }, - { - "target": "com.amazonaws.chime#NotFoundException" - }, { "target": "com.amazonaws.chime#ServiceFailureException" }, @@ -6247,10 +10017,13 @@ } ], "traits": { - "smithy.api#documentation": "

                            Lists the Amazon Chime accounts under the administrator's AWS account. You can filter\n accounts by account name prefix. To find out which Amazon Chime account a user belongs to, you\n can filter by the user's email address, which returns one account result.

                            ", + "smithy.api#documentation": "

                            List all the messages in a channel. Returns a paginated list of ChannelMessages. \n Sorted in descending order by default, based on the creation timestamp.

                            \n \n

                            Redacted messages appear in the results as empty, since they are only redacted, not deleted. \n Deleted messages do not appear in the results. This action always returns the latest version of an edited message.

                            \n
                            ", + "smithy.api#endpoint": { + "hostPrefix": "messaging-" + }, "smithy.api#http": { "method": "GET", - "uri": "/accounts", + "uri": "/channels/{ChannelArn}/messages", "code": 200 }, "smithy.api#paginated": { @@ -6260,63 +10033,84 @@ } } }, - "com.amazonaws.chime#ListAccountsRequest": { + "com.amazonaws.chime#ListChannelMessagesRequest": { "type": "structure", "members": { - "Name": { - "target": "com.amazonaws.chime#AccountName", + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            Amazon Chime account name prefix with which to filter results.

                            ", - "smithy.api#httpQuery": "name" + "smithy.api#documentation": "

                            The ARN of the channel.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, - "UserEmail": { - "target": "com.amazonaws.chime#EmailAddress", + "SortOrder": { + "target": "com.amazonaws.chime#SortOrder", "traits": { - "smithy.api#documentation": "

                            User email address with which to filter results.

                            ", - "smithy.api#httpQuery": "user-email" + "smithy.api#documentation": "

                            The order in which you want messages sorted. Default is Descending, based on time created.

                            ", + "smithy.api#httpQuery": "sort-order" } }, - "NextToken": { - "target": "com.amazonaws.chime#String", + "NotBefore": { + "target": "com.amazonaws.chime#Timestamp", "traits": { - "smithy.api#documentation": "

                            The token to use to retrieve the next page of results.

                            ", - "smithy.api#httpQuery": "next-token" + "smithy.api#documentation": "

                            The initial or starting time stamp for your requested messages.

                            ", + "smithy.api#httpQuery": "not-before" + } + }, + "NotAfter": { + "target": "com.amazonaws.chime#Timestamp", + "traits": { + "smithy.api#documentation": "

                            The final or ending time stamp for your requested messages.

                            ", + "smithy.api#httpQuery": "not-after" } }, "MaxResults": { - "target": "com.amazonaws.chime#ProfileServiceMaxResults", + "target": "com.amazonaws.chime#MaxResults", "traits": { - "smithy.api#documentation": "

                            The maximum number of results to return in a single call. Defaults to 100.

                            ", + "smithy.api#documentation": "

                            The maximum number of messages that you want returned.

                            ", "smithy.api#httpQuery": "max-results" } + }, + "NextToken": { + "target": "com.amazonaws.chime#NextToken", + "traits": { + "smithy.api#documentation": "

                            The token passed by previous API calls until all requested messages are returned.

                            ", + "smithy.api#httpQuery": "next-token" + } } } }, - "com.amazonaws.chime#ListAccountsResponse": { + "com.amazonaws.chime#ListChannelMessagesResponse": { "type": "structure", "members": { - "Accounts": { - "target": "com.amazonaws.chime#AccountList", + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            The list of accounts.

                            " + "smithy.api#documentation": "

                            The ARN of the channel containing the requested messages.

                            " } }, "NextToken": { - "target": "com.amazonaws.chime#String", + "target": "com.amazonaws.chime#NextToken", "traits": { - "smithy.api#documentation": "

                            The account's user token.

                            " + "smithy.api#documentation": "

                            The token passed by previous API calls until all requested messages are returned.

                            " + } + }, + "ChannelMessages": { + "target": "com.amazonaws.chime#ChannelMessageSummaryList", + "traits": { + "smithy.api#documentation": "

                            The information about and content of each requested message.

                            " } } } }, - "com.amazonaws.chime#ListAttendeeTags": { + "com.amazonaws.chime#ListChannelModerators": { "type": "operation", "input": { - "target": "com.amazonaws.chime#ListAttendeeTagsRequest" + "target": "com.amazonaws.chime#ListChannelModeratorsRequest" }, "output": { - "target": "com.amazonaws.chime#ListAttendeeTagsResponse" + "target": "com.amazonaws.chime#ListChannelModeratorsResponse" }, "errors": [ { @@ -6325,9 +10119,6 @@ { "target": "com.amazonaws.chime#ForbiddenException" }, - { - "target": "com.amazonaws.chime#NotFoundException" - }, { "target": "com.amazonaws.chime#ServiceFailureException" }, @@ -6342,53 +10133,79 @@ } ], "traits": { - "smithy.api#documentation": "

                            Lists the tags applied to an Amazon Chime SDK attendee resource.

                            ", + "smithy.api#documentation": "

                            Lists all the moderators for a channel.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "messaging-" + }, "smithy.api#http": { "method": "GET", - "uri": "/meetings/{MeetingId}/attendees/{AttendeeId}/tags", + "uri": "/channels/{ChannelArn}/moderators", "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" } } }, - "com.amazonaws.chime#ListAttendeeTagsRequest": { + "com.amazonaws.chime#ListChannelModeratorsRequest": { "type": "structure", "members": { - "MeetingId": { - "target": "com.amazonaws.chime#GuidString", + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime SDK meeting ID.

                            ", + "smithy.api#documentation": "

                            The ARN of the channel.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "AttendeeId": { - "target": "com.amazonaws.chime#GuidString", + "MaxResults": { + "target": "com.amazonaws.chime#MaxResults", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime SDK attendee ID.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#documentation": "

                            The maximum number of moderators that you want returned.

                            ", + "smithy.api#httpQuery": "max-results" + } + }, + "NextToken": { + "target": "com.amazonaws.chime#NextToken", + "traits": { + "smithy.api#documentation": "

                            The token passed by previous API calls until all requested moderators are returned.

                            ", + "smithy.api#httpQuery": "next-token" } } } }, - "com.amazonaws.chime#ListAttendeeTagsResponse": { + "com.amazonaws.chime#ListChannelModeratorsResponse": { "type": "structure", "members": { - "Tags": { - "target": "com.amazonaws.chime#TagList", + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            A list of tag key-value pairs.

                            " + "smithy.api#documentation": "

                            The ARN of the channel.

                            " + } + }, + "NextToken": { + "target": "com.amazonaws.chime#NextToken", + "traits": { + "smithy.api#documentation": "

                            The token passed by previous API calls until all requested moderators are returned.

                            " + } + }, + "ChannelModerators": { + "target": "com.amazonaws.chime#ChannelModeratorSummaryList", + "traits": { + "smithy.api#documentation": "

                            The information about and names of each moderator.

                            " } } } }, - "com.amazonaws.chime#ListAttendees": { + "com.amazonaws.chime#ListChannels": { "type": "operation", "input": { - "target": "com.amazonaws.chime#ListAttendeesRequest" + "target": "com.amazonaws.chime#ListChannelsRequest" }, "output": { - "target": "com.amazonaws.chime#ListAttendeesResponse" + "target": "com.amazonaws.chime#ListChannelsResponse" }, "errors": [ { @@ -6397,9 +10214,6 @@ { "target": "com.amazonaws.chime#ForbiddenException" }, - { - "target": "com.amazonaws.chime#NotFoundException" - }, { "target": "com.amazonaws.chime#ServiceFailureException" }, @@ -6407,77 +10221,36 @@ "target": "com.amazonaws.chime#ServiceUnavailableException" }, { - "target": "com.amazonaws.chime#ThrottledClientException" - }, - { - "target": "com.amazonaws.chime#UnauthorizedClientException" - } - ], - "traits": { - "smithy.api#documentation": "

                            Lists the attendees for the specified Amazon Chime SDK meeting. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide.

                            ", - "smithy.api#http": { - "method": "GET", - "uri": "/meetings/{MeetingId}/attendees", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "pageSize": "MaxResults" - } - } - }, - "com.amazonaws.chime#ListAttendeesRequest": { - "type": "structure", - "members": { - "MeetingId": { - "target": "com.amazonaws.chime#GuidString", - "traits": { - "smithy.api#documentation": "

                            The Amazon Chime SDK meeting ID.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "NextToken": { - "target": "com.amazonaws.chime#String", - "traits": { - "smithy.api#documentation": "

                            The token to use to retrieve the next page of results.

                            ", - "smithy.api#httpQuery": "next-token" - } - }, - "MaxResults": { - "target": "com.amazonaws.chime#ResultMax", - "traits": { - "smithy.api#documentation": "

                            The maximum number of results to return in a single call.

                            ", - "smithy.api#httpQuery": "max-results" - } - } - } - }, - "com.amazonaws.chime#ListAttendeesResponse": { - "type": "structure", - "members": { - "Attendees": { - "target": "com.amazonaws.chime#AttendeeList", - "traits": { - "smithy.api#documentation": "

                            The Amazon Chime SDK attendee information.

                            " - } + "target": "com.amazonaws.chime#ThrottledClientException" }, - "NextToken": { - "target": "com.amazonaws.chime#String", - "traits": { - "smithy.api#documentation": "

                            The token to use to retrieve the next page of results.

                            " - } + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Lists all Channels created under a single Chime App as a paginated list. You can specify filters to narrow results.

                            \n

                            \n Functionality & restrictions\n

                            \n
                              \n
                            • \n

                              Use privacy = PUBLIC to retrieve all public channels in the account

                              \n
                            • \n
                            • \n

                              Only an AppInstanceAdmin can set privacy = PRIVATE to list the private channels in an \n account.

                              \n
                            • \n
                            ", + "smithy.api#endpoint": { + "hostPrefix": "messaging-" + }, + "smithy.api#http": { + "method": "GET", + "uri": "/channels", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" } } }, - "com.amazonaws.chime#ListBots": { + "com.amazonaws.chime#ListChannelsModeratedByAppInstanceUser": { "type": "operation", "input": { - "target": "com.amazonaws.chime#ListBotsRequest" + "target": "com.amazonaws.chime#ListChannelsModeratedByAppInstanceUserRequest" }, "output": { - "target": "com.amazonaws.chime#ListBotsResponse" + "target": "com.amazonaws.chime#ListChannelsModeratedByAppInstanceUserResponse" }, "errors": [ { @@ -6486,9 +10259,6 @@ { "target": "com.amazonaws.chime#ForbiddenException" }, - { - "target": "com.amazonaws.chime#NotFoundException" - }, { "target": "com.amazonaws.chime#ServiceFailureException" }, @@ -6503,10 +10273,13 @@ } ], "traits": { - "smithy.api#documentation": "

                            Lists the bots associated with the administrator's Amazon Chime Enterprise account ID.

                            ", + "smithy.api#documentation": "

                            A list of the channels moderated by an app instance user.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "messaging-" + }, "smithy.api#http": { "method": "GET", - "uri": "/accounts/{AccountId}/bots", + "uri": "/channels?scope=app-instance-user-moderated-channels", "code": 200 }, "smithy.api#paginated": { @@ -6516,46 +10289,96 @@ } } }, - "com.amazonaws.chime#ListBotsRequest": { + "com.amazonaws.chime#ListChannelsModeratedByAppInstanceUserRequest": { "type": "structure", "members": { - "AccountId": { - "target": "com.amazonaws.chime#NonEmptyString", + "AppInstanceUserArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", - "smithy.api#httpLabel": {}, + "smithy.api#documentation": "

                            The ARN of the user in the moderated channel.

                            ", + "smithy.api#httpQuery": "app-instance-user-arn" + } + }, + "MaxResults": { + "target": "com.amazonaws.chime#MaxResults", + "traits": { + "smithy.api#documentation": "

                            The maximum number of channels in the request.

                            ", + "smithy.api#httpQuery": "max-results" + } + }, + "NextToken": { + "target": "com.amazonaws.chime#NextToken", + "traits": { + "smithy.api#documentation": "

                            The token returned from previous API requests until the number of channels moderated by the user is reached.

                            ", + "smithy.api#httpQuery": "next-token" + } + } + } + }, + "com.amazonaws.chime#ListChannelsModeratedByAppInstanceUserResponse": { + "type": "structure", + "members": { + "Channels": { + "target": "com.amazonaws.chime#ChannelModeratedByAppInstanceUserSummaryList", + "traits": { + "smithy.api#documentation": "

                            The moderated channels in the request.

                            " + } + }, + "NextToken": { + "target": "com.amazonaws.chime#NextToken", + "traits": { + "smithy.api#documentation": "

                            The token returned from previous API requests until the number of channels moderated by the user is reached.

                            " + } + } + } + }, + "com.amazonaws.chime#ListChannelsRequest": { + "type": "structure", + "members": { + "AppInstanceArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the app instance.

                            ", + "smithy.api#httpQuery": "app-instance-arn", "smithy.api#required": {} } }, + "Privacy": { + "target": "com.amazonaws.chime#ChannelPrivacy", + "traits": { + "smithy.api#documentation": "

                            The privacy setting. PUBLIC retrieves all the public channels. PRIVATE retrieves private channels. Only \n an app instance administrator can retrieve private channels.

                            ", + "smithy.api#httpQuery": "privacy" + } + }, "MaxResults": { - "target": "com.amazonaws.chime#ResultMax", + "target": "com.amazonaws.chime#MaxResults", "traits": { - "smithy.api#documentation": "

                            The maximum number of results to return in a single call. The default is 10.

                            ", + "smithy.api#documentation": "

                            The maximum number of channels that you want to return.

                            ", "smithy.api#httpQuery": "max-results" } }, "NextToken": { - "target": "com.amazonaws.chime#String", + "target": "com.amazonaws.chime#NextToken", "traits": { - "smithy.api#documentation": "

                            The token to use to retrieve the next page of results.

                            ", + "smithy.api#documentation": "

                            The token passed by previous API calls until all requested channels are returned.

                            ", "smithy.api#httpQuery": "next-token" } } } }, - "com.amazonaws.chime#ListBotsResponse": { + "com.amazonaws.chime#ListChannelsResponse": { "type": "structure", "members": { - "Bots": { - "target": "com.amazonaws.chime#BotList", + "Channels": { + "target": "com.amazonaws.chime#ChannelSummaryList", "traits": { - "smithy.api#documentation": "

                            List of bots and bot details.

                            " + "smithy.api#documentation": "

                            The information about each channel.

                            " } }, "NextToken": { - "target": "com.amazonaws.chime#String", + "target": "com.amazonaws.chime#NextToken", "traits": { - "smithy.api#documentation": "

                            The token to use to retrieve the next page of results.

                            " + "smithy.api#documentation": "

                            The token returned from previous API requests until the number of channels is reached.

                            " } } } @@ -7209,6 +11032,11 @@ "method": "GET", "uri": "/sip-media-applications", "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" } } }, @@ -7282,6 +11110,11 @@ "method": "GET", "uri": "/sip-rules", "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" } } }, @@ -7791,6 +11624,16 @@ "type": "structure", "members": {} }, + "com.amazonaws.chime#MaxResults": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 1, + "max": 50 + } + } + }, "com.amazonaws.chime#MediaPlacement": { "type": "structure", "members": { @@ -8044,6 +11887,52 @@ } } }, + "com.amazonaws.chime#MessageId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "[-_a-zA-Z0-9]*" + } + }, + "com.amazonaws.chime#MessagingSessionEndpoint": { + "type": "structure", + "members": { + "Url": { + "target": "com.amazonaws.chime#UrlType", + "traits": { + "smithy.api#documentation": "

                            The URL of a meeting session endpoint.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The endpoint of a meeting session.

                            " + } + }, + "com.amazonaws.chime#Metadata": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1024 + }, + "smithy.api#pattern": ".*", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.chime#NextToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 2048 + }, + "smithy.api#pattern": ".*", + "smithy.api#sensitive": {} + } + }, "com.amazonaws.chime#NextTokenString": { "type": "string", "traits": { @@ -8053,6 +11942,28 @@ } } }, + "com.amazonaws.chime#NonEmptyContent": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 4096 + }, + "smithy.api#pattern": "[\\s\\S]*", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.chime#NonEmptyResourceName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*", + "smithy.api#sensitive": {} + } + }, "com.amazonaws.chime#NonEmptyString": { "type": "string", "traits": { @@ -8080,6 +11991,9 @@ } } }, + "com.amazonaws.chime#NonNullableBoolean": { + "type": "boolean" + }, "com.amazonaws.chime#NotFoundException": { "type": "structure", "members": { @@ -8861,13 +12775,167 @@ "value": "Closed", "name": "Closed" } - ] + ] + } + }, + "com.amazonaws.chime#ProxySessions": { + "type": "list", + "member": { + "target": "com.amazonaws.chime#ProxySession" + } + }, + "com.amazonaws.chime#PutAppInstanceRetentionSettings": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#PutAppInstanceRetentionSettingsRequest" + }, + "output": { + "target": "com.amazonaws.chime#PutAppInstanceRetentionSettingsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ConflictException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Sets the amount of time in days that a given app instance retains data.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "identity-" + }, + "smithy.api#http": { + "method": "PUT", + "uri": "/app-instances/{AppInstanceArn}/retention-settings", + "code": 200 + } + } + }, + "com.amazonaws.chime#PutAppInstanceRetentionSettingsRequest": { + "type": "structure", + "members": { + "AppInstanceArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the app instance.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "AppInstanceRetentionSettings": { + "target": "com.amazonaws.chime#AppInstanceRetentionSettings", + "traits": { + "smithy.api#documentation": "

                            The time in days to retain data. Data type: number.

                            ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#PutAppInstanceRetentionSettingsResponse": { + "type": "structure", + "members": { + "AppInstanceRetentionSettings": { + "target": "com.amazonaws.chime#AppInstanceRetentionSettings", + "traits": { + "smithy.api#documentation": "

                            The time in days to retain data. Data type: number.

                            " + } + }, + "InitiateDeletionTimestamp": { + "target": "com.amazonaws.chime#Timestamp", + "traits": { + "smithy.api#documentation": "

                            The time at which the API deletes data.

                            " + } + } + } + }, + "com.amazonaws.chime#PutAppInstanceStreamingConfigurations": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#PutAppInstanceStreamingConfigurationsRequest" + }, + "output": { + "target": "com.amazonaws.chime#PutAppInstanceStreamingConfigurationsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            The data streaming configurations of an app instance.

                            ", + "smithy.api#http": { + "method": "PUT", + "uri": "/app-instances/{AppInstanceArn}/streaming-configurations", + "code": 200 + } + } + }, + "com.amazonaws.chime#PutAppInstanceStreamingConfigurationsRequest": { + "type": "structure", + "members": { + "AppInstanceArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the app instance.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "AppInstanceStreamingConfigurations": { + "target": "com.amazonaws.chime#AppInstanceStreamingConfigurationList", + "traits": { + "smithy.api#documentation": "

                            The streaming configurations set for an app instance.

                            ", + "smithy.api#required": {} + } + } } }, - "com.amazonaws.chime#ProxySessions": { - "type": "list", - "member": { - "target": "com.amazonaws.chime#ProxySession" + "com.amazonaws.chime#PutAppInstanceStreamingConfigurationsResponse": { + "type": "structure", + "members": { + "AppInstanceStreamingConfigurations": { + "target": "com.amazonaws.chime#AppInstanceStreamingConfigurationList", + "traits": { + "smithy.api#documentation": "

                            The streaming configurations of an app instance.

                            " + } + } } }, "com.amazonaws.chime#PutEventsConfiguration": { @@ -9608,6 +13676,84 @@ } } }, + "com.amazonaws.chime#RedactChannelMessage": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#RedactChannelMessageRequest" + }, + "output": { + "target": "com.amazonaws.chime#RedactChannelMessageResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Redacts message content, but not metadata. The message exists in the back end, but the action returns null content, and the state \n shows as redacted.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "messaging-" + }, + "smithy.api#http": { + "method": "POST", + "uri": "/channels/{ChannelArn}/messages/{MessageId}?operation=redact", + "code": 200 + } + } + }, + "com.amazonaws.chime#RedactChannelMessageRequest": { + "type": "structure", + "members": { + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the channel containing the messages that you want to redact.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "MessageId": { + "target": "com.amazonaws.chime#MessageId", + "traits": { + "smithy.api#documentation": "

                            The ID of the message being redacted.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#RedactChannelMessageResponse": { + "type": "structure", + "members": { + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the channel containing the messages that you want to redact.

                            " + } + }, + "MessageId": { + "target": "com.amazonaws.chime#MessageId", + "traits": { + "smithy.api#documentation": "

                            The ID of the message being redacted.

                            " + } + } + } + }, "com.amazonaws.chime#RedactConversationMessage": { "type": "operation", "input": { @@ -9713,7 +13859,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Redacts the specified message from the specified Amazon Chime chat room.

                            ", + "smithy.api#documentation": "

                            Redacts the specified message from the specified Amazon Chime channel.

                            ", "smithy.api#http": { "method": "POST", "uri": "/accounts/{AccountId}/rooms/{RoomId}/messages/{MessageId}?operation=redact", @@ -9930,6 +14076,17 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.chime#ResourceName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#pattern": "[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*", + "smithy.api#sensitive": {} + } + }, "com.amazonaws.chime#RestorePhoneNumber": { "type": "operation", "input": { @@ -10034,7 +14191,7 @@ } }, "traits": { - "smithy.api#documentation": "

                            The retention settings for an Amazon Chime Enterprise account that determine how long to retain items such as chat room messages and chat conversation messages.

                            " + "smithy.api#documentation": "

                            The retention settings for an Amazon Chime Enterprise account that determine how long to retain items such as chat room messages \n and chat conversation messages.

                            " } }, "com.amazonaws.chime#Room": { @@ -10262,6 +14419,114 @@ } } }, + "com.amazonaws.chime#SendChannelMessage": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#SendChannelMessageRequest" + }, + "output": { + "target": "com.amazonaws.chime#SendChannelMessageResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ConflictException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Sends a message to a particular channel that the member is a part of.

                            \n \n \n

                            \n STANDARD messages can contain 4KB of data and the 1KB of metadata. CONTROL messages can contain 30 \n bytes of data and no metadata.

                            \n
                            ", + "smithy.api#endpoint": { + "hostPrefix": "messaging-" + }, + "smithy.api#http": { + "method": "POST", + "uri": "/channels/{ChannelArn}/messages", + "code": 201 + } + } + }, + "com.amazonaws.chime#SendChannelMessageRequest": { + "type": "structure", + "members": { + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the channel.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Content": { + "target": "com.amazonaws.chime#NonEmptyContent", + "traits": { + "smithy.api#documentation": "

                            The content of the message.

                            ", + "smithy.api#required": {} + } + }, + "Type": { + "target": "com.amazonaws.chime#ChannelMessageType", + "traits": { + "smithy.api#documentation": "

                            The type of message, STANDARD or CONTROL.

                            ", + "smithy.api#required": {} + } + }, + "Persistence": { + "target": "com.amazonaws.chime#ChannelMessagePersistenceType", + "traits": { + "smithy.api#documentation": "

                            Boolean that controls whether the message is persisted on the back end. Required.

                            ", + "smithy.api#required": {} + } + }, + "Metadata": { + "target": "com.amazonaws.chime#Metadata", + "traits": { + "smithy.api#documentation": "

                            The optional metadata for each message.

                            " + } + }, + "ClientRequestToken": { + "target": "com.amazonaws.chime#ClientRequestToken", + "traits": { + "smithy.api#documentation": "

                            The Idempotency token for each client request.

                            ", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#SendChannelMessageResponse": { + "type": "structure", + "members": { + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the channel.

                            " + } + }, + "MessageId": { + "target": "com.amazonaws.chime#MessageId", + "traits": { + "smithy.api#documentation": "

                            The ID string assigned to each message.

                            " + } + } + } + }, "com.amazonaws.chime#SensitiveString": { "type": "string", "traits": { @@ -10572,6 +14837,21 @@ ] } }, + "com.amazonaws.chime#SortOrder": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ASCENDING", + "name": "ASCENDING" + }, + { + "value": "DESCENDING", + "name": "DESCENDING" + } + ] + } + }, "com.amazonaws.chime#StreamingConfiguration": { "type": "structure", "members": { @@ -10596,7 +14876,7 @@ } }, "traits": { - "smithy.api#documentation": "

                            The streaming configuration associated with an Amazon Chime Voice Connector. Specifies whether media streaming is enabled for sending to Amazon Kinesis, and shows the retention period for the Amazon Kinesis data, in hours.

                            " + "smithy.api#documentation": "

                            The streaming configuration associated with an Amazon Chime Voice Connector. Specifies whether media streaming is enabled for \n sending to Amazon Kinesis, and shows the retention period for the Amazon Kinesis data, in hours.

                            " } }, "com.amazonaws.chime#StreamingNotificationTarget": { @@ -10994,6 +15274,9 @@ "smithy.api#httpError": 429 } }, + "com.amazonaws.chime#Timestamp": { + "type": "timestamp" + }, "com.amazonaws.chime#TollFreePrefix": { "type": "string", "traits": { @@ -11044,12 +15327,33 @@ { "target": "com.amazonaws.chime#CreateAccount" }, + { + "target": "com.amazonaws.chime#CreateAppInstance" + }, + { + "target": "com.amazonaws.chime#CreateAppInstanceAdmin" + }, + { + "target": "com.amazonaws.chime#CreateAppInstanceUser" + }, { "target": "com.amazonaws.chime#CreateAttendee" }, { "target": "com.amazonaws.chime#CreateBot" }, + { + "target": "com.amazonaws.chime#CreateChannel" + }, + { + "target": "com.amazonaws.chime#CreateChannelBan" + }, + { + "target": "com.amazonaws.chime#CreateChannelMembership" + }, + { + "target": "com.amazonaws.chime#CreateChannelModerator" + }, { "target": "com.amazonaws.chime#CreateMeeting" }, @@ -11092,9 +15396,36 @@ { "target": "com.amazonaws.chime#DeleteAccount" }, + { + "target": "com.amazonaws.chime#DeleteAppInstance" + }, + { + "target": "com.amazonaws.chime#DeleteAppInstanceAdmin" + }, + { + "target": "com.amazonaws.chime#DeleteAppInstanceStreamingConfigurations" + }, + { + "target": "com.amazonaws.chime#DeleteAppInstanceUser" + }, { "target": "com.amazonaws.chime#DeleteAttendee" }, + { + "target": "com.amazonaws.chime#DeleteChannel" + }, + { + "target": "com.amazonaws.chime#DeleteChannelBan" + }, + { + "target": "com.amazonaws.chime#DeleteChannelMembership" + }, + { + "target": "com.amazonaws.chime#DeleteChannelMessage" + }, + { + "target": "com.amazonaws.chime#DeleteChannelModerator" + }, { "target": "com.amazonaws.chime#DeleteEventsConfiguration" }, @@ -11143,6 +15474,33 @@ { "target": "com.amazonaws.chime#DeleteVoiceConnectorTerminationCredentials" }, + { + "target": "com.amazonaws.chime#DescribeAppInstance" + }, + { + "target": "com.amazonaws.chime#DescribeAppInstanceAdmin" + }, + { + "target": "com.amazonaws.chime#DescribeAppInstanceUser" + }, + { + "target": "com.amazonaws.chime#DescribeChannel" + }, + { + "target": "com.amazonaws.chime#DescribeChannelBan" + }, + { + "target": "com.amazonaws.chime#DescribeChannelMembership" + }, + { + "target": "com.amazonaws.chime#DescribeChannelMembershipForAppInstanceUser" + }, + { + "target": "com.amazonaws.chime#DescribeChannelModeratedByAppInstanceUser" + }, + { + "target": "com.amazonaws.chime#DescribeChannelModerator" + }, { "target": "com.amazonaws.chime#DisassociatePhoneNumberFromUser" }, @@ -11161,12 +15519,21 @@ { "target": "com.amazonaws.chime#GetAccountSettings" }, + { + "target": "com.amazonaws.chime#GetAppInstanceRetentionSettings" + }, + { + "target": "com.amazonaws.chime#GetAppInstanceStreamingConfigurations" + }, { "target": "com.amazonaws.chime#GetAttendee" }, { "target": "com.amazonaws.chime#GetBot" }, + { + "target": "com.amazonaws.chime#GetChannelMessage" + }, { "target": "com.amazonaws.chime#GetEventsConfiguration" }, @@ -11176,6 +15543,9 @@ { "target": "com.amazonaws.chime#GetMeeting" }, + { + "target": "com.amazonaws.chime#GetMessagingSessionEndpoint" + }, { "target": "com.amazonaws.chime#GetPhoneNumber" }, @@ -11242,6 +15612,15 @@ { "target": "com.amazonaws.chime#ListAccounts" }, + { + "target": "com.amazonaws.chime#ListAppInstanceAdmins" + }, + { + "target": "com.amazonaws.chime#ListAppInstances" + }, + { + "target": "com.amazonaws.chime#ListAppInstanceUsers" + }, { "target": "com.amazonaws.chime#ListAttendees" }, @@ -11251,6 +15630,27 @@ { "target": "com.amazonaws.chime#ListBots" }, + { + "target": "com.amazonaws.chime#ListChannelBans" + }, + { + "target": "com.amazonaws.chime#ListChannelMemberships" + }, + { + "target": "com.amazonaws.chime#ListChannelMembershipsForAppInstanceUser" + }, + { + "target": "com.amazonaws.chime#ListChannelMessages" + }, + { + "target": "com.amazonaws.chime#ListChannelModerators" + }, + { + "target": "com.amazonaws.chime#ListChannels" + }, + { + "target": "com.amazonaws.chime#ListChannelsModeratedByAppInstanceUser" + }, { "target": "com.amazonaws.chime#ListMeetings" }, @@ -11296,6 +15696,12 @@ { "target": "com.amazonaws.chime#LogoutUser" }, + { + "target": "com.amazonaws.chime#PutAppInstanceRetentionSettings" + }, + { + "target": "com.amazonaws.chime#PutAppInstanceStreamingConfigurations" + }, { "target": "com.amazonaws.chime#PutEventsConfiguration" }, @@ -11326,6 +15732,9 @@ { "target": "com.amazonaws.chime#PutVoiceConnectorTerminationCredentials" }, + { + "target": "com.amazonaws.chime#RedactChannelMessage" + }, { "target": "com.amazonaws.chime#RedactConversationMessage" }, @@ -11344,6 +15753,9 @@ { "target": "com.amazonaws.chime#SearchAvailablePhoneNumbers" }, + { + "target": "com.amazonaws.chime#SendChannelMessage" + }, { "target": "com.amazonaws.chime#TagAttendee" }, @@ -11368,9 +15780,24 @@ { "target": "com.amazonaws.chime#UpdateAccountSettings" }, + { + "target": "com.amazonaws.chime#UpdateAppInstance" + }, + { + "target": "com.amazonaws.chime#UpdateAppInstanceUser" + }, { "target": "com.amazonaws.chime#UpdateBot" }, + { + "target": "com.amazonaws.chime#UpdateChannel" + }, + { + "target": "com.amazonaws.chime#UpdateChannelMessage" + }, + { + "target": "com.amazonaws.chime#UpdateChannelReadMarker" + }, { "target": "com.amazonaws.chime#UpdateGlobalSettings" }, @@ -11419,7 +15846,7 @@ "name": "chime" }, "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

                            The Amazon Chime API (application programming interface) is designed for developers to\n perform key tasks, such as creating and managing Amazon Chime accounts, users, and Voice\n Connectors. This guide provides detailed information about the Amazon Chime API, including\n operations, types, inputs and outputs, and error codes. It also includes some server-side API\n actions to use with the Amazon Chime SDK. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the\n Amazon Chime Developer Guide.

                            \n

                            You can use an AWS SDK, the AWS Command Line Interface (AWS CLI), or the REST API to\n make API calls. We recommend using an AWS SDK or the AWS CLI. Each API operation includes\n links to information about using it with a language-specific AWS SDK or the AWS CLI.

                            \n
                            \n
                            Using an AWS SDK
                            \n
                            \n

                            You don't need to write code to calculate a signature for request\n authentication. The SDK clients authenticate your requests by using access keys that you\n provide. For more information about AWS SDKs, see the AWS Developer Center.

                            \n
                            \n
                            Using the AWS CLI
                            \n
                            \n

                            Use your access keys with the AWS CLI to make API calls. For information about\n setting up the AWS CLI, see Installing the AWS Command Line\n Interface in the AWS Command Line Interface User Guide.\n For a list of available Amazon Chime commands, see the Amazon Chime commands in the\n AWS CLI Command Reference.

                            \n
                            \n
                            Using REST API
                            \n
                            \n

                            If you use REST to make API calls, you must authenticate your request by providing\n a signature. Amazon Chime supports Signature Version 4. For more information, see Signature\n Version 4 Signing Process in the Amazon Web Services General\n Reference.

                            \n

                            When making REST API calls, use the service name chime and REST\n endpoint https://service.chime.aws.amazon.com.

                            \n
                            \n
                            \n\n

                            Administrative permissions are controlled using AWS Identity and Access Management (IAM). For more information, see Identity and Access Management for Amazon Chime in the\n Amazon Chime Administration Guide.

                            ", + "smithy.api#documentation": "

                            The Amazon Chime API (application programming interface) is designed for developers to\n perform key tasks, such as creating and managing Amazon Chime accounts, users, and Voice\n Connectors. This guide provides detailed information about the Amazon Chime API, including\n operations, types, inputs and outputs, and error codes. It also includes some server-side API\n actions to use with the Amazon Chime SDK. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the\n Amazon Chime Developer Guide.

                            \n

                            You can use an AWS SDK, the AWS Command Line Interface (AWS CLI), or the REST API to\n make API calls. We recommend using an AWS SDK or the AWS CLI. Each API operation includes\n links to information about using it with a language-specific AWS SDK or the AWS CLI.

                            \n
                            \n
                            Using an AWS SDK
                            \n
                            \n

                            You don't need to write code to calculate a signature for request\n authentication. The SDK clients authenticate your requests by using access keys that you\n provide. For more information about AWS SDKs, see the AWS Developer Center.

                            \n
                            \n
                            Using the AWS CLI
                            \n
                            \n

                            Use your access keys with the AWS CLI to make API calls. For information about\n setting up the AWS CLI, see Installing the AWS Command Line\n Interface in the AWS Command Line Interface User Guide.\n For a list of available Amazon Chime commands, see the Amazon Chime commands in the\n AWS CLI Command Reference.

                            \n\n\n
                            \n
                            Using REST
                            \n
                            \n

                            If you use REST to make API calls, you must authenticate your request by providing\n a signature. Amazon Chime supports Signature Version 4. For more information, see Signature\n Version 4 Signing Process in the Amazon Web Services General\n Reference.

                            \n

                            When making REST API calls, use the service name chime and REST\n endpoint https://service.chime.aws.amazon.com.

                            \n
                            \n
                            \n\n

                            Administrative permissions are controlled using AWS Identity and Access Management (IAM). For more information, see Identity and Access Management for Amazon Chime in the\n Amazon Chime Administration Guide.

                            ", "smithy.api#title": "Amazon Chime" } }, @@ -11514,26 +15941,273 @@ "TagKeys": { "target": "com.amazonaws.chime#AttendeeTagKeyList", "traits": { - "smithy.api#documentation": "

                            The tag keys.

                            ", + "smithy.api#documentation": "

                            The tag keys.

                            ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#UntagMeeting": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#UntagMeetingRequest" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Untags the specified tags from the specified Amazon Chime SDK meeting.

                            ", + "smithy.api#http": { + "method": "POST", + "uri": "/meetings/{MeetingId}/tags?operation=delete", + "code": 204 + } + } + }, + "com.amazonaws.chime#UntagMeetingRequest": { + "type": "structure", + "members": { + "MeetingId": { + "target": "com.amazonaws.chime#GuidString", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime SDK meeting ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "TagKeys": { + "target": "com.amazonaws.chime#MeetingTagKeyList", + "traits": { + "smithy.api#documentation": "

                            The tag keys.

                            ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#UntagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#UntagResourceRequest" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Untags the specified tags from the specified Amazon Chime SDK meeting resource.

                            ", + "smithy.api#http": { + "method": "POST", + "uri": "/tags?operation=untag-resource", + "code": 204 + } + } + }, + "com.amazonaws.chime#UntagResourceRequest": { + "type": "structure", + "members": { + "ResourceARN": { + "target": "com.amazonaws.chime#Arn", + "traits": { + "smithy.api#documentation": "

                            The resource ARN.

                            ", + "smithy.api#required": {} + } + }, + "TagKeys": { + "target": "com.amazonaws.chime#TagKeyList", + "traits": { + "smithy.api#documentation": "

                            The tag keys.

                            ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chime#UpdateAccount": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#UpdateAccountRequest" + }, + "output": { + "target": "com.amazonaws.chime#UpdateAccountResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Updates account details for the specified Amazon Chime account. Currently, only\n account name updates are supported for this action.

                            ", + "smithy.api#http": { + "method": "POST", + "uri": "/accounts/{AccountId}", + "code": 200 + } + } + }, + "com.amazonaws.chime#UpdateAccountRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.chime#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.chime#AccountName", + "traits": { + "smithy.api#documentation": "

                            The new name for the specified Amazon Chime account.

                            " + } + } + } + }, + "com.amazonaws.chime#UpdateAccountResponse": { + "type": "structure", + "members": { + "Account": { + "target": "com.amazonaws.chime#Account" + } + } + }, + "com.amazonaws.chime#UpdateAccountSettings": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#UpdateAccountSettingsRequest" + }, + "output": { + "target": "com.amazonaws.chime#UpdateAccountSettingsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ConflictException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" + }, + { + "target": "com.amazonaws.chime#NotFoundException" + }, + { + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Updates the settings for the specified Amazon Chime account. You can update settings\n for remote control of shared screens, or for the dial-out option. For more information about\n these settings, see Use the\n Policies Page in the Amazon Chime Administration\n Guide.

                            ", + "smithy.api#http": { + "method": "PUT", + "uri": "/accounts/{AccountId}/settings", + "code": 204 + } + } + }, + "com.amazonaws.chime#UpdateAccountSettingsRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.chime#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "AccountSettings": { + "target": "com.amazonaws.chime#AccountSettings", + "traits": { + "smithy.api#documentation": "

                            The Amazon Chime account settings to update.

                            ", "smithy.api#required": {} } } } }, - "com.amazonaws.chime#UntagMeeting": { + "com.amazonaws.chime#UpdateAccountSettingsResponse": { + "type": "structure", + "members": {} + }, + "com.amazonaws.chime#UpdateAppInstance": { "type": "operation", "input": { - "target": "com.amazonaws.chime#UntagMeetingRequest" + "target": "com.amazonaws.chime#UpdateAppInstanceRequest" + }, + "output": { + "target": "com.amazonaws.chime#UpdateAppInstanceResponse" }, "errors": [ { "target": "com.amazonaws.chime#BadRequestException" }, { - "target": "com.amazonaws.chime#ForbiddenException" + "target": "com.amazonaws.chime#ConflictException" }, { - "target": "com.amazonaws.chime#NotFoundException" + "target": "com.amazonaws.chime#ForbiddenException" }, { "target": "com.amazonaws.chime#ServiceFailureException" @@ -11549,48 +16223,71 @@ } ], "traits": { - "smithy.api#documentation": "

                            Untags the specified tags from the specified Amazon Chime SDK meeting.

                            ", + "smithy.api#documentation": "

                            Updates AppInstance metadata.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "identity-" + }, "smithy.api#http": { - "method": "POST", - "uri": "/meetings/{MeetingId}/tags?operation=delete", - "code": 204 + "method": "PUT", + "uri": "/app-instances/{AppInstanceArn}", + "code": 200 } } }, - "com.amazonaws.chime#UntagMeetingRequest": { + "com.amazonaws.chime#UpdateAppInstanceRequest": { "type": "structure", "members": { - "MeetingId": { - "target": "com.amazonaws.chime#GuidString", + "AppInstanceArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime SDK meeting ID.

                            ", + "smithy.api#documentation": "

                            The ARN of the app instance.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "TagKeys": { - "target": "com.amazonaws.chime#MeetingTagKeyList", + "Name": { + "target": "com.amazonaws.chime#NonEmptyResourceName", "traits": { - "smithy.api#documentation": "

                            The tag keys.

                            ", + "smithy.api#documentation": "

                            The name that you want to change.

                            ", "smithy.api#required": {} } + }, + "Metadata": { + "target": "com.amazonaws.chime#Metadata", + "traits": { + "smithy.api#documentation": "

                            The metadata that you want to change.

                            " + } } } }, - "com.amazonaws.chime#UntagResource": { + "com.amazonaws.chime#UpdateAppInstanceResponse": { + "type": "structure", + "members": { + "AppInstanceArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the app instance.

                            " + } + } + } + }, + "com.amazonaws.chime#UpdateAppInstanceUser": { "type": "operation", "input": { - "target": "com.amazonaws.chime#UntagResourceRequest" + "target": "com.amazonaws.chime#UpdateAppInstanceUserRequest" + }, + "output": { + "target": "com.amazonaws.chime#UpdateAppInstanceUserResponse" }, "errors": [ { "target": "com.amazonaws.chime#BadRequestException" }, { - "target": "com.amazonaws.chime#ForbiddenException" + "target": "com.amazonaws.chime#ConflictException" }, { - "target": "com.amazonaws.chime#NotFoundException" + "target": "com.amazonaws.chime#ForbiddenException" }, { "target": "com.amazonaws.chime#ServiceFailureException" @@ -11598,45 +16295,69 @@ { "target": "com.amazonaws.chime#ServiceUnavailableException" }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, { "target": "com.amazonaws.chime#UnauthorizedClientException" } ], "traits": { - "smithy.api#documentation": "

                            Untags the specified tags from the specified Amazon Chime SDK meeting resource.

                            ", + "smithy.api#documentation": "

                            Updates the details for an AppInstanceUser. You can update names and metadata.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "identity-" + }, "smithy.api#http": { - "method": "POST", - "uri": "/tags?operation=untag-resource", - "code": 204 + "method": "PUT", + "uri": "/app-instance-users/{AppInstanceUserArn}", + "code": 200 } } }, - "com.amazonaws.chime#UntagResourceRequest": { + "com.amazonaws.chime#UpdateAppInstanceUserRequest": { "type": "structure", "members": { - "ResourceARN": { - "target": "com.amazonaws.chime#Arn", + "AppInstanceUserArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            The resource ARN.

                            ", + "smithy.api#documentation": "

                            The ARN of the app instance user.

                            ", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "TagKeys": { - "target": "com.amazonaws.chime#TagKeyList", + "Name": { + "target": "com.amazonaws.chime#UserName", "traits": { - "smithy.api#documentation": "

                            The tag keys.

                            ", + "smithy.api#documentation": "

                            The name of the app instance user.

                            ", "smithy.api#required": {} } + }, + "Metadata": { + "target": "com.amazonaws.chime#Metadata", + "traits": { + "smithy.api#documentation": "

                            The metadata of the app instance user.

                            " + } } } }, - "com.amazonaws.chime#UpdateAccount": { + "com.amazonaws.chime#UpdateAppInstanceUserResponse": { + "type": "structure", + "members": { + "AppInstanceUserArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the app instance user.

                            " + } + } + } + }, + "com.amazonaws.chime#UpdateBot": { "type": "operation", "input": { - "target": "com.amazonaws.chime#UpdateAccountRequest" + "target": "com.amazonaws.chime#UpdateBotRequest" }, "output": { - "target": "com.amazonaws.chime#UpdateAccountResponse" + "target": "com.amazonaws.chime#UpdateBotResponse" }, "errors": [ { @@ -11662,15 +16383,15 @@ } ], "traits": { - "smithy.api#documentation": "

                            Updates account details for the specified Amazon Chime account. Currently, only\n account name updates are supported for this action.

                            ", + "smithy.api#documentation": "

                            Updates the status of the specified bot, such as starting or stopping the bot from running in your Amazon Chime Enterprise account.

                            ", "smithy.api#http": { "method": "POST", - "uri": "/accounts/{AccountId}", + "uri": "/accounts/{AccountId}/bots/{BotId}", "code": 200 } } }, - "com.amazonaws.chime#UpdateAccountRequest": { + "com.amazonaws.chime#UpdateBotRequest": { "type": "structure", "members": { "AccountId": { @@ -11681,29 +16402,40 @@ "smithy.api#required": {} } }, - "Name": { - "target": "com.amazonaws.chime#AccountName", + "BotId": { + "target": "com.amazonaws.chime#NonEmptyString", "traits": { - "smithy.api#documentation": "

                            The new name for the specified Amazon Chime account.

                            " + "smithy.api#documentation": "

                            The bot ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Disabled": { + "target": "com.amazonaws.chime#NullableBoolean", + "traits": { + "smithy.api#documentation": "

                            When true, stops the specified bot from running in your account.

                            " } } } }, - "com.amazonaws.chime#UpdateAccountResponse": { + "com.amazonaws.chime#UpdateBotResponse": { "type": "structure", "members": { - "Account": { - "target": "com.amazonaws.chime#Account" + "Bot": { + "target": "com.amazonaws.chime#Bot", + "traits": { + "smithy.api#documentation": "

                            The updated bot details.

                            " + } } } }, - "com.amazonaws.chime#UpdateAccountSettings": { + "com.amazonaws.chime#UpdateChannel": { "type": "operation", "input": { - "target": "com.amazonaws.chime#UpdateAccountSettingsRequest" + "target": "com.amazonaws.chime#UpdateChannelRequest" }, "output": { - "target": "com.amazonaws.chime#UpdateAccountSettingsResponse" + "target": "com.amazonaws.chime#UpdateChannelResponse" }, "errors": [ { @@ -11716,7 +16448,47 @@ "target": "com.amazonaws.chime#ForbiddenException" }, { - "target": "com.amazonaws.chime#NotFoundException" + "target": "com.amazonaws.chime#ServiceFailureException" + }, + { + "target": "com.amazonaws.chime#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chime#ThrottledClientException" + }, + { + "target": "com.amazonaws.chime#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Update a channel's attributes.

                            \n

                            \n Restriction: You can't change a channel's privacy.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "messaging-" + }, + "smithy.api#http": { + "method": "PUT", + "uri": "/channels/{ChannelArn}", + "code": 200 + } + } + }, + "com.amazonaws.chime#UpdateChannelMessage": { + "type": "operation", + "input": { + "target": "com.amazonaws.chime#UpdateChannelMessageRequest" + }, + "output": { + "target": "com.amazonaws.chime#UpdateChannelMessageResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chime#BadRequestException" + }, + { + "target": "com.amazonaws.chime#ConflictException" + }, + { + "target": "com.amazonaws.chime#ForbiddenException" }, { "target": "com.amazonaws.chime#ServiceFailureException" @@ -11732,55 +16504,84 @@ } ], "traits": { - "smithy.api#documentation": "

                            Updates the settings for the specified Amazon Chime account. You can update settings\n for remote control of shared screens, or for the dial-out option. For more information about\n these settings, see Use the\n Policies Page in the Amazon Chime Administration\n Guide.

                            ", + "smithy.api#documentation": "

                            Updates the content of a message.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "messaging-" + }, "smithy.api#http": { "method": "PUT", - "uri": "/accounts/{AccountId}/settings", - "code": 204 + "uri": "/channels/{ChannelArn}/messages/{MessageId}", + "code": 200 } } }, - "com.amazonaws.chime#UpdateAccountSettingsRequest": { + "com.amazonaws.chime#UpdateChannelMessageRequest": { "type": "structure", "members": { - "AccountId": { - "target": "com.amazonaws.chime#NonEmptyString", + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", + "smithy.api#documentation": "

                            The ARN of the channel.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "AccountSettings": { - "target": "com.amazonaws.chime#AccountSettings", + "MessageId": { + "target": "com.amazonaws.chime#MessageId", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime account settings to update.

                            ", + "smithy.api#documentation": "

                            The ID string of the message being updated.

                            ", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } + }, + "Content": { + "target": "com.amazonaws.chime#Content", + "traits": { + "smithy.api#documentation": "

                            The content of the message being updated.

                            " + } + }, + "Metadata": { + "target": "com.amazonaws.chime#Metadata", + "traits": { + "smithy.api#documentation": "

                            The metadata of the message being updated.

                            " + } } } }, - "com.amazonaws.chime#UpdateAccountSettingsResponse": { + "com.amazonaws.chime#UpdateChannelMessageResponse": { "type": "structure", - "members": {} + "members": { + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the channel.

                            " + } + }, + "MessageId": { + "target": "com.amazonaws.chime#MessageId", + "traits": { + "smithy.api#documentation": "

                            The ID string of the message being updated.

                            " + } + } + } }, - "com.amazonaws.chime#UpdateBot": { + "com.amazonaws.chime#UpdateChannelReadMarker": { "type": "operation", "input": { - "target": "com.amazonaws.chime#UpdateBotRequest" + "target": "com.amazonaws.chime#UpdateChannelReadMarkerRequest" }, "output": { - "target": "com.amazonaws.chime#UpdateBotResponse" + "target": "com.amazonaws.chime#UpdateChannelReadMarkerResponse" }, "errors": [ { "target": "com.amazonaws.chime#BadRequestException" }, { - "target": "com.amazonaws.chime#ForbiddenException" + "target": "com.amazonaws.chime#ConflictException" }, { - "target": "com.amazonaws.chime#NotFoundException" + "target": "com.amazonaws.chime#ForbiddenException" }, { "target": "com.amazonaws.chime#ServiceFailureException" @@ -11796,48 +16597,81 @@ } ], "traits": { - "smithy.api#documentation": "

                            Updates the status of the specified bot, such as starting or stopping the bot from running in your Amazon Chime Enterprise account.

                            ", + "smithy.api#documentation": "

                            Sets the timestamp to the point when a user last read messages in a channel.

                            ", + "smithy.api#endpoint": { + "hostPrefix": "messaging-" + }, "smithy.api#http": { - "method": "POST", - "uri": "/accounts/{AccountId}/bots/{BotId}", + "method": "PUT", + "uri": "/channels/{ChannelArn}/readMarker", "code": 200 } } }, - "com.amazonaws.chime#UpdateBotRequest": { + "com.amazonaws.chime#UpdateChannelReadMarkerRequest": { "type": "structure", "members": { - "AccountId": { - "target": "com.amazonaws.chime#NonEmptyString", + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            The Amazon Chime account ID.

                            ", + "smithy.api#documentation": "

                            The ARN of the channel.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } - }, - "BotId": { - "target": "com.amazonaws.chime#NonEmptyString", + } + } + }, + "com.amazonaws.chime#UpdateChannelReadMarkerResponse": { + "type": "structure", + "members": { + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            The bot ID.

                            ", + "smithy.api#documentation": "

                            The ARN of the channel.

                            " + } + } + } + }, + "com.amazonaws.chime#UpdateChannelRequest": { + "type": "structure", + "members": { + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the channel.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "Disabled": { - "target": "com.amazonaws.chime#NullableBoolean", + "Name": { + "target": "com.amazonaws.chime#NonEmptyResourceName", "traits": { - "smithy.api#documentation": "

                            When true, stops the specified bot from running in your account.

                            " + "smithy.api#documentation": "

                            The name of the channel.

                            ", + "smithy.api#required": {} + } + }, + "Mode": { + "target": "com.amazonaws.chime#ChannelMode", + "traits": { + "smithy.api#documentation": "

                            The mode of the update request.

                            ", + "smithy.api#required": {} + } + }, + "Metadata": { + "target": "com.amazonaws.chime#Metadata", + "traits": { + "smithy.api#documentation": "

                            The metadata of the channel.

                            " } } } }, - "com.amazonaws.chime#UpdateBotResponse": { + "com.amazonaws.chime#UpdateChannelResponse": { "type": "structure", "members": { - "Bot": { - "target": "com.amazonaws.chime#Bot", + "ChannelArn": { + "target": "com.amazonaws.chime#ChimeArn", "traits": { - "smithy.api#documentation": "

                            The updated bot details.

                            " + "smithy.api#documentation": "

                            The ARN of the channel.

                            " } } } @@ -12835,6 +17669,15 @@ } } }, + "com.amazonaws.chime#UrlType": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 4096 + } + } + }, "com.amazonaws.chime#User": { "type": "structure", "members": { @@ -12966,6 +17809,17 @@ "target": "com.amazonaws.chime#UserError" } }, + "com.amazonaws.chime#UserId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 50 + }, + "smithy.api#pattern": "[A-Za-z0-9][A-Za-z0-9\\:\\-\\_\\.\\@]{3,50}[A-Za-z0-9]", + "smithy.api#sensitive": {} + } + }, "com.amazonaws.chime#UserIdList": { "type": "list", "member": { @@ -12984,6 +17838,17 @@ "target": "com.amazonaws.chime#User" } }, + "com.amazonaws.chime#UserName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + }, + "smithy.api#pattern": ".*\\S.*", + "smithy.api#sensitive": {} + } + }, "com.amazonaws.chime#UserSettings": { "type": "structure", "members": { diff --git a/codegen/sdk-codegen/aws-models/cloudhsm-v2.2017-04-28.json b/codegen/sdk-codegen/aws-models/cloudhsm-v2.2017-04-28.json index e1ce5aa7b2fd..749cffdc462c 100644 --- a/codegen/sdk-codegen/aws-models/cloudhsm-v2.2017-04-28.json +++ b/codegen/sdk-codegen/aws-models/cloudhsm-v2.2017-04-28.json @@ -39,22 +39,16 @@ "smithy.api#required": {} } }, - "CopyTimestamp": { - "target": "com.amazonaws.cloudhsmv2#Timestamp", - "traits": { - "smithy.api#documentation": "

                            The date and time when the backup was copied from a source backup.

                            " - } - }, - "SourceRegion": { - "target": "com.amazonaws.cloudhsmv2#Region", + "BackupState": { + "target": "com.amazonaws.cloudhsmv2#BackupState", "traits": { - "smithy.api#documentation": "

                            The AWS Region that contains the source backup from which the new backup was\n copied.

                            " + "smithy.api#documentation": "

                            The state of the backup.

                            " } }, - "SourceCluster": { + "ClusterId": { "target": "com.amazonaws.cloudhsmv2#ClusterId", "traits": { - "smithy.api#documentation": "

                            The identifier (ID) of the cluster containing the source backup from which the new\n backup was copied.

                            " + "smithy.api#documentation": "

                            The identifier (ID) of the cluster that was backed up.

                            " } }, "CreateTimestamp": { @@ -63,22 +57,34 @@ "smithy.api#documentation": "

                            The date and time when the backup was created.

                            " } }, - "SourceBackup": { - "target": "com.amazonaws.cloudhsmv2#BackupId", + "CopyTimestamp": { + "target": "com.amazonaws.cloudhsmv2#Timestamp", "traits": { - "smithy.api#documentation": "

                            The identifier (ID) of the source backup from which the new backup was\n copied.

                            " + "smithy.api#documentation": "

                            The date and time when the backup was copied from a source backup.

                            " } }, - "BackupState": { - "target": "com.amazonaws.cloudhsmv2#BackupState", + "NeverExpires": { + "target": "com.amazonaws.cloudhsmv2#Boolean", "traits": { - "smithy.api#documentation": "

                            The state of the backup.

                            " + "smithy.api#documentation": "

                            Specifies whether the service should exempt a backup from the retention policy for the cluster. True exempts \n a backup from the retention policy. False means the service applies the backup retention policy defined at the cluster.

                            " } }, - "ClusterId": { + "SourceRegion": { + "target": "com.amazonaws.cloudhsmv2#Region", + "traits": { + "smithy.api#documentation": "

                            The AWS Region that contains the source backup from which the new backup was\n copied.

                            " + } + }, + "SourceBackup": { + "target": "com.amazonaws.cloudhsmv2#BackupId", + "traits": { + "smithy.api#documentation": "

                            The identifier (ID) of the source backup from which the new backup was\n copied.

                            " + } + }, + "SourceCluster": { "target": "com.amazonaws.cloudhsmv2#ClusterId", "traits": { - "smithy.api#documentation": "

                            The identifier (ID) of the cluster that was backed up.

                            " + "smithy.api#documentation": "

                            The identifier (ID) of the cluster containing the source backup from which the new\n backup was copied.

                            " } }, "DeleteTimestamp": { @@ -95,7 +101,7 @@ } }, "traits": { - "smithy.api#documentation": "

                            Contains information about a backup of an AWS CloudHSM cluster. All backup objects\n contain the BackupId, BackupState, ClusterId, and CreateTimestamp parameters. Backups that were copied\n into a destination region additionally contain the CopyTimestamp, SourceBackup, SourceCluster,\n and SourceRegion paramters. A backup that is pending deletion will include the DeleteTimestamp parameter.

                            " + "smithy.api#documentation": "

                            Contains information about a backup of an AWS CloudHSM cluster. All backup objects\n contain the BackupId, BackupState, ClusterId, and\n CreateTimestamp parameters. Backups that were copied into a destination region\n additionally contain the CopyTimestamp, SourceBackup,\n SourceCluster, and SourceRegion parameters. A backup that is\n pending deletion will include the DeleteTimestamp parameter.

                            " } }, "com.amazonaws.cloudhsmv2#BackupId": { @@ -115,6 +121,47 @@ ] } }, + "com.amazonaws.cloudhsmv2#BackupRetentionPolicy": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.cloudhsmv2#BackupRetentionType", + "traits": { + "smithy.api#documentation": "

                            The type of backup retention policy. For the DAYS type, the value is \n the number of days to retain backups.

                            " + } + }, + "Value": { + "target": "com.amazonaws.cloudhsmv2#BackupRetentionValue", + "traits": { + "smithy.api#documentation": "

                            Use a value between 7 - 379.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            A policy that defines the number of days to retain backups.

                            " + } + }, + "com.amazonaws.cloudhsmv2#BackupRetentionType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "DAYS", + "name": "DAYS" + } + ] + } + }, + "com.amazonaws.cloudhsmv2#BackupRetentionValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 3 + }, + "smithy.api#pattern": "[0-9]+" + } + }, "com.amazonaws.cloudhsmv2#BackupState": { "type": "string", "traits": { @@ -144,6 +191,16 @@ "target": "com.amazonaws.cloudhsmv2#Backup" } }, + "com.amazonaws.cloudhsmv2#BackupsMaxSize": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 1, + "max": 50 + } + } + }, "com.amazonaws.cloudhsmv2#BaldrApiService": { "type": "service", "version": "2017-04-28", @@ -178,6 +235,12 @@ { "target": "com.amazonaws.cloudhsmv2#ListTags" }, + { + "target": "com.amazonaws.cloudhsmv2#ModifyBackupAttributes" + }, + { + "target": "com.amazonaws.cloudhsmv2#ModifyCluster" + }, { "target": "com.amazonaws.cloudhsmv2#RestoreBackup" }, @@ -222,22 +285,22 @@ "com.amazonaws.cloudhsmv2#Certificates": { "type": "structure", "members": { - "HsmCertificate": { + "ClusterCsr": { "target": "com.amazonaws.cloudhsmv2#Cert", "traits": { - "smithy.api#documentation": "

                            The HSM certificate issued (signed) by the HSM hardware.

                            " + "smithy.api#documentation": "

                            The cluster's certificate signing request (CSR). The CSR exists only when the cluster's\n state is UNINITIALIZED.

                            " } }, - "ClusterCsr": { + "HsmCertificate": { "target": "com.amazonaws.cloudhsmv2#Cert", "traits": { - "smithy.api#documentation": "

                            The cluster's certificate signing request (CSR). The CSR exists only when the cluster's\n state is UNINITIALIZED.

                            " + "smithy.api#documentation": "

                            The HSM certificate issued (signed) by the HSM hardware.

                            " } }, - "ClusterCertificate": { + "AwsHardwareCertificate": { "target": "com.amazonaws.cloudhsmv2#Cert", "traits": { - "smithy.api#documentation": "

                            The cluster certificate issued (signed) by the issuing certificate authority (CA) of\n the cluster's owner.

                            " + "smithy.api#documentation": "

                            The HSM hardware certificate issued (signed) by AWS CloudHSM.

                            " } }, "ManufacturerHardwareCertificate": { @@ -246,10 +309,10 @@ "smithy.api#documentation": "

                            The HSM hardware certificate issued (signed) by the hardware manufacturer.

                            " } }, - "AwsHardwareCertificate": { + "ClusterCertificate": { "target": "com.amazonaws.cloudhsmv2#Cert", "traits": { - "smithy.api#documentation": "

                            The HSM hardware certificate issued (signed) by AWS CloudHSM.

                            " + "smithy.api#documentation": "

                            The cluster certificate issued (signed) by the issuing certificate authority (CA) of\n the cluster's owner.

                            " } } }, @@ -332,58 +395,58 @@ "com.amazonaws.cloudhsmv2#Cluster": { "type": "structure", "members": { - "HsmType": { - "target": "com.amazonaws.cloudhsmv2#HsmType", + "BackupPolicy": { + "target": "com.amazonaws.cloudhsmv2#BackupPolicy", "traits": { - "smithy.api#documentation": "

                            The type of HSM that the cluster contains.

                            " + "smithy.api#documentation": "

                            The cluster's backup policy.

                            " } }, - "VpcId": { - "target": "com.amazonaws.cloudhsmv2#VpcId", + "BackupRetentionPolicy": { + "target": "com.amazonaws.cloudhsmv2#BackupRetentionPolicy", "traits": { - "smithy.api#documentation": "

                            The identifier (ID) of the virtual private cloud (VPC) that contains the\n cluster.

                            " + "smithy.api#documentation": "

                            A policy that defines how the service retains backups.

                            " } }, - "PreCoPassword": { - "target": "com.amazonaws.cloudhsmv2#PreCoPassword", + "ClusterId": { + "target": "com.amazonaws.cloudhsmv2#ClusterId", "traits": { - "smithy.api#documentation": "

                            The default password for the cluster's Pre-Crypto Officer (PRECO) user.

                            " + "smithy.api#documentation": "

                            The cluster's identifier (ID).

                            " } }, - "TagList": { - "target": "com.amazonaws.cloudhsmv2#TagList", + "CreateTimestamp": { + "target": "com.amazonaws.cloudhsmv2#Timestamp", "traits": { - "smithy.api#documentation": "

                            The list of tags for the cluster.

                            " + "smithy.api#documentation": "

                            The date and time when the cluster was created.

                            " } }, - "SourceBackupId": { - "target": "com.amazonaws.cloudhsmv2#BackupId", + "Hsms": { + "target": "com.amazonaws.cloudhsmv2#Hsms", "traits": { - "smithy.api#documentation": "

                            The identifier (ID) of the backup used to create the cluster. This value exists only\n when the cluster was created from a backup.

                            " + "smithy.api#documentation": "

                            Contains information about the HSMs in the cluster.

                            " } }, - "SecurityGroup": { - "target": "com.amazonaws.cloudhsmv2#SecurityGroup", + "HsmType": { + "target": "com.amazonaws.cloudhsmv2#HsmType", "traits": { - "smithy.api#documentation": "

                            The identifier (ID) of the cluster's security group.

                            " + "smithy.api#documentation": "

                            The type of HSM that the cluster contains.

                            " } }, - "Hsms": { - "target": "com.amazonaws.cloudhsmv2#Hsms", + "PreCoPassword": { + "target": "com.amazonaws.cloudhsmv2#PreCoPassword", "traits": { - "smithy.api#documentation": "

                            Contains information about the HSMs in the cluster.

                            " + "smithy.api#documentation": "

                            The default password for the cluster's Pre-Crypto Officer (PRECO) user.

                            " } }, - "Certificates": { - "target": "com.amazonaws.cloudhsmv2#Certificates", + "SecurityGroup": { + "target": "com.amazonaws.cloudhsmv2#SecurityGroup", "traits": { - "smithy.api#documentation": "

                            Contains one or more certificates or a certificate signing request (CSR).

                            " + "smithy.api#documentation": "

                            The identifier (ID) of the cluster's security group.

                            " } }, - "ClusterId": { - "target": "com.amazonaws.cloudhsmv2#ClusterId", + "SourceBackupId": { + "target": "com.amazonaws.cloudhsmv2#BackupId", "traits": { - "smithy.api#documentation": "

                            The cluster's identifier (ID).

                            " + "smithy.api#documentation": "

                            The identifier (ID) of the backup used to create the cluster. This value exists only\n when the cluster was created from a backup.

                            " } }, "State": { @@ -392,28 +455,34 @@ "smithy.api#documentation": "

                            The cluster's state.

                            " } }, + "StateMessage": { + "target": "com.amazonaws.cloudhsmv2#StateMessage", + "traits": { + "smithy.api#documentation": "

                            A description of the cluster's state.

                            " + } + }, "SubnetMapping": { "target": "com.amazonaws.cloudhsmv2#ExternalSubnetMapping", "traits": { "smithy.api#documentation": "

                            A map from availability zone to the cluster’s subnet in that availability zone.

                            " } }, - "BackupPolicy": { - "target": "com.amazonaws.cloudhsmv2#BackupPolicy", + "VpcId": { + "target": "com.amazonaws.cloudhsmv2#VpcId", "traits": { - "smithy.api#documentation": "

                            The cluster's backup policy.

                            " + "smithy.api#documentation": "

                            The identifier (ID) of the virtual private cloud (VPC) that contains the\n cluster.

                            " } }, - "CreateTimestamp": { - "target": "com.amazonaws.cloudhsmv2#Timestamp", + "Certificates": { + "target": "com.amazonaws.cloudhsmv2#Certificates", "traits": { - "smithy.api#documentation": "

                            The date and time when the cluster was created.

                            " + "smithy.api#documentation": "

                            Contains one or more certificates or a certificate signing request (CSR).

                            " } }, - "StateMessage": { - "target": "com.amazonaws.cloudhsmv2#StateMessage", + "TagList": { + "target": "com.amazonaws.cloudhsmv2#TagList", "traits": { - "smithy.api#documentation": "

                            A description of the cluster's state.

                            " + "smithy.api#documentation": "

                            The list of tags for the cluster.

                            " } } }, @@ -476,6 +545,16 @@ "target": "com.amazonaws.cloudhsmv2#Cluster" } }, + "com.amazonaws.cloudhsmv2#ClustersMaxSize": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 1, + "max": 25 + } + } + }, "com.amazonaws.cloudhsmv2#CopyBackupToRegion": { "type": "operation", "input": { @@ -511,17 +590,17 @@ "com.amazonaws.cloudhsmv2#CopyBackupToRegionRequest": { "type": "structure", "members": { - "BackupId": { - "target": "com.amazonaws.cloudhsmv2#BackupId", + "DestinationRegion": { + "target": "com.amazonaws.cloudhsmv2#Region", "traits": { - "smithy.api#documentation": "

                            The ID of the backup that will be copied to the destination region.

                            ", + "smithy.api#documentation": "

                            The AWS region that will contain your copied CloudHSM cluster backup.

                            ", "smithy.api#required": {} } }, - "DestinationRegion": { - "target": "com.amazonaws.cloudhsmv2#Region", + "BackupId": { + "target": "com.amazonaws.cloudhsmv2#BackupId", "traits": { - "smithy.api#documentation": "

                            The AWS region that will contain your copied CloudHSM cluster backup.

                            ", + "smithy.api#documentation": "

                            The ID of the backup that will be copied to the destination region.

                            ", "smithy.api#required": {} } }, @@ -579,10 +658,10 @@ "com.amazonaws.cloudhsmv2#CreateClusterRequest": { "type": "structure", "members": { - "TagList": { - "target": "com.amazonaws.cloudhsmv2#TagList", + "BackupRetentionPolicy": { + "target": "com.amazonaws.cloudhsmv2#BackupRetentionPolicy", "traits": { - "smithy.api#documentation": "

                            Tags to apply to the CloudHSM cluster during creation.

                            " + "smithy.api#documentation": "

                            A policy that defines how the service retains backups.

                            " } }, "HsmType": { @@ -604,6 +683,12 @@ "smithy.api#documentation": "

                            The identifiers (IDs) of the subnets where you are creating the cluster. You must\n specify at least one subnet. If you specify multiple subnets, they must meet the following\n criteria:

                            \n
                              \n
                            • \n

                              All subnets must be in the same virtual private cloud (VPC).

                              \n
                            • \n
                            • \n

                              You can specify only one subnet per Availability Zone.

                              \n
                            • \n
                            ", "smithy.api#required": {} } + }, + "TagList": { + "target": "com.amazonaws.cloudhsmv2#TagList", + "traits": { + "smithy.api#documentation": "

                            Tags to apply to the CloudHSM cluster during creation.

                            " + } } } }, @@ -650,12 +735,6 @@ "com.amazonaws.cloudhsmv2#CreateHsmRequest": { "type": "structure", "members": { - "IpAddress": { - "target": "com.amazonaws.cloudhsmv2#IpAddress", - "traits": { - "smithy.api#documentation": "

                            The HSM's IP address. If you specify an IP address, use an available address from the\n subnet that maps to the Availability Zone where you are creating the HSM. If you don't specify\n an IP address, one is chosen for you from that subnet.

                            " - } - }, "ClusterId": { "target": "com.amazonaws.cloudhsmv2#ClusterId", "traits": { @@ -669,6 +748,12 @@ "smithy.api#documentation": "

                            The Availability Zone where you are creating the HSM. To find the cluster's\n Availability Zones, use DescribeClusters.

                            ", "smithy.api#required": {} } + }, + "IpAddress": { + "target": "com.amazonaws.cloudhsmv2#IpAddress", + "traits": { + "smithy.api#documentation": "

                            The HSM's IP address. If you specify an IP address, use an available address from the\n subnet that maps to the Availability Zone where you are creating the HSM. If you don't specify\n an IP address, one is chosen for you from that subnet.

                            " + } } } }, @@ -829,12 +914,6 @@ "smithy.api#required": {} } }, - "EniIp": { - "target": "com.amazonaws.cloudhsmv2#IpAddress", - "traits": { - "smithy.api#documentation": "

                            The IP address of the elastic network interface (ENI) of the HSM that you are\n deleting.

                            " - } - }, "HsmId": { "target": "com.amazonaws.cloudhsmv2#HsmId", "traits": { @@ -846,6 +925,12 @@ "traits": { "smithy.api#documentation": "

                            The identifier (ID) of the elastic network interface (ENI) of the HSM that you are\n deleting.

                            " } + }, + "EniIp": { + "target": "com.amazonaws.cloudhsmv2#IpAddress", + "traits": { + "smithy.api#documentation": "

                            The IP address of the elastic network interface (ENI) of the HSM that you are\n deleting.

                            " + } } } }, @@ -907,21 +992,21 @@ } }, "MaxResults": { - "target": "com.amazonaws.cloudhsmv2#MaxSize", + "target": "com.amazonaws.cloudhsmv2#BackupsMaxSize", "traits": { "smithy.api#documentation": "

                            The maximum number of backups to return in the response. When there are more backups\n than the number you specify, the response contains a NextToken value.

                            " } }, - "SortAscending": { - "target": "com.amazonaws.cloudhsmv2#Boolean", + "Filters": { + "target": "com.amazonaws.cloudhsmv2#Filters", "traits": { - "smithy.api#documentation": "

                            Designates whether or not to sort the return backups by ascending chronological order\n of generation.

                            " + "smithy.api#documentation": "

                            One or more filters to limit the items returned in the response.

                            \n

                            Use the backupIds filter to return only the specified backups. Specify\n backups by their backup identifier (ID).

                            \n

                            Use the sourceBackupIds filter to return only the backups created from a\n source backup. The sourceBackupID of a source backup is returned by the CopyBackupToRegion operation.

                            \n

                            Use the clusterIds filter to return only the backups for the specified\n clusters. Specify clusters by their cluster identifier (ID).

                            \n

                            Use the states filter to return only backups that match the specified\n state.

                            \n

                            Use the neverExpires filter to return backups filtered by the value in the\n neverExpires parameter. True returns all backups exempt from the\n backup retention policy. False returns all backups with a backup retention policy\n defined at the cluster.

                            " } }, - "Filters": { - "target": "com.amazonaws.cloudhsmv2#Filters", + "SortAscending": { + "target": "com.amazonaws.cloudhsmv2#Boolean", "traits": { - "smithy.api#documentation": "

                            One or more filters to limit the items returned in the response.

                            \n

                            Use the backupIds filter to return only the specified backups. Specify\n backups by their backup identifier (ID).

                            \n

                            Use the sourceBackupIds filter to return only the backups created from a\n source backup. The sourceBackupID of a source backup is returned by the CopyBackupToRegion operation.

                            \n

                            Use the clusterIds filter to return only the backups for the specified\n clusters. Specify clusters by their cluster identifier (ID).

                            \n

                            Use the states filter to return only backups that match the specified\n state.

                            " + "smithy.api#documentation": "

                            Designates whether or not to sort the return backups by ascending chronological order\n of generation.

                            " } } } @@ -929,17 +1014,17 @@ "com.amazonaws.cloudhsmv2#DescribeBackupsResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.cloudhsmv2#NextToken", - "traits": { - "smithy.api#documentation": "

                            An opaque string that indicates that the response contains only a subset of backups.\n Use this value in a subsequent DescribeBackups request to get more\n backups.

                            " - } - }, "Backups": { "target": "com.amazonaws.cloudhsmv2#Backups", "traits": { "smithy.api#documentation": "

                            A list of backups.

                            " } + }, + "NextToken": { + "target": "com.amazonaws.cloudhsmv2#NextToken", + "traits": { + "smithy.api#documentation": "

                            An opaque string that indicates that the response contains only a subset of backups.\n Use this value in a subsequent DescribeBackups request to get more\n backups.

                            " + } } } }, @@ -980,10 +1065,10 @@ "com.amazonaws.cloudhsmv2#DescribeClustersRequest": { "type": "structure", "members": { - "MaxResults": { - "target": "com.amazonaws.cloudhsmv2#MaxSize", + "Filters": { + "target": "com.amazonaws.cloudhsmv2#Filters", "traits": { - "smithy.api#documentation": "

                            The maximum number of clusters to return in the response. When there are more clusters\n than the number you specify, the response contains a NextToken value.

                            " + "smithy.api#documentation": "

                            One or more filters to limit the items returned in the response.

                            \n

                            Use the clusterIds filter to return only the specified clusters. Specify\n clusters by their cluster identifier (ID).

                            \n

                            Use the vpcIds filter to return only the clusters in the specified virtual\n private clouds (VPCs). Specify VPCs by their VPC identifier (ID).

                            \n

                            Use the states filter to return only clusters that match the specified\n state.

                            " } }, "NextToken": { @@ -992,10 +1077,10 @@ "smithy.api#documentation": "

                            The NextToken value that you received in the previous response. Use this\n value to get more clusters.

                            " } }, - "Filters": { - "target": "com.amazonaws.cloudhsmv2#Filters", + "MaxResults": { + "target": "com.amazonaws.cloudhsmv2#ClustersMaxSize", "traits": { - "smithy.api#documentation": "

                            One or more filters to limit the items returned in the response.

                            \n

                            Use the clusterIds filter to return only the specified clusters. Specify\n clusters by their cluster identifier (ID).

                            \n

                            Use the vpcIds filter to return only the clusters in the specified virtual\n private clouds (VPCs). Specify VPCs by their VPC identifier (ID).

                            \n

                            Use the states filter to return only clusters that match the specified\n state.

                            " + "smithy.api#documentation": "

                            The maximum number of clusters to return in the response. When there are more clusters\n than the number you specify, the response contains a NextToken value.

                            " } } } @@ -1003,35 +1088,23 @@ "com.amazonaws.cloudhsmv2#DescribeClustersResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.cloudhsmv2#NextToken", - "traits": { - "smithy.api#documentation": "

                            An opaque string that indicates that the response contains only a subset of clusters.\n Use this value in a subsequent DescribeClusters request to get more\n clusters.

                            " - } - }, "Clusters": { "target": "com.amazonaws.cloudhsmv2#Clusters", "traits": { "smithy.api#documentation": "

                            A list of clusters.

                            " } + }, + "NextToken": { + "target": "com.amazonaws.cloudhsmv2#NextToken", + "traits": { + "smithy.api#documentation": "

                            An opaque string that indicates that the response contains only a subset of clusters.\n Use this value in a subsequent DescribeClusters request to get more\n clusters.

                            " + } } } }, "com.amazonaws.cloudhsmv2#DestinationBackup": { "type": "structure", "members": { - "SourceCluster": { - "target": "com.amazonaws.cloudhsmv2#ClusterId", - "traits": { - "smithy.api#documentation": "

                            The identifier (ID) of the cluster containing the source backup from which the new backup was copied.

                            " - } - }, - "SourceBackup": { - "target": "com.amazonaws.cloudhsmv2#BackupId", - "traits": { - "smithy.api#documentation": "

                            The identifier (ID) of the source backup from which the new backup was copied.

                            " - } - }, "CreateTimestamp": { "target": "com.amazonaws.cloudhsmv2#Timestamp", "traits": { @@ -1043,6 +1116,18 @@ "traits": { "smithy.api#documentation": "

                            The AWS region that contains the source backup from which the new backup was copied.

                            " } + }, + "SourceBackup": { + "target": "com.amazonaws.cloudhsmv2#BackupId", + "traits": { + "smithy.api#documentation": "

                            The identifier (ID) of the source backup from which the new backup was copied.

                            " + } + }, + "SourceCluster": { + "target": "com.amazonaws.cloudhsmv2#ClusterId", + "traits": { + "smithy.api#documentation": "

                            The identifier (ID) of the cluster containing the source backup from which the new backup was copied.

                            " + } } }, "traits": { @@ -1088,17 +1173,16 @@ "com.amazonaws.cloudhsmv2#Hsm": { "type": "structure", "members": { - "HsmId": { - "target": "com.amazonaws.cloudhsmv2#HsmId", + "AvailabilityZone": { + "target": "com.amazonaws.cloudhsmv2#ExternalAz", "traits": { - "smithy.api#documentation": "

                            The HSM's identifier (ID).

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The Availability Zone that contains the HSM.

                            " } }, - "EniId": { - "target": "com.amazonaws.cloudhsmv2#EniId", + "ClusterId": { + "target": "com.amazonaws.cloudhsmv2#ClusterId", "traits": { - "smithy.api#documentation": "

                            The identifier (ID) of the HSM's elastic network interface (ENI).

                            " + "smithy.api#documentation": "

                            The identifier (ID) of the cluster that contains the HSM.

                            " } }, "SubnetId": { @@ -1107,16 +1191,10 @@ "smithy.api#documentation": "

                            The subnet that contains the HSM's elastic network interface (ENI).

                            " } }, - "State": { - "target": "com.amazonaws.cloudhsmv2#HsmState", - "traits": { - "smithy.api#documentation": "

                            The HSM's state.

                            " - } - }, - "AvailabilityZone": { - "target": "com.amazonaws.cloudhsmv2#ExternalAz", + "EniId": { + "target": "com.amazonaws.cloudhsmv2#EniId", "traits": { - "smithy.api#documentation": "

                            The Availability Zone that contains the HSM.

                            " + "smithy.api#documentation": "

                            The identifier (ID) of the HSM's elastic network interface (ENI).

                            " } }, "EniIp": { @@ -1125,16 +1203,23 @@ "smithy.api#documentation": "

                            The IP address of the HSM's elastic network interface (ENI).

                            " } }, - "StateMessage": { - "target": "com.amazonaws.cloudhsmv2#String", + "HsmId": { + "target": "com.amazonaws.cloudhsmv2#HsmId", "traits": { - "smithy.api#documentation": "

                            A description of the HSM's state.

                            " + "smithy.api#documentation": "

                            The HSM's identifier (ID).

                            ", + "smithy.api#required": {} } }, - "ClusterId": { - "target": "com.amazonaws.cloudhsmv2#ClusterId", + "State": { + "target": "com.amazonaws.cloudhsmv2#HsmState", "traits": { - "smithy.api#documentation": "

                            The identifier (ID) of the cluster that contains the HSM.

                            " + "smithy.api#documentation": "

                            The HSM's state.

                            " + } + }, + "StateMessage": { + "target": "com.amazonaws.cloudhsmv2#String", + "traits": { + "smithy.api#documentation": "

                            A description of the HSM's state.

                            " } } }, @@ -1226,17 +1311,17 @@ "smithy.api#required": {} } }, - "TrustAnchor": { + "SignedCert": { "target": "com.amazonaws.cloudhsmv2#Cert", "traits": { - "smithy.api#documentation": "

                            The issuing certificate of the issuing certificate authority (CA) that issued (signed)\n the cluster certificate. You must use a self-signed certificate. The certificate used to sign the HSM CSR must be directly available, and thus must be the\n root certificate. The certificate must be in PEM format and can contain a\n maximum of 5000 characters.

                            ", + "smithy.api#documentation": "

                            The cluster certificate issued (signed) by your issuing certificate authority (CA). The\n certificate must be in PEM format and can contain a maximum of 5000 characters.

                            ", "smithy.api#required": {} } }, - "SignedCert": { + "TrustAnchor": { "target": "com.amazonaws.cloudhsmv2#Cert", "traits": { - "smithy.api#documentation": "

                            The cluster certificate issued (signed) by your issuing certificate authority (CA). The\n certificate must be in PEM format and can contain a maximum of 5000 characters.

                            ", + "smithy.api#documentation": "

                            The issuing certificate of the issuing certificate authority (CA) that issued (signed)\n the cluster certificate. You must use a self-signed certificate. The certificate used to sign the HSM CSR must be directly available, and thus must be the\n root certificate. The certificate must be in PEM format and can contain a\n maximum of 5000 characters.

                            ", "smithy.api#required": {} } } @@ -1245,17 +1330,17 @@ "com.amazonaws.cloudhsmv2#InitializeClusterResponse": { "type": "structure", "members": { - "StateMessage": { - "target": "com.amazonaws.cloudhsmv2#StateMessage", - "traits": { - "smithy.api#documentation": "

                            A description of the cluster's state.

                            " - } - }, "State": { "target": "com.amazonaws.cloudhsmv2#ClusterState", "traits": { "smithy.api#documentation": "

                            The cluster's state.

                            " } + }, + "StateMessage": { + "target": "com.amazonaws.cloudhsmv2#StateMessage", + "traits": { + "smithy.api#documentation": "

                            A description of the cluster's state.

                            " + } } } }, @@ -1305,6 +1390,13 @@ "com.amazonaws.cloudhsmv2#ListTagsRequest": { "type": "structure", "members": { + "ResourceId": { + "target": "com.amazonaws.cloudhsmv2#ResourceId", + "traits": { + "smithy.api#documentation": "

                            The cluster identifier (ID) for the cluster whose tags you are getting. To find the\n cluster ID, use DescribeClusters.

                            ", + "smithy.api#required": {} + } + }, "NextToken": { "target": "com.amazonaws.cloudhsmv2#NextToken", "traits": { @@ -1316,31 +1408,24 @@ "traits": { "smithy.api#documentation": "

                            The maximum number of tags to return in the response. When there are more tags than the\n number you specify, the response contains a NextToken value.

                            " } - }, - "ResourceId": { - "target": "com.amazonaws.cloudhsmv2#ResourceId", - "traits": { - "smithy.api#documentation": "

                            The cluster identifier (ID) for the cluster whose tags you are getting. To find the\n cluster ID, use DescribeClusters.

                            ", - "smithy.api#required": {} - } } } }, "com.amazonaws.cloudhsmv2#ListTagsResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.cloudhsmv2#NextToken", - "traits": { - "smithy.api#documentation": "

                            An opaque string that indicates that the response contains only a subset of tags. Use\n this value in a subsequent ListTags request to get more tags.

                            " - } - }, "TagList": { "target": "com.amazonaws.cloudhsmv2#TagList", "traits": { "smithy.api#documentation": "

                            A list of tags.

                            ", "smithy.api#required": {} } + }, + "NextToken": { + "target": "com.amazonaws.cloudhsmv2#NextToken", + "traits": { + "smithy.api#documentation": "

                            An opaque string that indicates that the response contains only a subset of tags. Use\n this value in a subsequent ListTags request to get more tags.

                            " + } } } }, @@ -1354,6 +1439,118 @@ } } }, + "com.amazonaws.cloudhsmv2#ModifyBackupAttributes": { + "type": "operation", + "input": { + "target": "com.amazonaws.cloudhsmv2#ModifyBackupAttributesRequest" + }, + "output": { + "target": "com.amazonaws.cloudhsmv2#ModifyBackupAttributesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.cloudhsmv2#CloudHsmAccessDeniedException" + }, + { + "target": "com.amazonaws.cloudhsmv2#CloudHsmInternalFailureException" + }, + { + "target": "com.amazonaws.cloudhsmv2#CloudHsmInvalidRequestException" + }, + { + "target": "com.amazonaws.cloudhsmv2#CloudHsmResourceNotFoundException" + }, + { + "target": "com.amazonaws.cloudhsmv2#CloudHsmServiceException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Modifies attributes for AWS CloudHSM backup.

                            " + } + }, + "com.amazonaws.cloudhsmv2#ModifyBackupAttributesRequest": { + "type": "structure", + "members": { + "BackupId": { + "target": "com.amazonaws.cloudhsmv2#BackupId", + "traits": { + "smithy.api#documentation": "

                            The identifier (ID) of the backup to modify. To find the ID of a backup, use the DescribeBackups operation.

                            ", + "smithy.api#required": {} + } + }, + "NeverExpires": { + "target": "com.amazonaws.cloudhsmv2#Boolean", + "traits": { + "smithy.api#documentation": "

                            Specifies whether the service should exempt a backup from the retention policy for the cluster. True exempts \n a backup from the retention policy. False means the service applies the backup retention policy defined at the cluster.

                            ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.cloudhsmv2#ModifyBackupAttributesResponse": { + "type": "structure", + "members": { + "Backup": { + "target": "com.amazonaws.cloudhsmv2#Backup" + } + } + }, + "com.amazonaws.cloudhsmv2#ModifyCluster": { + "type": "operation", + "input": { + "target": "com.amazonaws.cloudhsmv2#ModifyClusterRequest" + }, + "output": { + "target": "com.amazonaws.cloudhsmv2#ModifyClusterResponse" + }, + "errors": [ + { + "target": "com.amazonaws.cloudhsmv2#CloudHsmAccessDeniedException" + }, + { + "target": "com.amazonaws.cloudhsmv2#CloudHsmInternalFailureException" + }, + { + "target": "com.amazonaws.cloudhsmv2#CloudHsmInvalidRequestException" + }, + { + "target": "com.amazonaws.cloudhsmv2#CloudHsmResourceNotFoundException" + }, + { + "target": "com.amazonaws.cloudhsmv2#CloudHsmServiceException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Modifies AWS CloudHSM cluster.

                            " + } + }, + "com.amazonaws.cloudhsmv2#ModifyClusterRequest": { + "type": "structure", + "members": { + "BackupRetentionPolicy": { + "target": "com.amazonaws.cloudhsmv2#BackupRetentionPolicy", + "traits": { + "smithy.api#documentation": "

                            A policy that defines how the service retains backups.

                            ", + "smithy.api#required": {} + } + }, + "ClusterId": { + "target": "com.amazonaws.cloudhsmv2#ClusterId", + "traits": { + "smithy.api#documentation": "

                            The identifier (ID) of the cluster that you want to modify. To find the cluster ID, use\n DescribeClusters.

                            ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.cloudhsmv2#ModifyClusterResponse": { + "type": "structure", + "members": { + "Cluster": { + "target": "com.amazonaws.cloudhsmv2#Cluster" + } + } + }, "com.amazonaws.cloudhsmv2#NextToken": { "type": "string", "traits": { diff --git a/codegen/sdk-codegen/aws-models/cloudwatch-events.2015-10-07.json b/codegen/sdk-codegen/aws-models/cloudwatch-events.2015-10-07.json index 0dfd97b8480c..cfa88bad35ff 100644 --- a/codegen/sdk-codegen/aws-models/cloudwatch-events.2015-10-07.json +++ b/codegen/sdk-codegen/aws-models/cloudwatch-events.2015-10-07.json @@ -233,22 +233,22 @@ "com.amazonaws.cloudwatchevents#Archive": { "type": "structure", "members": { - "SizeBytes": { - "target": "com.amazonaws.cloudwatchevents#Long", + "ArchiveName": { + "target": "com.amazonaws.cloudwatchevents#ArchiveName", "traits": { - "smithy.api#documentation": "

                            The size of the archive, in bytes.

                            " + "smithy.api#documentation": "

                            The name of the archive.

                            " } }, - "EventCount": { - "target": "com.amazonaws.cloudwatchevents#Long", + "EventSourceArn": { + "target": "com.amazonaws.cloudwatchevents#Arn", "traits": { - "smithy.api#documentation": "

                            The number of events in the archive.

                            " + "smithy.api#documentation": "

                            The ARN of the event bus associated with the archive. Only events from this event bus\n are sent to the archive.

                            " } }, - "RetentionDays": { - "target": "com.amazonaws.cloudwatchevents#RetentionDays", + "State": { + "target": "com.amazonaws.cloudwatchevents#ArchiveState", "traits": { - "smithy.api#documentation": "

                            The number of days to retain events in the archive before they are deleted.

                            " + "smithy.api#documentation": "

                            The current state of the archive.

                            " } }, "StateReason": { @@ -257,28 +257,28 @@ "smithy.api#documentation": "

                            A description for the reason that the archive is in the current state.

                            " } }, - "ArchiveName": { - "target": "com.amazonaws.cloudwatchevents#ArchiveName", + "RetentionDays": { + "target": "com.amazonaws.cloudwatchevents#RetentionDays", "traits": { - "smithy.api#documentation": "

                            The name of the archive.

                            " + "smithy.api#documentation": "

                            The number of days to retain events in the archive before they are deleted.

                            " } }, - "CreationTime": { - "target": "com.amazonaws.cloudwatchevents#Timestamp", + "SizeBytes": { + "target": "com.amazonaws.cloudwatchevents#Long", "traits": { - "smithy.api#documentation": "

                            The time stamp for the time that the archive was created.

                            " + "smithy.api#documentation": "

                            The size of the archive, in bytes.

                            " } }, - "State": { - "target": "com.amazonaws.cloudwatchevents#ArchiveState", + "EventCount": { + "target": "com.amazonaws.cloudwatchevents#Long", "traits": { - "smithy.api#documentation": "

                            The current state of the archive.

                            " + "smithy.api#documentation": "

                            The number of events in the archive.

                            " } }, - "EventSourceArn": { - "target": "com.amazonaws.cloudwatchevents#Arn", + "CreationTime": { + "target": "com.amazonaws.cloudwatchevents#Timestamp", "traits": { - "smithy.api#documentation": "

                            The ARN of the event bus associated with the archive. Only events from this event bus\n are sent to the archive.

                            " + "smithy.api#documentation": "

                            The time stamp for the time that the archive was created.

                            " } } }, @@ -390,10 +390,11 @@ "com.amazonaws.cloudwatchevents#AwsVpcConfiguration": { "type": "structure", "members": { - "AssignPublicIp": { - "target": "com.amazonaws.cloudwatchevents#AssignPublicIp", + "Subnets": { + "target": "com.amazonaws.cloudwatchevents#StringList", "traits": { - "smithy.api#documentation": "

                            Specifies whether the task's elastic network interface receives a public IP address.\n You can specify ENABLED only when LaunchType in\n EcsParameters is set to FARGATE.

                            " + "smithy.api#documentation": "

                            Specifies the subnets associated with the task. These subnets must all be in the same\n VPC. You can specify as many as 16 subnets.

                            ", + "smithy.api#required": {} } }, "SecurityGroups": { @@ -402,11 +403,10 @@ "smithy.api#documentation": "

                            Specifies the security groups associated with the task. These security groups must all\n be in the same VPC. You can specify as many as five security groups. If you do not\n specify a security group, the default security group for the VPC is used.

                            " } }, - "Subnets": { - "target": "com.amazonaws.cloudwatchevents#StringList", + "AssignPublicIp": { + "target": "com.amazonaws.cloudwatchevents#AssignPublicIp", "traits": { - "smithy.api#documentation": "

                            Specifies the subnets associated with the task. These subnets must all be in the same\n VPC. You can specify as many as 16 subnets.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            Specifies whether the task's elastic network interface receives a public IP address.\n You can specify ENABLED only when LaunchType in\n EcsParameters is set to FARGATE.

                            " } } }, @@ -431,12 +431,6 @@ "com.amazonaws.cloudwatchevents#BatchParameters": { "type": "structure", "members": { - "ArrayProperties": { - "target": "com.amazonaws.cloudwatchevents#BatchArrayProperties", - "traits": { - "smithy.api#documentation": "

                            The array properties for the submitted job, such as the size of the array. The\n array size can be between 2 and 10,000. If you specify array properties for a job, it\n becomes an array job. This parameter is used only if the target is an AWS Batch\n job.

                            " - } - }, "JobDefinition": { "target": "com.amazonaws.cloudwatchevents#String", "traits": { @@ -444,18 +438,24 @@ "smithy.api#required": {} } }, - "RetryStrategy": { - "target": "com.amazonaws.cloudwatchevents#BatchRetryStrategy", - "traits": { - "smithy.api#documentation": "

                            The retry strategy to use for failed jobs, if the target is an AWS Batch job. The\n retry strategy is the number of times to retry the failed job execution. Valid values\n are 1–10. When you specify a retry strategy here, it overrides the retry strategy\n defined in the job definition.

                            " - } - }, "JobName": { "target": "com.amazonaws.cloudwatchevents#String", "traits": { "smithy.api#documentation": "

                            The name to use for this execution of the job, if the target is an AWS Batch\n job.

                            ", "smithy.api#required": {} } + }, + "ArrayProperties": { + "target": "com.amazonaws.cloudwatchevents#BatchArrayProperties", + "traits": { + "smithy.api#documentation": "

                            The array properties for the submitted job, such as the size of the array. The\n array size can be between 2 and 10,000. If you specify array properties for a job, it\n becomes an array job. This parameter is used only if the target is an AWS Batch\n job.

                            " + } + }, + "RetryStrategy": { + "target": "com.amazonaws.cloudwatchevents#BatchRetryStrategy", + "traits": { + "smithy.api#documentation": "

                            The retry strategy to use for failed jobs, if the target is an AWS Batch job. The\n retry strategy is the number of times to retry the failed job execution. Valid values\n are 1–10. When you specify a retry strategy here, it overrides the retry strategy\n defined in the job definition.

                            " + } } }, "traits": { @@ -526,17 +526,17 @@ "smithy.api#documentation": "

                            The ARN of the replay to cancel.

                            " } }, - "StateReason": { - "target": "com.amazonaws.cloudwatchevents#ReplayStateReason", - "traits": { - "smithy.api#documentation": "

                            The reason that the replay is in the current state.

                            " - } - }, "State": { "target": "com.amazonaws.cloudwatchevents#ReplayState", "traits": { "smithy.api#documentation": "

                            The current state of the replay.

                            " } + }, + "StateReason": { + "target": "com.amazonaws.cloudwatchevents#ReplayStateReason", + "traits": { + "smithy.api#documentation": "

                            The reason that the replay is in the current state.

                            " + } } } }, @@ -610,18 +610,12 @@ } ], "traits": { - "smithy.api#documentation": "

                            Creates an archive of events with the specified settings. When you create an archive,\n incoming events might not immediately start being sent to the archive. Allow a short\n period of time for changes to take effect.

                            " + "smithy.api#documentation": "

                            Creates an archive of events with the specified settings. When you create an archive,\n incoming events might not immediately start being sent to the archive. Allow a short\n period of time for changes to take effect. If you do not specify a pattern to filter events sent to the archive, all events are sent to the archive except replayed events. Replayed events are not sent to an archive.

                            " } }, "com.amazonaws.cloudwatchevents#CreateArchiveRequest": { "type": "structure", "members": { - "Description": { - "target": "com.amazonaws.cloudwatchevents#ArchiveDescription", - "traits": { - "smithy.api#documentation": "

                            A description for the archive.

                            " - } - }, "ArchiveName": { "target": "com.amazonaws.cloudwatchevents#ArchiveName", "traits": { @@ -629,12 +623,6 @@ "smithy.api#required": {} } }, - "EventPattern": { - "target": "com.amazonaws.cloudwatchevents#EventPattern", - "traits": { - "smithy.api#documentation": "

                            An event pattern to use to filter events sent to the archive.

                            " - } - }, "EventSourceArn": { "target": "com.amazonaws.cloudwatchevents#Arn", "traits": { @@ -642,6 +630,18 @@ "smithy.api#required": {} } }, + "Description": { + "target": "com.amazonaws.cloudwatchevents#ArchiveDescription", + "traits": { + "smithy.api#documentation": "

                            A description for the archive.

                            " + } + }, + "EventPattern": { + "target": "com.amazonaws.cloudwatchevents#EventPattern", + "traits": { + "smithy.api#documentation": "

                            An event pattern to use to filter events sent to the archive.

                            " + } + }, "RetentionDays": { "target": "com.amazonaws.cloudwatchevents#RetentionDays", "traits": { @@ -653,28 +653,28 @@ "com.amazonaws.cloudwatchevents#CreateArchiveResponse": { "type": "structure", "members": { - "CreationTime": { - "target": "com.amazonaws.cloudwatchevents#Timestamp", - "traits": { - "smithy.api#documentation": "

                            The time at which the archive was created.

                            " - } - }, "ArchiveArn": { "target": "com.amazonaws.cloudwatchevents#ArchiveArn", "traits": { "smithy.api#documentation": "

                            The ARN of the archive that was created.

                            " } }, + "State": { + "target": "com.amazonaws.cloudwatchevents#ArchiveState", + "traits": { + "smithy.api#documentation": "

                            The state of the archive that was created.

                            " + } + }, "StateReason": { "target": "com.amazonaws.cloudwatchevents#ArchiveStateReason", "traits": { "smithy.api#documentation": "

                            The reason that the archive is in the state.

                            " } }, - "State": { - "target": "com.amazonaws.cloudwatchevents#ArchiveState", + "CreationTime": { + "target": "com.amazonaws.cloudwatchevents#Timestamp", "traits": { - "smithy.api#documentation": "

                            The state of the archive that was created.

                            " + "smithy.api#documentation": "

                            The time at which the archive was created.

                            " } } } @@ -717,12 +717,6 @@ "com.amazonaws.cloudwatchevents#CreateEventBusRequest": { "type": "structure", "members": { - "Tags": { - "target": "com.amazonaws.cloudwatchevents#TagList", - "traits": { - "smithy.api#documentation": "

                            Tags to associate with the event bus.

                            " - } - }, "Name": { "target": "com.amazonaws.cloudwatchevents#EventBusName", "traits": { @@ -735,6 +729,12 @@ "traits": { "smithy.api#documentation": "

                            If you are creating a partner event bus, this specifies the partner event source that\n the new event bus will be matched with.

                            " } + }, + "Tags": { + "target": "com.amazonaws.cloudwatchevents#TagList", + "traits": { + "smithy.api#documentation": "

                            Tags to associate with the event bus.

                            " + } } } }, @@ -808,6 +808,15 @@ } } }, + "com.amazonaws.cloudwatchevents#CreatedBy": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + } + } + }, "com.amazonaws.cloudwatchevents#Database": { "type": "string", "traits": { @@ -971,17 +980,17 @@ "com.amazonaws.cloudwatchevents#DeletePartnerEventSourceRequest": { "type": "structure", "members": { - "Account": { - "target": "com.amazonaws.cloudwatchevents#AccountId", + "Name": { + "target": "com.amazonaws.cloudwatchevents#EventSourceName", "traits": { - "smithy.api#documentation": "

                            The AWS account ID of the AWS customer that the event source was created for.

                            ", + "smithy.api#documentation": "

                            The name of the event source to delete.

                            ", "smithy.api#required": {} } }, - "Name": { - "target": "com.amazonaws.cloudwatchevents#EventSourceName", + "Account": { + "target": "com.amazonaws.cloudwatchevents#AccountId", "traits": { - "smithy.api#documentation": "

                            The name of the event source to delete.

                            ", + "smithy.api#documentation": "

                            The AWS account ID of the AWS customer that the event source was created for.

                            ", "smithy.api#required": {} } } @@ -1013,23 +1022,23 @@ "com.amazonaws.cloudwatchevents#DeleteRuleRequest": { "type": "structure", "members": { - "Force": { - "target": "com.amazonaws.cloudwatchevents#Boolean", + "Name": { + "target": "com.amazonaws.cloudwatchevents#RuleName", "traits": { - "smithy.api#documentation": "

                            If this is a managed rule, created by an AWS service on your behalf, you must specify\n Force as True to delete the rule. This parameter is\n ignored for rules that are not managed rules. You can check whether a rule is a managed\n rule by using DescribeRule or ListRules and checking the\n ManagedBy field of the response.

                            " + "smithy.api#documentation": "

                            The name of the rule.

                            ", + "smithy.api#required": {} } }, "EventBusName": { - "target": "com.amazonaws.cloudwatchevents#EventBusName", + "target": "com.amazonaws.cloudwatchevents#EventBusNameOrArn", "traits": { - "smithy.api#documentation": "

                            The event bus associated with the rule. If you omit this, the default event bus is\n used.

                            " + "smithy.api#documentation": "

                            The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is\n used.

                            " } }, - "Name": { - "target": "com.amazonaws.cloudwatchevents#RuleName", + "Force": { + "target": "com.amazonaws.cloudwatchevents#Boolean", "traits": { - "smithy.api#documentation": "

                            The name of the rule.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            If this is a managed rule, created by an AWS service on your behalf, you must specify\n Force as True to delete the rule. This parameter is\n ignored for rules that are not managed rules. You can check whether a rule is a managed\n rule by using DescribeRule or ListRules and checking the\n ManagedBy field of the response.

                            " } } } @@ -1072,40 +1081,46 @@ "com.amazonaws.cloudwatchevents#DescribeArchiveResponse": { "type": "structure", "members": { + "ArchiveArn": { + "target": "com.amazonaws.cloudwatchevents#ArchiveArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the archive.

                            " + } + }, "ArchiveName": { "target": "com.amazonaws.cloudwatchevents#ArchiveName", "traits": { "smithy.api#documentation": "

                            The name of the archive.

                            " } }, - "CreationTime": { - "target": "com.amazonaws.cloudwatchevents#Timestamp", + "EventSourceArn": { + "target": "com.amazonaws.cloudwatchevents#Arn", "traits": { - "smithy.api#documentation": "

                            The time at which the archive was created.

                            " + "smithy.api#documentation": "

                            The ARN of the event source associated with the archive.

                            " } }, - "ArchiveArn": { - "target": "com.amazonaws.cloudwatchevents#ArchiveArn", + "Description": { + "target": "com.amazonaws.cloudwatchevents#ArchiveDescription", "traits": { - "smithy.api#documentation": "

                            The ARN of the archive.

                            " + "smithy.api#documentation": "

                            The description of the archive.

                            " } }, - "State": { - "target": "com.amazonaws.cloudwatchevents#ArchiveState", + "EventPattern": { + "target": "com.amazonaws.cloudwatchevents#EventPattern", "traits": { - "smithy.api#documentation": "

                            The state of the archive.

                            " + "smithy.api#documentation": "

                            The event pattern used to filter events sent to the archive.

                            " } }, - "SizeBytes": { - "target": "com.amazonaws.cloudwatchevents#Long", + "State": { + "target": "com.amazonaws.cloudwatchevents#ArchiveState", "traits": { - "smithy.api#documentation": "

                            The size of the archive in bytes.

                            " + "smithy.api#documentation": "

                            The state of the archive.

                            " } }, - "EventCount": { - "target": "com.amazonaws.cloudwatchevents#Long", + "StateReason": { + "target": "com.amazonaws.cloudwatchevents#ArchiveStateReason", "traits": { - "smithy.api#documentation": "

                            The number of events in the archive.

                            " + "smithy.api#documentation": "

                            The reason that the archive is in the state.

                            " } }, "RetentionDays": { @@ -1114,28 +1129,22 @@ "smithy.api#documentation": "

                            The number of days to retain events for in the archive.

                            " } }, - "EventPattern": { - "target": "com.amazonaws.cloudwatchevents#EventPattern", - "traits": { - "smithy.api#documentation": "

                            The event pattern used to filter events sent to the archive.

                            " - } - }, - "StateReason": { - "target": "com.amazonaws.cloudwatchevents#ArchiveStateReason", + "SizeBytes": { + "target": "com.amazonaws.cloudwatchevents#Long", "traits": { - "smithy.api#documentation": "

                            The reason that the archive is in the state.

                            " + "smithy.api#documentation": "

                            The size of the archive in bytes.

                            " } }, - "Description": { - "target": "com.amazonaws.cloudwatchevents#ArchiveDescription", + "EventCount": { + "target": "com.amazonaws.cloudwatchevents#Long", "traits": { - "smithy.api#documentation": "

                            The description of the archive.

                            " + "smithy.api#documentation": "

                            The number of events in the archive.

                            " } }, - "EventSourceArn": { - "target": "com.amazonaws.cloudwatchevents#Arn", + "CreationTime": { + "target": "com.amazonaws.cloudwatchevents#Timestamp", "traits": { - "smithy.api#documentation": "

                            The ARN of the event source associated with the archive.

                            " + "smithy.api#documentation": "

                            The time at which the archive was created.

                            " } } } @@ -1164,9 +1173,9 @@ "type": "structure", "members": { "Name": { - "target": "com.amazonaws.cloudwatchevents#EventBusName", + "target": "com.amazonaws.cloudwatchevents#EventBusNameOrArn", "traits": { - "smithy.api#documentation": "

                            The name of the event bus to show details for. If you omit this, the default event bus\n is displayed.

                            " + "smithy.api#documentation": "

                            The name or ARN of the event bus to show details for. If you omit this, the default event bus\n is displayed.

                            " } } } @@ -1180,16 +1189,16 @@ "smithy.api#documentation": "

                            The name of the event bus. Currently, this is always\n default.

                            " } }, - "Policy": { + "Arn": { "target": "com.amazonaws.cloudwatchevents#String", "traits": { - "smithy.api#documentation": "

                            The policy that enables the external account to send events to your\n account.

                            " + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the account permitted to write events to the\n current account.

                            " } }, - "Arn": { + "Policy": { "target": "com.amazonaws.cloudwatchevents#String", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the account permitted to write events to the\n current account.

                            " + "smithy.api#documentation": "

                            The policy that enables the external account to send events to your\n account.

                            " } } } @@ -1232,16 +1241,16 @@ "com.amazonaws.cloudwatchevents#DescribeEventSourceResponse": { "type": "structure", "members": { - "State": { - "target": "com.amazonaws.cloudwatchevents#EventSourceState", + "Arn": { + "target": "com.amazonaws.cloudwatchevents#String", "traits": { - "smithy.api#documentation": "

                            The state of the event source. If it is ACTIVE, you have already created a matching\n event bus for this event source, and that event bus is active. If it is PENDING, either\n you haven't yet created a matching event bus, or that event bus is deactivated. If it is\n DELETED, you have created a matching event bus, but the event source has since been\n deleted.

                            " + "smithy.api#documentation": "

                            The ARN of the partner event source.

                            " } }, - "Name": { + "CreatedBy": { "target": "com.amazonaws.cloudwatchevents#String", "traits": { - "smithy.api#documentation": "

                            The name of the partner event source.

                            " + "smithy.api#documentation": "

                            The name of the SaaS partner that created the event source.

                            " } }, "CreationTime": { @@ -1250,22 +1259,22 @@ "smithy.api#documentation": "

                            The date and time that the event source was created.

                            " } }, - "Arn": { - "target": "com.amazonaws.cloudwatchevents#String", + "ExpirationTime": { + "target": "com.amazonaws.cloudwatchevents#Timestamp", "traits": { - "smithy.api#documentation": "

                            The ARN of the partner event source.

                            " + "smithy.api#documentation": "

                            The date and time that the event source will expire if you do not create a matching\n event bus.

                            " } }, - "CreatedBy": { + "Name": { "target": "com.amazonaws.cloudwatchevents#String", "traits": { - "smithy.api#documentation": "

                            The name of the SaaS partner that created the event source.

                            " + "smithy.api#documentation": "

                            The name of the partner event source.

                            " } }, - "ExpirationTime": { - "target": "com.amazonaws.cloudwatchevents#Timestamp", + "State": { + "target": "com.amazonaws.cloudwatchevents#EventSourceState", "traits": { - "smithy.api#documentation": "

                            The date and time that the event source will expire if you do not create a matching\n event bus.

                            " + "smithy.api#documentation": "

                            The state of the event source. If it is ACTIVE, you have already created a matching\n event bus for this event source, and that event bus is active. If it is PENDING, either\n you haven't yet created a matching event bus, or that event bus is deactivated. If it is\n DELETED, you have created a matching event bus, but the event source has since been\n deleted.

                            " } } } @@ -1357,22 +1366,22 @@ "com.amazonaws.cloudwatchevents#DescribeReplayResponse": { "type": "structure", "members": { - "StateReason": { - "target": "com.amazonaws.cloudwatchevents#ReplayStateReason", + "ReplayName": { + "target": "com.amazonaws.cloudwatchevents#ReplayName", "traits": { - "smithy.api#documentation": "

                            The reason that the replay is in the current state.

                            " + "smithy.api#documentation": "

                            The name of the replay.

                            " } }, - "ReplayEndTime": { - "target": "com.amazonaws.cloudwatchevents#Timestamp", + "ReplayArn": { + "target": "com.amazonaws.cloudwatchevents#ReplayArn", "traits": { - "smithy.api#documentation": "

                            A time stamp for the time that the replay stopped.

                            " + "smithy.api#documentation": "

                            The ARN of the replay.

                            " } }, - "ReplayName": { - "target": "com.amazonaws.cloudwatchevents#ReplayName", + "Description": { + "target": "com.amazonaws.cloudwatchevents#ReplayDescription", "traits": { - "smithy.api#documentation": "

                            The name of the replay.

                            " + "smithy.api#documentation": "

                            The description of the replay.

                            " } }, "State": { @@ -1381,52 +1390,52 @@ "smithy.api#documentation": "

                            The current state of the replay.

                            " } }, - "EventLastReplayedTime": { - "target": "com.amazonaws.cloudwatchevents#Timestamp", + "StateReason": { + "target": "com.amazonaws.cloudwatchevents#ReplayStateReason", "traits": { - "smithy.api#documentation": "

                            The time that the event was last replayed.

                            " + "smithy.api#documentation": "

                            The reason that the replay is in the current state.

                            " } }, - "EventEndTime": { - "target": "com.amazonaws.cloudwatchevents#Timestamp", + "EventSourceArn": { + "target": "com.amazonaws.cloudwatchevents#Arn", "traits": { - "smithy.api#documentation": "

                            The time stamp for the last event that was replayed from the archive.

                            " + "smithy.api#documentation": "

                            The ARN of the archive events were replayed from.

                            " } }, - "ReplayStartTime": { - "target": "com.amazonaws.cloudwatchevents#Timestamp", + "Destination": { + "target": "com.amazonaws.cloudwatchevents#ReplayDestination", "traits": { - "smithy.api#documentation": "

                            A time stamp for the time that the replay started.

                            " + "smithy.api#documentation": "

                            A ReplayDestination object that contains details about the replay.

                            " } }, - "Description": { - "target": "com.amazonaws.cloudwatchevents#ReplayDescription", + "EventStartTime": { + "target": "com.amazonaws.cloudwatchevents#Timestamp", "traits": { - "smithy.api#documentation": "

                            The description of the replay.

                            " + "smithy.api#documentation": "

                            The time stamp of the first event that was last replayed from the archive.

                            " } }, - "Destination": { - "target": "com.amazonaws.cloudwatchevents#ReplayDestination", + "EventEndTime": { + "target": "com.amazonaws.cloudwatchevents#Timestamp", "traits": { - "smithy.api#documentation": "

                            A ReplayDestination object that contains details about the replay.

                            " + "smithy.api#documentation": "

                            The time stamp for the last event that was replayed from the archive.

                            " } }, - "ReplayArn": { - "target": "com.amazonaws.cloudwatchevents#ReplayArn", + "EventLastReplayedTime": { + "target": "com.amazonaws.cloudwatchevents#Timestamp", "traits": { - "smithy.api#documentation": "

                            The ARN of the replay.

                            " + "smithy.api#documentation": "

                            The time that the event was last replayed.

                            " } }, - "EventSourceArn": { - "target": "com.amazonaws.cloudwatchevents#Arn", + "ReplayStartTime": { + "target": "com.amazonaws.cloudwatchevents#Timestamp", "traits": { - "smithy.api#documentation": "

                            The ARN of the archive events were replayed from.

                            " + "smithy.api#documentation": "

                            A time stamp for the time that the replay started.

                            " } }, - "EventStartTime": { + "ReplayEndTime": { "target": "com.amazonaws.cloudwatchevents#Timestamp", "traits": { - "smithy.api#documentation": "

                            The time stamp of the first event that was last replayed from the archive.

                            " + "smithy.api#documentation": "

                            A time stamp for the time that the replay stopped.

                            " } } } @@ -1454,28 +1463,34 @@ "com.amazonaws.cloudwatchevents#DescribeRuleRequest": { "type": "structure", "members": { - "EventBusName": { - "target": "com.amazonaws.cloudwatchevents#EventBusName", - "traits": { - "smithy.api#documentation": "

                            The event bus associated with the rule. If you omit this, the default event bus is\n used.

                            " - } - }, "Name": { "target": "com.amazonaws.cloudwatchevents#RuleName", "traits": { "smithy.api#documentation": "

                            The name of the rule.

                            ", "smithy.api#required": {} } + }, + "EventBusName": { + "target": "com.amazonaws.cloudwatchevents#EventBusNameOrArn", + "traits": { + "smithy.api#documentation": "

                            The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is\n used.

                            " + } } } }, "com.amazonaws.cloudwatchevents#DescribeRuleResponse": { "type": "structure", "members": { - "ManagedBy": { - "target": "com.amazonaws.cloudwatchevents#ManagedBy", + "Name": { + "target": "com.amazonaws.cloudwatchevents#RuleName", "traits": { - "smithy.api#documentation": "

                            If this is a managed rule, created by an AWS service on your behalf, this field\n displays the principal name of the AWS service that created the rule.

                            " + "smithy.api#documentation": "

                            The name of the rule.

                            " + } + }, + "Arn": { + "target": "com.amazonaws.cloudwatchevents#RuleArn", + "traits": { + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the rule.

                            " } }, "EventPattern": { @@ -1490,22 +1505,16 @@ "smithy.api#documentation": "

                            The scheduling expression. For example, \"cron(0 20 * * ? *)\", \"rate(5\n minutes)\".

                            " } }, - "Description": { - "target": "com.amazonaws.cloudwatchevents#RuleDescription", - "traits": { - "smithy.api#documentation": "

                            The description of the rule.

                            " - } - }, "State": { "target": "com.amazonaws.cloudwatchevents#RuleState", "traits": { "smithy.api#documentation": "

                            Specifies whether the rule is enabled or disabled.

                            " } }, - "Arn": { - "target": "com.amazonaws.cloudwatchevents#RuleArn", + "Description": { + "target": "com.amazonaws.cloudwatchevents#RuleDescription", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the rule.

                            " + "smithy.api#documentation": "

                            The description of the rule.

                            " } }, "RoleArn": { @@ -1514,16 +1523,22 @@ "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the IAM role associated with the rule.

                            " } }, - "Name": { - "target": "com.amazonaws.cloudwatchevents#RuleName", + "ManagedBy": { + "target": "com.amazonaws.cloudwatchevents#ManagedBy", "traits": { - "smithy.api#documentation": "

                            The name of the rule.

                            " + "smithy.api#documentation": "

                            If this is a managed rule, created by an AWS service on your behalf, this field\n displays the principal name of the AWS service that created the rule.

                            " } }, "EventBusName": { "target": "com.amazonaws.cloudwatchevents#EventBusName", "traits": { - "smithy.api#documentation": "

                            The event bus associated with the rule.

                            " + "smithy.api#documentation": "

                            The name of the event bus associated with the rule.

                            " + } + }, + "CreatedBy": { + "target": "com.amazonaws.cloudwatchevents#CreatedBy", + "traits": { + "smithy.api#documentation": "

                            The account ID of the user that created the rule. If you use PutRule \n to put a rule on an event bus in another account, the other account is the owner of the rule, and the rule ARN includes the account ID for that account. \n However, the value for CreatedBy is the account ID as the account that created the rule in the other account.

                            " } } } @@ -1554,34 +1569,35 @@ "com.amazonaws.cloudwatchevents#DisableRuleRequest": { "type": "structure", "members": { - "EventBusName": { - "target": "com.amazonaws.cloudwatchevents#EventBusName", - "traits": { - "smithy.api#documentation": "

                            The event bus associated with the rule. If you omit this, the default event bus is\n used.

                            " - } - }, "Name": { "target": "com.amazonaws.cloudwatchevents#RuleName", "traits": { "smithy.api#documentation": "

                            The name of the rule.

                            ", "smithy.api#required": {} } + }, + "EventBusName": { + "target": "com.amazonaws.cloudwatchevents#EventBusNameOrArn", + "traits": { + "smithy.api#documentation": "

                            The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is\n used.

                            " + } } } }, "com.amazonaws.cloudwatchevents#EcsParameters": { "type": "structure", "members": { - "PlatformVersion": { - "target": "com.amazonaws.cloudwatchevents#String", + "TaskDefinitionArn": { + "target": "com.amazonaws.cloudwatchevents#Arn", "traits": { - "smithy.api#documentation": "

                            Specifies the platform version for the task. Specify only the numeric portion of the\n platform version, such as 1.1.0.

                            \n

                            This structure is used only if LaunchType is FARGATE. For\n more information about valid platform versions, see AWS Fargate Platform\n Versions in the Amazon Elastic Container Service Developer\n Guide.

                            " + "smithy.api#documentation": "

                            The ARN of the task definition to use if the event target is an Amazon ECS task.\n

                            ", + "smithy.api#required": {} } }, - "Group": { - "target": "com.amazonaws.cloudwatchevents#String", + "TaskCount": { + "target": "com.amazonaws.cloudwatchevents#LimitMin1", "traits": { - "smithy.api#documentation": "

                            Specifies an ECS task group for the task. The maximum length is 255 characters.

                            " + "smithy.api#documentation": "

                            The number of tasks to create based on TaskDefinition. The default is\n 1.

                            " } }, "LaunchType": { @@ -1590,23 +1606,22 @@ "smithy.api#documentation": "

                            Specifies the launch type on which your task is running. The launch type that you\n specify here must match one of the launch type (compatibilities) of the target task. The\n FARGATE value is supported only in the Regions where AWS Fargate with\n Amazon ECS is supported. For more information, see AWS Fargate on Amazon\n ECS in the Amazon Elastic Container Service Developer\n Guide.

                            " } }, - "TaskDefinitionArn": { - "target": "com.amazonaws.cloudwatchevents#Arn", - "traits": { - "smithy.api#documentation": "

                            The ARN of the task definition to use if the event target is an Amazon ECS task.\n

                            ", - "smithy.api#required": {} - } - }, "NetworkConfiguration": { "target": "com.amazonaws.cloudwatchevents#NetworkConfiguration", "traits": { "smithy.api#documentation": "

                            Use this structure if the ECS task uses the awsvpc network mode. This\n structure specifies the VPC subnets and security groups associated with the task, and\n whether a public IP address is to be used. This structure is required if\n LaunchType is FARGATE because the awsvpc mode\n is required for Fargate tasks.

                            \n

                            If you specify NetworkConfiguration when the target ECS task does not use\n the awsvpc network mode, the task fails.

                            " } }, - "TaskCount": { - "target": "com.amazonaws.cloudwatchevents#LimitMin1", + "PlatformVersion": { + "target": "com.amazonaws.cloudwatchevents#String", "traits": { - "smithy.api#documentation": "

                            The number of tasks to create based on TaskDefinition. The default is\n 1.

                            " + "smithy.api#documentation": "

                            Specifies the platform version for the task. Specify only the numeric portion of the\n platform version, such as 1.1.0.

                            \n

                            This structure is used only if LaunchType is FARGATE. For\n more information about valid platform versions, see AWS Fargate Platform\n Versions in the Amazon Elastic Container Service Developer\n Guide.

                            " + } + }, + "Group": { + "target": "com.amazonaws.cloudwatchevents#String", + "traits": { + "smithy.api#documentation": "

                            Specifies an ECS task group for the task. The maximum length is 255 characters.

                            " } } }, @@ -1640,18 +1655,18 @@ "com.amazonaws.cloudwatchevents#EnableRuleRequest": { "type": "structure", "members": { - "EventBusName": { - "target": "com.amazonaws.cloudwatchevents#EventBusName", - "traits": { - "smithy.api#documentation": "

                            The event bus associated with the rule. If you omit this, the default event bus is\n used.

                            " - } - }, "Name": { "target": "com.amazonaws.cloudwatchevents#RuleName", "traits": { "smithy.api#documentation": "

                            The name of the rule.

                            ", "smithy.api#required": {} } + }, + "EventBusName": { + "target": "com.amazonaws.cloudwatchevents#EventBusNameOrArn", + "traits": { + "smithy.api#documentation": "

                            The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is\n used.

                            " + } } } }, @@ -1664,22 +1679,22 @@ "com.amazonaws.cloudwatchevents#EventBus": { "type": "structure", "members": { - "Arn": { + "Name": { "target": "com.amazonaws.cloudwatchevents#String", "traits": { - "smithy.api#documentation": "

                            The ARN of the event bus.

                            " + "smithy.api#documentation": "

                            The name of the event bus.

                            " } }, - "Policy": { + "Arn": { "target": "com.amazonaws.cloudwatchevents#String", "traits": { - "smithy.api#documentation": "

                            The permissions policy of the event bus, describing which other AWS accounts can write\n events to this event bus.

                            " + "smithy.api#documentation": "

                            The ARN of the event bus.

                            " } }, - "Name": { + "Policy": { "target": "com.amazonaws.cloudwatchevents#String", "traits": { - "smithy.api#documentation": "

                            The name of the event bus.

                            " + "smithy.api#documentation": "

                            The permissions policy of the event bus, describing which other AWS accounts can write\n events to this event bus.

                            " } } }, @@ -1703,6 +1718,16 @@ "smithy.api#pattern": "[/\\.\\-_A-Za-z0-9]+" } }, + "com.amazonaws.cloudwatchevents#EventBusNameOrArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1600 + }, + "smithy.api#pattern": "(arn:aws[\\w-]*:events:[a-z]{2}-[a-z]+-[\\w-]+:[0-9]{12}:event-bus\\/)?[/\\.\\-_A-Za-z0-9]+" + } + }, "com.amazonaws.cloudwatchevents#EventId": { "type": "string" }, @@ -1721,16 +1746,10 @@ "com.amazonaws.cloudwatchevents#EventSource": { "type": "structure", "members": { - "CreationTime": { - "target": "com.amazonaws.cloudwatchevents#Timestamp", - "traits": { - "smithy.api#documentation": "

                            The date and time the event source was created.

                            " - } - }, - "Name": { + "Arn": { "target": "com.amazonaws.cloudwatchevents#String", "traits": { - "smithy.api#documentation": "

                            The name of the event source.

                            " + "smithy.api#documentation": "

                            The ARN of the event source.

                            " } }, "CreatedBy": { @@ -1739,16 +1758,22 @@ "smithy.api#documentation": "

                            The name of the partner that created the event source.

                            " } }, + "CreationTime": { + "target": "com.amazonaws.cloudwatchevents#Timestamp", + "traits": { + "smithy.api#documentation": "

                            The date and time the event source was created.

                            " + } + }, "ExpirationTime": { "target": "com.amazonaws.cloudwatchevents#Timestamp", "traits": { "smithy.api#documentation": "

                            The date and time that the event source will expire, if the AWS account doesn't create\n a matching event bus for it.

                            " } }, - "Arn": { + "Name": { "target": "com.amazonaws.cloudwatchevents#String", "traits": { - "smithy.api#documentation": "

                            The ARN of the event source.

                            " + "smithy.api#documentation": "

                            The name of the event source.

                            " } }, "State": { @@ -1842,10 +1867,10 @@ "com.amazonaws.cloudwatchevents#HttpParameters": { "type": "structure", "members": { - "QueryStringParameters": { - "target": "com.amazonaws.cloudwatchevents#QueryStringParametersMap", + "PathParameterValues": { + "target": "com.amazonaws.cloudwatchevents#PathParameterList", "traits": { - "smithy.api#documentation": "

                            The query string keys/values that need to be sent as part of request invoking the API\n Gateway REST API.

                            " + "smithy.api#documentation": "

                            The path parameter values to be used to populate API Gateway REST API path wildcards\n (\"*\").

                            " } }, "HeaderParameters": { @@ -1854,10 +1879,10 @@ "smithy.api#documentation": "

                            The headers that need to be sent as part of request invoking the API Gateway REST\n API.

                            " } }, - "PathParameterValues": { - "target": "com.amazonaws.cloudwatchevents#PathParameterList", + "QueryStringParameters": { + "target": "com.amazonaws.cloudwatchevents#QueryStringParametersMap", "traits": { - "smithy.api#documentation": "

                            The path parameter values to be used to populate API Gateway REST API path wildcards\n (\"*\").

                            " + "smithy.api#documentation": "

                            The query string keys/values that need to be sent as part of request invoking the API\n Gateway REST API.

                            " } } }, @@ -1880,18 +1905,18 @@ "com.amazonaws.cloudwatchevents#InputTransformer": { "type": "structure", "members": { + "InputPathsMap": { + "target": "com.amazonaws.cloudwatchevents#TransformerPaths", + "traits": { + "smithy.api#documentation": "

                            Map of JSON paths to be extracted from the event. You can then insert these in the\n template in InputTemplate to produce the output you want to be sent to the\n target.

                            \n

                            \n InputPathsMap is an array key-value pairs, where each value is a valid\n JSON path. You can have as many as 10 key-value pairs. You must use JSON dot notation,\n not bracket notation.

                            \n

                            The keys cannot start with \"AWS.\"

                            " + } + }, "InputTemplate": { "target": "com.amazonaws.cloudwatchevents#TransformerInput", "traits": { "smithy.api#documentation": "

                            Input template where you specify placeholders that will be filled with the values\n of the keys from InputPathsMap to customize the data sent to the target.\n Enclose each InputPathsMaps value in brackets:\n <value> The InputTemplate must be valid JSON.

                            \n\n

                            If InputTemplate is a JSON object (surrounded by curly braces), the\n following restrictions apply:

                            \n
                              \n
                            • \n

                              The placeholder cannot be used as an object key.

                              \n
                            • \n
                            • \n

                              Object values cannot include quote marks.

                              \n
                            • \n
                            \n

                            The following example shows the syntax for using InputPathsMap and\n InputTemplate.

                            \n

                            \n \"InputTransformer\":\n

                            \n

                            \n {\n

                            \n

                            \n \"InputPathsMap\": {\"instance\": \"$.detail.instance\",\"status\":\n \"$.detail.status\"},\n

                            \n

                            \n \"InputTemplate\": \" is in state\n \"\n

                            \n

                            \n }\n

                            \n

                            To have the InputTemplate include quote marks within a JSON string,\n escape each quote marks with a slash, as in the following example:

                            \n

                            \n \"InputTransformer\":\n

                            \n

                            \n {\n

                            \n

                            \n \"InputPathsMap\": {\"instance\": \"$.detail.instance\",\"status\":\n \"$.detail.status\"},\n

                            \n

                            \n \"InputTemplate\": \" is in state\n \\\"\\\"\"\n

                            \n

                            \n }\n

                            ", "smithy.api#required": {} } - }, - "InputPathsMap": { - "target": "com.amazonaws.cloudwatchevents#TransformerPaths", - "traits": { - "smithy.api#documentation": "

                            Map of JSON paths to be extracted from the event. You can then insert these in the\n template in InputTemplate to produce the output you want to be sent to the\n target.

                            \n

                            \n InputPathsMap is an array key-value pairs, where each value is a valid\n JSON path. You can have as many as 10 key-value pairs. You must use JSON dot notation,\n not bracket notation.

                            \n

                            The keys cannot start with \"AWS.\"

                            " - } } }, "traits": { @@ -2031,6 +2056,18 @@ "com.amazonaws.cloudwatchevents#ListArchivesRequest": { "type": "structure", "members": { + "NamePrefix": { + "target": "com.amazonaws.cloudwatchevents#ArchiveName", + "traits": { + "smithy.api#documentation": "

                            A name prefix to filter the archives returned. Only archives with name that match the\n prefix are returned.

                            " + } + }, + "EventSourceArn": { + "target": "com.amazonaws.cloudwatchevents#Arn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the event source associated with the archive.

                            " + } + }, "State": { "target": "com.amazonaws.cloudwatchevents#ArchiveState", "traits": { @@ -2043,23 +2080,11 @@ "smithy.api#documentation": "

                            The token returned by a previous call to retrieve the next set of results.

                            " } }, - "EventSourceArn": { - "target": "com.amazonaws.cloudwatchevents#Arn", - "traits": { - "smithy.api#documentation": "

                            The ARN of the event source associated with the archive.

                            " - } - }, "Limit": { "target": "com.amazonaws.cloudwatchevents#LimitMax100", "traits": { "smithy.api#documentation": "

                            The maximum number of results to return.

                            " } - }, - "NamePrefix": { - "target": "com.amazonaws.cloudwatchevents#ArchiveName", - "traits": { - "smithy.api#documentation": "

                            A name prefix to filter the archives returned. Only archives with name that match the\n prefix are returned.

                            " - } } } }, @@ -2106,17 +2131,17 @@ "smithy.api#documentation": "

                            Specifying this limits the results to only those event buses with names that start\n with the specified prefix.

                            " } }, - "Limit": { - "target": "com.amazonaws.cloudwatchevents#LimitMax100", - "traits": { - "smithy.api#documentation": "

                            Specifying this limits the number of results returned by this operation. The operation\n also returns a NextToken which you can use in a subsequent operation to retrieve the\n next set of results.

                            " - } - }, "NextToken": { "target": "com.amazonaws.cloudwatchevents#NextToken", "traits": { "smithy.api#documentation": "

                            The token returned by a previous call to retrieve the next set of results.

                            " } + }, + "Limit": { + "target": "com.amazonaws.cloudwatchevents#LimitMax100", + "traits": { + "smithy.api#documentation": "

                            Specifying this limits the number of results returned by this operation. The operation\n also returns a NextToken which you can use in a subsequent operation to retrieve the\n next set of results.

                            " + } } } }, @@ -2160,12 +2185,6 @@ "com.amazonaws.cloudwatchevents#ListEventSourcesRequest": { "type": "structure", "members": { - "Limit": { - "target": "com.amazonaws.cloudwatchevents#LimitMax100", - "traits": { - "smithy.api#documentation": "

                            Specifying this limits the number of results returned by this operation. The operation\n also returns a NextToken which you can use in a subsequent operation to retrieve the\n next set of results.

                            " - } - }, "NamePrefix": { "target": "com.amazonaws.cloudwatchevents#EventSourceNamePrefix", "traits": { @@ -2177,23 +2196,29 @@ "traits": { "smithy.api#documentation": "

                            The token returned by a previous call to retrieve the next set of results.

                            " } + }, + "Limit": { + "target": "com.amazonaws.cloudwatchevents#LimitMax100", + "traits": { + "smithy.api#documentation": "

                            Specifying this limits the number of results returned by this operation. The operation\n also returns a NextToken which you can use in a subsequent operation to retrieve the\n next set of results.

                            " + } } } }, "com.amazonaws.cloudwatchevents#ListEventSourcesResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.cloudwatchevents#NextToken", - "traits": { - "smithy.api#documentation": "

                            A token you can use in a subsequent operation to retrieve the next set of\n results.

                            " - } - }, "EventSources": { "target": "com.amazonaws.cloudwatchevents#EventSourceList", "traits": { "smithy.api#documentation": "

                            The list of event sources.

                            " } + }, + "NextToken": { + "target": "com.amazonaws.cloudwatchevents#NextToken", + "traits": { + "smithy.api#documentation": "

                            A token you can use in a subsequent operation to retrieve the next set of\n results.

                            " + } } } }, @@ -2223,10 +2248,11 @@ "com.amazonaws.cloudwatchevents#ListPartnerEventSourceAccountsRequest": { "type": "structure", "members": { - "Limit": { - "target": "com.amazonaws.cloudwatchevents#LimitMax100", + "EventSourceName": { + "target": "com.amazonaws.cloudwatchevents#EventSourceName", "traits": { - "smithy.api#documentation": "

                            Specifying this limits the number of results returned by this operation. The operation\n also returns a NextToken which you can use in a subsequent operation to retrieve the\n next set of results.

                            " + "smithy.api#documentation": "

                            The name of the partner event source to display account information about.

                            ", + "smithy.api#required": {} } }, "NextToken": { @@ -2235,11 +2261,10 @@ "smithy.api#documentation": "

                            The token returned by a previous call to this operation. Specifying this retrieves the\n next set of results.

                            " } }, - "EventSourceName": { - "target": "com.amazonaws.cloudwatchevents#EventSourceName", + "Limit": { + "target": "com.amazonaws.cloudwatchevents#LimitMax100", "traits": { - "smithy.api#documentation": "

                            The name of the partner event source to display account information about.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            Specifying this limits the number of results returned by this operation. The operation\n also returns a NextToken which you can use in a subsequent operation to retrieve the\n next set of results.

                            " } } } @@ -2247,17 +2272,17 @@ "com.amazonaws.cloudwatchevents#ListPartnerEventSourceAccountsResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.cloudwatchevents#NextToken", - "traits": { - "smithy.api#documentation": "

                            A token you can use in a subsequent operation to retrieve the next set of\n results.

                            " - } - }, "PartnerEventSourceAccounts": { "target": "com.amazonaws.cloudwatchevents#PartnerEventSourceAccountList", "traits": { "smithy.api#documentation": "

                            The list of partner event sources returned by the operation.

                            " } + }, + "NextToken": { + "target": "com.amazonaws.cloudwatchevents#NextToken", + "traits": { + "smithy.api#documentation": "

                            A token you can use in a subsequent operation to retrieve the next set of\n results.

                            " + } } } }, @@ -2284,12 +2309,6 @@ "com.amazonaws.cloudwatchevents#ListPartnerEventSourcesRequest": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.cloudwatchevents#NextToken", - "traits": { - "smithy.api#documentation": "

                            The token returned by a previous call to this operation. Specifying this retrieves the\n next set of results.

                            " - } - }, "NamePrefix": { "target": "com.amazonaws.cloudwatchevents#PartnerEventSourceNamePrefix", "traits": { @@ -2297,6 +2316,12 @@ "smithy.api#required": {} } }, + "NextToken": { + "target": "com.amazonaws.cloudwatchevents#NextToken", + "traits": { + "smithy.api#documentation": "

                            The token returned by a previous call to this operation. Specifying this retrieves the\n next set of results.

                            " + } + }, "Limit": { "target": "com.amazonaws.cloudwatchevents#LimitMax100", "traits": { @@ -2345,13 +2370,13 @@ "NamePrefix": { "target": "com.amazonaws.cloudwatchevents#ReplayName", "traits": { - "smithy.api#documentation": "

                            A name prefix to filter the archives returned. Only archives with name that match the\n prefix are returned.

                            " + "smithy.api#documentation": "

                            A name prefix to filter the replays returned. Only replays with name that match the\n prefix are returned.

                            " } }, - "NextToken": { - "target": "com.amazonaws.cloudwatchevents#NextToken", + "State": { + "target": "com.amazonaws.cloudwatchevents#ReplayState", "traits": { - "smithy.api#documentation": "

                            The token returned by a previous call to retrieve the next set of results.

                            " + "smithy.api#documentation": "

                            The state of the replay.

                            " } }, "EventSourceArn": { @@ -2360,16 +2385,16 @@ "smithy.api#documentation": "

                            The ARN of the event source associated with the replay.

                            " } }, - "Limit": { - "target": "com.amazonaws.cloudwatchevents#LimitMax100", + "NextToken": { + "target": "com.amazonaws.cloudwatchevents#NextToken", "traits": { - "smithy.api#documentation": "

                            The maximum number of replays to retrieve.

                            " + "smithy.api#documentation": "

                            The token returned by a previous call to retrieve the next set of results.

                            " } }, - "State": { - "target": "com.amazonaws.cloudwatchevents#ReplayState", + "Limit": { + "target": "com.amazonaws.cloudwatchevents#LimitMax100", "traits": { - "smithy.api#documentation": "

                            The state of the replay.

                            " + "smithy.api#documentation": "

                            The maximum number of replays to retrieve.

                            " } } } @@ -2377,17 +2402,17 @@ "com.amazonaws.cloudwatchevents#ListReplaysResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.cloudwatchevents#NextToken", - "traits": { - "smithy.api#documentation": "

                            The token returned by a previous call to retrieve the next set of results.

                            " - } - }, "Replays": { "target": "com.amazonaws.cloudwatchevents#ReplayList", "traits": { "smithy.api#documentation": "

                            An array of Replay objects that contain information about the\n replay.

                            " } + }, + "NextToken": { + "target": "com.amazonaws.cloudwatchevents#NextToken", + "traits": { + "smithy.api#documentation": "

                            The token returned by a previous call to retrieve the next set of results.

                            " + } } } }, @@ -2414,12 +2439,6 @@ "com.amazonaws.cloudwatchevents#ListRuleNamesByTargetRequest": { "type": "structure", "members": { - "Limit": { - "target": "com.amazonaws.cloudwatchevents#LimitMax100", - "traits": { - "smithy.api#documentation": "

                            The maximum number of results to return.

                            " - } - }, "TargetArn": { "target": "com.amazonaws.cloudwatchevents#TargetArn", "traits": { @@ -2427,16 +2446,22 @@ "smithy.api#required": {} } }, + "EventBusName": { + "target": "com.amazonaws.cloudwatchevents#EventBusNameOrArn", + "traits": { + "smithy.api#documentation": "

                            The name or ARN of the event bus to list rules for. If you omit this, the default event bus is\n used.

                            " + } + }, "NextToken": { "target": "com.amazonaws.cloudwatchevents#NextToken", "traits": { "smithy.api#documentation": "

                            The token returned by a previous call to retrieve the next set of\n results.

                            " } }, - "EventBusName": { - "target": "com.amazonaws.cloudwatchevents#EventBusName", + "Limit": { + "target": "com.amazonaws.cloudwatchevents#LimitMax100", "traits": { - "smithy.api#documentation": "

                            Limits the results to show only the rules associated with the specified event\n bus.

                            " + "smithy.api#documentation": "

                            The maximum number of results to return.

                            " } } } @@ -2481,28 +2506,28 @@ "com.amazonaws.cloudwatchevents#ListRulesRequest": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.cloudwatchevents#NextToken", + "NamePrefix": { + "target": "com.amazonaws.cloudwatchevents#RuleName", "traits": { - "smithy.api#documentation": "

                            The token returned by a previous call to retrieve the next set of\n results.

                            " + "smithy.api#documentation": "

                            The prefix matching the rule name.

                            " } }, - "Limit": { - "target": "com.amazonaws.cloudwatchevents#LimitMax100", + "EventBusName": { + "target": "com.amazonaws.cloudwatchevents#EventBusNameOrArn", "traits": { - "smithy.api#documentation": "

                            The maximum number of results to return.

                            " + "smithy.api#documentation": "

                            The name or ARN of the event bus to list the rules for. If you omit this, the default event bus is\n used.

                            " } }, - "NamePrefix": { - "target": "com.amazonaws.cloudwatchevents#RuleName", + "NextToken": { + "target": "com.amazonaws.cloudwatchevents#NextToken", "traits": { - "smithy.api#documentation": "

                            The prefix matching the rule name.

                            " + "smithy.api#documentation": "

                            The token returned by a previous call to retrieve the next set of\n results.

                            " } }, - "EventBusName": { - "target": "com.amazonaws.cloudwatchevents#EventBusName", + "Limit": { + "target": "com.amazonaws.cloudwatchevents#LimitMax100", "traits": { - "smithy.api#documentation": "

                            Limits the results to show only the rules associated with the specified event\n bus.

                            " + "smithy.api#documentation": "

                            The maximum number of results to return.

                            " } } } @@ -2510,17 +2535,17 @@ "com.amazonaws.cloudwatchevents#ListRulesResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.cloudwatchevents#NextToken", - "traits": { - "smithy.api#documentation": "

                            Indicates whether there are additional results to retrieve. If there are no more\n results, the value is null.

                            " - } - }, "Rules": { "target": "com.amazonaws.cloudwatchevents#RuleResponseList", "traits": { "smithy.api#documentation": "

                            The rules that match the specified criteria.

                            " } + }, + "NextToken": { + "target": "com.amazonaws.cloudwatchevents#NextToken", + "traits": { + "smithy.api#documentation": "

                            Indicates whether there are additional results to retrieve. If there are no more\n results, the value is null.

                            " + } } } }, @@ -2590,10 +2615,17 @@ "com.amazonaws.cloudwatchevents#ListTargetsByRuleRequest": { "type": "structure", "members": { + "Rule": { + "target": "com.amazonaws.cloudwatchevents#RuleName", + "traits": { + "smithy.api#documentation": "

                            The name of the rule.

                            ", + "smithy.api#required": {} + } + }, "EventBusName": { - "target": "com.amazonaws.cloudwatchevents#EventBusName", + "target": "com.amazonaws.cloudwatchevents#EventBusNameOrArn", "traits": { - "smithy.api#documentation": "

                            The event bus associated with the rule. If you omit this, the default event bus is\n used.

                            " + "smithy.api#documentation": "

                            The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is\n used.

                            " } }, "NextToken": { @@ -2607,13 +2639,6 @@ "traits": { "smithy.api#documentation": "

                            The maximum number of results to return.

                            " } - }, - "Rule": { - "target": "com.amazonaws.cloudwatchevents#RuleName", - "traits": { - "smithy.api#documentation": "

                            The name of the rule.

                            ", - "smithy.api#required": {} - } } } }, @@ -2714,6 +2739,16 @@ "smithy.api#pattern": "[\\.\\-_A-Za-z0-9]+" } }, + "com.amazonaws.cloudwatchevents#NonPartnerEventBusNameOrArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1600 + }, + "smithy.api#pattern": "(arn:aws[\\w-]*:events:[a-z]{2}-[a-z]+-[\\w-]+:[0-9]{12}:event-bus\\/)?[\\.\\-_A-Za-z0-9]+" + } + }, "com.amazonaws.cloudwatchevents#OperationDisabledException": { "type": "structure", "members": { @@ -2729,16 +2764,16 @@ "com.amazonaws.cloudwatchevents#PartnerEventSource": { "type": "structure", "members": { - "Name": { + "Arn": { "target": "com.amazonaws.cloudwatchevents#String", "traits": { - "smithy.api#documentation": "

                            The name of the partner event source.

                            " + "smithy.api#documentation": "

                            The ARN of the partner event source.

                            " } }, - "Arn": { + "Name": { "target": "com.amazonaws.cloudwatchevents#String", "traits": { - "smithy.api#documentation": "

                            The ARN of the partner event source.

                            " + "smithy.api#documentation": "

                            The name of the partner event source.

                            " } } }, @@ -2755,10 +2790,10 @@ "smithy.api#documentation": "

                            The AWS account ID that the partner event source was offered to.

                            " } }, - "State": { - "target": "com.amazonaws.cloudwatchevents#EventSourceState", + "CreationTime": { + "target": "com.amazonaws.cloudwatchevents#Timestamp", "traits": { - "smithy.api#documentation": "

                            The state of the event source. If it is ACTIVE, you have already created a matching\n event bus for this event source, and that event bus is active. If it is PENDING, either\n you haven't yet created a matching event bus, or that event bus is deactivated. If it is\n DELETED, you have created a matching event bus, but the event source has since been\n deleted.

                            " + "smithy.api#documentation": "

                            The date and time the event source was created.

                            " } }, "ExpirationTime": { @@ -2767,10 +2802,10 @@ "smithy.api#documentation": "

                            The date and time that the event source will expire, if the AWS account doesn't create\n a matching event bus for it.

                            " } }, - "CreationTime": { - "target": "com.amazonaws.cloudwatchevents#Timestamp", + "State": { + "target": "com.amazonaws.cloudwatchevents#EventSourceState", "traits": { - "smithy.api#documentation": "

                            The date and time the event source was created.

                            " + "smithy.api#documentation": "

                            The state of the event source. If it is ACTIVE, you have already created a matching\n event bus for this event source, and that event bus is active. If it is PENDING, either\n you haven't yet created a matching event bus, or that event bus is deactivated. If it is\n DELETED, you have created a matching event bus, but the event source has since been\n deleted.

                            " } } }, @@ -2866,28 +2901,28 @@ "com.amazonaws.cloudwatchevents#PutEventsRequestEntry": { "type": "structure", "members": { - "Resources": { - "target": "com.amazonaws.cloudwatchevents#EventResourceList", - "traits": { - "smithy.api#documentation": "

                            AWS resources, identified by Amazon Resource Name (ARN), which the event primarily\n concerns. Any number, including zero, may be present.

                            " - } - }, "Time": { "target": "com.amazonaws.cloudwatchevents#EventTime", "traits": { "smithy.api#documentation": "

                            The time stamp of the event, per RFC3339. If no time stamp\n is provided, the time stamp of the PutEvents call is used.

                            " } }, - "EventBusName": { - "target": "com.amazonaws.cloudwatchevents#NonPartnerEventBusName", + "Source": { + "target": "com.amazonaws.cloudwatchevents#String", "traits": { - "smithy.api#documentation": "

                            The event bus that will receive the event. Only the rules that are associated with\n this event bus will be able to match the event.

                            " + "smithy.api#documentation": "

                            The source of the event.

                            " } }, - "Source": { + "Resources": { + "target": "com.amazonaws.cloudwatchevents#EventResourceList", + "traits": { + "smithy.api#documentation": "

                            AWS resources, identified by Amazon Resource Name (ARN), which the event primarily\n concerns. Any number, including zero, may be present.

                            " + } + }, + "DetailType": { "target": "com.amazonaws.cloudwatchevents#String", "traits": { - "smithy.api#documentation": "

                            The source of the event.

                            " + "smithy.api#documentation": "

                            Free-form string used to decide what fields to expect in the event\n detail.

                            " } }, "Detail": { @@ -2896,10 +2931,10 @@ "smithy.api#documentation": "

                            A valid JSON string. There is no other schema imposed. The JSON string may contain\n fields and nested subobjects.

                            " } }, - "DetailType": { - "target": "com.amazonaws.cloudwatchevents#String", + "EventBusName": { + "target": "com.amazonaws.cloudwatchevents#NonPartnerEventBusNameOrArn", "traits": { - "smithy.api#documentation": "

                            Free-form string used to decide what fields to expect in the event\n detail.

                            " + "smithy.api#documentation": "

                            The name or ARN of the event bus to receive the event. Only the rules that are associated with\n this event bus are used to match the event. If you omit this, the default event bus is\n used.

                            " } } }, @@ -2939,12 +2974,6 @@ "com.amazonaws.cloudwatchevents#PutEventsResultEntry": { "type": "structure", "members": { - "ErrorMessage": { - "target": "com.amazonaws.cloudwatchevents#ErrorMessage", - "traits": { - "smithy.api#documentation": "

                            The error message that explains why the event submission failed.

                            " - } - }, "EventId": { "target": "com.amazonaws.cloudwatchevents#EventId", "traits": { @@ -2956,6 +2985,12 @@ "traits": { "smithy.api#documentation": "

                            The error code that indicates why the event submission failed.

                            " } + }, + "ErrorMessage": { + "target": "com.amazonaws.cloudwatchevents#ErrorMessage", + "traits": { + "smithy.api#documentation": "

                            The error message that explains why the event submission failed.

                            " + } } }, "traits": { @@ -3003,16 +3038,10 @@ "com.amazonaws.cloudwatchevents#PutPartnerEventsRequestEntry": { "type": "structure", "members": { - "DetailType": { - "target": "com.amazonaws.cloudwatchevents#String", - "traits": { - "smithy.api#documentation": "

                            A free-form string used to decide what fields to expect in the event detail.

                            " - } - }, - "Detail": { - "target": "com.amazonaws.cloudwatchevents#String", + "Time": { + "target": "com.amazonaws.cloudwatchevents#EventTime", "traits": { - "smithy.api#documentation": "

                            A valid JSON string. There is no other schema imposed. The JSON string may contain\n fields and nested subobjects.

                            " + "smithy.api#documentation": "

                            The date and time of the event.

                            " } }, "Source": { @@ -3027,10 +3056,16 @@ "smithy.api#documentation": "

                            AWS resources, identified by Amazon Resource Name (ARN), which the event primarily\n concerns. Any number, including zero, may be present.

                            " } }, - "Time": { - "target": "com.amazonaws.cloudwatchevents#EventTime", + "DetailType": { + "target": "com.amazonaws.cloudwatchevents#String", "traits": { - "smithy.api#documentation": "

                            The date and time of the event.

                            " + "smithy.api#documentation": "

                            A free-form string used to decide what fields to expect in the event detail.

                            " + } + }, + "Detail": { + "target": "com.amazonaws.cloudwatchevents#String", + "traits": { + "smithy.api#documentation": "

                            A valid JSON string. There is no other schema imposed. The JSON string may contain\n fields and nested subobjects.

                            " } } }, @@ -3070,6 +3105,12 @@ "com.amazonaws.cloudwatchevents#PutPartnerEventsResultEntry": { "type": "structure", "members": { + "EventId": { + "target": "com.amazonaws.cloudwatchevents#EventId", + "traits": { + "smithy.api#documentation": "

                            The ID of the event.

                            " + } + }, "ErrorCode": { "target": "com.amazonaws.cloudwatchevents#ErrorCode", "traits": { @@ -3081,12 +3122,6 @@ "traits": { "smithy.api#documentation": "

                            The error message that explains why the event submission failed.

                            " } - }, - "EventId": { - "target": "com.amazonaws.cloudwatchevents#EventId", - "traits": { - "smithy.api#documentation": "

                            The ID of the event.

                            " - } } }, "traits": { @@ -3111,6 +3146,9 @@ { "target": "com.amazonaws.cloudwatchevents#InternalException" }, + { + "target": "com.amazonaws.cloudwatchevents#OperationDisabledException" + }, { "target": "com.amazonaws.cloudwatchevents#PolicyLengthExceededException" }, @@ -3128,34 +3166,37 @@ "EventBusName": { "target": "com.amazonaws.cloudwatchevents#NonPartnerEventBusName", "traits": { - "smithy.api#documentation": "

                            The event bus associated with the rule. If you omit this, the default event bus is\n used.

                            " + "smithy.api#documentation": "

                            The name of the event bus associated with the rule. If you omit this, the default event bus is\n used.

                            " } }, "Action": { "target": "com.amazonaws.cloudwatchevents#Action", "traits": { - "smithy.api#documentation": "

                            The action that you are enabling the other account to perform. Currently, this must\n be events:PutEvents.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The action that you are enabling the other account to perform. Currently, this must\n be events:PutEvents.

                            " } }, - "Condition": { - "target": "com.amazonaws.cloudwatchevents#Condition", + "Principal": { + "target": "com.amazonaws.cloudwatchevents#Principal", "traits": { - "smithy.api#documentation": "

                            This parameter enables you to limit the permission to accounts that fulfill a certain\n condition, such as being a member of a certain AWS organization. For more information\n about AWS Organizations, see What Is AWS\n Organizations in the AWS Organizations User\n Guide.

                            \n

                            If you specify Condition with an AWS organization ID, and specify \"*\" as\n the value for Principal, you grant permission to all the accounts in the\n named organization.

                            \n\n

                            The Condition is a JSON string which must contain Type,\n Key, and Value fields.

                            " + "smithy.api#documentation": "

                            The 12-digit AWS account ID that you are permitting to put events to your default\n event bus. Specify \"*\" to permit any account to put events to your default event\n bus.

                            \n\n

                            If you specify \"*\" without specifying Condition, avoid creating rules\n that may match undesirable events. To create more secure rules, make sure that the event\n pattern for each rule contains an account field with a specific account ID\n from which to receive events. Rules with an account field do not match any events sent\n from other accounts.

                            " } }, "StatementId": { "target": "com.amazonaws.cloudwatchevents#StatementId", "traits": { - "smithy.api#documentation": "

                            An identifier string for the external account that you are granting permissions to.\n If you later want to revoke the permission for this external account, specify this\n StatementId when you run RemovePermission.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            An identifier string for the external account that you are granting permissions to.\n If you later want to revoke the permission for this external account, specify this\n StatementId when you run RemovePermission.

                            " } }, - "Principal": { - "target": "com.amazonaws.cloudwatchevents#Principal", + "Condition": { + "target": "com.amazonaws.cloudwatchevents#Condition", "traits": { - "smithy.api#documentation": "

                            The 12-digit AWS account ID that you are permitting to put events to your default\n event bus. Specify \"*\" to permit any account to put events to your default event\n bus.

                            \n\n

                            If you specify \"*\" without specifying Condition, avoid creating rules\n that may match undesirable events. To create more secure rules, make sure that the event\n pattern for each rule contains an account field with a specific account ID\n from which to receive events. Rules with an account field do not match any events sent\n from other accounts.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            This parameter enables you to limit the permission to accounts that fulfill a certain\n condition, such as being a member of a certain AWS organization. For more information\n about AWS Organizations, see What Is AWS\n Organizations in the AWS Organizations User\n Guide.

                            \n

                            If you specify Condition with an AWS organization ID, and specify \"*\" as\n the value for Principal, you grant permission to all the accounts in the\n named organization.

                            \n\n

                            The Condition is a JSON string which must contain Type,\n Key, and Value fields.

                            " + } + }, + "Policy": { + "target": "com.amazonaws.cloudwatchevents#String", + "traits": { + "smithy.api#documentation": "

                            A JSON string that describes the permission policy statement. You can include a Policy parameter \n in the request instead of using the StatementId, Action, Principal, or Condition parameters.

                            " } } } @@ -3195,10 +3236,11 @@ "com.amazonaws.cloudwatchevents#PutRuleRequest": { "type": "structure", "members": { - "EventPattern": { - "target": "com.amazonaws.cloudwatchevents#EventPattern", + "Name": { + "target": "com.amazonaws.cloudwatchevents#RuleName", "traits": { - "smithy.api#documentation": "

                            The event pattern. For more information, see Events and\n Event Patterns in the Amazon EventBridge User\n Guide.

                            " + "smithy.api#documentation": "

                            The name of the rule that you are creating or updating.

                            ", + "smithy.api#required": {} } }, "ScheduleExpression": { @@ -3207,41 +3249,40 @@ "smithy.api#documentation": "

                            The scheduling expression. For example, \"cron(0 20 * * ? *)\" or \"rate(5\n minutes)\".

                            " } }, - "EventBusName": { - "target": "com.amazonaws.cloudwatchevents#EventBusName", + "EventPattern": { + "target": "com.amazonaws.cloudwatchevents#EventPattern", "traits": { - "smithy.api#documentation": "

                            The event bus to associate with this rule. If you omit this, the default event bus is\n used.

                            " + "smithy.api#documentation": "

                            The event pattern. For more information, see Events and\n Event Patterns in the Amazon EventBridge User\n Guide.

                            " } }, - "Tags": { - "target": "com.amazonaws.cloudwatchevents#TagList", + "State": { + "target": "com.amazonaws.cloudwatchevents#RuleState", "traits": { - "smithy.api#documentation": "

                            The list of key-value pairs to associate with the rule.

                            " + "smithy.api#documentation": "

                            Indicates whether the rule is enabled or disabled.

                            " } }, - "RoleArn": { - "target": "com.amazonaws.cloudwatchevents#RoleArn", + "Description": { + "target": "com.amazonaws.cloudwatchevents#RuleDescription", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the IAM role associated with the rule.

                            " + "smithy.api#documentation": "

                            A description of the rule.

                            " } }, - "Name": { - "target": "com.amazonaws.cloudwatchevents#RuleName", + "RoleArn": { + "target": "com.amazonaws.cloudwatchevents#RoleArn", "traits": { - "smithy.api#documentation": "

                            The name of the rule that you are creating or updating.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the IAM role associated with the rule.

                            " } }, - "Description": { - "target": "com.amazonaws.cloudwatchevents#RuleDescription", + "Tags": { + "target": "com.amazonaws.cloudwatchevents#TagList", "traits": { - "smithy.api#documentation": "

                            A description of the rule.

                            " + "smithy.api#documentation": "

                            The list of key-value pairs to associate with the rule.

                            " } }, - "State": { - "target": "com.amazonaws.cloudwatchevents#RuleState", + "EventBusName": { + "target": "com.amazonaws.cloudwatchevents#EventBusNameOrArn", "traits": { - "smithy.api#documentation": "

                            Indicates whether the rule is enabled or disabled.

                            " + "smithy.api#documentation": "

                            The name or ARN of the event bus to associate with this rule. If you omit this, the default event bus is\n used.

                            " } } } @@ -3283,29 +3324,29 @@ } ], "traits": { - "smithy.api#documentation": "

                            Adds the specified targets to the specified rule, or updates the targets if they\n are already associated with the rule.

                            \n

                            Targets are the resources that are invoked when a rule is triggered.

                            \n

                            You can configure the following as targets for Events:

                            \n\n
                              \n
                            • \n

                              EC2 instances

                              \n
                            • \n
                            • \n

                              SSM Run Command

                              \n
                            • \n
                            • \n

                              SSM Automation

                              \n
                            • \n
                            • \n

                              AWS Lambda functions

                              \n
                            • \n
                            • \n

                              Data streams in Amazon Kinesis Data Streams

                              \n
                            • \n
                            • \n

                              Data delivery streams in Amazon Kinesis Data Firehose

                              \n
                            • \n
                            • \n

                              Amazon ECS tasks

                              \n
                            • \n
                            • \n

                              AWS Step Functions state machines

                              \n
                            • \n
                            • \n

                              AWS Batch jobs

                              \n
                            • \n
                            • \n

                              AWS CodeBuild projects

                              \n
                            • \n
                            • \n

                              Pipelines in AWS CodePipeline

                              \n
                            • \n
                            • \n

                              Amazon Inspector assessment templates

                              \n
                            • \n
                            • \n

                              Amazon SNS topics

                              \n
                            • \n
                            • \n

                              Amazon SQS queues, including FIFO queues

                              \n
                            • \n
                            • \n

                              The default event bus of another AWS account

                              \n
                            • \n
                            • \n

                              Amazon API Gateway REST APIs

                              \n
                            • \n
                            • \n

                              Redshift Clusters to invoke Data API ExecuteStatement on

                              \n
                            • \n
                            \n\n\n\n

                            Creating rules with built-in targets is supported only in the AWS Management\n Console. The built-in targets are EC2 CreateSnapshot API call, EC2\n RebootInstances API call, EC2 StopInstances API call, and\n EC2 TerminateInstances API call.

                            \n\n

                            For some target types, PutTargets provides target-specific parameters.\n If the target is a Kinesis data stream, you can optionally specify which shard the event\n goes to by using the KinesisParameters argument. To invoke a command on\n multiple EC2 instances with one rule, you can use the RunCommandParameters\n field.

                            \n

                            To be able to make API calls against the resources that you own, Amazon EventBridge\n (CloudWatch Events) needs the appropriate permissions. For AWS Lambda and Amazon SNS\n resources, EventBridge relies on resource-based policies. For EC2 instances, Kinesis\n data streams, AWS Step Functions state machines and API Gateway REST APIs, EventBridge\n relies on IAM roles that you specify in the RoleARN argument in\n PutTargets. For more information, see Authentication and Access Control in the Amazon EventBridge User\n Guide.

                            \n\n

                            If another AWS account is in the same region and has granted you permission (using\n PutPermission), you can send events to that account. Set that account's\n event bus as a target of the rules in your account. To send the matched events to the\n other account, specify that account's event bus as the Arn value when you\n run PutTargets. If your account sends events to another account, your\n account is charged for each sent event. Each event sent to another account is charged as\n a custom event. The account receiving the event is not charged. For more information,\n see Amazon EventBridge\n (CloudWatch Events) Pricing.

                            \n\n \n

                            \n Input, InputPath, and InputTransformer are\n not available with PutTarget if the target is an event bus of a\n different AWS account.

                            \n
                            \n\n

                            If you are setting the event bus of another account as the target, and that account\n granted permission to your account through an organization instead of directly by the\n account ID, then you must specify a RoleArn with proper permissions in the\n Target structure. For more information, see Sending and Receiving Events Between AWS Accounts in the Amazon\n EventBridge User Guide.

                            \n\n

                            For more information about enabling cross-account events, see PutPermission.

                            \n\n

                            \n Input, InputPath, and\n InputTransformer are mutually exclusive and\n optional parameters of a target. When a rule is triggered due to a matched\n event:

                            \n\n
                              \n
                            • \n

                              If none of the following arguments are specified for a target, then the\n entire event is passed to the target in JSON format (unless the target is Amazon\n EC2 Run Command or Amazon ECS task, in which case nothing from the event is\n passed to the target).

                              \n
                            • \n
                            • \n

                              If Input is specified in the form of valid\n JSON, then the matched event is overridden with this constant.

                              \n
                            • \n
                            • \n

                              If InputPath is specified in the form of\n JSONPath (for example, $.detail), then only the part of the event\n specified in the path is passed to the target (for example, only the detail part\n of the event is passed).

                              \n
                            • \n
                            • \n

                              If InputTransformer is specified, then one\n or more specified JSONPaths are extracted from the event and used as values in a\n template that you specify as the input to the target.

                              \n
                            • \n
                            \n\n

                            When you specify InputPath or InputTransformer, you must\n use JSON dot notation, not bracket notation.

                            \n\n

                            When you add targets to a rule and the associated rule triggers soon after, new or\n updated targets might not be immediately invoked. Allow a short period of time for\n changes to take effect.

                            \n\n

                            This action can partially fail if too many requests are made at the same time. If\n that happens, FailedEntryCount is non-zero in the response and each entry\n in FailedEntries provides the ID of the failed target and the error\n code.

                            " + "smithy.api#documentation": "

                            Adds the specified targets to the specified rule, or updates the targets if they\n are already associated with the rule.

                            \n

                            Targets are the resources that are invoked when a rule is triggered.

                            \n

                            You can configure the following as targets for Events:

                            \n\n
                              \n
                            • \n

                              EC2 instances

                              \n
                            • \n
                            • \n

                              SSM Run Command

                              \n
                            • \n
                            • \n

                              SSM Automation

                              \n
                            • \n
                            • \n

                              AWS Lambda functions

                              \n
                            • \n
                            • \n

                              Data streams in Amazon Kinesis Data Streams

                              \n
                            • \n
                            • \n

                              Data delivery streams in Amazon Kinesis Data Firehose

                              \n
                            • \n
                            • \n

                              Amazon ECS tasks

                              \n
                            • \n
                            • \n

                              AWS Step Functions state machines

                              \n
                            • \n
                            • \n

                              AWS Batch jobs

                              \n
                            • \n
                            • \n

                              AWS CodeBuild projects

                              \n
                            • \n
                            • \n

                              Pipelines in AWS CodePipeline

                              \n
                            • \n
                            • \n

                              Amazon Inspector assessment templates

                              \n
                            • \n
                            • \n

                              Amazon SNS topics

                              \n
                            • \n
                            • \n

                              Amazon SQS queues, including FIFO queues

                              \n
                            • \n
                            • \n

                              The default event bus of another AWS account

                              \n
                            • \n
                            • \n

                              Amazon API Gateway REST APIs

                              \n
                            • \n
                            • \n

                              Redshift Clusters to invoke Data API ExecuteStatement on

                              \n
                            • \n
                            \n\n\n\n

                            Creating rules with built-in targets is supported only in the AWS Management\n Console. The built-in targets are EC2 CreateSnapshot API call, EC2\n RebootInstances API call, EC2 StopInstances API call, and\n EC2 TerminateInstances API call.

                            \n\n

                            For some target types, PutTargets provides target-specific parameters.\n If the target is a Kinesis data stream, you can optionally specify which shard the event\n goes to by using the KinesisParameters argument. To invoke a command on\n multiple EC2 instances with one rule, you can use the RunCommandParameters\n field.

                            \n\n

                            To be able to make API calls against the resources that you own, Amazon EventBridge \n (CloudWatch Events) needs the appropriate permissions. For AWS Lambda and Amazon SNS resources,\n EventBridge relies on resource-based policies. For EC2 instances, Kinesis data\n streams, AWS Step Functions state machines and API Gateway REST APIs, EventBridge relies on IAM roles\n that you specify in the RoleARN argument in PutTargets. For more information, \n see Authentication and Access Control in the Amazon EventBridge User\n Guide.

                            \n\n

                            If another AWS account is in the same region and has granted you permission (using\n PutPermission), you can send events to that account. Set that account's\n event bus as a target of the rules in your account. To send the matched events to the\n other account, specify that account's event bus as the Arn value when you\n run PutTargets. If your account sends events to another account, your\n account is charged for each sent event. Each event sent to another account is charged as\n a custom event. The account receiving the event is not charged. For more information,\n see Amazon EventBridge (CloudWatch Events)\n Pricing.

                            \n\n \n

                            \n Input, InputPath, and InputTransformer are\n not available with PutTarget if the target is an event bus of a\n different AWS account.

                            \n
                            \n\n

                            If you are setting the event bus of another account as the target, and that account\n granted permission to your account through an organization instead of directly by the\n account ID, then you must specify a RoleArn with proper permissions in the\n Target structure. For more information, see Sending and Receiving Events Between AWS Accounts in the Amazon\n EventBridge User Guide.

                            \n\n

                            For more information about enabling cross-account events, see PutPermission.

                            \n\n

                            \n Input, InputPath, and\n InputTransformer are mutually exclusive and\n optional parameters of a target. When a rule is triggered due to a matched\n event:

                            \n\n
                              \n
                            • \n

                              If none of the following arguments are specified for a target, then the\n entire event is passed to the target in JSON format (unless the target is Amazon\n EC2 Run Command or Amazon ECS task, in which case nothing from the event is\n passed to the target).

                              \n
                            • \n
                            • \n

                              If Input is specified in the form of valid\n JSON, then the matched event is overridden with this constant.

                              \n
                            • \n
                            • \n

                              If InputPath is specified in the form of\n JSONPath (for example, $.detail), then only the part of the event\n specified in the path is passed to the target (for example, only the detail part\n of the event is passed).

                              \n
                            • \n
                            • \n

                              If InputTransformer is specified, then one\n or more specified JSONPaths are extracted from the event and used as values in a\n template that you specify as the input to the target.

                              \n
                            • \n
                            \n\n

                            When you specify InputPath or InputTransformer, you must\n use JSON dot notation, not bracket notation.

                            \n\n

                            When you add targets to a rule and the associated rule triggers soon after, new or\n updated targets might not be immediately invoked. Allow a short period of time for\n changes to take effect.

                            \n\n

                            This action can partially fail if too many requests are made at the same time. If\n that happens, FailedEntryCount is non-zero in the response and each entry\n in FailedEntries provides the ID of the failed target and the error\n code.

                            " } }, "com.amazonaws.cloudwatchevents#PutTargetsRequest": { "type": "structure", "members": { - "Targets": { - "target": "com.amazonaws.cloudwatchevents#TargetList", + "Rule": { + "target": "com.amazonaws.cloudwatchevents#RuleName", "traits": { - "smithy.api#documentation": "

                            The targets to update or add to the rule.

                            ", + "smithy.api#documentation": "

                            The name of the rule.

                            ", "smithy.api#required": {} } }, "EventBusName": { - "target": "com.amazonaws.cloudwatchevents#EventBusName", + "target": "com.amazonaws.cloudwatchevents#EventBusNameOrArn", "traits": { - "smithy.api#documentation": "

                            The name of the event bus associated with the rule. If you omit this, the default\n event bus is used.

                            " + "smithy.api#documentation": "

                            The name or ARN of the event bus associated with the rule. If you omit this, the default\n event bus is used.

                            " } }, - "Rule": { - "target": "com.amazonaws.cloudwatchevents#RuleName", + "Targets": { + "target": "com.amazonaws.cloudwatchevents#TargetList", "traits": { - "smithy.api#documentation": "

                            The name of the rule.

                            ", + "smithy.api#documentation": "

                            The targets to update or add to the rule.

                            ", "smithy.api#required": {} } } @@ -3331,12 +3372,6 @@ "com.amazonaws.cloudwatchevents#PutTargetsResultEntry": { "type": "structure", "members": { - "ErrorMessage": { - "target": "com.amazonaws.cloudwatchevents#ErrorMessage", - "traits": { - "smithy.api#documentation": "

                            The error message that explains why the target addition failed.

                            " - } - }, "TargetId": { "target": "com.amazonaws.cloudwatchevents#TargetId", "traits": { @@ -3348,6 +3383,12 @@ "traits": { "smithy.api#documentation": "

                            The error code that indicates why the target addition failed. If the value is\n ConcurrentModificationException, too many requests were made at the\n same time.

                            " } + }, + "ErrorMessage": { + "target": "com.amazonaws.cloudwatchevents#ErrorMessage", + "traits": { + "smithy.api#documentation": "

                            The error message that explains why the target addition failed.

                            " + } } }, "traits": { @@ -3392,16 +3433,16 @@ "com.amazonaws.cloudwatchevents#RedshiftDataParameters": { "type": "structure", "members": { - "StatementName": { - "target": "com.amazonaws.cloudwatchevents#StatementName", + "SecretManagerArn": { + "target": "com.amazonaws.cloudwatchevents#RedshiftSecretManagerArn", "traits": { - "smithy.api#documentation": "

                            The name of the SQL statement. You can name the SQL statement when you create it to\n identify the query.

                            " + "smithy.api#documentation": "

                            The name or ARN of the secret that enables access to the database. Required when\n authenticating using AWS Secrets Manager.

                            " } }, - "Sql": { - "target": "com.amazonaws.cloudwatchevents#Sql", + "Database": { + "target": "com.amazonaws.cloudwatchevents#Database", "traits": { - "smithy.api#documentation": "

                            The SQL statement text to run.

                            ", + "smithy.api#documentation": "

                            The name of the database. Required when authenticating using temporary\n credentials.

                            ", "smithy.api#required": {} } }, @@ -3411,23 +3452,23 @@ "smithy.api#documentation": "

                            The database user name. Required when authenticating using temporary\n credentials.

                            " } }, - "WithEvent": { - "target": "com.amazonaws.cloudwatchevents#Boolean", + "Sql": { + "target": "com.amazonaws.cloudwatchevents#Sql", "traits": { - "smithy.api#documentation": "

                            Indicates whether to send an event back to EventBridge after the SQL statement\n runs.

                            " + "smithy.api#documentation": "

                            The SQL statement text to run.

                            ", + "smithy.api#required": {} } }, - "Database": { - "target": "com.amazonaws.cloudwatchevents#Database", + "StatementName": { + "target": "com.amazonaws.cloudwatchevents#StatementName", "traits": { - "smithy.api#documentation": "

                            The name of the database. Required when authenticating using temporary\n credentials.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The name of the SQL statement. You can name the SQL statement when you create it to\n identify the query.

                            " } }, - "SecretManagerArn": { - "target": "com.amazonaws.cloudwatchevents#RedshiftSecretManagerArn", + "WithEvent": { + "target": "com.amazonaws.cloudwatchevents#Boolean", "traits": { - "smithy.api#documentation": "

                            The name or ARN of the secret that enables access to the database. Required when\n authenticating using AWS Secrets Manager.

                            " + "smithy.api#documentation": "

                            Indicates whether to send an event back to EventBridge after the SQL statement\n runs.

                            " } } }, @@ -3457,6 +3498,9 @@ { "target": "com.amazonaws.cloudwatchevents#InternalException" }, + { + "target": "com.amazonaws.cloudwatchevents#OperationDisabledException" + }, { "target": "com.amazonaws.cloudwatchevents#ResourceNotFoundException" } @@ -3471,8 +3515,13 @@ "StatementId": { "target": "com.amazonaws.cloudwatchevents#StatementId", "traits": { - "smithy.api#documentation": "

                            The statement ID corresponding to the account that is no longer allowed to put\n events to the default event bus.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The statement ID corresponding to the account that is no longer allowed to put\n events to the default event bus.

                            " + } + }, + "RemoveAllPermissions": { + "target": "com.amazonaws.cloudwatchevents#Boolean", + "traits": { + "smithy.api#documentation": "

                            Specifies whether to remove all permissions.

                            " } }, "EventBusName": { @@ -3512,12 +3561,6 @@ "com.amazonaws.cloudwatchevents#RemoveTargetsRequest": { "type": "structure", "members": { - "Force": { - "target": "com.amazonaws.cloudwatchevents#Boolean", - "traits": { - "smithy.api#documentation": "

                            If this is a managed rule, created by an AWS service on your behalf, you must specify\n Force as True to remove targets. This parameter is ignored\n for rules that are not managed rules. You can check whether a rule is a managed rule by\n using DescribeRule or ListRules and checking the\n ManagedBy field of the response.

                            " - } - }, "Rule": { "target": "com.amazonaws.cloudwatchevents#RuleName", "traits": { @@ -3526,9 +3569,9 @@ } }, "EventBusName": { - "target": "com.amazonaws.cloudwatchevents#EventBusName", + "target": "com.amazonaws.cloudwatchevents#EventBusNameOrArn", "traits": { - "smithy.api#documentation": "

                            The name of the event bus associated with the rule.

                            " + "smithy.api#documentation": "

                            The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is\n used.

                            " } }, "Ids": { @@ -3537,35 +3580,35 @@ "smithy.api#documentation": "

                            The IDs of the targets to remove from the rule.

                            ", "smithy.api#required": {} } + }, + "Force": { + "target": "com.amazonaws.cloudwatchevents#Boolean", + "traits": { + "smithy.api#documentation": "

                            If this is a managed rule, created by an AWS service on your behalf, you must specify\n Force as True to remove targets. This parameter is ignored\n for rules that are not managed rules. You can check whether a rule is a managed rule by\n using DescribeRule or ListRules and checking the\n ManagedBy field of the response.

                            " + } } } }, "com.amazonaws.cloudwatchevents#RemoveTargetsResponse": { "type": "structure", "members": { - "FailedEntries": { - "target": "com.amazonaws.cloudwatchevents#RemoveTargetsResultEntryList", - "traits": { - "smithy.api#documentation": "

                            The failed target entries.

                            " - } - }, "FailedEntryCount": { "target": "com.amazonaws.cloudwatchevents#Integer", "traits": { "smithy.api#documentation": "

                            The number of failed entries.

                            " } + }, + "FailedEntries": { + "target": "com.amazonaws.cloudwatchevents#RemoveTargetsResultEntryList", + "traits": { + "smithy.api#documentation": "

                            The failed target entries.

                            " + } } } }, "com.amazonaws.cloudwatchevents#RemoveTargetsResultEntry": { "type": "structure", "members": { - "ErrorMessage": { - "target": "com.amazonaws.cloudwatchevents#ErrorMessage", - "traits": { - "smithy.api#documentation": "

                            The error message that explains why the target removal failed.

                            " - } - }, "TargetId": { "target": "com.amazonaws.cloudwatchevents#TargetId", "traits": { @@ -3577,6 +3620,12 @@ "traits": { "smithy.api#documentation": "

                            The error code that indicates why the target removal failed. If the value is\n ConcurrentModificationException, too many requests were made at the\n same time.

                            " } + }, + "ErrorMessage": { + "target": "com.amazonaws.cloudwatchevents#ErrorMessage", + "traits": { + "smithy.api#documentation": "

                            The error message that explains why the target removal failed.

                            " + } } }, "traits": { @@ -3592,22 +3641,16 @@ "com.amazonaws.cloudwatchevents#Replay": { "type": "structure", "members": { - "EventLastReplayedTime": { - "target": "com.amazonaws.cloudwatchevents#Timestamp", - "traits": { - "smithy.api#documentation": "

                            A time stamp for the time that the last event was replayed.

                            " - } - }, - "ReplayStartTime": { - "target": "com.amazonaws.cloudwatchevents#Timestamp", + "ReplayName": { + "target": "com.amazonaws.cloudwatchevents#ReplayName", "traits": { - "smithy.api#documentation": "

                            A time stamp for the time that the replay started.

                            " + "smithy.api#documentation": "

                            The name of the replay.

                            " } }, - "StateReason": { - "target": "com.amazonaws.cloudwatchevents#ReplayStateReason", + "EventSourceArn": { + "target": "com.amazonaws.cloudwatchevents#Arn", "traits": { - "smithy.api#documentation": "

                            A description of why the replay is in the current state.

                            " + "smithy.api#documentation": "

                            The ARN of the archive to replay event from.

                            " } }, "State": { @@ -3616,34 +3659,40 @@ "smithy.api#documentation": "

                            The current state of the replay.

                            " } }, + "StateReason": { + "target": "com.amazonaws.cloudwatchevents#ReplayStateReason", + "traits": { + "smithy.api#documentation": "

                            A description of why the replay is in the current state.

                            " + } + }, "EventStartTime": { "target": "com.amazonaws.cloudwatchevents#Timestamp", "traits": { "smithy.api#documentation": "

                            A time stamp for the time to start replaying events. This is determined by the time in\n the event as described in Time.

                            " } }, - "ReplayEndTime": { + "EventEndTime": { "target": "com.amazonaws.cloudwatchevents#Timestamp", "traits": { - "smithy.api#documentation": "

                            A time stamp for the time that the replay completed.

                            " + "smithy.api#documentation": "

                            A time stamp for the time to start replaying events. Any event with a creation time\n prior to the EventEndTime specified is replayed.

                            " } }, - "ReplayName": { - "target": "com.amazonaws.cloudwatchevents#ReplayName", + "EventLastReplayedTime": { + "target": "com.amazonaws.cloudwatchevents#Timestamp", "traits": { - "smithy.api#documentation": "

                            The name of the replay.

                            " + "smithy.api#documentation": "

                            A time stamp for the time that the last event was replayed.

                            " } }, - "EventSourceArn": { - "target": "com.amazonaws.cloudwatchevents#Arn", + "ReplayStartTime": { + "target": "com.amazonaws.cloudwatchevents#Timestamp", "traits": { - "smithy.api#documentation": "

                            The ARN of the archive to replay event from.

                            " + "smithy.api#documentation": "

                            A time stamp for the time that the replay started.

                            " } }, - "EventEndTime": { + "ReplayEndTime": { "target": "com.amazonaws.cloudwatchevents#Timestamp", "traits": { - "smithy.api#documentation": "

                            A time stamp for the time to start replaying events. Any event with a creation time\n prior to the EventEndTime specified is replayed.

                            " + "smithy.api#documentation": "

                            A time stamp for the time that the replay completed.

                            " } } }, @@ -3835,16 +3884,10 @@ "smithy.api#documentation": "

                            The name of the rule.

                            " } }, - "ManagedBy": { - "target": "com.amazonaws.cloudwatchevents#ManagedBy", - "traits": { - "smithy.api#documentation": "

                            If the rule was created on behalf of your account by an AWS service, this field\n displays the principal name of the service that created the rule.

                            " - } - }, - "ScheduleExpression": { - "target": "com.amazonaws.cloudwatchevents#ScheduleExpression", + "Arn": { + "target": "com.amazonaws.cloudwatchevents#RuleArn", "traits": { - "smithy.api#documentation": "

                            The scheduling expression. For example, \"cron(0 20 * * ? *)\", \"rate(5\n minutes)\".

                            " + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the rule.

                            " } }, "EventPattern": { @@ -3853,10 +3896,10 @@ "smithy.api#documentation": "

                            The event pattern of the rule. For more information, see Events and\n Event Patterns in the Amazon EventBridge User\n Guide.

                            " } }, - "Arn": { - "target": "com.amazonaws.cloudwatchevents#RuleArn", + "State": { + "target": "com.amazonaws.cloudwatchevents#RuleState", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the rule.

                            " + "smithy.api#documentation": "

                            The state of the rule.

                            " } }, "Description": { @@ -3865,22 +3908,28 @@ "smithy.api#documentation": "

                            The description of the rule.

                            " } }, + "ScheduleExpression": { + "target": "com.amazonaws.cloudwatchevents#ScheduleExpression", + "traits": { + "smithy.api#documentation": "

                            The scheduling expression. For example, \"cron(0 20 * * ? *)\", \"rate(5\n minutes)\".

                            " + } + }, "RoleArn": { "target": "com.amazonaws.cloudwatchevents#RoleArn", "traits": { "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the role that is used for target\n invocation.

                            " } }, - "EventBusName": { - "target": "com.amazonaws.cloudwatchevents#EventBusName", + "ManagedBy": { + "target": "com.amazonaws.cloudwatchevents#ManagedBy", "traits": { - "smithy.api#documentation": "

                            The event bus associated with the rule.

                            " + "smithy.api#documentation": "

                            If the rule was created on behalf of your account by an AWS service, this field\n displays the principal name of the service that created the rule.

                            " } }, - "State": { - "target": "com.amazonaws.cloudwatchevents#RuleState", + "EventBusName": { + "target": "com.amazonaws.cloudwatchevents#EventBusName", "traits": { - "smithy.api#documentation": "

                            The state of the rule.

                            " + "smithy.api#documentation": "

                            The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is\n used.

                            " } } }, @@ -4094,30 +4143,30 @@ "smithy.api#required": {} } }, - "EventStartTime": { - "target": "com.amazonaws.cloudwatchevents#Timestamp", - "traits": { - "smithy.api#documentation": "

                            A time stamp for the time to start replaying events. Only events that occurred between\n the EventStartTime and EventEndTime are replayed.

                            ", - "smithy.api#required": {} - } - }, "Description": { "target": "com.amazonaws.cloudwatchevents#ReplayDescription", "traits": { "smithy.api#documentation": "

                            A description for the replay to start.

                            " } }, - "EventEndTime": { + "EventSourceArn": { + "target": "com.amazonaws.cloudwatchevents#Arn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the archive to replay events from.

                            ", + "smithy.api#required": {} + } + }, + "EventStartTime": { "target": "com.amazonaws.cloudwatchevents#Timestamp", "traits": { - "smithy.api#documentation": "

                            A time stamp for the time to stop replaying events. Only events that occurred between\n the EventStartTime and EventEndTime are replayed.

                            ", + "smithy.api#documentation": "

                            A time stamp for the time to start replaying events. Only events that occurred between\n the EventStartTime and EventEndTime are replayed.

                            ", "smithy.api#required": {} } }, - "EventSourceArn": { - "target": "com.amazonaws.cloudwatchevents#Arn", + "EventEndTime": { + "target": "com.amazonaws.cloudwatchevents#Timestamp", "traits": { - "smithy.api#documentation": "

                            The ARN of the archive to replay events from.

                            ", + "smithy.api#documentation": "

                            A time stamp for the time to stop replaying events. Only events that occurred between\n the EventStartTime and EventEndTime are replayed.

                            ", "smithy.api#required": {} } }, @@ -4133,10 +4182,10 @@ "com.amazonaws.cloudwatchevents#StartReplayResponse": { "type": "structure", "members": { - "StateReason": { - "target": "com.amazonaws.cloudwatchevents#ReplayStateReason", + "ReplayArn": { + "target": "com.amazonaws.cloudwatchevents#ReplayArn", "traits": { - "smithy.api#documentation": "

                            The reason that the replay is in the state.

                            " + "smithy.api#documentation": "

                            The ARN of the replay.

                            " } }, "State": { @@ -4145,16 +4194,16 @@ "smithy.api#documentation": "

                            The state of the replay.

                            " } }, - "ReplayStartTime": { - "target": "com.amazonaws.cloudwatchevents#Timestamp", + "StateReason": { + "target": "com.amazonaws.cloudwatchevents#ReplayStateReason", "traits": { - "smithy.api#documentation": "

                            The time at which the replay started.

                            " + "smithy.api#documentation": "

                            The reason that the replay is in the state.

                            " } }, - "ReplayArn": { - "target": "com.amazonaws.cloudwatchevents#ReplayArn", + "ReplayStartTime": { + "target": "com.amazonaws.cloudwatchevents#Timestamp", "traits": { - "smithy.api#documentation": "

                            The ARN of the replay.

                            " + "smithy.api#documentation": "

                            The time at which the replay started.

                            " } } } @@ -4291,30 +4340,6 @@ "com.amazonaws.cloudwatchevents#Target": { "type": "structure", "members": { - "Input": { - "target": "com.amazonaws.cloudwatchevents#TargetInput", - "traits": { - "smithy.api#documentation": "

                            Valid JSON text passed to the target. In this case, nothing from the event itself\n is passed to the target. For more information, see The JavaScript Object Notation\n (JSON) Data Interchange Format.

                            " - } - }, - "RetryPolicy": { - "target": "com.amazonaws.cloudwatchevents#RetryPolicy", - "traits": { - "smithy.api#documentation": "

                            The RetryPolicy object that contains the retry policy configuration to\n use for the dead-letter queue.

                            " - } - }, - "EcsParameters": { - "target": "com.amazonaws.cloudwatchevents#EcsParameters", - "traits": { - "smithy.api#documentation": "

                            Contains the Amazon ECS task definition and task count to be used, if the event\n target is an Amazon ECS task. For more information about Amazon ECS tasks, see Task\n Definitions in the Amazon EC2 Container Service Developer\n Guide.

                            " - } - }, - "SqsParameters": { - "target": "com.amazonaws.cloudwatchevents#SqsParameters", - "traits": { - "smithy.api#documentation": "

                            Contains the message group ID to use when the target is a FIFO queue.

                            \n

                            If you specify an SQS FIFO queue as a target, the queue must have content-based\n deduplication enabled.

                            " - } - }, "Id": { "target": "com.amazonaws.cloudwatchevents#TargetId", "traits": { @@ -4322,12 +4347,6 @@ "smithy.api#required": {} } }, - "BatchParameters": { - "target": "com.amazonaws.cloudwatchevents#BatchParameters", - "traits": { - "smithy.api#documentation": "

                            If the event target is an AWS Batch job, this contains the job definition, job\n name, and other parameters. For more information, see Jobs in the AWS Batch User\n Guide.

                            " - } - }, "Arn": { "target": "com.amazonaws.cloudwatchevents#TargetArn", "traits": { @@ -4335,10 +4354,16 @@ "smithy.api#required": {} } }, - "DeadLetterConfig": { - "target": "com.amazonaws.cloudwatchevents#DeadLetterConfig", + "RoleArn": { + "target": "com.amazonaws.cloudwatchevents#RoleArn", "traits": { - "smithy.api#documentation": "

                            The DeadLetterConfig that defines the target queue to send dead-letter\n queue events to.

                            " + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the IAM role to be used for this target when the\n rule is triggered. If one rule triggers multiple targets, you can use a different IAM\n role for each target.

                            " + } + }, + "Input": { + "target": "com.amazonaws.cloudwatchevents#TargetInput", + "traits": { + "smithy.api#documentation": "

                            Valid JSON text passed to the target. In this case, nothing from the event itself\n is passed to the target. For more information, see The JavaScript Object Notation\n (JSON) Data Interchange Format.

                            " } }, "InputPath": { @@ -4347,10 +4372,16 @@ "smithy.api#documentation": "

                            The value of the JSONPath that is used for extracting part of the matched event\n when passing it to the target. You must use JSON dot notation, not bracket notation. For\n more information about JSON paths, see JSONPath.

                            " } }, - "HttpParameters": { - "target": "com.amazonaws.cloudwatchevents#HttpParameters", + "InputTransformer": { + "target": "com.amazonaws.cloudwatchevents#InputTransformer", "traits": { - "smithy.api#documentation": "

                            Contains the HTTP parameters to use when the target is a API Gateway REST\n endpoint.

                            \n

                            If you specify an API Gateway REST API as a target, you can use this parameter to\n specify headers, path parameter, query string keys/values as part of your target\n invoking request.

                            " + "smithy.api#documentation": "

                            Settings to enable you to provide custom input to a target based on certain event\n data. You can extract one or more key-value pairs from the event and then use that data\n to send customized input to the target.

                            " + } + }, + "KinesisParameters": { + "target": "com.amazonaws.cloudwatchevents#KinesisParameters", + "traits": { + "smithy.api#documentation": "

                            The custom parameter you can use to control the shard assignment, when the target\n is a Kinesis data stream. If you do not include this parameter, the default is to use\n the eventId as the partition key.

                            " } }, "RunCommandParameters": { @@ -4359,16 +4390,28 @@ "smithy.api#documentation": "

                            Parameters used when you are using the rule to invoke Amazon EC2 Run\n Command.

                            " } }, - "InputTransformer": { - "target": "com.amazonaws.cloudwatchevents#InputTransformer", + "EcsParameters": { + "target": "com.amazonaws.cloudwatchevents#EcsParameters", "traits": { - "smithy.api#documentation": "

                            Settings to enable you to provide custom input to a target based on certain event\n data. You can extract one or more key-value pairs from the event and then use that data\n to send customized input to the target.

                            " + "smithy.api#documentation": "

                            Contains the Amazon ECS task definition and task count to be used, if the event\n target is an Amazon ECS task. For more information about Amazon ECS tasks, see Task\n Definitions in the Amazon EC2 Container Service Developer\n Guide.

                            " } }, - "RoleArn": { - "target": "com.amazonaws.cloudwatchevents#RoleArn", + "BatchParameters": { + "target": "com.amazonaws.cloudwatchevents#BatchParameters", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the IAM role to be used for this target when the\n rule is triggered. If one rule triggers multiple targets, you can use a different IAM\n role for each target.

                            " + "smithy.api#documentation": "

                            If the event target is an AWS Batch job, this contains the job definition, job\n name, and other parameters. For more information, see Jobs in the AWS Batch User\n Guide.

                            " + } + }, + "SqsParameters": { + "target": "com.amazonaws.cloudwatchevents#SqsParameters", + "traits": { + "smithy.api#documentation": "

                            Contains the message group ID to use when the target is a FIFO queue.

                            \n

                            If you specify an SQS FIFO queue as a target, the queue must have content-based\n deduplication enabled.

                            " + } + }, + "HttpParameters": { + "target": "com.amazonaws.cloudwatchevents#HttpParameters", + "traits": { + "smithy.api#documentation": "

                            Contains the HTTP parameters to use when the target is a API Gateway REST\n endpoint.

                            \n

                            If you specify an API Gateway REST API as a target, you can use this parameter to\n specify headers, path parameter, query string keys/values as part of your target\n invoking request.

                            " } }, "RedshiftDataParameters": { @@ -4377,10 +4420,16 @@ "smithy.api#documentation": "

                            Contains the Redshift Data API parameters to use when the target is a Redshift\n cluster.

                            \n

                            If you specify a Redshift Cluster as a Target, you can use this to specify\n parameters to invoke the Redshift Data API ExecuteStatement based on EventBridge\n events.

                            " } }, - "KinesisParameters": { - "target": "com.amazonaws.cloudwatchevents#KinesisParameters", + "DeadLetterConfig": { + "target": "com.amazonaws.cloudwatchevents#DeadLetterConfig", "traits": { - "smithy.api#documentation": "

                            The custom parameter you can use to control the shard assignment, when the target\n is a Kinesis data stream. If you do not include this parameter, the default is to use\n the eventId as the partition key.

                            " + "smithy.api#documentation": "

                            The DeadLetterConfig that defines the target queue to send dead-letter\n queue events to.

                            " + } + }, + "RetryPolicy": { + "target": "com.amazonaws.cloudwatchevents#RetryPolicy", + "traits": { + "smithy.api#documentation": "

                            The RetryPolicy object that contains the retry policy configuration to\n use for the dead-letter queue.

                            " } } }, @@ -4481,17 +4530,17 @@ "com.amazonaws.cloudwatchevents#TestEventPatternRequest": { "type": "structure", "members": { - "Event": { - "target": "com.amazonaws.cloudwatchevents#String", + "EventPattern": { + "target": "com.amazonaws.cloudwatchevents#EventPattern", "traits": { - "smithy.api#documentation": "

                            The event, in JSON format, to test against the event pattern.

                            ", + "smithy.api#documentation": "

                            The event pattern. For more information, see Events and\n Event Patterns in the Amazon EventBridge User\n Guide.

                            ", "smithy.api#required": {} } }, - "EventPattern": { - "target": "com.amazonaws.cloudwatchevents#EventPattern", + "Event": { + "target": "com.amazonaws.cloudwatchevents#String", "traits": { - "smithy.api#documentation": "

                            The event pattern. For more information, see Events and\n Event Patterns in the Amazon EventBridge User\n Guide.

                            ", + "smithy.api#documentation": "

                            The event, in JSON format, to test against the event pattern.

                            ", "smithy.api#required": {} } } @@ -4564,17 +4613,17 @@ "com.amazonaws.cloudwatchevents#UntagResourceRequest": { "type": "structure", "members": { - "TagKeys": { - "target": "com.amazonaws.cloudwatchevents#TagKeyList", + "ResourceARN": { + "target": "com.amazonaws.cloudwatchevents#Arn", "traits": { - "smithy.api#documentation": "

                            The list of tag keys to remove from the resource.

                            ", + "smithy.api#documentation": "

                            The ARN of the EventBridge resource from which you are removing tags.

                            ", "smithy.api#required": {} } }, - "ResourceARN": { - "target": "com.amazonaws.cloudwatchevents#Arn", + "TagKeys": { + "target": "com.amazonaws.cloudwatchevents#TagKeyList", "traits": { - "smithy.api#documentation": "

                            The ARN of the EventBridge resource from which you are removing tags.

                            ", + "smithy.api#documentation": "

                            The list of tag keys to remove from the resource.

                            ", "smithy.api#required": {} } } @@ -4616,10 +4665,11 @@ "com.amazonaws.cloudwatchevents#UpdateArchiveRequest": { "type": "structure", "members": { - "EventPattern": { - "target": "com.amazonaws.cloudwatchevents#EventPattern", + "ArchiveName": { + "target": "com.amazonaws.cloudwatchevents#ArchiveName", "traits": { - "smithy.api#documentation": "

                            The event pattern to use to filter events sent to the archive.

                            " + "smithy.api#documentation": "

                            The name of the archive to update.

                            ", + "smithy.api#required": {} } }, "Description": { @@ -4628,11 +4678,10 @@ "smithy.api#documentation": "

                            The description for the archive.

                            " } }, - "ArchiveName": { - "target": "com.amazonaws.cloudwatchevents#ArchiveName", + "EventPattern": { + "target": "com.amazonaws.cloudwatchevents#EventPattern", "traits": { - "smithy.api#documentation": "

                            The name of the archive to update.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The event pattern to use to filter events sent to the archive.

                            " } }, "RetentionDays": { @@ -4646,10 +4695,10 @@ "com.amazonaws.cloudwatchevents#UpdateArchiveResponse": { "type": "structure", "members": { - "StateReason": { - "target": "com.amazonaws.cloudwatchevents#ArchiveStateReason", + "ArchiveArn": { + "target": "com.amazonaws.cloudwatchevents#ArchiveArn", "traits": { - "smithy.api#documentation": "

                            The reason that the archive is in the current state.

                            " + "smithy.api#documentation": "

                            The ARN of the archive.

                            " } }, "State": { @@ -4658,16 +4707,16 @@ "smithy.api#documentation": "

                            The state of the archive.

                            " } }, - "CreationTime": { - "target": "com.amazonaws.cloudwatchevents#Timestamp", + "StateReason": { + "target": "com.amazonaws.cloudwatchevents#ArchiveStateReason", "traits": { - "smithy.api#documentation": "

                            The time at which the archive was updated.

                            " + "smithy.api#documentation": "

                            The reason that the archive is in the current state.

                            " } }, - "ArchiveArn": { - "target": "com.amazonaws.cloudwatchevents#ArchiveArn", + "CreationTime": { + "target": "com.amazonaws.cloudwatchevents#Timestamp", "traits": { - "smithy.api#documentation": "

                            The ARN of the archive.

                            " + "smithy.api#documentation": "

                            The time at which the archive was updated.

                            " } } } diff --git a/codegen/sdk-codegen/aws-models/codeguru-reviewer.2019-09-19.json b/codegen/sdk-codegen/aws-models/codeguru-reviewer.2019-09-19.json index 4830a1ec82ad..69634f923ea4 100644 --- a/codegen/sdk-codegen/aws-models/codeguru-reviewer.2019-09-19.json +++ b/codegen/sdk-codegen/aws-models/codeguru-reviewer.2019-09-19.json @@ -63,8 +63,17 @@ { "target": "com.amazonaws.codegurureviewer#ListRepositoryAssociations" }, + { + "target": "com.amazonaws.codegurureviewer#ListTagsForResource" + }, { "target": "com.amazonaws.codegurureviewer#PutRecommendationFeedback" + }, + { + "target": "com.amazonaws.codegurureviewer#TagResource" + }, + { + "target": "com.amazonaws.codegurureviewer#UntagResource" } ], "traits": { @@ -78,7 +87,7 @@ "name": "codeguru-reviewer" }, "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

                            This section provides documentation for the Amazon CodeGuru Reviewer API operations. CodeGuru Reviewer is a service\n that uses program analysis and machine learning to detect potential defects that are difficult for developers to find and recommends\n fixes in your Java code.

                            \n \n

                            By proactively detecting and providing recommendations for addressing code defects and implementing best practices, CodeGuru Reviewer\n improves the overall quality and maintainability of your code base during the code review stage. For more information about CodeGuru Reviewer, see the \n \n Amazon CodeGuru Reviewer User Guide.\n

                            ", + "smithy.api#documentation": "

                            This section provides documentation for the Amazon CodeGuru Reviewer API operations. CodeGuru Reviewer is a service\n that uses program analysis and machine learning to detect potential defects that are difficult for developers to find and recommends\n fixes in your Java code.

                            \n \n

                            By proactively detecting and providing recommendations for addressing code defects and implementing best practices, CodeGuru Reviewer\n improves the overall quality and maintainability of your code base during the code review stage. For more information about CodeGuru Reviewer, see the \n \n Amazon CodeGuru Reviewer User Guide.\n

                            \n \n

                            \n To improve the security of your CodeGuru Reviewer API calls, you can establish a private connection between your VPC and CodeGuru Reviewer by \n creating an interface VPC endpoint. For more information, see \n CodeGuru Reviewer and interface \n VPC endpoints (AWS PrivateLink) in the Amazon CodeGuru Reviewer User Guide.\n

                            ", "smithy.api#title": "Amazon CodeGuru Reviewer" } }, @@ -142,6 +151,13 @@ "com.amazonaws.codegurureviewer#AssociateRepositoryRequest": { "type": "structure", "members": { + "Repository": { + "target": "com.amazonaws.codegurureviewer#Repository", + "traits": { + "smithy.api#documentation": "

                            The repository to associate.

                            ", + "smithy.api#required": {} + } + }, "ClientRequestToken": { "target": "com.amazonaws.codegurureviewer#ClientRequestToken", "traits": { @@ -149,11 +165,10 @@ "smithy.api#idempotencyToken": {} } }, - "Repository": { - "target": "com.amazonaws.codegurureviewer#Repository", + "Tags": { + "target": "com.amazonaws.codegurureviewer#TagMap", "traits": { - "smithy.api#documentation": "

                            The repository to associate.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            \n\t\t\tAn array of key-value pairs used to tag an associated repository. A tag is a custom attribute label with two parts: \n\t\t

                            \n\t\t
                              \n
                            • \n\t\t\t\t

                              A tag key (for example, CostCenter,\n\t\t\t\t\tEnvironment, Project, or Secret). Tag\n\t\t\t\t\tkeys are case sensitive.

                              \n\t\t\t
                            • \n
                            • \n\t\t\t\t

                              An optional field known as a tag value (for example,\n\t\t\t\t\t111122223333, Production, or a team name).\n\t\t\t\t\tOmitting the tag value is the same as using an empty string. Like tag keys, tag\n\t\t\t\t\tvalues are case sensitive.

                              \n\t\t\t
                            • \n
                            " } } } @@ -166,9 +181,25 @@ "traits": { "smithy.api#documentation": "

                            Information about the repository association.

                            " } + }, + "Tags": { + "target": "com.amazonaws.codegurureviewer#TagMap", + "traits": { + "smithy.api#documentation": "

                            \n\t\t\tAn array of key-value pairs used to tag an associated repository. A tag is a custom attribute label with two parts: \n\t\t

                            \n\t\t
                              \n
                            • \n\t\t\t\t

                              A tag key (for example, CostCenter,\n\t\t\t\t\tEnvironment, Project, or Secret). Tag\n\t\t\t\t\tkeys are case sensitive.

                              \n\t\t\t
                            • \n
                            • \n\t\t\t\t

                              An optional field known as a tag value (for example,\n\t\t\t\t\t111122223333, Production, or a team name).\n\t\t\t\t\tOmitting the tag value is the same as using an empty string. Like tag keys, tag\n\t\t\t\t\tvalues are case sensitive.

                              \n\t\t\t
                            • \n
                            " + } } } }, + "com.amazonaws.codegurureviewer#AssociationArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1600 + }, + "smithy.api#pattern": "^arn:aws[^:\\s]*:codeguru-reviewer:[^:\\s]+:[\\d]{12}:association:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$" + } + }, "com.amazonaws.codegurureviewer#AssociationId": { "type": "string", "traits": { @@ -215,22 +246,16 @@ "com.amazonaws.codegurureviewer#CodeReview": { "type": "structure", "members": { - "StateReason": { - "target": "com.amazonaws.codegurureviewer#StateReason", - "traits": { - "smithy.api#documentation": "

                            \n The reason for the state of the code review.\n

                            " - } - }, - "Metrics": { - "target": "com.amazonaws.codegurureviewer#Metrics", + "Name": { + "target": "com.amazonaws.codegurureviewer#Name", "traits": { - "smithy.api#documentation": "

                            \n The statistics from the code review.\n

                            " + "smithy.api#documentation": "

                            \n The name of the code review.\n

                            " } }, - "Type": { - "target": "com.amazonaws.codegurureviewer#Type", + "CodeReviewArn": { + "target": "com.amazonaws.codegurureviewer#Arn", "traits": { - "smithy.api#documentation": "

                            \n The type of code review.\n

                            " + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the \n CodeReview\n object.\n

                            " } }, "RepositoryName": { @@ -239,10 +264,16 @@ "smithy.api#documentation": "

                            \n The name of the repository.\n

                            " } }, - "CreatedTimeStamp": { - "target": "com.amazonaws.codegurureviewer#TimeStamp", + "Owner": { + "target": "com.amazonaws.codegurureviewer#Owner", "traits": { - "smithy.api#documentation": "

                            \n The time, in milliseconds since the epoch, when the code review was created.\n

                            " + "smithy.api#documentation": "

                            The owner of the repository. For an AWS CodeCommit repository, this is the AWS account ID of the \n account that owns the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository, this is the username for the account that owns the repository.

                            " + } + }, + "ProviderType": { + "target": "com.amazonaws.codegurureviewer#ProviderType", + "traits": { + "smithy.api#documentation": "

                            \n The type of repository that contains the reviewed code (for example, GitHub or Bitbucket).\n

                            " } }, "State": { @@ -251,10 +282,16 @@ "smithy.api#documentation": "

                            The valid code review states are:

                            \n
                              \n
                            • \n

                              \n Completed: The code review is complete.\n

                              \n
                            • \n
                            • \n

                              \n Pending: The code review started and has not completed or failed.\n

                              \n
                            • \n
                            • \n

                              \n Failed: The code review failed.\n

                              \n
                            • \n
                            • \n

                              \n Deleting: The code review is being deleted.\n

                              \n
                            • \n
                            " } }, - "ProviderType": { - "target": "com.amazonaws.codegurureviewer#ProviderType", + "StateReason": { + "target": "com.amazonaws.codegurureviewer#StateReason", "traits": { - "smithy.api#documentation": "

                            \n The type of repository that contains the reviewed code (for example, GitHub or Bitbucket).\n

                            " + "smithy.api#documentation": "

                            \n The reason for the state of the code review.\n

                            " + } + }, + "CreatedTimeStamp": { + "target": "com.amazonaws.codegurureviewer#TimeStamp", + "traits": { + "smithy.api#documentation": "

                            \n The time, in milliseconds since the epoch, when the code review was created.\n

                            " } }, "LastUpdatedTimeStamp": { @@ -263,39 +300,39 @@ "smithy.api#documentation": "

                            \n The time, in milliseconds since the epoch, when the code review was last updated.\n

                            " } }, - "SourceCodeType": { - "target": "com.amazonaws.codegurureviewer#SourceCodeType", + "Type": { + "target": "com.amazonaws.codegurureviewer#Type", "traits": { - "smithy.api#documentation": "

                            \n The type of the source code for the code review.\n

                            " + "smithy.api#documentation": "

                            \n The type of code review.\n

                            " } }, - "Owner": { - "target": "com.amazonaws.codegurureviewer#Owner", + "PullRequestId": { + "target": "com.amazonaws.codegurureviewer#PullRequestId", "traits": { - "smithy.api#documentation": "

                            The owner of the repository. For an AWS CodeCommit repository, this is the AWS account ID of the \n account that owns the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository, this is the username for the account that owns the repository.

                            " + "smithy.api#documentation": "

                            \n The pull request ID for the code review.\n

                            " } }, - "Name": { - "target": "com.amazonaws.codegurureviewer#Name", + "SourceCodeType": { + "target": "com.amazonaws.codegurureviewer#SourceCodeType", "traits": { - "smithy.api#documentation": "

                            \n The name of the code review.\n

                            " + "smithy.api#documentation": "

                            \n The type of the source code for the code review.\n

                            " } }, - "CodeReviewArn": { - "target": "com.amazonaws.codegurureviewer#Arn", + "AssociationArn": { + "target": "com.amazonaws.codegurureviewer#AssociationArn", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the \n CodeReview\n object.\n

                            " + "smithy.api#documentation": "

                            \n\t\t\tThe Amazon Resource Name (ARN) of the \n\t\t\t\n RepositoryAssociation\n that contains \n\t\t\tthe reviewed source code. You can retrieve associated repository ARNs by calling \n\t\t\t\n ListRepositoryAssociations\n .\n\t\t

                            " } }, - "PullRequestId": { - "target": "com.amazonaws.codegurureviewer#PullRequestId", + "Metrics": { + "target": "com.amazonaws.codegurureviewer#Metrics", "traits": { - "smithy.api#documentation": "

                            \n The pull request ID for the code review.\n

                            " + "smithy.api#documentation": "

                            \n The statistics from the code review.\n

                            " } } }, "traits": { - "smithy.api#documentation": "

                            \n Information about a code review.\n

                            " + "smithy.api#documentation": "

                            \n Information about a code review. A code review belongs to the associated repository that contains the reviewed code. \n

                            " } }, "com.amazonaws.codegurureviewer#CodeReviewName": { @@ -317,46 +354,52 @@ "com.amazonaws.codegurureviewer#CodeReviewSummary": { "type": "structure", "members": { - "State": { - "target": "com.amazonaws.codegurureviewer#JobState", + "Name": { + "target": "com.amazonaws.codegurureviewer#Name", "traits": { - "smithy.api#documentation": "

                            \n The state of the code review.\n

                            \n

                            The valid code review states are:

                            \n
                              \n
                            • \n

                              \n Completed: The code review is complete.\n

                              \n
                            • \n
                            • \n

                              \n Pending: The code review started and has not completed or failed.\n

                              \n
                            • \n
                            • \n

                              \n Failed: The code review failed.\n

                              \n
                            • \n
                            • \n

                              \n Deleting: The code review is being deleted.\n

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            \n The name of the code review.\n

                            " } }, - "ProviderType": { - "target": "com.amazonaws.codegurureviewer#ProviderType", + "CodeReviewArn": { + "target": "com.amazonaws.codegurureviewer#Arn", "traits": { - "smithy.api#documentation": "

                            \n The provider type of the repository association.\n

                            " + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the \n CodeReview\n object.\n

                            " } }, - "MetricsSummary": { - "target": "com.amazonaws.codegurureviewer#MetricsSummary", + "RepositoryName": { + "target": "com.amazonaws.codegurureviewer#Name", "traits": { - "smithy.api#documentation": "

                            \n The statistics from the code review.\n

                            " + "smithy.api#documentation": "

                            \n The name of the repository.\n

                            " } }, - "PullRequestId": { - "target": "com.amazonaws.codegurureviewer#PullRequestId", + "Owner": { + "target": "com.amazonaws.codegurureviewer#Owner", "traits": { - "smithy.api#documentation": "

                            \n The pull request ID for the code review.\n

                            " + "smithy.api#documentation": "

                            The owner of the repository. For an AWS CodeCommit repository, this is the AWS account ID of the \n account that owns the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository, this is the username for the account that owns the repository.

                            " } }, - "RepositoryName": { - "target": "com.amazonaws.codegurureviewer#Name", + "ProviderType": { + "target": "com.amazonaws.codegurureviewer#ProviderType", "traits": { - "smithy.api#documentation": "

                            \n The name of the repository.\n

                            " + "smithy.api#documentation": "

                            \n The provider type of the repository association.\n

                            " } }, - "LastUpdatedTimeStamp": { + "State": { + "target": "com.amazonaws.codegurureviewer#JobState", + "traits": { + "smithy.api#documentation": "

                            \n The state of the code review.\n

                            \n

                            The valid code review states are:

                            \n
                              \n
                            • \n

                              \n Completed: The code review is complete.\n

                              \n
                            • \n
                            • \n

                              \n Pending: The code review started and has not completed or failed.\n

                              \n
                            • \n
                            • \n

                              \n Failed: The code review failed.\n

                              \n
                            • \n
                            • \n

                              \n Deleting: The code review is being deleted.\n

                              \n
                            • \n
                            " + } + }, + "CreatedTimeStamp": { "target": "com.amazonaws.codegurureviewer#TimeStamp", "traits": { - "smithy.api#documentation": "

                            \n The time, in milliseconds since the epoch, when the code review was last updated.\n

                            " + "smithy.api#documentation": "

                            \n The time, in milliseconds since the epoch, when the code review was created.\n

                            " } }, - "Name": { - "target": "com.amazonaws.codegurureviewer#Name", + "LastUpdatedTimeStamp": { + "target": "com.amazonaws.codegurureviewer#TimeStamp", "traits": { - "smithy.api#documentation": "

                            \n The name of the code review.\n

                            " + "smithy.api#documentation": "

                            \n The time, in milliseconds since the epoch, when the code review was last updated.\n

                            " } }, "Type": { @@ -365,22 +408,16 @@ "smithy.api#documentation": "

                            \n The type of the code review.\n

                            " } }, - "Owner": { - "target": "com.amazonaws.codegurureviewer#Owner", - "traits": { - "smithy.api#documentation": "

                            The owner of the repository. For an AWS CodeCommit repository, this is the AWS account ID of the \n account that owns the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository, this is the username for the account that owns the repository.

                            " - } - }, - "CodeReviewArn": { - "target": "com.amazonaws.codegurureviewer#Arn", + "PullRequestId": { + "target": "com.amazonaws.codegurureviewer#PullRequestId", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the \n CodeReview\n object.\n

                            " + "smithy.api#documentation": "

                            \n The pull request ID for the code review.\n

                            " } }, - "CreatedTimeStamp": { - "target": "com.amazonaws.codegurureviewer#TimeStamp", + "MetricsSummary": { + "target": "com.amazonaws.codegurureviewer#MetricsSummary", "traits": { - "smithy.api#documentation": "

                            \n The time, in milliseconds since the epoch, when the code review was created.\n

                            " + "smithy.api#documentation": "

                            \n The statistics from the code review.\n

                            " } } }, @@ -394,7 +431,7 @@ "RepositoryAnalysis": { "target": "com.amazonaws.codegurureviewer#RepositoryAnalysis", "traits": { - "smithy.api#documentation": "

                            \n A code review that analyzes all code under a specified branch in an associated respository. \n The assocated repository is specified using its ARN in \n CreateCodeReview\n \n

                            ", + "smithy.api#documentation": "

                            \n A code review that analyzes all code under a specified branch in an associated respository. \n The assocated repository is specified using its ARN in \n CreateCodeReview\n .\n

                            ", "smithy.api#required": {} } } @@ -484,7 +521,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            \n Use to create a code review for a repository analysis.\n

                            ", + "smithy.api#documentation": "

                            \n Use to create a code review with a \n CodeReviewType\n \n of RepositoryAnalysis. This type of code review analyzes all code under a specified branch in an associated repository. \n PullRequest code reviews are automatically triggered by a pull request so cannot be created using this method.\n

                            ", "smithy.api#http": { "method": "POST", "uri": "/codereviews", @@ -495,24 +532,24 @@ "com.amazonaws.codegurureviewer#CreateCodeReviewRequest": { "type": "structure", "members": { - "RepositoryAssociationArn": { - "target": "com.amazonaws.codegurureviewer#Arn", + "Name": { + "target": "com.amazonaws.codegurureviewer#CodeReviewName", "traits": { - "smithy.api#documentation": "

                            \n The Amazon Resource Name (ARN) of the \n \n RepositoryAssociation\n object. \n You can retrieve this ARN by calling ListRepositories.\n

                            \n

                            \n A code review can only be created on an associated repository. This is the ARN of the \n associated repository.\n

                            ", + "smithy.api#documentation": "

                            \n The name of the code review. The name of each code review in your AWS account must be unique.\n

                            ", "smithy.api#required": {} } }, - "Name": { - "target": "com.amazonaws.codegurureviewer#CodeReviewName", + "RepositoryAssociationArn": { + "target": "com.amazonaws.codegurureviewer#AssociationArn", "traits": { - "smithy.api#documentation": "

                            \n The name of the code review. Each code review of the same code review type must have a unique name in your AWS account.\n

                            ", + "smithy.api#documentation": "

                            \n The Amazon Resource Name (ARN) of the \n \n RepositoryAssociation\n object. \n You can retrieve this ARN by calling \n \n ListRepositoryAssociations\n .\n

                            \n

                            \n A code review can only be created on an associated repository. This is the ARN of the \n associated repository.\n

                            ", "smithy.api#required": {} } }, "Type": { "target": "com.amazonaws.codegurureviewer#CodeReviewType", "traits": { - "smithy.api#documentation": "

                            \n The type of code review to create. This is specified using a \n \n CodeReviewType\n \n object.\n

                            ", + "smithy.api#documentation": "

                            \n The type of code review to create. This is specified using a \n \n CodeReviewType\n \n object. You can create a code review only of type RepositoryAnalysis. \n

                            ", "smithy.api#required": {} } }, @@ -628,11 +665,12 @@ "com.amazonaws.codegurureviewer#DescribeRecommendationFeedbackRequest": { "type": "structure", "members": { - "UserId": { - "target": "com.amazonaws.codegurureviewer#UserId", + "CodeReviewArn": { + "target": "com.amazonaws.codegurureviewer#Arn", "traits": { - "smithy.api#documentation": "

                            \n Optional parameter to describe the feedback for a given user. If this is not supplied, it defaults to the user making the request.\n

                            \n

                            \n The UserId is an IAM principal that can be specified as an AWS account ID or an Amazon Resource Name (ARN). For \n more information, see \n Specifying a Principal in the AWS Identity and Access Management User Guide.\n

                            ", - "smithy.api#httpQuery": "UserId" + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the \n CodeReview\n object.\n

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, "RecommendationId": { @@ -643,12 +681,11 @@ "smithy.api#required": {} } }, - "CodeReviewArn": { - "target": "com.amazonaws.codegurureviewer#Arn", + "UserId": { + "target": "com.amazonaws.codegurureviewer#UserId", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the \n CodeReview\n object.\n

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#documentation": "

                            \n Optional parameter to describe the feedback for a given user. If this is not supplied, it defaults to the user making the request.\n

                            \n

                            \n The UserId is an IAM principal that can be specified as an AWS account ID or an Amazon Resource Name (ARN). For \n more information, see \n Specifying a Principal in the AWS Identity and Access Management User Guide.\n

                            ", + "smithy.api#httpQuery": "UserId" } } } @@ -702,9 +739,9 @@ "type": "structure", "members": { "AssociationArn": { - "target": "com.amazonaws.codegurureviewer#Arn", + "target": "com.amazonaws.codegurureviewer#AssociationArn", "traits": { - "smithy.api#documentation": "

                            \n The Amazon Resource Name (ARN) of the \n \n RepositoryAssociation\n object. \n You can retrieve this ARN by calling ListRepositories.\n

                            ", + "smithy.api#documentation": "

                            \n The Amazon Resource Name (ARN) of the \n \n RepositoryAssociation\n object. \n You can retrieve this ARN by calling \n \n ListRepositoryAssociations\n .\n

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -719,6 +756,12 @@ "traits": { "smithy.api#documentation": "

                            Information about the repository association.

                            " } + }, + "Tags": { + "target": "com.amazonaws.codegurureviewer#TagMap", + "traits": { + "smithy.api#documentation": "

                            \n\t\t\tAn array of key-value pairs used to tag an associated repository. A tag is a custom attribute label with two parts: \n\t\t

                            \n\t\t
                              \n
                            • \n\t\t\t\t

                              A tag key (for example, CostCenter,\n\t\t\t\t\tEnvironment, Project, or Secret). Tag\n\t\t\t\t\tkeys are case sensitive.

                              \n\t\t\t
                            • \n
                            • \n\t\t\t\t

                              An optional field known as a tag value (for example,\n\t\t\t\t\t111122223333, Production, or a team name).\n\t\t\t\t\tOmitting the tag value is the same as using an empty string. Like tag keys, tag\n\t\t\t\t\tvalues are case sensitive.

                              \n\t\t\t
                            • \n
                            " + } } } }, @@ -763,9 +806,9 @@ "type": "structure", "members": { "AssociationArn": { - "target": "com.amazonaws.codegurureviewer#Arn", + "target": "com.amazonaws.codegurureviewer#AssociationArn", "traits": { - "smithy.api#documentation": "

                            \n The Amazon Resource Name (ARN) of the \n \n RepositoryAssociation\n object. \n You can retrieve this ARN by calling ListRepositories.\n

                            ", + "smithy.api#documentation": "

                            \n The Amazon Resource Name (ARN) of the \n \n RepositoryAssociation\n object. \n You can retrieve this ARN by calling \n \n ListRepositoryAssociations\n .\n

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -780,6 +823,12 @@ "traits": { "smithy.api#documentation": "

                            Information about the disassociated repository.

                            " } + }, + "Tags": { + "target": "com.amazonaws.codegurureviewer#TagMap", + "traits": { + "smithy.api#documentation": "

                            \n\t\t\tAn array of key-value pairs used to tag an associated repository. A tag is a custom attribute label with two parts: \n\t\t

                            \n\t\t
                              \n
                            • \n\t\t\t\t

                              A tag key (for example, CostCenter,\n\t\t\t\t\tEnvironment, Project, or Secret). Tag\n\t\t\t\t\tkeys are case sensitive.

                              \n\t\t\t
                            • \n
                            • \n\t\t\t\t

                              An optional field known as a tag value (for example,\n\t\t\t\t\t111122223333, Production, or a team name).\n\t\t\t\t\tOmitting the tag value is the same as using an empty string. Like tag keys, tag\n\t\t\t\t\tvalues are case sensitive.

                              \n\t\t\t
                            • \n
                            " + } } } }, @@ -911,13 +960,6 @@ "smithy.api#httpQuery": "ProviderTypes" } }, - "MaxResults": { - "target": "com.amazonaws.codegurureviewer#ListCodeReviewsMaxResults", - "traits": { - "smithy.api#documentation": "

                            \n The maximum number of results that are returned per call. The default is 100.\n

                            ", - "smithy.api#httpQuery": "MaxResults" - } - }, "States": { "target": "com.amazonaws.codegurureviewer#JobStates", "traits": { @@ -940,6 +982,13 @@ "smithy.api#required": {} } }, + "MaxResults": { + "target": "com.amazonaws.codegurureviewer#ListCodeReviewsMaxResults", + "traits": { + "smithy.api#documentation": "

                            \n The maximum number of results that are returned per call. The default is 100.\n

                            ", + "smithy.api#httpQuery": "MaxResults" + } + }, "NextToken": { "target": "com.amazonaws.codegurureviewer#NextToken", "traits": { @@ -952,17 +1001,17 @@ "com.amazonaws.codegurureviewer#ListCodeReviewsResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.codegurureviewer#NextToken", - "traits": { - "smithy.api#documentation": "

                            \n Pagination token.\n

                            " - } - }, "CodeReviewSummaries": { "target": "com.amazonaws.codegurureviewer#CodeReviewSummaries", "traits": { "smithy.api#documentation": "

                            \n A list of code reviews that meet the criteria of the request.\n

                            " } + }, + "NextToken": { + "target": "com.amazonaws.codegurureviewer#NextToken", + "traits": { + "smithy.api#documentation": "

                            \n Pagination token.\n

                            " + } } } }, @@ -1008,20 +1057,6 @@ "com.amazonaws.codegurureviewer#ListRecommendationFeedbackRequest": { "type": "structure", "members": { - "MaxResults": { - "target": "com.amazonaws.codegurureviewer#MaxResults", - "traits": { - "smithy.api#documentation": "

                            \n The maximum number of results that are returned per call. The default is 100.\n

                            ", - "smithy.api#httpQuery": "MaxResults" - } - }, - "RecommendationIds": { - "target": "com.amazonaws.codegurureviewer#RecommendationIds", - "traits": { - "smithy.api#documentation": "

                            \n Used to query the recommendation feedback for a given recommendation. \n

                            ", - "smithy.api#httpQuery": "RecommendationIds" - } - }, "NextToken": { "target": "com.amazonaws.codegurureviewer#NextToken", "traits": { @@ -1029,6 +1064,13 @@ "smithy.api#httpQuery": "NextToken" } }, + "MaxResults": { + "target": "com.amazonaws.codegurureviewer#MaxResults", + "traits": { + "smithy.api#documentation": "

                            \n The maximum number of results that are returned per call. The default is 100.\n

                            ", + "smithy.api#httpQuery": "MaxResults" + } + }, "CodeReviewArn": { "target": "com.amazonaws.codegurureviewer#Arn", "traits": { @@ -1043,24 +1085,31 @@ "smithy.api#documentation": "

                            \n An AWS user's account ID or Amazon Resource Name (ARN). Use this ID to query the recommendation feedback for a code review from that user.\n

                            \n

                            \n The UserId is an IAM principal that can be specified as an AWS account ID or an Amazon Resource Name (ARN). For \n more information, see \n Specifying a Principal in the AWS Identity and Access Management User Guide.\n

                            ", "smithy.api#httpQuery": "UserIds" } + }, + "RecommendationIds": { + "target": "com.amazonaws.codegurureviewer#RecommendationIds", + "traits": { + "smithy.api#documentation": "

                            \n Used to query the recommendation feedback for a given recommendation. \n

                            ", + "smithy.api#httpQuery": "RecommendationIds" + } } } }, "com.amazonaws.codegurureviewer#ListRecommendationFeedbackResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.codegurureviewer#NextToken", - "traits": { - "smithy.api#documentation": "

                            \n If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.\n Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.\n

                            " - } - }, "RecommendationFeedbackSummaries": { "target": "com.amazonaws.codegurureviewer#RecommendationFeedbackSummaries", "traits": { "smithy.api#documentation": "

                            Recommendation feedback summaries corresponding to the code review ARN.

                            " } - } + }, + "NextToken": { + "target": "com.amazonaws.codegurureviewer#NextToken", + "traits": { + "smithy.api#documentation": "

                            \n If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.\n Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.\n

                            " + } + } } }, "com.amazonaws.codegurureviewer#ListRecommendations": { @@ -1105,13 +1154,6 @@ "com.amazonaws.codegurureviewer#ListRecommendationsRequest": { "type": "structure", "members": { - "MaxResults": { - "target": "com.amazonaws.codegurureviewer#MaxResults", - "traits": { - "smithy.api#documentation": "

                            \n The maximum number of results that are returned per call. The default is 100.\n

                            ", - "smithy.api#httpQuery": "MaxResults" - } - }, "NextToken": { "target": "com.amazonaws.codegurureviewer#NextToken", "traits": { @@ -1119,6 +1161,13 @@ "smithy.api#httpQuery": "NextToken" } }, + "MaxResults": { + "target": "com.amazonaws.codegurureviewer#MaxResults", + "traits": { + "smithy.api#documentation": "

                            \n The maximum number of results that are returned per call. The default is 100.\n

                            ", + "smithy.api#httpQuery": "MaxResults" + } + }, "CodeReviewArn": { "target": "com.amazonaws.codegurureviewer#Arn", "traits": { @@ -1132,17 +1181,17 @@ "com.amazonaws.codegurureviewer#ListRecommendationsResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.codegurureviewer#NextToken", - "traits": { - "smithy.api#documentation": "

                            \n Pagination token.\n

                            " - } - }, "RecommendationSummaries": { "target": "com.amazonaws.codegurureviewer#RecommendationSummaries", "traits": { "smithy.api#documentation": "

                            \n List of recommendations for the requested code review.\n

                            " } + }, + "NextToken": { + "target": "com.amazonaws.codegurureviewer#NextToken", + "traits": { + "smithy.api#documentation": "

                            \n Pagination token.\n

                            " + } } } }, @@ -1182,11 +1231,25 @@ "com.amazonaws.codegurureviewer#ListRepositoryAssociationsRequest": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.codegurureviewer#NextToken", + "ProviderTypes": { + "target": "com.amazonaws.codegurureviewer#ProviderTypes", "traits": { - "smithy.api#documentation": "

                            The nextToken value returned from a previous paginated \n ListRepositoryAssociations request where maxResults was used and the results \n exceeded the value of that parameter. Pagination continues from the end of the previous results \n that returned the nextToken value. \n

                            \n \n

                            Treat this token as an opaque identifier that is only used to retrieve \n the next items in a list and not for other programmatic purposes.

                            \n
                            ", - "smithy.api#httpQuery": "NextToken" + "smithy.api#documentation": "

                            List of provider types to use as a filter.

                            ", + "smithy.api#httpQuery": "ProviderType" + } + }, + "States": { + "target": "com.amazonaws.codegurureviewer#RepositoryAssociationStates", + "traits": { + "smithy.api#documentation": "

                            List of repository association states to use as a filter.

                            \n

                            The valid repository association states are:

                            \n
                              \n
                            • \n

                              \n Associated: The repository \n association is complete.\n

                              \n
                            • \n
                            • \n

                              \n Associating: CodeGuru Reviewer is: \n

                              \n
                                \n
                              • \n

                                \n Setting up pull request notifications. This is required \n for pull requests to trigger a CodeGuru Reviewer review.\n

                                \n \n

                                \n If your repository ProviderType is GitHub, GitHub Enterprise Server, or Bitbucket, \n CodeGuru Reviewer creates webhooks in your repository to trigger CodeGuru Reviewer reviews. If you delete these webhooks, \n reviews of code in your repository cannot be triggered.\n

                                \n
                                \n
                              • \n
                              • \n

                                \n Setting up source code access. This is required for CodeGuru Reviewer to securely \n clone code in your repository.\n

                                \n
                              • \n
                              \n
                            • \n
                            • \n

                              \n Failed: The repository failed to associate or disassociate.\n

                              \n
                            • \n
                            • \n

                              \n Disassociating: CodeGuru Reviewer is removing the repository's pull request notifications and \n source code access.\n

                              \n
                            • \n
                            • \n

                              \n Disassociated: CodeGuru Reviewer successfully disassociated the repository. You can create a new association \n with this repository if you want to review source code in it later. You can control access to code reviews created in an \n associated repository with tags after it has been disassociated. For more information, see Using tags to control access to \n associated repositories in the Amazon CodeGuru Reviewer User Guide.\n

                              \n
                            • \n
                            ", + "smithy.api#httpQuery": "State" + } + }, + "Names": { + "target": "com.amazonaws.codegurureviewer#Names", + "traits": { + "smithy.api#documentation": "

                            List of repository names to use as a filter.

                            ", + "smithy.api#httpQuery": "Name" } }, "Owners": { @@ -1203,25 +1266,11 @@ "smithy.api#httpQuery": "MaxResults" } }, - "Names": { - "target": "com.amazonaws.codegurureviewer#Names", - "traits": { - "smithy.api#documentation": "

                            List of repository names to use as a filter.

                            ", - "smithy.api#httpQuery": "Name" - } - }, - "ProviderTypes": { - "target": "com.amazonaws.codegurureviewer#ProviderTypes", - "traits": { - "smithy.api#documentation": "

                            List of provider types to use as a filter.

                            ", - "smithy.api#httpQuery": "ProviderType" - } - }, - "States": { - "target": "com.amazonaws.codegurureviewer#RepositoryAssociationStates", + "NextToken": { + "target": "com.amazonaws.codegurureviewer#NextToken", "traits": { - "smithy.api#documentation": "

                            List of repository association states to use as a filter.

                            \n

                            The valid repository association states are:

                            \n
                              \n
                            • \n

                              \n Associated: The repository \n association is complete.\n

                              \n
                            • \n
                            • \n

                              \n Associating: CodeGuru Reviewer is: \n

                              \n
                                \n
                              • \n

                                \n Setting up pull request notifications. This is required \n for pull requests to trigger a CodeGuru Reviewer review.\n

                                \n \n

                                \n If your repository ProviderType is GitHub, GitHub Enterprise Server, or Bitbucket, \n CodeGuru Reviewer creates webhooks in your repository to trigger CodeGuru Reviewer reviews. If you delete these webhooks, \n reviews of code in your repository cannot be triggered.\n

                                \n
                                \n
                              • \n
                              • \n

                                \n Setting up source code access. This is required for CodeGuru Reviewer to securely \n clone code in your repository.\n

                                \n
                              • \n
                              \n
                            • \n
                            • \n

                              \n Failed: The repository failed to associate or disassociate.\n

                              \n
                            • \n
                            • \n

                              \n Disassociating: CodeGuru Reviewer is removing the repository's pull request notifications and \n source code access.\n

                              \n
                            • \n
                            ", - "smithy.api#httpQuery": "State" + "smithy.api#documentation": "

                            The nextToken value returned from a previous paginated \n ListRepositoryAssociations request where maxResults was used and the results \n exceeded the value of that parameter. Pagination continues from the end of the previous results \n that returned the nextToken value. \n

                            \n \n

                            Treat this token as an opaque identifier that is only used to retrieve \n the next items in a list and not for other programmatic purposes.

                            \n
                            ", + "smithy.api#httpQuery": "NextToken" } } } @@ -1243,6 +1292,58 @@ } } }, + "com.amazonaws.codegurureviewer#ListTagsForResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.codegurureviewer#ListTagsForResourceRequest" + }, + "output": { + "target": "com.amazonaws.codegurureviewer#ListTagsForResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.codegurureviewer#InternalServerException" + }, + { + "target": "com.amazonaws.codegurureviewer#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.codegurureviewer#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Returns the list of tags associated with an associated repository resource.

                            ", + "smithy.api#http": { + "method": "GET", + "uri": "/tags/{resourceArn}", + "code": 200 + } + } + }, + "com.amazonaws.codegurureviewer#ListTagsForResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "target": "com.amazonaws.codegurureviewer#AssociationArn", + "traits": { + "smithy.api#documentation": "

                            \n The Amazon Resource Name (ARN) of the \n \n RepositoryAssociation\n object. \n You can retrieve this ARN by calling \n \n ListRepositoryAssociations\n .\n

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.codegurureviewer#ListTagsForResourceResponse": { + "type": "structure", + "members": { + "Tags": { + "target": "com.amazonaws.codegurureviewer#TagMap", + "traits": { + "smithy.api#documentation": "

                            \n\t\t\tAn array of key-value pairs used to tag an associated repository. A tag is a custom attribute label with two parts: \n\t\t

                            \n\t\t
                              \n
                            • \n\t\t\t\t

                              A tag key (for example, CostCenter,\n\t\t\t\t\tEnvironment, Project, or Secret). Tag\n\t\t\t\t\tkeys are case sensitive.

                              \n\t\t\t
                            • \n
                            • \n\t\t\t\t

                              An optional field known as a tag value (for example,\n\t\t\t\t\t111122223333, Production, or a team name).\n\t\t\t\t\tOmitting the tag value is the same as using an empty string. Like tag keys, tag\n\t\t\t\t\tvalues are case sensitive.

                              \n\t\t\t
                            • \n
                            " + } + } + } + }, "com.amazonaws.codegurureviewer#MaxResults": { "type": "integer", "traits": { @@ -1262,17 +1363,17 @@ "com.amazonaws.codegurureviewer#Metrics": { "type": "structure", "members": { - "FindingsCount": { - "target": "com.amazonaws.codegurureviewer#FindingsCount", - "traits": { - "smithy.api#documentation": "

                            \n Total number of recommendations found in the code review.\n

                            " - } - }, "MeteredLinesOfCodeCount": { "target": "com.amazonaws.codegurureviewer#MeteredLinesOfCodeCount", "traits": { "smithy.api#documentation": "

                            \n Lines of code metered in the code review. For the initial code review pull request and all subsequent revisions, \n this includes all lines of code in the files added to the pull request. In subsequent revisions, for files that already \n existed in the pull request, this includes only the changed lines of code. In both cases, this does not include non-code lines such as comments \n and import statements. For example, if you submit a pull request containing 5 files, each with 500 lines of code, and in \n a subsequent revision you added a new file with 200 lines of code, and also modified a total of 25 lines across the initial 5 files, \n MeteredLinesOfCodeCount includes the first 5 files (5 * 500 = 2,500 lines), the new file (200 lines) and the 25 changed lines of\n code for a total of 2,725 lines of code.\n

                            " } + }, + "FindingsCount": { + "target": "com.amazonaws.codegurureviewer#FindingsCount", + "traits": { + "smithy.api#documentation": "

                            \n Total number of recommendations found in the code review.\n

                            " + } } }, "traits": { @@ -1282,17 +1383,17 @@ "com.amazonaws.codegurureviewer#MetricsSummary": { "type": "structure", "members": { - "FindingsCount": { - "target": "com.amazonaws.codegurureviewer#FindingsCount", - "traits": { - "smithy.api#documentation": "

                            \n Total number of recommendations found in the code review.\n

                            " - } - }, "MeteredLinesOfCodeCount": { "target": "com.amazonaws.codegurureviewer#MeteredLinesOfCodeCount", "traits": { "smithy.api#documentation": "

                            \n Lines of code metered in the code review. For the initial code review pull request and all subsequent revisions, \n this includes all lines of code in the files added to the pull request. In subsequent revisions, for files that already \n existed in the pull request, this includes only the changed lines of code. In both cases, this does not include non-code lines such as comments \n and import statements. For example, if you submit a pull request containing 5 files, each with 500 lines of code, and in \n a subsequent revision you added a new file with 200 lines of code, and also modified a total of 25 lines across the initial 5 files, \n MeteredLinesOfCodeCount includes the first 5 files (5 * 500 = 2,500 lines), the new file (200 lines) and the 25 changed lines of\n code for a total of 2,725 lines of code.\n

                            " } + }, + "FindingsCount": { + "target": "com.amazonaws.codegurureviewer#FindingsCount", + "traits": { + "smithy.api#documentation": "

                            \n Total number of recommendations found in the code review.\n

                            " + } } }, "traits": { @@ -1446,17 +1547,17 @@ "com.amazonaws.codegurureviewer#PutRecommendationFeedbackRequest": { "type": "structure", "members": { - "RecommendationId": { - "target": "com.amazonaws.codegurureviewer#RecommendationId", + "CodeReviewArn": { + "target": "com.amazonaws.codegurureviewer#Arn", "traits": { - "smithy.api#documentation": "

                            \n The recommendation ID that can be used to track the provided recommendations and then to collect the feedback.\n

                            ", + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the \n CodeReview\n object.\n

                            ", "smithy.api#required": {} } }, - "CodeReviewArn": { - "target": "com.amazonaws.codegurureviewer#Arn", + "RecommendationId": { + "target": "com.amazonaws.codegurureviewer#RecommendationId", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the \n CodeReview\n object.\n

                            ", + "smithy.api#documentation": "

                            \n The recommendation ID that can be used to track the provided recommendations and then to collect the feedback.\n

                            ", "smithy.api#required": {} } }, @@ -1503,10 +1604,10 @@ "com.amazonaws.codegurureviewer#RecommendationFeedback": { "type": "structure", "members": { - "LastUpdatedTimeStamp": { - "target": "com.amazonaws.codegurureviewer#TimeStamp", + "CodeReviewArn": { + "target": "com.amazonaws.codegurureviewer#Arn", "traits": { - "smithy.api#documentation": "

                            \n The time at which the feedback was last updated. \n

                            " + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the \n CodeReview\n object.\n

                            " } }, "RecommendationId": { @@ -1527,16 +1628,16 @@ "smithy.api#documentation": "

                            \n The ID of the user that made the API call.\n

                            \n

                            \n The UserId is an IAM principal that can be specified as an AWS account ID or an Amazon Resource Name (ARN). For \n more information, see \n Specifying a Principal in the AWS Identity and Access Management User Guide.\n

                            " } }, - "CodeReviewArn": { - "target": "com.amazonaws.codegurureviewer#Arn", + "CreatedTimeStamp": { + "target": "com.amazonaws.codegurureviewer#TimeStamp", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the \n CodeReview\n object.\n

                            " + "smithy.api#documentation": "

                            \n The time at which the feedback was created.\n

                            " } }, - "CreatedTimeStamp": { + "LastUpdatedTimeStamp": { "target": "com.amazonaws.codegurureviewer#TimeStamp", "traits": { - "smithy.api#documentation": "

                            \n The time at which the feedback was created.\n

                            " + "smithy.api#documentation": "

                            \n The time at which the feedback was last updated. \n

                            " } } }, @@ -1553,12 +1654,6 @@ "com.amazonaws.codegurureviewer#RecommendationFeedbackSummary": { "type": "structure", "members": { - "UserId": { - "target": "com.amazonaws.codegurureviewer#UserId", - "traits": { - "smithy.api#documentation": "

                            \n The ID of the user that gave the feedback.\n

                            \n

                            \n The UserId is an IAM principal that can be specified as an AWS account ID or an Amazon Resource Name (ARN). For \n more information, see \n Specifying a Principal in the AWS Identity and Access Management User Guide.\n

                            " - } - }, "RecommendationId": { "target": "com.amazonaws.codegurureviewer#RecommendationId", "traits": { @@ -1570,6 +1665,12 @@ "traits": { "smithy.api#documentation": "

                            \n List for storing reactions. Reactions are utf-8 text code for emojis.\n

                            " } + }, + "UserId": { + "target": "com.amazonaws.codegurureviewer#UserId", + "traits": { + "smithy.api#documentation": "

                            \n The ID of the user that gave the feedback.\n

                            \n

                            \n The UserId is an IAM principal that can be specified as an AWS account ID or an Amazon Resource Name (ARN). For \n more information, see \n Specifying a Principal in the AWS Identity and Access Management User Guide.\n

                            " + } } }, "traits": { @@ -1606,12 +1707,6 @@ "com.amazonaws.codegurureviewer#RecommendationSummary": { "type": "structure", "members": { - "Description": { - "target": "com.amazonaws.codegurureviewer#Text", - "traits": { - "smithy.api#documentation": "

                            \n A description of the recommendation generated by CodeGuru Reviewer for the lines of code between the start line and the end line.\n

                            " - } - }, "FilePath": { "target": "com.amazonaws.codegurureviewer#FilePath", "traits": { @@ -1624,16 +1719,22 @@ "smithy.api#documentation": "

                            \n The recommendation ID that can be used to track the provided recommendations. Later on it can be used to collect the feedback.\n

                            " } }, + "StartLine": { + "target": "com.amazonaws.codegurureviewer#LineNumber", + "traits": { + "smithy.api#documentation": "

                            \n Start line from where the recommendation is applicable in the source commit or source branch.\n

                            " + } + }, "EndLine": { "target": "com.amazonaws.codegurureviewer#LineNumber", "traits": { "smithy.api#documentation": "

                            \n Last line where the recommendation is applicable in the source commit or source branch. For a single line comment the start line and end line values are the same.\n

                            " } }, - "StartLine": { - "target": "com.amazonaws.codegurureviewer#LineNumber", + "Description": { + "target": "com.amazonaws.codegurureviewer#Text", "traits": { - "smithy.api#documentation": "

                            \n Start line from where the recommendation is applicable in the source commit or source branch.\n

                            " + "smithy.api#documentation": "

                            \n A description of the recommendation generated by CodeGuru Reviewer for the lines of code between the start line and the end line.\n

                            " } } }, @@ -1644,12 +1745,6 @@ "com.amazonaws.codegurureviewer#Repository": { "type": "structure", "members": { - "GitHubEnterpriseServer": { - "target": "com.amazonaws.codegurureviewer#ThirdPartySourceRepository", - "traits": { - "smithy.api#documentation": "

                            \n Information about a GitHub Enterprise Server repository.\n

                            " - } - }, "CodeCommit": { "target": "com.amazonaws.codegurureviewer#CodeCommitRepository", "traits": { @@ -1661,6 +1756,12 @@ "traits": { "smithy.api#documentation": "

                            \n Information about a Bitbucket repository.\n

                            " } + }, + "GitHubEnterpriseServer": { + "target": "com.amazonaws.codegurureviewer#ThirdPartySourceRepository", + "traits": { + "smithy.api#documentation": "

                            \n Information about a GitHub Enterprise Server repository.\n

                            " + } } }, "traits": { @@ -1685,22 +1786,22 @@ "com.amazonaws.codegurureviewer#RepositoryAssociation": { "type": "structure", "members": { - "LastUpdatedTimeStamp": { - "target": "com.amazonaws.codegurureviewer#TimeStamp", + "AssociationId": { + "target": "com.amazonaws.codegurureviewer#AssociationId", "traits": { - "smithy.api#documentation": "

                            The time, in milliseconds since the epoch, when the repository association was last updated.

                            " + "smithy.api#documentation": "

                            The ID of the repository association.

                            " } }, - "Owner": { - "target": "com.amazonaws.codegurureviewer#Owner", + "AssociationArn": { + "target": "com.amazonaws.codegurureviewer#Arn", "traits": { - "smithy.api#documentation": "

                            The owner of the repository. For an AWS CodeCommit repository, this is the AWS account ID of the \n account that owns the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository, this is the username for the account that owns the repository.

                            " + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) identifying the repository association.

                            " } }, - "AssociationId": { - "target": "com.amazonaws.codegurureviewer#AssociationId", + "ConnectionArn": { + "target": "com.amazonaws.codegurureviewer#ConnectionArn", "traits": { - "smithy.api#documentation": "

                            The ID of the repository association.

                            " + "smithy.api#documentation": "

                            \n The Amazon Resource Name (ARN) of an AWS CodeStar Connections connection. Its format is \n arn:aws:codestar-connections:region-id:aws-account_id:connection/connection-id. For more information, see \n \n Connection\n in \n the AWS CodeStar Connections API Reference.\n

                            " } }, "Name": { @@ -1709,10 +1810,10 @@ "smithy.api#documentation": "

                            The name of the repository.

                            " } }, - "ConnectionArn": { - "target": "com.amazonaws.codegurureviewer#ConnectionArn", + "Owner": { + "target": "com.amazonaws.codegurureviewer#Owner", "traits": { - "smithy.api#documentation": "

                            \n The Amazon Resource Name (ARN) of an AWS CodeStar Connections connection. Its format is \n arn:aws:codestar-connections:region-id:aws-account_id:connection/connection-id. For more information, see \n \n Connection\n in \n the AWS CodeStar Connections API Reference.\n

                            " + "smithy.api#documentation": "

                            The owner of the repository. For an AWS CodeCommit repository, this is the AWS account ID of the \n account that owns the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository, this is the username for the account that owns the repository.

                            " } }, "ProviderType": { @@ -1721,16 +1822,10 @@ "smithy.api#documentation": "

                            The provider type of the repository association.

                            " } }, - "AssociationArn": { - "target": "com.amazonaws.codegurureviewer#Arn", - "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) identifying the repository association.

                            " - } - }, - "CreatedTimeStamp": { - "target": "com.amazonaws.codegurureviewer#TimeStamp", + "State": { + "target": "com.amazonaws.codegurureviewer#RepositoryAssociationState", "traits": { - "smithy.api#documentation": "

                            The time, in milliseconds since the epoch, when the repository association was created.

                            " + "smithy.api#documentation": "

                            The state of the repository association.

                            \n

                            The valid repository association states are:

                            \n
                              \n
                            • \n

                              \n Associated: The repository \n association is complete.\n

                              \n
                            • \n
                            • \n

                              \n Associating: CodeGuru Reviewer is: \n

                              \n
                                \n
                              • \n

                                \n Setting up pull request notifications. This is required \n for pull requests to trigger a CodeGuru Reviewer review.\n

                                \n \n

                                \n If your repository ProviderType is GitHub, GitHub Enterprise Server, or Bitbucket, \n CodeGuru Reviewer creates webhooks in your repository to trigger CodeGuru Reviewer reviews. If you delete these webhooks, \n reviews of code in your repository cannot be triggered.\n

                                \n
                                \n
                              • \n
                              • \n

                                \n Setting up source code access. This is required for CodeGuru Reviewer to securely \n clone code in your repository.\n

                                \n
                              • \n
                              \n
                            • \n
                            • \n

                              \n Failed: The repository failed to associate or disassociate.\n

                              \n
                            • \n
                            • \n

                              \n Disassociating: CodeGuru Reviewer is removing the repository's pull request notifications and \n source code access.\n

                              \n
                            • \n
                            • \n

                              \n Disassociated: CodeGuru Reviewer successfully disassociated the repository. You can create a new association \n with this repository if you want to review source code in it later. You can control access to code reviews created in an \n associated repository with tags after it has been disassociated. For more information, see Using tags to control access to \n associated repositories in the Amazon CodeGuru Reviewer User Guide.\n

                              \n
                            • \n
                            " } }, "StateReason": { @@ -1739,10 +1834,16 @@ "smithy.api#documentation": "

                            A description of why the repository association is in the current state.

                            " } }, - "State": { - "target": "com.amazonaws.codegurureviewer#RepositoryAssociationState", + "LastUpdatedTimeStamp": { + "target": "com.amazonaws.codegurureviewer#TimeStamp", + "traits": { + "smithy.api#documentation": "

                            The time, in milliseconds since the epoch, when the repository association was last updated.

                            " + } + }, + "CreatedTimeStamp": { + "target": "com.amazonaws.codegurureviewer#TimeStamp", "traits": { - "smithy.api#documentation": "

                            The state of the repository association.

                            \n

                            The valid repository association states are:

                            \n
                              \n
                            • \n

                              \n Associated: The repository \n association is complete.\n

                              \n
                            • \n
                            • \n

                              \n Associating: CodeGuru Reviewer is: \n

                              \n
                                \n
                              • \n

                                \n Setting up pull request notifications. This is required \n for pull requests to trigger a CodeGuru Reviewer review.\n

                                \n \n

                                \n If your repository ProviderType is GitHub, GitHub Enterprise Server, or Bitbucket, \n CodeGuru Reviewer creates webhooks in your repository to trigger CodeGuru Reviewer reviews. If you delete these webhooks, \n reviews of code in your repository cannot be triggered.\n

                                \n
                                \n
                              • \n
                              • \n

                                \n Setting up source code access. This is required for CodeGuru Reviewer to securely \n clone code in your repository.\n

                                \n
                              • \n
                              \n
                            • \n
                            • \n

                              \n Failed: The repository failed to associate or disassociate.\n

                              \n
                            • \n
                            • \n

                              \n Disassociating: CodeGuru Reviewer is removing the repository's pull request notifications and \n source code access.\n

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            The time, in milliseconds since the epoch, when the repository association was created.

                            " } } }, @@ -1769,6 +1870,10 @@ { "value": "Disassociating", "name": "DISASSOCIATING" + }, + { + "value": "Disassociated", + "name": "DISASSOCIATED" } ] } @@ -1781,7 +1886,7 @@ "traits": { "smithy.api#length": { "min": 1, - "max": 3 + "max": 5 } } }, @@ -1794,22 +1899,10 @@ "com.amazonaws.codegurureviewer#RepositoryAssociationSummary": { "type": "structure", "members": { - "ProviderType": { - "target": "com.amazonaws.codegurureviewer#ProviderType", - "traits": { - "smithy.api#documentation": "

                            The provider type of the repository association.

                            " - } - }, - "AssociationId": { - "target": "com.amazonaws.codegurureviewer#AssociationId", - "traits": { - "smithy.api#documentation": "

                            \n The repository association ID.\n

                            " - } - }, - "State": { - "target": "com.amazonaws.codegurureviewer#RepositoryAssociationState", + "AssociationArn": { + "target": "com.amazonaws.codegurureviewer#Arn", "traits": { - "smithy.api#documentation": "

                            The state of the repository association.

                            \n

                            The valid repository association states are:

                            \n
                              \n
                            • \n

                              \n Associated: The repository \n association is complete.\n

                              \n
                            • \n
                            • \n

                              \n Associating: CodeGuru Reviewer is: \n

                              \n
                                \n
                              • \n

                                \n Setting up pull request notifications. This is required \n for pull requests to trigger a CodeGuru Reviewer review.\n

                                \n \n

                                \n If your repository ProviderType is GitHub, GitHub Enterprise Server, or Bitbucket, \n CodeGuru Reviewer creates webhooks in your repository to trigger CodeGuru Reviewer reviews. If you delete these webhooks, \n reviews of code in your repository cannot be triggered.\n

                                \n
                                \n
                              • \n
                              • \n

                                \n Setting up source code access. This is required for CodeGuru Reviewer to securely \n clone code in your repository.\n

                                \n
                              • \n
                              \n
                            • \n
                            • \n

                              \n Failed: The repository failed to associate or disassociate.\n

                              \n
                            • \n
                            • \n

                              \n Disassociating: CodeGuru Reviewer is removing the repository's pull request notifications and \n source code access.\n

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            \n The Amazon Resource Name (ARN) of the \n \n RepositoryAssociation\n object. \n You can retrieve this ARN by calling \n \n ListRepositoryAssociations\n .\n

                            " } }, "ConnectionArn": { @@ -1824,22 +1917,34 @@ "smithy.api#documentation": "

                            The time, in milliseconds since the epoch, since the repository association\n was last updated.\n

                            " } }, + "AssociationId": { + "target": "com.amazonaws.codegurureviewer#AssociationId", + "traits": { + "smithy.api#documentation": "

                            \n The repository association ID.\n

                            " + } + }, + "Name": { + "target": "com.amazonaws.codegurureviewer#Name", + "traits": { + "smithy.api#documentation": "

                            The name of the repository association.

                            " + } + }, "Owner": { "target": "com.amazonaws.codegurureviewer#Owner", "traits": { "smithy.api#documentation": "

                            The owner of the repository. For an AWS CodeCommit repository, this is the AWS account ID of the \n account that owns the repository. For a GitHub, GitHub Enterprise Server, or Bitbucket repository, this is the username for the account that owns the repository.

                            " } }, - "AssociationArn": { - "target": "com.amazonaws.codegurureviewer#Arn", + "ProviderType": { + "target": "com.amazonaws.codegurureviewer#ProviderType", "traits": { - "smithy.api#documentation": "

                            \n The Amazon Resource Name (ARN) of the \n \n RepositoryAssociation\n object. \n You can retrieve this ARN by calling ListRepositories.\n

                            " + "smithy.api#documentation": "

                            The provider type of the repository association.

                            " } }, - "Name": { - "target": "com.amazonaws.codegurureviewer#Name", + "State": { + "target": "com.amazonaws.codegurureviewer#RepositoryAssociationState", "traits": { - "smithy.api#documentation": "

                            The name of the repository association.

                            " + "smithy.api#documentation": "

                            The state of the repository association.

                            \n

                            The valid repository association states are:

                            \n
                              \n
                            • \n

                              \n Associated: The repository \n association is complete.\n

                              \n
                            • \n
                            • \n

                              \n Associating: CodeGuru Reviewer is: \n

                              \n
                                \n
                              • \n

                                \n Setting up pull request notifications. This is required \n for pull requests to trigger a CodeGuru Reviewer review.\n

                                \n \n

                                \n If your repository ProviderType is GitHub, GitHub Enterprise Server, or Bitbucket, \n CodeGuru Reviewer creates webhooks in your repository to trigger CodeGuru Reviewer reviews. If you delete these webhooks, \n reviews of code in your repository cannot be triggered.\n

                                \n
                                \n
                              • \n
                              • \n

                                \n Setting up source code access. This is required for CodeGuru Reviewer to securely \n clone code in your repository.\n

                                \n
                              • \n
                              \n
                            • \n
                            • \n

                              \n Failed: The repository failed to associate or disassociate.\n

                              \n
                            • \n
                            • \n

                              \n Disassociating: CodeGuru Reviewer is removing the repository's pull request notifications and \n source code access.\n

                              \n
                            • \n
                            • \n

                              \n Disassociated: CodeGuru Reviewer successfully disassociated the repository. You can create a new association \n with this repository if you want to review source code in it later. You can control access to code reviews created in an \n associated repository with tags after it has been disassociated. For more information, see Using tags to control access to \n associated repositories in the Amazon CodeGuru Reviewer User Guide.\n

                              \n
                            • \n
                            " } } }, @@ -1913,6 +2018,103 @@ } } }, + "com.amazonaws.codegurureviewer#TagKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + } + } + }, + "com.amazonaws.codegurureviewer#TagKeyList": { + "type": "list", + "member": { + "target": "com.amazonaws.codegurureviewer#TagKey" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 50 + } + } + }, + "com.amazonaws.codegurureviewer#TagMap": { + "type": "map", + "key": { + "target": "com.amazonaws.codegurureviewer#TagKey" + }, + "value": { + "target": "com.amazonaws.codegurureviewer#TagValue" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 50 + } + } + }, + "com.amazonaws.codegurureviewer#TagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.codegurureviewer#TagResourceRequest" + }, + "output": { + "target": "com.amazonaws.codegurureviewer#TagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.codegurureviewer#InternalServerException" + }, + { + "target": "com.amazonaws.codegurureviewer#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.codegurureviewer#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Adds one or more tags to an associated repository.

                            ", + "smithy.api#http": { + "method": "POST", + "uri": "/tags/{resourceArn}", + "code": 200 + } + } + }, + "com.amazonaws.codegurureviewer#TagResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "target": "com.amazonaws.codegurureviewer#AssociationArn", + "traits": { + "smithy.api#documentation": "

                            \n The Amazon Resource Name (ARN) of the \n \n RepositoryAssociation\n object. \n You can retrieve this ARN by calling \n \n ListRepositoryAssociations\n .\n

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.codegurureviewer#TagMap", + "traits": { + "smithy.api#documentation": "

                            \n\t\t\tAn array of key-value pairs used to tag an associated repository. A tag is a custom attribute label with two parts: \n\t\t

                            \n\t\t
                              \n
                            • \n\t\t\t\t

                              A tag key (for example, CostCenter,\n\t\t\t\t\tEnvironment, Project, or Secret). Tag\n\t\t\t\t\tkeys are case sensitive.

                              \n\t\t\t
                            • \n
                            • \n\t\t\t\t

                              An optional field known as a tag value (for example,\n\t\t\t\t\t111122223333, Production, or a team name).\n\t\t\t\t\tOmitting the tag value is the same as using an empty string. Like tag keys, tag\n\t\t\t\t\tvalues are case sensitive.

                              \n\t\t\t
                            • \n
                            ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.codegurureviewer#TagResourceResponse": { + "type": "structure", + "members": {} + }, + "com.amazonaws.codegurureviewer#TagValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + } + } + }, "com.amazonaws.codegurureviewer#Text": { "type": "string", "traits": { @@ -1925,6 +2127,13 @@ "com.amazonaws.codegurureviewer#ThirdPartySourceRepository": { "type": "structure", "members": { + "Name": { + "target": "com.amazonaws.codegurureviewer#Name", + "traits": { + "smithy.api#documentation": "

                            \n The name of the third party source repository.\n

                            ", + "smithy.api#required": {} + } + }, "ConnectionArn": { "target": "com.amazonaws.codegurureviewer#ConnectionArn", "traits": { @@ -1938,13 +2147,6 @@ "smithy.api#documentation": "

                            \n The owner of the repository. For a GitHub, GitHub Enterprise, or Bitbucket repository, \n this is the username for the account that owns the repository. \n

                            ", "smithy.api#required": {} } - }, - "Name": { - "target": "com.amazonaws.codegurureviewer#Name", - "traits": { - "smithy.api#documentation": "

                            \n The name of the third party source repository.\n

                            ", - "smithy.api#required": {} - } } }, "traits": { @@ -1982,6 +2184,59 @@ ] } }, + "com.amazonaws.codegurureviewer#UntagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.codegurureviewer#UntagResourceRequest" + }, + "output": { + "target": "com.amazonaws.codegurureviewer#UntagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.codegurureviewer#InternalServerException" + }, + { + "target": "com.amazonaws.codegurureviewer#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.codegurureviewer#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Removes a tag from an associated repository.

                            ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/tags/{resourceArn}", + "code": 200 + } + } + }, + "com.amazonaws.codegurureviewer#UntagResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "target": "com.amazonaws.codegurureviewer#AssociationArn", + "traits": { + "smithy.api#documentation": "

                            \n The Amazon Resource Name (ARN) of the \n \n RepositoryAssociation\n object. \n You can retrieve this ARN by calling \n \n ListRepositoryAssociations\n .\n

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "TagKeys": { + "target": "com.amazonaws.codegurureviewer#TagKeyList", + "traits": { + "smithy.api#documentation": "

                            A list of the keys for each tag you want to remove from an associated repository.

                            ", + "smithy.api#httpQuery": "tagKeys", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.codegurureviewer#UntagResourceResponse": { + "type": "structure", + "members": {} + }, "com.amazonaws.codegurureviewer#UserId": { "type": "string", "traits": { diff --git a/codegen/sdk-codegen/aws-models/cognito-identity.2014-06-30.json b/codegen/sdk-codegen/aws-models/cognito-identity.2014-06-30.json index 4c71cfa965c6..b5c605977563 100644 --- a/codegen/sdk-codegen/aws-models/cognito-identity.2014-06-30.json +++ b/codegen/sdk-codegen/aws-models/cognito-identity.2014-06-30.json @@ -284,10 +284,11 @@ "com.amazonaws.cognitoidentity#CreateIdentityPoolInput": { "type": "structure", "members": { - "CognitoIdentityProviders": { - "target": "com.amazonaws.cognitoidentity#CognitoIdentityProviderList", + "IdentityPoolName": { + "target": "com.amazonaws.cognitoidentity#IdentityPoolName", "traits": { - "smithy.api#documentation": "

                            An array of Amazon Cognito user pools and their client IDs.

                            " + "smithy.api#documentation": "

                            A string that you provide.

                            ", + "smithy.api#required": {} } }, "AllowUnauthenticatedIdentities": { @@ -297,29 +298,22 @@ "smithy.api#required": {} } }, - "SupportedLoginProviders": { - "target": "com.amazonaws.cognitoidentity#IdentityProviders", - "traits": { - "smithy.api#documentation": "

                            Optional key:value pairs mapping provider names to provider app IDs.

                            " - } - }, - "IdentityPoolTags": { - "target": "com.amazonaws.cognitoidentity#IdentityPoolTagsType", - "traits": { - "smithy.api#documentation": "

                            Tags to assign to the identity pool. A tag is a label that you can apply to identity\n pools to categorize and manage them in different ways, such as by purpose, owner,\n environment, or other criteria.

                            " - } - }, "AllowClassicFlow": { "target": "com.amazonaws.cognitoidentity#ClassicFlow", "traits": { "smithy.api#documentation": "

                            Enables or disables the Basic (Classic) authentication flow. For more information, see\n Identity Pools (Federated Identities) Authentication Flow in the Amazon Cognito Developer Guide.

                            " } }, - "IdentityPoolName": { - "target": "com.amazonaws.cognitoidentity#IdentityPoolName", + "SupportedLoginProviders": { + "target": "com.amazonaws.cognitoidentity#IdentityProviders", "traits": { - "smithy.api#documentation": "

                            A string that you provide.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            Optional key:value pairs mapping provider names to provider app IDs.

                            " + } + }, + "DeveloperProviderName": { + "target": "com.amazonaws.cognitoidentity#DeveloperProviderName", + "traits": { + "smithy.api#documentation": "

                            The \"domain\" by which Cognito will refer to your users. This name acts as a\n placeholder that allows your backend and the Cognito service to communicate about the\n developer provider. For the DeveloperProviderName, you can use letters as well\n as period (.), underscore (_), and dash\n (-).

                            \n

                            Once you have set a developer provider name, you cannot change it. Please take care\n in setting this parameter.

                            " } }, "OpenIdConnectProviderARNs": { @@ -328,16 +322,22 @@ "smithy.api#documentation": "

                            A list of OpendID Connect provider ARNs.

                            " } }, + "CognitoIdentityProviders": { + "target": "com.amazonaws.cognitoidentity#CognitoIdentityProviderList", + "traits": { + "smithy.api#documentation": "

                            An array of Amazon Cognito user pools and their client IDs.

                            " + } + }, "SamlProviderARNs": { "target": "com.amazonaws.cognitoidentity#SAMLProviderList", "traits": { "smithy.api#documentation": "

                            An array of Amazon Resource Names (ARNs) of the SAML provider for your identity\n pool.

                            " } }, - "DeveloperProviderName": { - "target": "com.amazonaws.cognitoidentity#DeveloperProviderName", + "IdentityPoolTags": { + "target": "com.amazonaws.cognitoidentity#IdentityPoolTagsType", "traits": { - "smithy.api#documentation": "

                            The \"domain\" by which Cognito will refer to your users. This name acts as a\n placeholder that allows your backend and the Cognito service to communicate about the\n developer provider. For the DeveloperProviderName, you can use letters as well\n as period (.), underscore (_), and dash\n (-).

                            \n

                            Once you have set a developer provider name, you cannot change it. Please take care\n in setting this parameter.

                            " + "smithy.api#documentation": "

                            Tags to assign to the identity pool. A tag is a label that you can apply to identity\n pools to categorize and manage them in different ways, such as by purpose, owner,\n environment, or other criteria.

                            " } } }, @@ -354,10 +354,10 @@ "smithy.api#documentation": "

                            The Access Key portion of the credentials.

                            " } }, - "Expiration": { - "target": "com.amazonaws.cognitoidentity#DateType", + "SecretKey": { + "target": "com.amazonaws.cognitoidentity#SecretKeyString", "traits": { - "smithy.api#documentation": "

                            The date at which these credentials will expire.

                            " + "smithy.api#documentation": "

                            The Secret Access Key portion of the credentials

                            " } }, "SessionToken": { @@ -366,10 +366,10 @@ "smithy.api#documentation": "

                            The Session Token portion of the credentials

                            " } }, - "SecretKey": { - "target": "com.amazonaws.cognitoidentity#SecretKeyString", + "Expiration": { + "target": "com.amazonaws.cognitoidentity#DateType", "traits": { - "smithy.api#documentation": "

                            The Secret Access Key portion of the credentials

                            " + "smithy.api#documentation": "

                            The date at which these credentials will expire.

                            " } } }, @@ -668,12 +668,21 @@ } ], "traits": { - "smithy.api#documentation": "

                            Returns credentials for the provided identity ID. Any provided logins will be\n validated against supported login providers. If the token is for\n cognito-identity.amazonaws.com, it will be passed through to AWS Security Token Service\n with the appropriate role for the token.

                            \n

                            This is a public API. You do not need any credentials to call this API.

                            " + "smithy.api#auth": [], + "smithy.api#documentation": "

                            Returns credentials for the provided identity ID. Any provided logins will be\n validated against supported login providers. If the token is for\n cognito-identity.amazonaws.com, it will be passed through to AWS Security Token Service\n with the appropriate role for the token.

                            \n

                            This is a public API. You do not need any credentials to call this API.

                            ", + "smithy.api#optionalAuth": {} } }, "com.amazonaws.cognitoidentity#GetCredentialsForIdentityInput": { "type": "structure", "members": { + "IdentityId": { + "target": "com.amazonaws.cognitoidentity#IdentityId", + "traits": { + "smithy.api#documentation": "

                            A unique identifier in the format REGION:GUID.

                            ", + "smithy.api#required": {} + } + }, "Logins": { "target": "com.amazonaws.cognitoidentity#LoginsMap", "traits": { @@ -685,13 +694,6 @@ "traits": { "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the role to be assumed when multiple roles were\n received in the token from the identity provider. For example, a SAML-based identity\n provider. This parameter is optional for identity providers that do not support role\n customization.

                            " } - }, - "IdentityId": { - "target": "com.amazonaws.cognitoidentity#IdentityId", - "traits": { - "smithy.api#documentation": "

                            A unique identifier in the format REGION:GUID.

                            ", - "smithy.api#required": {} - } } }, "traits": { @@ -753,7 +755,9 @@ } ], "traits": { - "smithy.api#documentation": "

                            Generates (or retrieves) a Cognito ID. Supplying multiple logins will create an\n implicit linked account.

                            \n

                            This is a public API. You do not need any credentials to call this API.

                            " + "smithy.api#auth": [], + "smithy.api#documentation": "

                            Generates (or retrieves) a Cognito ID. Supplying multiple logins will create an\n implicit linked account.

                            \n

                            This is a public API. You do not need any credentials to call this API.

                            ", + "smithy.api#optionalAuth": {} } }, "com.amazonaws.cognitoidentity#GetIdInput": { @@ -765,18 +769,18 @@ "smithy.api#documentation": "

                            A standard AWS account ID (9+ digits).

                            " } }, - "Logins": { - "target": "com.amazonaws.cognitoidentity#LoginsMap", - "traits": { - "smithy.api#documentation": "

                            A set of optional name-value pairs that map provider names to provider tokens. The\n available provider names for Logins are as follows:

                            \n
                              \n
                            • \n

                              Facebook: graph.facebook.com\n

                              \n
                            • \n
                            • \n

                              Amazon Cognito user pool:\n cognito-idp..amazonaws.com/,\n for example, cognito-idp.us-east-1.amazonaws.com/us-east-1_123456789.\n

                              \n
                            • \n
                            • \n

                              Google: accounts.google.com\n

                              \n
                            • \n
                            • \n

                              Amazon: www.amazon.com\n

                              \n
                            • \n
                            • \n

                              Twitter: api.twitter.com\n

                              \n
                            • \n
                            • \n

                              Digits: www.digits.com\n

                              \n
                            • \n
                            " - } - }, "IdentityPoolId": { "target": "com.amazonaws.cognitoidentity#IdentityPoolId", "traits": { "smithy.api#documentation": "

                            An identity pool ID in the format REGION:GUID.

                            ", "smithy.api#required": {} } + }, + "Logins": { + "target": "com.amazonaws.cognitoidentity#LoginsMap", + "traits": { + "smithy.api#documentation": "

                            A set of optional name-value pairs that map provider names to provider tokens. The\n available provider names for Logins are as follows:

                            \n
                              \n
                            • \n

                              Facebook: graph.facebook.com\n

                              \n
                            • \n
                            • \n

                              Amazon Cognito user pool:\n cognito-idp..amazonaws.com/,\n for example, cognito-idp.us-east-1.amazonaws.com/us-east-1_123456789.\n

                              \n
                            • \n
                            • \n

                              Google: accounts.google.com\n

                              \n
                            • \n
                            • \n

                              Amazon: www.amazon.com\n

                              \n
                            • \n
                            • \n

                              Twitter: api.twitter.com\n

                              \n
                            • \n
                            • \n

                              Digits: www.digits.com\n

                              \n
                            • \n
                            " + } } }, "traits": { @@ -847,10 +851,10 @@ "com.amazonaws.cognitoidentity#GetIdentityPoolRolesResponse": { "type": "structure", "members": { - "RoleMappings": { - "target": "com.amazonaws.cognitoidentity#RoleMappingMap", + "IdentityPoolId": { + "target": "com.amazonaws.cognitoidentity#IdentityPoolId", "traits": { - "smithy.api#documentation": "

                            How users for a specific identity provider are to mapped to roles. This is a\n String-to-RoleMapping object map. The string identifies the identity\n provider, for example, \"graph.facebook.com\" or\n \"cognito-idp.us-east-1.amazonaws.com/us-east-1_abcdefghi:app_client_id\".

                            " + "smithy.api#documentation": "

                            An identity pool ID in the format REGION:GUID.

                            " } }, "Roles": { @@ -859,10 +863,10 @@ "smithy.api#documentation": "

                            The map of roles associated with this pool. Currently only authenticated and\n unauthenticated roles are supported.

                            " } }, - "IdentityPoolId": { - "target": "com.amazonaws.cognitoidentity#IdentityPoolId", + "RoleMappings": { + "target": "com.amazonaws.cognitoidentity#RoleMappingMap", "traits": { - "smithy.api#documentation": "

                            An identity pool ID in the format REGION:GUID.

                            " + "smithy.api#documentation": "

                            How users for a specific identity provider are to mapped to roles. This is a\n String-to-RoleMapping object map. The string identifies the identity\n provider, for example, \"graph.facebook.com\" or\n \"cognito-idp.us-east-1.amazonaws.com/us-east-1_abcdefghi:app_client_id\".

                            " } } }, @@ -902,7 +906,9 @@ } ], "traits": { - "smithy.api#documentation": "

                            Gets an OpenID token, using a known Cognito ID. This known Cognito ID is returned by\n GetId. You can optionally add additional logins for the identity.\n Supplying multiple logins creates an implicit link.

                            \n

                            The OpenId token is valid for 10 minutes.

                            \n

                            This is a public API. You do not need any credentials to call this API.

                            " + "smithy.api#auth": [], + "smithy.api#documentation": "

                            Gets an OpenID token, using a known Cognito ID. This known Cognito ID is returned by\n GetId. You can optionally add additional logins for the identity.\n Supplying multiple logins creates an implicit link.

                            \n

                            The OpenId token is valid for 10 minutes.

                            \n

                            This is a public API. You do not need any credentials to call this API.

                            ", + "smithy.api#optionalAuth": {} } }, "com.amazonaws.cognitoidentity#GetOpenIdTokenForDeveloperIdentity": { @@ -943,17 +949,23 @@ "com.amazonaws.cognitoidentity#GetOpenIdTokenForDeveloperIdentityInput": { "type": "structure", "members": { - "Logins": { - "target": "com.amazonaws.cognitoidentity#LoginsMap", + "IdentityPoolId": { + "target": "com.amazonaws.cognitoidentity#IdentityPoolId", "traits": { - "smithy.api#documentation": "

                            A set of optional name-value pairs that map provider names to provider tokens. Each\n name-value pair represents a user from a public provider or developer provider. If the user\n is from a developer provider, the name-value pair will follow the syntax\n \"developer_provider_name\": \"developer_user_identifier\". The developer\n provider is the \"domain\" by which Cognito will refer to your users; you provided this\n domain while creating/updating the identity pool. The developer user identifier is an\n identifier from your backend that uniquely identifies a user. When you create an identity\n pool, you can specify the supported logins.

                            ", + "smithy.api#documentation": "

                            An identity pool ID in the format REGION:GUID.

                            ", "smithy.api#required": {} } }, - "IdentityPoolId": { - "target": "com.amazonaws.cognitoidentity#IdentityPoolId", + "IdentityId": { + "target": "com.amazonaws.cognitoidentity#IdentityId", "traits": { - "smithy.api#documentation": "

                            An identity pool ID in the format REGION:GUID.

                            ", + "smithy.api#documentation": "

                            A unique identifier in the format REGION:GUID.

                            " + } + }, + "Logins": { + "target": "com.amazonaws.cognitoidentity#LoginsMap", + "traits": { + "smithy.api#documentation": "

                            A set of optional name-value pairs that map provider names to provider tokens. Each\n name-value pair represents a user from a public provider or developer provider. If the user\n is from a developer provider, the name-value pair will follow the syntax\n \"developer_provider_name\": \"developer_user_identifier\". The developer\n provider is the \"domain\" by which Cognito will refer to your users; you provided this\n domain while creating/updating the identity pool. The developer user identifier is an\n identifier from your backend that uniquely identifies a user. When you create an identity\n pool, you can specify the supported logins.

                            ", "smithy.api#required": {} } }, @@ -962,12 +974,6 @@ "traits": { "smithy.api#documentation": "

                            The expiration time of the token, in seconds. You can specify a custom expiration\n time for the token so that you can cache it. If you don't provide an expiration time, the\n token is valid for 15 minutes. You can exchange the token with Amazon STS for temporary AWS\n credentials, which are valid for a maximum of one hour. The maximum token duration you can\n set is 24 hours. You should take care in setting the expiration time for a token, as there\n are significant security implications: an attacker could use a leaked token to access your\n AWS resources for the token's duration.

                            \n \n

                            Please provide for a small grace period, usually no more than 5 minutes, to account for clock skew.

                            \n
                            " } - }, - "IdentityId": { - "target": "com.amazonaws.cognitoidentity#IdentityId", - "traits": { - "smithy.api#documentation": "

                            A unique identifier in the format REGION:GUID.

                            " - } } }, "traits": { @@ -977,17 +983,17 @@ "com.amazonaws.cognitoidentity#GetOpenIdTokenForDeveloperIdentityResponse": { "type": "structure", "members": { - "Token": { - "target": "com.amazonaws.cognitoidentity#OIDCToken", - "traits": { - "smithy.api#documentation": "

                            An OpenID token.

                            " - } - }, "IdentityId": { "target": "com.amazonaws.cognitoidentity#IdentityId", "traits": { "smithy.api#documentation": "

                            A unique identifier in the format REGION:GUID.

                            " } + }, + "Token": { + "target": "com.amazonaws.cognitoidentity#OIDCToken", + "traits": { + "smithy.api#documentation": "

                            An OpenID token.

                            " + } } }, "traits": { @@ -1018,17 +1024,17 @@ "com.amazonaws.cognitoidentity#GetOpenIdTokenResponse": { "type": "structure", "members": { - "Token": { - "target": "com.amazonaws.cognitoidentity#OIDCToken", - "traits": { - "smithy.api#documentation": "

                            An OpenID token, valid for 10 minutes.

                            " - } - }, "IdentityId": { "target": "com.amazonaws.cognitoidentity#IdentityId", "traits": { "smithy.api#documentation": "

                            A unique identifier in the format REGION:GUID. Note that the IdentityId returned may\n not match the one passed on input.

                            " } + }, + "Token": { + "target": "com.amazonaws.cognitoidentity#OIDCToken", + "traits": { + "smithy.api#documentation": "

                            An OpenID token, valid for 10 minutes.

                            " + } } }, "traits": { @@ -1059,16 +1065,16 @@ "smithy.api#documentation": "

                            The provider names.

                            " } }, - "LastModifiedDate": { + "CreationDate": { "target": "com.amazonaws.cognitoidentity#DateType", "traits": { - "smithy.api#documentation": "

                            Date on which the identity was last modified.

                            " + "smithy.api#documentation": "

                            Date on which the identity was created.

                            " } }, - "CreationDate": { + "LastModifiedDate": { "target": "com.amazonaws.cognitoidentity#DateType", "traits": { - "smithy.api#documentation": "

                            Date on which the identity was created.

                            " + "smithy.api#documentation": "

                            Date on which the identity was last modified.

                            " } } }, @@ -1108,16 +1114,11 @@ "smithy.api#required": {} } }, - "SamlProviderARNs": { - "target": "com.amazonaws.cognitoidentity#SAMLProviderList", - "traits": { - "smithy.api#documentation": "

                            An array of Amazon Resource Names (ARNs) of the SAML provider for your identity\n pool.

                            " - } - }, - "OpenIdConnectProviderARNs": { - "target": "com.amazonaws.cognitoidentity#OIDCProviderList", + "IdentityPoolName": { + "target": "com.amazonaws.cognitoidentity#IdentityPoolName", "traits": { - "smithy.api#documentation": "

                            A list of OpendID Connect provider ARNs.

                            " + "smithy.api#documentation": "

                            A string that you provide.

                            ", + "smithy.api#required": {} } }, "AllowUnauthenticatedIdentities": { @@ -1133,23 +1134,22 @@ "smithy.api#documentation": "

                            Enables or disables the Basic (Classic) authentication flow. For more information, see\n Identity Pools (Federated Identities) Authentication Flow in the Amazon Cognito Developer Guide.

                            " } }, - "IdentityPoolTags": { - "target": "com.amazonaws.cognitoidentity#IdentityPoolTagsType", + "SupportedLoginProviders": { + "target": "com.amazonaws.cognitoidentity#IdentityProviders", "traits": { - "smithy.api#documentation": "

                            The tags that are assigned to the identity pool. A tag is a label that you can apply to\n identity pools to categorize and manage them in different ways, such as by purpose, owner,\n environment, or other criteria.

                            " + "smithy.api#documentation": "

                            Optional key:value pairs mapping provider names to provider app IDs.

                            " } }, - "IdentityPoolName": { - "target": "com.amazonaws.cognitoidentity#IdentityPoolName", + "DeveloperProviderName": { + "target": "com.amazonaws.cognitoidentity#DeveloperProviderName", "traits": { - "smithy.api#documentation": "

                            A string that you provide.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The \"domain\" by which Cognito will refer to your users.

                            " } }, - "SupportedLoginProviders": { - "target": "com.amazonaws.cognitoidentity#IdentityProviders", + "OpenIdConnectProviderARNs": { + "target": "com.amazonaws.cognitoidentity#OIDCProviderList", "traits": { - "smithy.api#documentation": "

                            Optional key:value pairs mapping provider names to provider app IDs.

                            " + "smithy.api#documentation": "

                            A list of OpendID Connect provider ARNs.

                            " } }, "CognitoIdentityProviders": { @@ -1158,10 +1158,16 @@ "smithy.api#documentation": "

                            A list representing an Amazon Cognito user pool and its client ID.

                            " } }, - "DeveloperProviderName": { - "target": "com.amazonaws.cognitoidentity#DeveloperProviderName", + "SamlProviderARNs": { + "target": "com.amazonaws.cognitoidentity#SAMLProviderList", "traits": { - "smithy.api#documentation": "

                            The \"domain\" by which Cognito will refer to your users.

                            " + "smithy.api#documentation": "

                            An array of Amazon Resource Names (ARNs) of the SAML provider for your identity\n pool.

                            " + } + }, + "IdentityPoolTags": { + "target": "com.amazonaws.cognitoidentity#IdentityPoolTagsType", + "traits": { + "smithy.api#documentation": "

                            The tags that are assigned to the identity pool. A tag is a label that you can apply to\n identity pools to categorize and manage them in different ways, such as by purpose, owner,\n environment, or other criteria.

                            " } } }, @@ -1371,12 +1377,6 @@ "com.amazonaws.cognitoidentity#ListIdentitiesInput": { "type": "structure", "members": { - "HideDisabled": { - "target": "com.amazonaws.cognitoidentity#HideDisabled", - "traits": { - "smithy.api#documentation": "

                            An optional boolean parameter that allows you to hide disabled identities. If\n omitted, the ListIdentities API will include disabled identities in the response.

                            " - } - }, "IdentityPoolId": { "target": "com.amazonaws.cognitoidentity#IdentityPoolId", "traits": { @@ -1384,17 +1384,23 @@ "smithy.api#required": {} } }, + "MaxResults": { + "target": "com.amazonaws.cognitoidentity#QueryLimit", + "traits": { + "smithy.api#documentation": "

                            The maximum number of identities to return.

                            ", + "smithy.api#required": {} + } + }, "NextToken": { "target": "com.amazonaws.cognitoidentity#PaginationKey", "traits": { "smithy.api#documentation": "

                            A pagination token.

                            " } }, - "MaxResults": { - "target": "com.amazonaws.cognitoidentity#QueryLimit", + "HideDisabled": { + "target": "com.amazonaws.cognitoidentity#HideDisabled", "traits": { - "smithy.api#documentation": "

                            The maximum number of identities to return.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            An optional boolean parameter that allows you to hide disabled identities. If\n omitted, the ListIdentities API will include disabled identities in the response.

                            " } } }, @@ -1460,18 +1466,18 @@ "com.amazonaws.cognitoidentity#ListIdentityPoolsInput": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.cognitoidentity#PaginationKey", - "traits": { - "smithy.api#documentation": "

                            A pagination token.

                            " - } - }, "MaxResults": { "target": "com.amazonaws.cognitoidentity#QueryLimit", "traits": { "smithy.api#documentation": "

                            The maximum number of identities to return.

                            ", "smithy.api#required": {} } + }, + "NextToken": { + "target": "com.amazonaws.cognitoidentity#PaginationKey", + "traits": { + "smithy.api#documentation": "

                            A pagination token.

                            " + } } }, "traits": { @@ -1481,17 +1487,17 @@ "com.amazonaws.cognitoidentity#ListIdentityPoolsResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.cognitoidentity#PaginationKey", - "traits": { - "smithy.api#documentation": "

                            A pagination token.

                            " - } - }, "IdentityPools": { "target": "com.amazonaws.cognitoidentity#IdentityPoolsList", "traits": { "smithy.api#documentation": "

                            The identity pools returned by the ListIdentityPools action.

                            " } + }, + "NextToken": { + "target": "com.amazonaws.cognitoidentity#PaginationKey", + "traits": { + "smithy.api#documentation": "

                            A pagination token.

                            " + } } }, "traits": { @@ -1606,18 +1612,6 @@ "com.amazonaws.cognitoidentity#LookupDeveloperIdentityInput": { "type": "structure", "members": { - "IdentityId": { - "target": "com.amazonaws.cognitoidentity#IdentityId", - "traits": { - "smithy.api#documentation": "

                            A unique identifier in the format REGION:GUID.

                            " - } - }, - "MaxResults": { - "target": "com.amazonaws.cognitoidentity#QueryLimit", - "traits": { - "smithy.api#documentation": "

                            The maximum number of identities to return.

                            " - } - }, "IdentityPoolId": { "target": "com.amazonaws.cognitoidentity#IdentityPoolId", "traits": { @@ -1625,12 +1619,24 @@ "smithy.api#required": {} } }, + "IdentityId": { + "target": "com.amazonaws.cognitoidentity#IdentityId", + "traits": { + "smithy.api#documentation": "

                            A unique identifier in the format REGION:GUID.

                            " + } + }, "DeveloperUserIdentifier": { "target": "com.amazonaws.cognitoidentity#DeveloperUserIdentifier", "traits": { "smithy.api#documentation": "

                            A unique ID used by your backend authentication process to identify a user.\n Typically, a developer identity provider would issue many developer user identifiers, in\n keeping with the number of users.

                            " } }, + "MaxResults": { + "target": "com.amazonaws.cognitoidentity#QueryLimit", + "traits": { + "smithy.api#documentation": "

                            The maximum number of identities to return.

                            " + } + }, "NextToken": { "target": "com.amazonaws.cognitoidentity#PaginationKey", "traits": { @@ -1671,10 +1677,10 @@ "com.amazonaws.cognitoidentity#MappingRule": { "type": "structure", "members": { - "RoleARN": { - "target": "com.amazonaws.cognitoidentity#ARNString", + "Claim": { + "target": "com.amazonaws.cognitoidentity#ClaimName", "traits": { - "smithy.api#documentation": "

                            The role ARN.

                            ", + "smithy.api#documentation": "

                            The claim name that must be present in the token, for example, \"isAdmin\" or\n \"paid\".

                            ", "smithy.api#required": {} } }, @@ -1692,10 +1698,10 @@ "smithy.api#required": {} } }, - "Claim": { - "target": "com.amazonaws.cognitoidentity#ClaimName", + "RoleARN": { + "target": "com.amazonaws.cognitoidentity#ARNString", "traits": { - "smithy.api#documentation": "

                            The claim name that must be present in the token, for example, \"isAdmin\" or\n \"paid\".

                            ", + "smithy.api#documentation": "

                            The role ARN.

                            ", "smithy.api#required": {} } } @@ -1735,7 +1741,7 @@ "traits": { "smithy.api#length": { "min": 1, - "max": 25 + "max": 400 } } }, @@ -1788,17 +1794,17 @@ "smithy.api#required": {} } }, - "IdentityPoolId": { - "target": "com.amazonaws.cognitoidentity#IdentityPoolId", + "DeveloperProviderName": { + "target": "com.amazonaws.cognitoidentity#DeveloperProviderName", "traits": { - "smithy.api#documentation": "

                            An identity pool ID in the format REGION:GUID.

                            ", + "smithy.api#documentation": "

                            The \"domain\" by which Cognito will refer to your users. This is a (pseudo) domain\n name that you provide while creating an identity pool. This name acts as a placeholder that\n allows your backend and the Cognito service to communicate about the developer provider.\n For the DeveloperProviderName, you can use letters as well as period (.),\n underscore (_), and dash (-).

                            ", "smithy.api#required": {} } }, - "DeveloperProviderName": { - "target": "com.amazonaws.cognitoidentity#DeveloperProviderName", + "IdentityPoolId": { + "target": "com.amazonaws.cognitoidentity#IdentityPoolId", "traits": { - "smithy.api#documentation": "

                            The \"domain\" by which Cognito will refer to your users. This is a (pseudo) domain\n name that you provide while creating an identity pool. This name acts as a placeholder that\n allows your backend and the Cognito service to communicate about the developer provider.\n For the DeveloperProviderName, you can use letters as well as period (.),\n underscore (_), and dash (-).

                            ", + "smithy.api#documentation": "

                            An identity pool ID in the format REGION:GUID.

                            ", "smithy.api#required": {} } } @@ -1850,7 +1856,8 @@ "type": "string", "traits": { "smithy.api#length": { - "min": 1 + "min": 1, + "max": 65535 }, "smithy.api#pattern": "[\\S]+" } @@ -1956,6 +1963,10 @@ "com.amazonaws.cognitoidentity#RoleType": { "type": "string", "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, "smithy.api#pattern": "(un)?authenticated" } }, @@ -2036,10 +2047,11 @@ "com.amazonaws.cognitoidentity#SetIdentityPoolRolesInput": { "type": "structure", "members": { - "RoleMappings": { - "target": "com.amazonaws.cognitoidentity#RoleMappingMap", + "IdentityPoolId": { + "target": "com.amazonaws.cognitoidentity#IdentityPoolId", "traits": { - "smithy.api#documentation": "

                            How users for a specific identity provider are to mapped to roles. This is a string\n to RoleMapping object map. The string identifies the identity provider,\n for example, \"graph.facebook.com\" or\n \"cognito-idp-east-1.amazonaws.com/us-east-1_abcdefghi:app_client_id\".

                            \n

                            Up to 25 rules can be specified per identity provider.

                            " + "smithy.api#documentation": "

                            An identity pool ID in the format REGION:GUID.

                            ", + "smithy.api#required": {} } }, "Roles": { @@ -2049,11 +2061,10 @@ "smithy.api#required": {} } }, - "IdentityPoolId": { - "target": "com.amazonaws.cognitoidentity#IdentityPoolId", + "RoleMappings": { + "target": "com.amazonaws.cognitoidentity#RoleMappingMap", "traits": { - "smithy.api#documentation": "

                            An identity pool ID in the format REGION:GUID.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            How users for a specific identity provider are to mapped to roles. This is a string\n to RoleMapping object map. The string identifies the identity provider,\n for example, \"graph.facebook.com\" or\n \"cognito-idp-east-1.amazonaws.com/us-east-1_abcdefghi:app_client_id\".

                            \n

                            Up to 25 rules can be specified per identity provider.

                            " } } }, @@ -2105,17 +2116,17 @@ "com.amazonaws.cognitoidentity#TagResourceInput": { "type": "structure", "members": { - "Tags": { - "target": "com.amazonaws.cognitoidentity#IdentityPoolTagsType", + "ResourceArn": { + "target": "com.amazonaws.cognitoidentity#ARNString", "traits": { - "smithy.api#documentation": "

                            The tags to assign to the identity pool.

                            ", + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the identity pool to assign the tags to.

                            ", "smithy.api#required": {} } }, - "ResourceArn": { - "target": "com.amazonaws.cognitoidentity#ARNString", + "Tags": { + "target": "com.amazonaws.cognitoidentity#IdentityPoolTagsType", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the identity pool to assign the tags to.

                            ", + "smithy.api#documentation": "

                            The tags to assign to the identity pool.

                            ", "smithy.api#required": {} } } @@ -2192,31 +2203,31 @@ "com.amazonaws.cognitoidentity#UnlinkDeveloperIdentityInput": { "type": "structure", "members": { - "DeveloperProviderName": { - "target": "com.amazonaws.cognitoidentity#DeveloperProviderName", + "IdentityId": { + "target": "com.amazonaws.cognitoidentity#IdentityId", "traits": { - "smithy.api#documentation": "

                            The \"domain\" by which Cognito will refer to your users.

                            ", + "smithy.api#documentation": "

                            A unique identifier in the format REGION:GUID.

                            ", "smithy.api#required": {} } }, - "DeveloperUserIdentifier": { - "target": "com.amazonaws.cognitoidentity#DeveloperUserIdentifier", + "IdentityPoolId": { + "target": "com.amazonaws.cognitoidentity#IdentityPoolId", "traits": { - "smithy.api#documentation": "

                            A unique ID used by your backend authentication process to identify a user.

                            ", + "smithy.api#documentation": "

                            An identity pool ID in the format REGION:GUID.

                            ", "smithy.api#required": {} } }, - "IdentityPoolId": { - "target": "com.amazonaws.cognitoidentity#IdentityPoolId", + "DeveloperProviderName": { + "target": "com.amazonaws.cognitoidentity#DeveloperProviderName", "traits": { - "smithy.api#documentation": "

                            An identity pool ID in the format REGION:GUID.

                            ", + "smithy.api#documentation": "

                            The \"domain\" by which Cognito will refer to your users.

                            ", "smithy.api#required": {} } }, - "IdentityId": { - "target": "com.amazonaws.cognitoidentity#IdentityId", + "DeveloperUserIdentifier": { + "target": "com.amazonaws.cognitoidentity#DeveloperUserIdentifier", "traits": { - "smithy.api#documentation": "

                            A unique identifier in the format REGION:GUID.

                            ", + "smithy.api#documentation": "

                            A unique ID used by your backend authentication process to identify a user.

                            ", "smithy.api#required": {} } } @@ -2254,23 +2265,25 @@ } ], "traits": { - "smithy.api#documentation": "

                            Unlinks a federated identity from an existing account. Unlinked logins will be\n considered new identities next time they are seen. Removing the last linked login will make\n this identity inaccessible.

                            \n

                            This is a public API. You do not need any credentials to call this API.

                            " + "smithy.api#auth": [], + "smithy.api#documentation": "

                            Unlinks a federated identity from an existing account. Unlinked logins will be\n considered new identities next time they are seen. Removing the last linked login will make\n this identity inaccessible.

                            \n

                            This is a public API. You do not need any credentials to call this API.

                            ", + "smithy.api#optionalAuth": {} } }, "com.amazonaws.cognitoidentity#UnlinkIdentityInput": { "type": "structure", "members": { - "Logins": { - "target": "com.amazonaws.cognitoidentity#LoginsMap", + "IdentityId": { + "target": "com.amazonaws.cognitoidentity#IdentityId", "traits": { - "smithy.api#documentation": "

                            A set of optional name-value pairs that map provider names to provider\n tokens.

                            ", + "smithy.api#documentation": "

                            A unique identifier in the format REGION:GUID.

                            ", "smithy.api#required": {} } }, - "IdentityId": { - "target": "com.amazonaws.cognitoidentity#IdentityId", + "Logins": { + "target": "com.amazonaws.cognitoidentity#LoginsMap", "traits": { - "smithy.api#documentation": "

                            A unique identifier in the format REGION:GUID.

                            ", + "smithy.api#documentation": "

                            A set of optional name-value pairs that map provider names to provider\n tokens.

                            ", "smithy.api#required": {} } }, diff --git a/codegen/sdk-codegen/aws-models/connect.2017-08-08.json b/codegen/sdk-codegen/aws-models/connect.2017-08-08.json index 9b53a16bbd74..67903dcf4179 100644 --- a/codegen/sdk-codegen/aws-models/connect.2017-08-08.json +++ b/codegen/sdk-codegen/aws-models/connect.2017-08-08.json @@ -71,12 +71,30 @@ "type": "service", "version": "2017-08-08", "operations": [ + { + "target": "com.amazonaws.connect#AssociateApprovedOrigin" + }, + { + "target": "com.amazonaws.connect#AssociateInstanceStorageConfig" + }, + { + "target": "com.amazonaws.connect#AssociateLambdaFunction" + }, + { + "target": "com.amazonaws.connect#AssociateLexBot" + }, { "target": "com.amazonaws.connect#AssociateRoutingProfileQueues" }, + { + "target": "com.amazonaws.connect#AssociateSecurityKey" + }, { "target": "com.amazonaws.connect#CreateContactFlow" }, + { + "target": "com.amazonaws.connect#CreateInstance" + }, { "target": "com.amazonaws.connect#CreateRoutingProfile" }, @@ -86,6 +104,9 @@ { "target": "com.amazonaws.connect#CreateUserHierarchyGroup" }, + { + "target": "com.amazonaws.connect#DeleteInstance" + }, { "target": "com.amazonaws.connect#DeleteUser" }, @@ -95,6 +116,15 @@ { "target": "com.amazonaws.connect#DescribeContactFlow" }, + { + "target": "com.amazonaws.connect#DescribeInstance" + }, + { + "target": "com.amazonaws.connect#DescribeInstanceAttribute" + }, + { + "target": "com.amazonaws.connect#DescribeInstanceStorageConfig" + }, { "target": "com.amazonaws.connect#DescribeRoutingProfile" }, @@ -107,9 +137,24 @@ { "target": "com.amazonaws.connect#DescribeUserHierarchyStructure" }, + { + "target": "com.amazonaws.connect#DisassociateApprovedOrigin" + }, + { + "target": "com.amazonaws.connect#DisassociateInstanceStorageConfig" + }, + { + "target": "com.amazonaws.connect#DisassociateLambdaFunction" + }, + { + "target": "com.amazonaws.connect#DisassociateLexBot" + }, { "target": "com.amazonaws.connect#DisassociateRoutingProfileQueues" }, + { + "target": "com.amazonaws.connect#DisassociateSecurityKey" + }, { "target": "com.amazonaws.connect#GetContactAttributes" }, @@ -122,12 +167,30 @@ { "target": "com.amazonaws.connect#GetMetricData" }, + { + "target": "com.amazonaws.connect#ListApprovedOrigins" + }, { "target": "com.amazonaws.connect#ListContactFlows" }, { "target": "com.amazonaws.connect#ListHoursOfOperations" }, + { + "target": "com.amazonaws.connect#ListInstanceAttributes" + }, + { + "target": "com.amazonaws.connect#ListInstances" + }, + { + "target": "com.amazonaws.connect#ListInstanceStorageConfigs" + }, + { + "target": "com.amazonaws.connect#ListLambdaFunctions" + }, + { + "target": "com.amazonaws.connect#ListLexBots" + }, { "target": "com.amazonaws.connect#ListPhoneNumbers" }, @@ -143,6 +206,9 @@ { "target": "com.amazonaws.connect#ListRoutingProfiles" }, + { + "target": "com.amazonaws.connect#ListSecurityKeys" + }, { "target": "com.amazonaws.connect#ListSecurityProfiles" }, @@ -191,6 +257,12 @@ { "target": "com.amazonaws.connect#UpdateContactFlowName" }, + { + "target": "com.amazonaws.connect#UpdateInstanceAttribute" + }, + { + "target": "com.amazonaws.connect#UpdateInstanceStorageConfig" + }, { "target": "com.amazonaws.connect#UpdateRoutingProfileConcurrency" }, @@ -240,10 +312,10 @@ "smithy.api#title": "Amazon Connect Service" } }, - "com.amazonaws.connect#AssociateRoutingProfileQueues": { + "com.amazonaws.connect#AssociateApprovedOrigin": { "type": "operation", "input": { - "target": "com.amazonaws.connect#AssociateRoutingProfileQueuesRequest" + "target": "com.amazonaws.connect#AssociateApprovedOriginRequest" }, "errors": [ { @@ -255,23 +327,29 @@ { "target": "com.amazonaws.connect#InvalidRequestException" }, + { + "target": "com.amazonaws.connect#ResourceConflictException" + }, { "target": "com.amazonaws.connect#ResourceNotFoundException" }, + { + "target": "com.amazonaws.connect#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.connect#ThrottlingException" } ], "traits": { - "smithy.api#documentation": "

                            Associates a set of queues with a routing profile.

                            ", + "smithy.api#documentation": "

                            Associates an approved origin to an Amazon Connect instance.

                            ", "smithy.api#http": { - "method": "POST", - "uri": "/routing-profiles/{InstanceId}/{RoutingProfileId}/associate-queues", + "method": "PUT", + "uri": "/instance/{InstanceId}/approved-origin", "code": 200 } } }, - "com.amazonaws.connect#AssociateRoutingProfileQueuesRequest": { + "com.amazonaws.connect#AssociateApprovedOriginRequest": { "type": "structure", "members": { "InstanceId": { @@ -282,371 +360,275 @@ "smithy.api#required": {} } }, - "RoutingProfileId": { - "target": "com.amazonaws.connect#RoutingProfileId", - "traits": { - "smithy.api#documentation": "

                            The identifier of the routing profile.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "QueueConfigs": { - "target": "com.amazonaws.connect#RoutingProfileQueueConfigList", + "Origin": { + "target": "com.amazonaws.connect#Origin", "traits": { - "smithy.api#documentation": "

                            The queues to associate with this routing profile.

                            ", + "smithy.api#documentation": "

                            The domain to add to your allow list.

                            ", "smithy.api#required": {} } } } }, - "com.amazonaws.connect#AttributeName": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 32767 - } - } - }, - "com.amazonaws.connect#AttributeValue": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 32767 - } - } - }, - "com.amazonaws.connect#Attributes": { - "type": "map", - "key": { - "target": "com.amazonaws.connect#AttributeName" + "com.amazonaws.connect#AssociateInstanceStorageConfig": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#AssociateInstanceStorageConfigRequest" }, - "value": { - "target": "com.amazonaws.connect#AttributeValue" - } - }, - "com.amazonaws.connect#AutoAccept": { - "type": "boolean" - }, - "com.amazonaws.connect#Channel": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "VOICE", - "name": "VOICE" - }, - { - "value": "CHAT", - "name": "CHAT" - } - ] - } - }, - "com.amazonaws.connect#Channels": { - "type": "list", - "member": { - "target": "com.amazonaws.connect#Channel" + "output": { + "target": "com.amazonaws.connect#AssociateInstanceStorageConfigResponse" }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 1 - } - } - }, - "com.amazonaws.connect#ChatContent": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 1024 + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceConflictException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" } - } - }, - "com.amazonaws.connect#ChatContentType": { - "type": "string", + ], "traits": { - "smithy.api#length": { - "min": 1, - "max": 100 + "smithy.api#documentation": "

                            Associates a storage resource type for the first time. You can only associate one type of\n storage configuration in a single call. This means, for example, that you can't define an\n instance with multiple S3 buckets for storing chat transcripts.

                            \n \n

                            This API does not create a resource that doesn't exist. It only associates it to the\n instance. Ensure that the resource being specified in the storage configuration, like an Amazon\n S3 bucket, exists when being used for association.

                            ", + "smithy.api#http": { + "method": "PUT", + "uri": "/instance/{InstanceId}/storage-config", + "code": 200 } } }, - "com.amazonaws.connect#ChatMessage": { + "com.amazonaws.connect#AssociateInstanceStorageConfigRequest": { "type": "structure", "members": { - "ContentType": { - "target": "com.amazonaws.connect#ChatContentType", + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", "traits": { - "smithy.api#documentation": "

                            The type of the content. Supported types are text/plain.

                            ", + "smithy.api#documentation": "

                            The identifier of the Amazon Connect instance.

                            ", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "Content": { - "target": "com.amazonaws.connect#ChatContent", + "ResourceType": { + "target": "com.amazonaws.connect#InstanceStorageResourceType", "traits": { - "smithy.api#documentation": "

                            The content of the chat message.

                            ", + "smithy.api#documentation": "

                            A valid resource type.

                            ", + "smithy.api#required": {} + } + }, + "StorageConfig": { + "target": "com.amazonaws.connect#InstanceStorageConfig", + "traits": { + "smithy.api#documentation": "

                            A valid storage type.

                            ", "smithy.api#required": {} } - } - }, - "traits": { - "smithy.api#documentation": "

                            A chat message.

                            " - } - }, - "com.amazonaws.connect#ClientToken": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 500 } } }, - "com.amazonaws.connect#Comparison": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "LT", - "name": "LT" + "com.amazonaws.connect#AssociateInstanceStorageConfigResponse": { + "type": "structure", + "members": { + "AssociationId": { + "target": "com.amazonaws.connect#AssociationId", + "traits": { + "smithy.api#documentation": "

                            The existing association identifier that uniquely identifies the resource type and storage config for the given instance ID.

                            " } - ] + } } }, - "com.amazonaws.connect#Concurrency": { - "type": "integer", + "com.amazonaws.connect#AssociateLambdaFunction": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#AssociateLambdaFunctionRequest" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceConflictException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], "traits": { - "smithy.api#range": { - "min": 1, - "max": 5 + "smithy.api#documentation": "

                            Allows the specified Amazon Connect instance to access the specified Lambda function.

                            ", + "smithy.api#http": { + "method": "PUT", + "uri": "/instance/{InstanceId}/lambda-function", + "code": 200 } } }, - "com.amazonaws.connect#ContactFlow": { + "com.amazonaws.connect#AssociateLambdaFunctionRequest": { "type": "structure", "members": { - "Arn": { - "target": "com.amazonaws.connect#ARN", + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the contact flow.

                            " + "smithy.api#documentation": "

                            The identifier of the Amazon Connect instance.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, - "Id": { - "target": "com.amazonaws.connect#ContactFlowId", + "FunctionArn": { + "target": "com.amazonaws.connect#FunctionArn", "traits": { - "smithy.api#documentation": "

                            The identifier of the contact flow.

                            " + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) for the Lambda function being associated. Maximum number of characters allowed is\n 140.

                            ", + "smithy.api#required": {} } + } + } + }, + "com.amazonaws.connect#AssociateLexBot": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#AssociateLexBotRequest" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" }, - "Name": { - "target": "com.amazonaws.connect#ContactFlowName", - "traits": { - "smithy.api#documentation": "

                            The name of the contact flow.

                            " - } + { + "target": "com.amazonaws.connect#InvalidParameterException" }, - "Type": { - "target": "com.amazonaws.connect#ContactFlowType", - "traits": { - "smithy.api#documentation": "

                            The type of the contact flow. For descriptions of the available types, see Choose a Contact Flow Type in the Amazon Connect Administrator\n Guide.

                            " - } + { + "target": "com.amazonaws.connect#InvalidRequestException" }, - "Description": { - "target": "com.amazonaws.connect#ContactFlowDescription", - "traits": { - "smithy.api#documentation": "

                            The description of the contact flow.

                            " - } + { + "target": "com.amazonaws.connect#ResourceConflictException" }, - "Content": { - "target": "com.amazonaws.connect#ContactFlowContent", - "traits": { - "smithy.api#documentation": "

                            The content of the contact flow.

                            " - } + { + "target": "com.amazonaws.connect#ResourceNotFoundException" }, - "Tags": { - "target": "com.amazonaws.connect#TagMap", - "traits": { - "smithy.api#documentation": "

                            One or more tags.

                            " - } - } - }, - "traits": { - "smithy.api#documentation": "

                            Contains information about a contact flow.

                            " - } - }, - "com.amazonaws.connect#ContactFlowContent": { - "type": "string" - }, - "com.amazonaws.connect#ContactFlowDescription": { - "type": "string" - }, - "com.amazonaws.connect#ContactFlowId": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 500 + { + "target": "com.amazonaws.connect#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" } - } - }, - "com.amazonaws.connect#ContactFlowName": { - "type": "string", + ], "traits": { - "smithy.api#length": { - "min": 1 - } - } - }, - "com.amazonaws.connect#ContactFlowNotPublishedException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.connect#Message" + "smithy.api#documentation": "

                            Allows the specified Amazon Connect instance to access the specified Amazon Lex bot.

                            ", + "smithy.api#http": { + "method": "PUT", + "uri": "/instance/{InstanceId}/lex-bot", + "code": 200 } - }, - "traits": { - "smithy.api#documentation": "

                            The contact flow has not been published.

                            ", - "smithy.api#error": "client", - "smithy.api#httpError": 404 } }, - "com.amazonaws.connect#ContactFlowSummary": { + "com.amazonaws.connect#AssociateLexBotRequest": { "type": "structure", "members": { - "Id": { - "target": "com.amazonaws.connect#ContactFlowId", - "traits": { - "smithy.api#documentation": "

                            The identifier of the contact flow.

                            " - } - }, - "Arn": { - "target": "com.amazonaws.connect#ARN", - "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the contact flow.

                            " - } - }, - "Name": { - "target": "com.amazonaws.connect#ContactFlowName", + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", "traits": { - "smithy.api#documentation": "

                            The name of the contact flow.

                            " + "smithy.api#documentation": "

                            The identifier of the Amazon Connect instance.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, - "ContactFlowType": { - "target": "com.amazonaws.connect#ContactFlowType", + "LexBot": { + "target": "com.amazonaws.connect#LexBot", "traits": { - "smithy.api#documentation": "

                            The type of contact flow.

                            " + "smithy.api#documentation": "

                            The Amazon Lex box to associate with the instance.

                            ", + "smithy.api#required": {} } } - }, - "traits": { - "smithy.api#documentation": "

                            Contains summary information about a contact flow.

                            \n

                            You can also create and update contact flows using the Amazon Connect\n Flow language.

                            " - } - }, - "com.amazonaws.connect#ContactFlowSummaryList": { - "type": "list", - "member": { - "target": "com.amazonaws.connect#ContactFlowSummary" - } - }, - "com.amazonaws.connect#ContactFlowType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "CONTACT_FLOW", - "name": "CONTACT_FLOW" - }, - { - "value": "CUSTOMER_QUEUE", - "name": "CUSTOMER_QUEUE" - }, - { - "value": "CUSTOMER_HOLD", - "name": "CUSTOMER_HOLD" - }, - { - "value": "CUSTOMER_WHISPER", - "name": "CUSTOMER_WHISPER" - }, - { - "value": "AGENT_HOLD", - "name": "AGENT_HOLD" - }, - { - "value": "AGENT_WHISPER", - "name": "AGENT_WHISPER" - }, - { - "value": "OUTBOUND_WHISPER", - "name": "OUTBOUND_WHISPER" - }, - { - "value": "AGENT_TRANSFER", - "name": "AGENT_TRANSFER" - }, - { - "value": "QUEUE_TRANSFER", - "name": "QUEUE_TRANSFER" - } - ] } }, - "com.amazonaws.connect#ContactFlowTypes": { - "type": "list", - "member": { - "target": "com.amazonaws.connect#ContactFlowType" + "com.amazonaws.connect#AssociateRoutingProfileQueues": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#AssociateRoutingProfileQueuesRequest" }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 10 + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" } - } - }, - "com.amazonaws.connect#ContactId": { - "type": "string", + ], "traits": { - "smithy.api#length": { - "min": 1, - "max": 256 + "smithy.api#documentation": "

                            Associates a set of queues with a routing profile.

                            ", + "smithy.api#http": { + "method": "POST", + "uri": "/routing-profiles/{InstanceId}/{RoutingProfileId}/associate-queues", + "code": 200 } } }, - "com.amazonaws.connect#ContactNotFoundException": { + "com.amazonaws.connect#AssociateRoutingProfileQueuesRequest": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.connect#Message", + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", "traits": { - "smithy.api#documentation": "

                            The message.

                            " + "smithy.api#documentation": "

                            The identifier of the Amazon Connect instance.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "RoutingProfileId": { + "target": "com.amazonaws.connect#RoutingProfileId", + "traits": { + "smithy.api#documentation": "

                            The identifier of the routing profile.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "QueueConfigs": { + "target": "com.amazonaws.connect#RoutingProfileQueueConfigList", + "traits": { + "smithy.api#documentation": "

                            The queues to associate with this routing profile.

                            ", + "smithy.api#required": {} } } - }, - "traits": { - "smithy.api#documentation": "

                            The contact with the specified ID is not active or does not exist.

                            ", - "smithy.api#error": "client", - "smithy.api#httpError": 410 } }, - "com.amazonaws.connect#CreateContactFlow": { + "com.amazonaws.connect#AssociateSecurityKey": { "type": "operation", "input": { - "target": "com.amazonaws.connect#CreateContactFlowRequest" + "target": "com.amazonaws.connect#AssociateSecurityKeyRequest" }, "output": { - "target": "com.amazonaws.connect#CreateContactFlowResponse" + "target": "com.amazonaws.connect#AssociateSecurityKeyResponse" }, "errors": [ - { - "target": "com.amazonaws.connect#DuplicateResourceException" - }, { "target": "com.amazonaws.connect#InternalServiceException" }, - { - "target": "com.amazonaws.connect#InvalidContactFlowException" - }, { "target": "com.amazonaws.connect#InvalidParameterException" }, @@ -654,25 +636,28 @@ "target": "com.amazonaws.connect#InvalidRequestException" }, { - "target": "com.amazonaws.connect#LimitExceededException" + "target": "com.amazonaws.connect#ResourceConflictException" }, { "target": "com.amazonaws.connect#ResourceNotFoundException" }, + { + "target": "com.amazonaws.connect#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.connect#ThrottlingException" } ], "traits": { - "smithy.api#documentation": "

                            Creates a contact flow for the specified Amazon Connect instance.

                            \n

                            You can also create and update contact flows using the Amazon Connect\n Flow language.

                            ", + "smithy.api#documentation": "

                            Associates a security key to the instance.

                            ", "smithy.api#http": { "method": "PUT", - "uri": "/contact-flows/{InstanceId}", + "uri": "/instance/{InstanceId}/security-key", "code": 200 } } }, - "com.amazonaws.connect#CreateContactFlowRequest": { + "com.amazonaws.connect#AssociateSecurityKeyRequest": { "type": "structure", "members": { "InstanceId": { @@ -683,141 +668,242 @@ "smithy.api#required": {} } }, - "Name": { - "target": "com.amazonaws.connect#ContactFlowName", + "Key": { + "target": "com.amazonaws.connect#PEM", "traits": { - "smithy.api#documentation": "

                            The name of the contact flow.

                            ", + "smithy.api#documentation": "

                            A valid security key in PEM format.

                            ", "smithy.api#required": {} } - }, - "Type": { - "target": "com.amazonaws.connect#ContactFlowType", + } + } + }, + "com.amazonaws.connect#AssociateSecurityKeyResponse": { + "type": "structure", + "members": { + "AssociationId": { + "target": "com.amazonaws.connect#AssociationId", "traits": { - "smithy.api#documentation": "

                            The type of the contact flow. For descriptions of the available types, see Choose a Contact Flow Type in the Amazon Connect Administrator\n Guide.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The existing association identifier that uniquely identifies the resource type and storage config for the given instance ID.

                            " } - }, - "Description": { - "target": "com.amazonaws.connect#ContactFlowDescription", - "traits": { - "smithy.api#documentation": "

                            The description of the contact flow.

                            " - } - }, - "Content": { - "target": "com.amazonaws.connect#ContactFlowContent", + } + } + }, + "com.amazonaws.connect#AssociationId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.connect#Attribute": { + "type": "structure", + "members": { + "AttributeType": { + "target": "com.amazonaws.connect#InstanceAttributeType", "traits": { - "smithy.api#documentation": "

                            The content of the contact flow.\n \n

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The type of attribute.

                            " } }, - "Tags": { - "target": "com.amazonaws.connect#TagMap", + "Value": { + "target": "com.amazonaws.connect#InstanceAttributeValue", "traits": { - "smithy.api#documentation": "

                            One or more tags.

                            " + "smithy.api#documentation": "

                            The value of the attribute.

                            " } } + }, + "traits": { + "smithy.api#documentation": "

                            A toggle for an individual feature at the instance level.

                            " } }, - "com.amazonaws.connect#CreateContactFlowResponse": { + "com.amazonaws.connect#AttributeName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 32767 + } + } + }, + "com.amazonaws.connect#AttributeValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 32767 + } + } + }, + "com.amazonaws.connect#Attributes": { + "type": "map", + "key": { + "target": "com.amazonaws.connect#AttributeName" + }, + "value": { + "target": "com.amazonaws.connect#AttributeValue" + } + }, + "com.amazonaws.connect#AttributesList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#Attribute" + } + }, + "com.amazonaws.connect#AutoAccept": { + "type": "boolean" + }, + "com.amazonaws.connect#BotName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 50 + } + } + }, + "com.amazonaws.connect#BucketName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + } + } + }, + "com.amazonaws.connect#Channel": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "VOICE", + "name": "VOICE" + }, + { + "value": "CHAT", + "name": "CHAT" + } + ] + } + }, + "com.amazonaws.connect#Channels": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#Channel" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1 + } + } + }, + "com.amazonaws.connect#ChatContent": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + } + } + }, + "com.amazonaws.connect#ChatContentType": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.connect#ChatMessage": { "type": "structure", "members": { - "ContactFlowId": { - "target": "com.amazonaws.connect#ContactFlowId", + "ContentType": { + "target": "com.amazonaws.connect#ChatContentType", "traits": { - "smithy.api#documentation": "

                            The identifier of the contact flow.

                            " + "smithy.api#documentation": "

                            The type of the content. Supported types are text/plain.

                            ", + "smithy.api#required": {} } }, - "ContactFlowArn": { - "target": "com.amazonaws.connect#ARN", + "Content": { + "target": "com.amazonaws.connect#ChatContent", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the contact flow.

                            " + "smithy.api#documentation": "

                            The content of the chat message.

                            ", + "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#documentation": "

                            A chat message.

                            " } }, - "com.amazonaws.connect#CreateRoutingProfile": { - "type": "operation", - "input": { - "target": "com.amazonaws.connect#CreateRoutingProfileRequest" - }, - "output": { - "target": "com.amazonaws.connect#CreateRoutingProfileResponse" - }, - "errors": [ - { - "target": "com.amazonaws.connect#DuplicateResourceException" - }, - { - "target": "com.amazonaws.connect#InternalServiceException" - }, - { - "target": "com.amazonaws.connect#InvalidParameterException" - }, - { - "target": "com.amazonaws.connect#InvalidRequestException" - }, - { - "target": "com.amazonaws.connect#LimitExceededException" - }, - { - "target": "com.amazonaws.connect#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.connect#ThrottlingException" + "com.amazonaws.connect#ClientToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 500 } - ], + } + }, + "com.amazonaws.connect#Comparison": { + "type": "string", "traits": { - "smithy.api#documentation": "

                            Creates a new routing profile.

                            ", - "smithy.api#http": { - "method": "PUT", - "uri": "/routing-profiles/{InstanceId}", - "code": 200 + "smithy.api#enum": [ + { + "value": "LT", + "name": "LT" + } + ] + } + }, + "com.amazonaws.connect#Concurrency": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 5 } } }, - "com.amazonaws.connect#CreateRoutingProfileRequest": { + "com.amazonaws.connect#ContactFlow": { "type": "structure", "members": { - "InstanceId": { - "target": "com.amazonaws.connect#InstanceId", + "Arn": { + "target": "com.amazonaws.connect#ARN", "traits": { - "smithy.api#documentation": "

                            The identifier of the Amazon Connect instance.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the contact flow.

                            " } }, - "Name": { - "target": "com.amazonaws.connect#RoutingProfileName", + "Id": { + "target": "com.amazonaws.connect#ContactFlowId", "traits": { - "smithy.api#documentation": "

                            The name of the routing profile. Must not be more than 127 characters.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The identifier of the contact flow.

                            " } }, - "Description": { - "target": "com.amazonaws.connect#RoutingProfileDescription", + "Name": { + "target": "com.amazonaws.connect#ContactFlowName", "traits": { - "smithy.api#documentation": "

                            Description of the routing profile. Must not be more than 250 characters.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The name of the contact flow.

                            " } }, - "DefaultOutboundQueueId": { - "target": "com.amazonaws.connect#QueueId", + "Type": { + "target": "com.amazonaws.connect#ContactFlowType", "traits": { - "smithy.api#documentation": "

                            The default outbound queue for the routing profile.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The type of the contact flow. For descriptions of the available types, see Choose a Contact Flow Type in the Amazon Connect Administrator\n Guide.

                            " } }, - "QueueConfigs": { - "target": "com.amazonaws.connect#RoutingProfileQueueConfigList", + "Description": { + "target": "com.amazonaws.connect#ContactFlowDescription", "traits": { - "smithy.api#documentation": "

                            The inbound queues associated with the routing profile. If no queue is added, the agent can\n only make outbound calls.

                            " + "smithy.api#documentation": "

                            The description of the contact flow.

                            " } }, - "MediaConcurrencies": { - "target": "com.amazonaws.connect#MediaConcurrencies", + "Content": { + "target": "com.amazonaws.connect#ContactFlowContent", "traits": { - "smithy.api#documentation": "

                            The channels agents can handle in the Contact Control Panel (CCP) for this routing\n profile.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The content of the contact flow.

                            " } }, "Tags": { @@ -826,32 +912,172 @@ "smithy.api#documentation": "

                            One or more tags.

                            " } } + }, + "traits": { + "smithy.api#documentation": "

                            Contains information about a contact flow.

                            " } }, - "com.amazonaws.connect#CreateRoutingProfileResponse": { - "type": "structure", - "members": { - "RoutingProfileArn": { - "target": "com.amazonaws.connect#ARN", - "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the routing profile.

                            " - } - }, - "RoutingProfileId": { - "target": "com.amazonaws.connect#RoutingProfileId", + "com.amazonaws.connect#ContactFlowContent": { + "type": "string" + }, + "com.amazonaws.connect#ContactFlowDescription": { + "type": "string" + }, + "com.amazonaws.connect#ContactFlowId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 500 + } + } + }, + "com.amazonaws.connect#ContactFlowName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, + "com.amazonaws.connect#ContactFlowNotPublishedException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.connect#Message" + } + }, + "traits": { + "smithy.api#documentation": "

                            The contact flow has not been published.

                            ", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.connect#ContactFlowSummary": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.connect#ContactFlowId", "traits": { - "smithy.api#documentation": "

                            The identifier of the routing profile.

                            " + "smithy.api#documentation": "

                            The identifier of the contact flow.

                            " + } + }, + "Arn": { + "target": "com.amazonaws.connect#ARN", + "traits": { + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the contact flow.

                            " + } + }, + "Name": { + "target": "com.amazonaws.connect#ContactFlowName", + "traits": { + "smithy.api#documentation": "

                            The name of the contact flow.

                            " + } + }, + "ContactFlowType": { + "target": "com.amazonaws.connect#ContactFlowType", + "traits": { + "smithy.api#documentation": "

                            The type of contact flow.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Contains summary information about a contact flow.

                            \n

                            You can also create and update contact flows using the Amazon Connect\n Flow language.

                            " + } + }, + "com.amazonaws.connect#ContactFlowSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#ContactFlowSummary" + } + }, + "com.amazonaws.connect#ContactFlowType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "CONTACT_FLOW", + "name": "CONTACT_FLOW" + }, + { + "value": "CUSTOMER_QUEUE", + "name": "CUSTOMER_QUEUE" + }, + { + "value": "CUSTOMER_HOLD", + "name": "CUSTOMER_HOLD" + }, + { + "value": "CUSTOMER_WHISPER", + "name": "CUSTOMER_WHISPER" + }, + { + "value": "AGENT_HOLD", + "name": "AGENT_HOLD" + }, + { + "value": "AGENT_WHISPER", + "name": "AGENT_WHISPER" + }, + { + "value": "OUTBOUND_WHISPER", + "name": "OUTBOUND_WHISPER" + }, + { + "value": "AGENT_TRANSFER", + "name": "AGENT_TRANSFER" + }, + { + "value": "QUEUE_TRANSFER", + "name": "QUEUE_TRANSFER" } + ] + } + }, + "com.amazonaws.connect#ContactFlowTypes": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#ContactFlowType" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 10 } } }, - "com.amazonaws.connect#CreateUser": { + "com.amazonaws.connect#ContactId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + } + } + }, + "com.amazonaws.connect#ContactNotFoundException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.connect#Message", + "traits": { + "smithy.api#documentation": "

                            The message.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The contact with the specified ID is not active or does not exist.

                            ", + "smithy.api#error": "client", + "smithy.api#httpError": 410 + } + }, + "com.amazonaws.connect#CreateContactFlow": { "type": "operation", "input": { - "target": "com.amazonaws.connect#CreateUserRequest" + "target": "com.amazonaws.connect#CreateContactFlowRequest" }, "output": { - "target": "com.amazonaws.connect#CreateUserResponse" + "target": "com.amazonaws.connect#CreateContactFlowResponse" }, "errors": [ { @@ -860,6 +1086,9 @@ { "target": "com.amazonaws.connect#InternalServiceException" }, + { + "target": "com.amazonaws.connect#InvalidContactFlowException" + }, { "target": "com.amazonaws.connect#InvalidParameterException" }, @@ -877,74 +1106,382 @@ } ], "traits": { - "smithy.api#documentation": "

                            Creates a user account for the specified Amazon Connect instance.

                            \n

                            For information about how to create user accounts using the Amazon Connect console, see Add Users in\n the Amazon Connect Administrator Guide.

                            ", + "smithy.api#documentation": "

                            Creates a contact flow for the specified Amazon Connect instance.

                            \n

                            You can also create and update contact flows using the Amazon Connect\n Flow language.

                            ", "smithy.api#http": { "method": "PUT", - "uri": "/users/{InstanceId}", + "uri": "/contact-flows/{InstanceId}", "code": 200 } } }, - "com.amazonaws.connect#CreateUserHierarchyGroup": { + "com.amazonaws.connect#CreateContactFlowRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

                            The identifier of the Amazon Connect instance.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.connect#ContactFlowName", + "traits": { + "smithy.api#documentation": "

                            The name of the contact flow.

                            ", + "smithy.api#required": {} + } + }, + "Type": { + "target": "com.amazonaws.connect#ContactFlowType", + "traits": { + "smithy.api#documentation": "

                            The type of the contact flow. For descriptions of the available types, see Choose a Contact Flow Type in the Amazon Connect Administrator\n Guide.

                            ", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.connect#ContactFlowDescription", + "traits": { + "smithy.api#documentation": "

                            The description of the contact flow.

                            " + } + }, + "Content": { + "target": "com.amazonaws.connect#ContactFlowContent", + "traits": { + "smithy.api#documentation": "

                            The content of the contact flow.\n \n

                            ", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.connect#TagMap", + "traits": { + "smithy.api#documentation": "

                            One or more tags.

                            " + } + } + } + }, + "com.amazonaws.connect#CreateContactFlowResponse": { + "type": "structure", + "members": { + "ContactFlowId": { + "target": "com.amazonaws.connect#ContactFlowId", + "traits": { + "smithy.api#documentation": "

                            The identifier of the contact flow.

                            " + } + }, + "ContactFlowArn": { + "target": "com.amazonaws.connect#ARN", + "traits": { + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the contact flow.

                            " + } + } + } + }, + "com.amazonaws.connect#CreateInstance": { "type": "operation", "input": { - "target": "com.amazonaws.connect#CreateUserHierarchyGroupRequest" + "target": "com.amazonaws.connect#CreateInstanceRequest" }, "output": { - "target": "com.amazonaws.connect#CreateUserHierarchyGroupResponse" + "target": "com.amazonaws.connect#CreateInstanceResponse" }, "errors": [ - { - "target": "com.amazonaws.connect#DuplicateResourceException" - }, { "target": "com.amazonaws.connect#InternalServiceException" }, - { - "target": "com.amazonaws.connect#InvalidParameterException" - }, { "target": "com.amazonaws.connect#InvalidRequestException" }, { - "target": "com.amazonaws.connect#LimitExceededException" + "target": "com.amazonaws.connect#ResourceNotFoundException" }, { - "target": "com.amazonaws.connect#ResourceNotFoundException" + "target": "com.amazonaws.connect#ServiceQuotaExceededException" }, { "target": "com.amazonaws.connect#ThrottlingException" } ], "traits": { - "smithy.api#documentation": "

                            Creates a new user hierarchy group.

                            ", + "smithy.api#documentation": "

                            Initiates an Amazon Connect instance with all the supported channels enabled. It does not attach any\n storage (such as Amazon S3, or Kinesis) or allow for any configurations on features such as\n Contact Lens for Amazon Connect.

                            ", "smithy.api#http": { "method": "PUT", - "uri": "/user-hierarchy-groups/{InstanceId}", + "uri": "/instance", "code": 200 } } }, - "com.amazonaws.connect#CreateUserHierarchyGroupRequest": { + "com.amazonaws.connect#CreateInstanceRequest": { "type": "structure", "members": { - "Name": { - "target": "com.amazonaws.connect#HierarchyGroupName", + "ClientToken": { + "target": "com.amazonaws.connect#ClientToken", "traits": { - "smithy.api#documentation": "

                            The name of the user hierarchy group. Must not be more than 100 characters.

                            ", + "smithy.api#documentation": "

                            The idempotency token.

                            " + } + }, + "IdentityManagementType": { + "target": "com.amazonaws.connect#DirectoryType", + "traits": { + "smithy.api#documentation": "

                            The type of identity management for your Amazon Connect users.

                            ", "smithy.api#required": {} } }, - "ParentGroupId": { - "target": "com.amazonaws.connect#HierarchyGroupId", + "InstanceAlias": { + "target": "com.amazonaws.connect#DirectoryAlias", "traits": { - "smithy.api#documentation": "

                            The identifier for the parent hierarchy group. The user hierarchy is created at level one if the parent group ID is null.

                            " + "smithy.api#documentation": "

                            The name for your instance.

                            " } }, - "InstanceId": { - "target": "com.amazonaws.connect#InstanceId", + "DirectoryId": { + "target": "com.amazonaws.connect#DirectoryId", "traits": { - "smithy.api#documentation": "

                            The identifier of the Amazon Connect instance.

                            ", + "smithy.api#documentation": "

                            The identifier for the directory.

                            " + } + }, + "InboundCallsEnabled": { + "target": "com.amazonaws.connect#InboundCallsEnabled", + "traits": { + "smithy.api#documentation": "

                            Whether your contact center handles incoming contacts.

                            ", + "smithy.api#required": {} + } + }, + "OutboundCallsEnabled": { + "target": "com.amazonaws.connect#OutboundCallsEnabled", + "traits": { + "smithy.api#documentation": "

                            Whether your contact center allows outbound calls.

                            ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.connect#CreateInstanceResponse": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

                            The identifier for the instance.

                            " + } + }, + "Arn": { + "target": "com.amazonaws.connect#ARN", + "traits": { + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the instance.

                            " + } + } + } + }, + "com.amazonaws.connect#CreateRoutingProfile": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#CreateRoutingProfileRequest" + }, + "output": { + "target": "com.amazonaws.connect#CreateRoutingProfileResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connect#DuplicateResourceException" + }, + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#LimitExceededException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Creates a new routing profile.

                            ", + "smithy.api#http": { + "method": "PUT", + "uri": "/routing-profiles/{InstanceId}", + "code": 200 + } + } + }, + "com.amazonaws.connect#CreateRoutingProfileRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

                            The identifier of the Amazon Connect instance.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.connect#RoutingProfileName", + "traits": { + "smithy.api#documentation": "

                            The name of the routing profile. Must not be more than 127 characters.

                            ", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.connect#RoutingProfileDescription", + "traits": { + "smithy.api#documentation": "

                            Description of the routing profile. Must not be more than 250 characters.

                            ", + "smithy.api#required": {} + } + }, + "DefaultOutboundQueueId": { + "target": "com.amazonaws.connect#QueueId", + "traits": { + "smithy.api#documentation": "

                            The default outbound queue for the routing profile.

                            ", + "smithy.api#required": {} + } + }, + "QueueConfigs": { + "target": "com.amazonaws.connect#RoutingProfileQueueConfigList", + "traits": { + "smithy.api#documentation": "

                            The inbound queues associated with the routing profile. If no queue is added, the agent can\n only make outbound calls.

                            " + } + }, + "MediaConcurrencies": { + "target": "com.amazonaws.connect#MediaConcurrencies", + "traits": { + "smithy.api#documentation": "

                            The channels agents can handle in the Contact Control Panel (CCP) for this routing\n profile.

                            ", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.connect#TagMap", + "traits": { + "smithy.api#documentation": "

                            One or more tags.

                            " + } + } + } + }, + "com.amazonaws.connect#CreateRoutingProfileResponse": { + "type": "structure", + "members": { + "RoutingProfileArn": { + "target": "com.amazonaws.connect#ARN", + "traits": { + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the routing profile.

                            " + } + }, + "RoutingProfileId": { + "target": "com.amazonaws.connect#RoutingProfileId", + "traits": { + "smithy.api#documentation": "

                            The identifier of the routing profile.

                            " + } + } + } + }, + "com.amazonaws.connect#CreateUser": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#CreateUserRequest" + }, + "output": { + "target": "com.amazonaws.connect#CreateUserResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connect#DuplicateResourceException" + }, + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#LimitExceededException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Creates a user account for the specified Amazon Connect instance.

                            \n

                            For information about how to create user accounts using the Amazon Connect console, see Add Users in\n the Amazon Connect Administrator Guide.

                            ", + "smithy.api#http": { + "method": "PUT", + "uri": "/users/{InstanceId}", + "code": 200 + } + } + }, + "com.amazonaws.connect#CreateUserHierarchyGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#CreateUserHierarchyGroupRequest" + }, + "output": { + "target": "com.amazonaws.connect#CreateUserHierarchyGroupResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connect#DuplicateResourceException" + }, + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#LimitExceededException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Creates a new user hierarchy group.

                            ", + "smithy.api#http": { + "method": "PUT", + "uri": "/user-hierarchy-groups/{InstanceId}", + "code": 200 + } + } + }, + "com.amazonaws.connect#CreateUserHierarchyGroupRequest": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.connect#HierarchyGroupName", + "traits": { + "smithy.api#documentation": "

                            The name of the user hierarchy group. Must not be more than 100 characters.

                            ", + "smithy.api#required": {} + } + }, + "ParentGroupId": { + "target": "com.amazonaws.connect#HierarchyGroupId", + "traits": { + "smithy.api#documentation": "

                            The identifier for the parent hierarchy group. The user hierarchy is created at level one if the parent group ID is null.

                            " + } + }, + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

                            The identifier of the Amazon Connect instance.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1066,7 +1603,7 @@ } }, "AccessTokenExpiration": { - "target": "com.amazonaws.connect#timestamp", + "target": "com.amazonaws.connect#Timestamp", "traits": { "smithy.api#documentation": "

                            A token generated with an expiration time for the session a user is logged in to\n Amazon Connect.

                            " } @@ -1078,7 +1615,7 @@ } }, "RefreshTokenExpiration": { - "target": "com.amazonaws.connect#timestamp", + "target": "com.amazonaws.connect#Timestamp", "traits": { "smithy.api#documentation": "

                            Renews the expiration timer for a generated token.

                            " } @@ -1236,47 +1773,85 @@ } } }, - "com.amazonaws.connect#DeleteUser": { + "com.amazonaws.connect#DeleteInstance": { "type": "operation", "input": { - "target": "com.amazonaws.connect#DeleteUserRequest" + "target": "com.amazonaws.connect#DeleteInstanceRequest" }, "errors": [ { "target": "com.amazonaws.connect#InternalServiceException" }, - { - "target": "com.amazonaws.connect#InvalidParameterException" - }, { "target": "com.amazonaws.connect#InvalidRequestException" }, { "target": "com.amazonaws.connect#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.connect#ThrottlingException" } ], "traits": { - "smithy.api#documentation": "

                            Deletes a user account from the specified Amazon Connect instance.

                            \n

                            For information about what happens to a user's data when their account is deleted, see\n Delete Users from\n Your Amazon Connect Instance in the Amazon Connect Administrator\n Guide.

                            ", + "smithy.api#documentation": "

                            Deletes the Amazon Connect instance.

                            ", "smithy.api#http": { "method": "DELETE", - "uri": "/users/{InstanceId}/{UserId}", + "uri": "/instance/{InstanceId}", "code": 200 } } }, - "com.amazonaws.connect#DeleteUserHierarchyGroup": { - "type": "operation", - "input": { - "target": "com.amazonaws.connect#DeleteUserHierarchyGroupRequest" - }, - "errors": [ - { - "target": "com.amazonaws.connect#InternalServiceException" - }, - { + "com.amazonaws.connect#DeleteInstanceRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

                            The identifier of the Amazon Connect instance.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.connect#DeleteUser": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#DeleteUserRequest" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Deletes a user account from the specified Amazon Connect instance.

                            \n

                            For information about what happens to a user's data when their account is deleted, see\n Delete Users from\n Your Amazon Connect Instance in the Amazon Connect Administrator\n Guide.

                            ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/users/{InstanceId}/{UserId}", + "code": 200 + } + } + }, + "com.amazonaws.connect#DeleteUserHierarchyGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#DeleteUserHierarchyGroupRequest" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { "target": "com.amazonaws.connect#InvalidParameterException" }, { @@ -1412,6 +1987,198 @@ } } }, + "com.amazonaws.connect#DescribeInstance": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#DescribeInstanceRequest" + }, + "output": { + "target": "com.amazonaws.connect#DescribeInstanceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Returns the current state of the specified instance identifier. It tracks the instance while it is\n being created and returns an error status if applicable.

                            \n

                            If an instance is not created\n successfully, the instance status reason field returns details relevant to the reason. The instance\n in a failed state is returned only for 24 hours after\n the CreateInstance API was invoked.

                            ", + "smithy.api#http": { + "method": "GET", + "uri": "/instance/{InstanceId}", + "code": 200 + } + } + }, + "com.amazonaws.connect#DescribeInstanceAttribute": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#DescribeInstanceAttributeRequest" + }, + "output": { + "target": "com.amazonaws.connect#DescribeInstanceAttributeResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Describes the specified instance attribute.

                            ", + "smithy.api#http": { + "method": "GET", + "uri": "/instance/{InstanceId}/attribute/{AttributeType}", + "code": 200 + } + } + }, + "com.amazonaws.connect#DescribeInstanceAttributeRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

                            The identifier of the Amazon Connect instance.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "AttributeType": { + "target": "com.amazonaws.connect#InstanceAttributeType", + "traits": { + "smithy.api#documentation": "

                            The type of attribute.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.connect#DescribeInstanceAttributeResponse": { + "type": "structure", + "members": { + "Attribute": { + "target": "com.amazonaws.connect#Attribute", + "traits": { + "smithy.api#documentation": "

                            The type of attribute.

                            " + } + } + } + }, + "com.amazonaws.connect#DescribeInstanceRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

                            The identifier of the Amazon Connect instance.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.connect#DescribeInstanceResponse": { + "type": "structure", + "members": { + "Instance": { + "target": "com.amazonaws.connect#Instance", + "traits": { + "smithy.api#documentation": "

                            The name of the instance.

                            " + } + } + } + }, + "com.amazonaws.connect#DescribeInstanceStorageConfig": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#DescribeInstanceStorageConfigRequest" + }, + "output": { + "target": "com.amazonaws.connect#DescribeInstanceStorageConfigResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Retrieves the current storage configurations for the specified resource type, association ID, and instance ID.

                            ", + "smithy.api#http": { + "method": "GET", + "uri": "/instance/{InstanceId}/storage-config/{AssociationId}", + "code": 200 + } + } + }, + "com.amazonaws.connect#DescribeInstanceStorageConfigRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

                            The identifier of the Amazon Connect instance.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "AssociationId": { + "target": "com.amazonaws.connect#AssociationId", + "traits": { + "smithy.api#documentation": "

                            The existing association identifier that uniquely identifies the resource type and storage config for the given instance ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "ResourceType": { + "target": "com.amazonaws.connect#InstanceStorageResourceType", + "traits": { + "smithy.api#documentation": "

                            A valid resource type.

                            ", + "smithy.api#httpQuery": "resourceType", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.connect#DescribeInstanceStorageConfigResponse": { + "type": "structure", + "members": { + "StorageConfig": { + "target": "com.amazonaws.connect#InstanceStorageConfig", + "traits": { + "smithy.api#documentation": "

                            A valid storage type.

                            " + } + } + } + }, "com.amazonaws.connect#DescribeRoutingProfile": { "type": "operation", "input": { @@ -1704,13 +2471,53 @@ "smithy.api#documentation": "

                            Contains information about the dimensions for a set of metrics.

                            " } }, + "com.amazonaws.connect#DirectoryAlias": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 62 + }, + "smithy.api#pattern": "^(?!d-)([\\da-zA-Z]+)([-]*[\\da-zA-Z])*$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.connect#DirectoryId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 12, + "max": 12 + }, + "smithy.api#pattern": "^d-[0-9a-f]{10}$" + } + }, + "com.amazonaws.connect#DirectoryType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "SAML", + "name": "SAML" + }, + { + "value": "CONNECT_MANAGED", + "name": "CONNECT_MANAGED" + }, + { + "value": "EXISTING_DIRECTORY", + "name": "EXISTING_DIRECTORY" + } + ] + } + }, "com.amazonaws.connect#DirectoryUserId": { "type": "string" }, - "com.amazonaws.connect#DisassociateRoutingProfileQueues": { + "com.amazonaws.connect#DisassociateApprovedOrigin": { "type": "operation", "input": { - "target": "com.amazonaws.connect#DisassociateRoutingProfileQueuesRequest" + "target": "com.amazonaws.connect#DisassociateApprovedOriginRequest" }, "errors": [ { @@ -1730,15 +2537,15 @@ } ], "traits": { - "smithy.api#documentation": "

                            Disassociates a set of queues from a routing profile.

                            ", + "smithy.api#documentation": "

                            Revokes access to integrated applications from Amazon Connect.

                            ", "smithy.api#http": { - "method": "POST", - "uri": "/routing-profiles/{InstanceId}/{RoutingProfileId}/disassociate-queues", + "method": "DELETE", + "uri": "/instance/{InstanceId}/approved-origin", "code": 200 } } }, - "com.amazonaws.connect#DisassociateRoutingProfileQueuesRequest": { + "com.amazonaws.connect#DisassociateApprovedOriginRequest": { "type": "structure", "members": { "InstanceId": { @@ -1749,97 +2556,48 @@ "smithy.api#required": {} } }, - "RoutingProfileId": { - "target": "com.amazonaws.connect#RoutingProfileId", - "traits": { - "smithy.api#documentation": "

                            The identifier of the routing profile.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "QueueReferences": { - "target": "com.amazonaws.connect#RoutingProfileQueueReferenceList", + "Origin": { + "target": "com.amazonaws.connect#Origin", "traits": { - "smithy.api#documentation": "

                            The queues to disassociate from this routing profile.

                            ", + "smithy.api#documentation": "

                            The domain URL of the integrated application.

                            ", + "smithy.api#httpQuery": "origin", "smithy.api#required": {} } } } }, - "com.amazonaws.connect#DisplayName": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 256 - } - } - }, - "com.amazonaws.connect#DuplicateResourceException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.connect#Message" - } - }, - "traits": { - "smithy.api#documentation": "

                            A resource with the specified name already exists.

                            ", - "smithy.api#error": "client", - "smithy.api#httpError": 409 - } - }, - "com.amazonaws.connect#Email": { - "type": "string" - }, - "com.amazonaws.connect#Filters": { - "type": "structure", - "members": { - "Queues": { - "target": "com.amazonaws.connect#Queues", - "traits": { - "smithy.api#documentation": "

                            The queues to use to filter the metrics. You can specify up to 100 queues per\n request.

                            " - } - }, - "Channels": { - "target": "com.amazonaws.connect#Channels", - "traits": { - "smithy.api#documentation": "

                            The channel to use to filter the metrics.

                            " - } - } - }, - "traits": { - "smithy.api#documentation": "

                            Contains the filter to apply when retrieving metrics.

                            " - } - }, - "com.amazonaws.connect#GetContactAttributes": { + "com.amazonaws.connect#DisassociateInstanceStorageConfig": { "type": "operation", "input": { - "target": "com.amazonaws.connect#GetContactAttributesRequest" - }, - "output": { - "target": "com.amazonaws.connect#GetContactAttributesResponse" + "target": "com.amazonaws.connect#DisassociateInstanceStorageConfigRequest" }, "errors": [ { "target": "com.amazonaws.connect#InternalServiceException" }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, { "target": "com.amazonaws.connect#InvalidRequestException" }, { "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" } ], "traits": { - "smithy.api#documentation": "

                            Retrieves the contact attributes for the specified contact.

                            ", + "smithy.api#documentation": "

                            Removes the storage type configurations for the specified resource type and association ID.

                            ", "smithy.api#http": { - "method": "GET", - "uri": "/contact/attributes/{InstanceId}/{InitialContactId}", + "method": "DELETE", + "uri": "/instance/{InstanceId}/storage-config/{AssociationId}", "code": 200 } } }, - "com.amazonaws.connect#GetContactAttributesRequest": { + "com.amazonaws.connect#DisassociateInstanceStorageConfigRequest": { "type": "structure", "members": { "InstanceId": { @@ -1850,34 +2608,28 @@ "smithy.api#required": {} } }, - "InitialContactId": { - "target": "com.amazonaws.connect#ContactId", + "AssociationId": { + "target": "com.amazonaws.connect#AssociationId", "traits": { - "smithy.api#documentation": "

                            The identifier of the initial contact.

                            ", + "smithy.api#documentation": "

                            The existing association identifier that uniquely identifies the resource type and storage config for the given instance ID.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } - } - } - }, - "com.amazonaws.connect#GetContactAttributesResponse": { - "type": "structure", - "members": { - "Attributes": { - "target": "com.amazonaws.connect#Attributes", + }, + "ResourceType": { + "target": "com.amazonaws.connect#InstanceStorageResourceType", "traits": { - "smithy.api#documentation": "

                            Information about the attributes.

                            " + "smithy.api#documentation": "

                            A valid resource type.

                            ", + "smithy.api#httpQuery": "resourceType", + "smithy.api#required": {} } } } }, - "com.amazonaws.connect#GetCurrentMetricData": { + "com.amazonaws.connect#DisassociateLambdaFunction": { "type": "operation", "input": { - "target": "com.amazonaws.connect#GetCurrentMetricDataRequest" - }, - "output": { - "target": "com.amazonaws.connect#GetCurrentMetricDataResponse" + "target": "com.amazonaws.connect#DisassociateLambdaFunctionRequest" }, "errors": [ { @@ -1897,100 +2649,101 @@ } ], "traits": { - "smithy.api#documentation": "

                            Gets the real-time metric data from the specified Amazon Connect instance.

                            \n

                            For a description of each metric, see Real-time Metrics\n Definitions in the Amazon Connect Administrator Guide.

                            ", + "smithy.api#documentation": "

                            Remove the Lambda function from the drop-down options available in the relevant contact flow\n blocks.

                            ", "smithy.api#http": { - "method": "POST", - "uri": "/metrics/current/{InstanceId}", + "method": "DELETE", + "uri": "/instance/{InstanceId}/lambda-function", "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "pageSize": "MaxResults" } } }, - "com.amazonaws.connect#GetCurrentMetricDataRequest": { + "com.amazonaws.connect#DisassociateLambdaFunctionRequest": { "type": "structure", "members": { "InstanceId": { "target": "com.amazonaws.connect#InstanceId", "traits": { - "smithy.api#documentation": "

                            The identifier of the Amazon Connect instance.

                            ", + "smithy.api#documentation": "

                            The identifier of the Amazon Connect instance..

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "Filters": { - "target": "com.amazonaws.connect#Filters", + "FunctionArn": { + "target": "com.amazonaws.connect#FunctionArn", "traits": { - "smithy.api#documentation": "

                            The queues, up to 100, or channels, to use to filter the metrics returned. Metric data is\n retrieved only for the resources associated with the queues or channels included in the filter.\n You can include both queue IDs and queue ARNs in the same request. Both VOICE and CHAT channels are supported.

                            ", + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the Lambda function being disassociated.

                            ", + "smithy.api#httpQuery": "functionArn", "smithy.api#required": {} } + } + } + }, + "com.amazonaws.connect#DisassociateLexBot": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#DisassociateLexBotRequest" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" }, - "Groupings": { - "target": "com.amazonaws.connect#Groupings", - "traits": { - "smithy.api#documentation": "

                            The grouping applied to the metrics returned. For example, when grouped by\n QUEUE, the metrics returned apply to each queue rather than aggregated for all\n queues. If you group by CHANNEL, you should include a Channels filter. Both VOICE and CHAT channels are supported.

                            \n

                            If no Grouping is included in the request, a summary of metrics is\n returned.

                            " - } + { + "target": "com.amazonaws.connect#InvalidParameterException" }, - "CurrentMetrics": { - "target": "com.amazonaws.connect#CurrentMetrics", - "traits": { - "smithy.api#documentation": "

                            The metrics to retrieve. Specify the name and unit for each metric. The following metrics\n are available. For a description of all the metrics, see Real-time Metrics\n Definitions in the Amazon Connect Administrator Guide.

                            \n
                            \n
                            AGENTS_AFTER_CONTACT_WORK
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Name in real-time metrics report: ACW\n

                            \n\n
                            \n
                            AGENTS_AVAILABLE
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Name in real-time metrics report: Available\n

                            \n
                            \n
                            AGENTS_ERROR
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Name in real-time metrics report: Error\n

                            \n
                            \n
                            AGENTS_NON_PRODUCTIVE
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Name in real-time metrics report: NPT (Non-Productive Time)\n

                            \n
                            \n
                            AGENTS_ON_CALL
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Name in real-time metrics report: On\n contact\n

                            \n
                            \n
                            AGENTS_ON_CONTACT
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Name in real-time metrics report: On\n contact\n

                            \n
                            \n
                            AGENTS_ONLINE
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Name in real-time metrics report: Online\n

                            \n
                            \n
                            AGENTS_STAFFED
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Name in real-time metrics report: Staffed\n

                            \n
                            \n
                            CONTACTS_IN_QUEUE
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Name in real-time metrics report: In\n queue\n

                            \n
                            \n
                            CONTACTS_SCHEDULED
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Name in real-time metrics report: Scheduled\n

                            \n
                            \n
                            OLDEST_CONTACT_AGE
                            \n
                            \n

                            Unit: SECONDS

                            \n

                            When you use groupings, Unit says SECONDS but the Value is returned in MILLISECONDS. For example, if you get a\n response like this:

                            \n

                            \n { \"Metric\": { \"Name\": \"OLDEST_CONTACT_AGE\", \"Unit\": \"SECONDS\" }, \"Value\": 24113.0\n }

                            \n

                            The actual OLDEST_CONTACT_AGE is 24 seconds.

                            \n\n

                            Name in real-time metrics report: Oldest\n

                            \n
                            \n
                            SLOTS_ACTIVE
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Name in real-time metrics report: Active\n

                            \n
                            \n
                            SLOTS_AVAILABLE
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Name in real-time metrics report: Availability\n

                            \n
                            \n
                            ", - "smithy.api#required": {} - } + { + "target": "com.amazonaws.connect#InvalidRequestException" }, - "NextToken": { - "target": "com.amazonaws.connect#NextToken", - "traits": { - "smithy.api#documentation": "

                            The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

                            \n

                            The token expires after 5 minutes from the time it is created. Subsequent requests that use\n the token must use the same request parameters as the request that generated the token.

                            " - } + { + "target": "com.amazonaws.connect#ResourceNotFoundException" }, - "MaxResults": { - "target": "com.amazonaws.connect#MaxResult100", - "traits": { - "smithy.api#box": {}, - "smithy.api#documentation": "

                            The maximimum number of results to return per page.

                            " - } + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Revokes authorization from the specified instance to access the specified Amazon Lex bot.

                            ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/instance/{InstanceId}/lex-bot", + "code": 200 } } }, - "com.amazonaws.connect#GetCurrentMetricDataResponse": { + "com.amazonaws.connect#DisassociateLexBotRequest": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.connect#NextToken", + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", "traits": { - "smithy.api#documentation": "

                            If there are additional results, this is the token for the next set of results.

                            \n

                            The token expires after 5 minutes from the time it is created. Subsequent requests that use\n the token must use the same request parameters as the request that generated the token.

                            " + "smithy.api#documentation": "

                            The identifier of the Amazon Connect instance.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, - "MetricResults": { - "target": "com.amazonaws.connect#CurrentMetricResults", + "BotName": { + "target": "com.amazonaws.connect#BotName", "traits": { - "smithy.api#documentation": "

                            Information about the real-time metrics.

                            " + "smithy.api#documentation": "

                            The name of the Amazon Lex bot. Maximum character limit of 50.

                            ", + "smithy.api#httpQuery": "botName", + "smithy.api#required": {} } }, - "DataSnapshotTime": { - "target": "com.amazonaws.connect#timestamp", + "LexRegion": { + "target": "com.amazonaws.connect#LexRegion", "traits": { - "smithy.api#documentation": "

                            The time at which the metrics were retrieved and cached for pagination.

                            " + "smithy.api#documentation": "

                            The Region in which the Amazon Lex bot has been created.

                            ", + "smithy.api#httpQuery": "lexRegion", + "smithy.api#required": {} } } } }, - "com.amazonaws.connect#GetFederationToken": { + "com.amazonaws.connect#DisassociateRoutingProfileQueues": { "type": "operation", "input": { - "target": "com.amazonaws.connect#GetFederationTokenRequest" - }, - "output": { - "target": "com.amazonaws.connect#GetFederationTokenResponse" + "target": "com.amazonaws.connect#DisassociateRoutingProfileQueuesRequest" }, "errors": [ - { - "target": "com.amazonaws.connect#DuplicateResourceException" - }, { "target": "com.amazonaws.connect#InternalServiceException" }, @@ -2004,19 +2757,19 @@ "target": "com.amazonaws.connect#ResourceNotFoundException" }, { - "target": "com.amazonaws.connect#UserNotFoundException" + "target": "com.amazonaws.connect#ThrottlingException" } ], "traits": { - "smithy.api#documentation": "

                            Retrieves a token for federation.

                            ", + "smithy.api#documentation": "

                            Disassociates a set of queues from a routing profile.

                            ", "smithy.api#http": { - "method": "GET", - "uri": "/user/federate/{InstanceId}", + "method": "POST", + "uri": "/routing-profiles/{InstanceId}/{RoutingProfileId}/disassociate-queues", "code": 200 } } }, - "com.amazonaws.connect#GetFederationTokenRequest": { + "com.amazonaws.connect#DisassociateRoutingProfileQueuesRequest": { "type": "structure", "members": { "InstanceId": { @@ -2026,27 +2779,28 @@ "smithy.api#httpLabel": {}, "smithy.api#required": {} } - } - } - }, - "com.amazonaws.connect#GetFederationTokenResponse": { - "type": "structure", - "members": { - "Credentials": { - "target": "com.amazonaws.connect#Credentials", + }, + "RoutingProfileId": { + "target": "com.amazonaws.connect#RoutingProfileId", "traits": { - "smithy.api#documentation": "

                            The credentials to use for federation.

                            " + "smithy.api#documentation": "

                            The identifier of the routing profile.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "QueueReferences": { + "target": "com.amazonaws.connect#RoutingProfileQueueReferenceList", + "traits": { + "smithy.api#documentation": "

                            The queues to disassociate from this routing profile.

                            ", + "smithy.api#required": {} } } } }, - "com.amazonaws.connect#GetMetricData": { + "com.amazonaws.connect#DisassociateSecurityKey": { "type": "operation", "input": { - "target": "com.amazonaws.connect#GetMetricDataRequest" - }, - "output": { - "target": "com.amazonaws.connect#GetMetricDataResponse" + "target": "com.amazonaws.connect#DisassociateSecurityKeyRequest" }, "errors": [ { @@ -2066,20 +2820,15 @@ } ], "traits": { - "smithy.api#documentation": "

                            Gets historical metric data from the specified Amazon Connect instance.

                            \n

                            For a description of each historical metric, see Historical Metrics\n Definitions in the Amazon Connect Administrator Guide.

                            ", + "smithy.api#documentation": "

                            Deletes the specified security key.

                            ", "smithy.api#http": { - "method": "POST", - "uri": "/metrics/historical/{InstanceId}", + "method": "DELETE", + "uri": "/instance/{InstanceId}/security-key/{AssociationId}", "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "pageSize": "MaxResults" } } }, - "com.amazonaws.connect#GetMetricDataRequest": { + "com.amazonaws.connect#DisassociateSecurityKeyRequest": { "type": "structure", "members": { "InstanceId": { @@ -2090,366 +2839,748 @@ "smithy.api#required": {} } }, - "StartTime": { - "target": "com.amazonaws.connect#timestamp", + "AssociationId": { + "target": "com.amazonaws.connect#AssociationId", "traits": { - "smithy.api#documentation": "

                            The timestamp, in UNIX Epoch time format, at which to start the reporting interval for the\n retrieval of historical metrics data. The time must be specified using a multiple of 5 minutes,\n such as 10:05, 10:10, 10:15.

                            \n

                            The start time cannot be earlier than 24 hours before the time of the request. Historical\n metrics are available only for 24 hours.

                            ", + "smithy.api#documentation": "

                            The existing association identifier that uniquely identifies the resource type and storage config for the given instance ID.

                            ", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } - }, - "EndTime": { - "target": "com.amazonaws.connect#timestamp", + } + } + }, + "com.amazonaws.connect#DisplayName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + } + } + }, + "com.amazonaws.connect#DuplicateResourceException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.connect#Message" + } + }, + "traits": { + "smithy.api#documentation": "

                            A resource with the specified name already exists.

                            ", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, + "com.amazonaws.connect#Email": { + "type": "string" + }, + "com.amazonaws.connect#EncryptionConfig": { + "type": "structure", + "members": { + "EncryptionType": { + "target": "com.amazonaws.connect#EncryptionType", "traits": { - "smithy.api#documentation": "

                            The timestamp, in UNIX Epoch time format, at which to end the reporting interval for the\n retrieval of historical metrics data. The time must be specified using an interval of 5 minutes,\n such as 11:00, 11:05, 11:10, and must be later than the start time timestamp.

                            \n

                            The time range between the start and end time must be less than 24 hours.

                            ", + "smithy.api#documentation": "

                            The type of encryption.

                            ", "smithy.api#required": {} } }, - "Filters": { - "target": "com.amazonaws.connect#Filters", + "KeyId": { + "target": "com.amazonaws.connect#KeyId", "traits": { - "smithy.api#documentation": "

                            The queues, up to 100, or channels, to use to filter the metrics returned. Metric data is\n retrieved only for the resources associated with the queues or channels included in the filter.\n You can include both queue IDs and queue ARNs in the same request. Both VOICE and CHAT channels are supported.

                            ", + "smithy.api#documentation": "

                            The identifier of the encryption key.

                            ", "smithy.api#required": {} } - }, - "Groupings": { - "target": "com.amazonaws.connect#Groupings", - "traits": { - "smithy.api#documentation": "

                            The grouping applied to the metrics returned. For example, when results are grouped by\n queue, the metrics returned are grouped by queue. The values returned apply to the metrics for\n each queue rather than aggregated for all queues.

                            \n

                            The only supported grouping is QUEUE.

                            \n

                            If no grouping is specified, a summary of metrics for all queues is returned.

                            " - } - }, - "HistoricalMetrics": { - "target": "com.amazonaws.connect#HistoricalMetrics", - "traits": { - "smithy.api#documentation": "

                            The metrics to retrieve. Specify the name, unit, and statistic for each metric. The\n following historical metrics are available. For a description of each metric, see Historical Metrics Definitions in the Amazon Connect Administrator\n Guide.

                            \n
                            \n
                            ABANDON_TIME
                            \n
                            \n

                            Unit: SECONDS

                            \n

                            Statistic: AVG

                            \n
                            \n
                            AFTER_CONTACT_WORK_TIME
                            \n
                            \n

                            Unit: SECONDS

                            \n

                            Statistic: AVG

                            \n
                            \n
                            API_CONTACTS_HANDLED
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Statistic: SUM

                            \n
                            \n
                            CALLBACK_CONTACTS_HANDLED
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Statistic: SUM

                            \n
                            \n
                            CONTACTS_ABANDONED
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Statistic: SUM

                            \n
                            \n
                            CONTACTS_AGENT_HUNG_UP_FIRST
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Statistic: SUM

                            \n
                            \n
                            CONTACTS_CONSULTED
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Statistic: SUM

                            \n
                            \n
                            CONTACTS_HANDLED
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Statistic: SUM

                            \n
                            \n
                            CONTACTS_HANDLED_INCOMING
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Statistic: SUM

                            \n
                            \n
                            CONTACTS_HANDLED_OUTBOUND
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Statistic: SUM

                            \n
                            \n
                            CONTACTS_HOLD_ABANDONS
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Statistic: SUM

                            \n
                            \n
                            CONTACTS_MISSED
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Statistic: SUM

                            \n
                            \n
                            CONTACTS_QUEUED
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Statistic: SUM

                            \n
                            \n
                            CONTACTS_TRANSFERRED_IN
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Statistic: SUM

                            \n
                            \n
                            CONTACTS_TRANSFERRED_IN_FROM_QUEUE
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Statistic: SUM

                            \n
                            \n
                            CONTACTS_TRANSFERRED_OUT
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Statistic: SUM

                            \n
                            \n
                            CONTACTS_TRANSFERRED_OUT_FROM_QUEUE
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Statistic: SUM

                            \n
                            \n
                            HANDLE_TIME
                            \n
                            \n

                            Unit: SECONDS

                            \n

                            Statistic: AVG

                            \n
                            \n
                            HOLD_TIME
                            \n
                            \n

                            Unit: SECONDS

                            \n

                            Statistic: AVG

                            \n
                            \n
                            INTERACTION_AND_HOLD_TIME
                            \n
                            \n

                            Unit: SECONDS

                            \n

                            Statistic: AVG

                            \n
                            \n
                            INTERACTION_TIME
                            \n
                            \n

                            Unit: SECONDS

                            \n

                            Statistic: AVG

                            \n
                            \n
                            OCCUPANCY
                            \n
                            \n

                            Unit: PERCENT

                            \n

                            Statistic: AVG

                            \n
                            \n
                            QUEUE_ANSWER_TIME
                            \n
                            \n

                            Unit: SECONDS

                            \n

                            Statistic: AVG

                            \n
                            \n
                            QUEUED_TIME
                            \n
                            \n

                            Unit: SECONDS

                            \n

                            Statistic: MAX

                            \n
                            \n
                            SERVICE_LEVEL
                            \n
                            \n

                            Unit: PERCENT

                            \n

                            Statistic: AVG

                            \n

                            Threshold: Only \"Less than\" comparisons are supported, with the following service level\n thresholds: 15, 20, 25, 30, 45, 60, 90, 120, 180, 240, 300, 600

                            \n
                            \n
                            ", - "smithy.api#required": {} - } - }, - "NextToken": { - "target": "com.amazonaws.connect#NextToken", - "traits": { - "smithy.api#documentation": "

                            The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

                            " - } - }, - "MaxResults": { - "target": "com.amazonaws.connect#MaxResult100", - "traits": { - "smithy.api#box": {}, - "smithy.api#documentation": "

                            The maximimum number of results to return per page.

                            " - } } + }, + "traits": { + "smithy.api#documentation": "

                            The encryption configuration.

                            " } }, - "com.amazonaws.connect#GetMetricDataResponse": { + "com.amazonaws.connect#EncryptionType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "KMS", + "name": "KMS" + } + ] + } + }, + "com.amazonaws.connect#Filters": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.connect#NextToken", + "Queues": { + "target": "com.amazonaws.connect#Queues", "traits": { - "smithy.api#documentation": "

                            If there are additional results, this is the token for the next set of results.

                            \n

                            The token expires after 5 minutes from the time it is created. Subsequent requests that use\n the token must use the same request parameters as the request that generated the token.

                            " + "smithy.api#documentation": "

                            The queues to use to filter the metrics. You can specify up to 100 queues per\n request.

                            " } }, - "MetricResults": { - "target": "com.amazonaws.connect#HistoricalMetricResults", + "Channels": { + "target": "com.amazonaws.connect#Channels", "traits": { - "smithy.api#documentation": "

                            Information about the historical metrics.

                            \n

                            If no grouping is specified, a summary of metric data is returned.

                            " + "smithy.api#documentation": "

                            The channel to use to filter the metrics.

                            " } } + }, + "traits": { + "smithy.api#documentation": "

                            Contains the filter to apply when retrieving metrics.

                            " } }, - "com.amazonaws.connect#Grouping": { + "com.amazonaws.connect#FunctionArn": { "type": "string", "traits": { - "smithy.api#enum": [ - { - "value": "QUEUE", - "name": "QUEUE" - }, - { - "value": "CHANNEL", - "name": "CHANNEL" - } - ] + "smithy.api#length": { + "min": 1, + "max": 140 + } } }, - "com.amazonaws.connect#Groupings": { + "com.amazonaws.connect#FunctionArnsList": { "type": "list", "member": { - "target": "com.amazonaws.connect#Grouping" + "target": "com.amazonaws.connect#FunctionArn" + } + }, + "com.amazonaws.connect#GetContactAttributes": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#GetContactAttributesRequest" + }, + "output": { + "target": "com.amazonaws.connect#GetContactAttributesResponse" }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + } + ], "traits": { - "smithy.api#length": { - "min": 0, - "max": 2 + "smithy.api#documentation": "

                            Retrieves the contact attributes for the specified contact.

                            ", + "smithy.api#http": { + "method": "GET", + "uri": "/contact/attributes/{InstanceId}/{InitialContactId}", + "code": 200 } } }, - "com.amazonaws.connect#HierarchyGroup": { + "com.amazonaws.connect#GetContactAttributesRequest": { "type": "structure", "members": { - "Id": { - "target": "com.amazonaws.connect#HierarchyGroupId", + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", "traits": { - "smithy.api#documentation": "

                            The identifier of the hierarchy group.

                            " + "smithy.api#documentation": "

                            The identifier of the Amazon Connect instance.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, - "Arn": { - "target": "com.amazonaws.connect#ARN", + "InitialContactId": { + "target": "com.amazonaws.connect#ContactId", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the hierarchy group.

                            " + "smithy.api#documentation": "

                            The identifier of the initial contact.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } - }, - "Name": { - "target": "com.amazonaws.connect#HierarchyGroupName", + } + } + }, + "com.amazonaws.connect#GetContactAttributesResponse": { + "type": "structure", + "members": { + "Attributes": { + "target": "com.amazonaws.connect#Attributes", "traits": { - "smithy.api#documentation": "

                            The name of the hierarchy group.

                            " + "smithy.api#documentation": "

                            Information about the attributes.

                            " } + } + } + }, + "com.amazonaws.connect#GetCurrentMetricData": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#GetCurrentMetricDataRequest" + }, + "output": { + "target": "com.amazonaws.connect#GetCurrentMetricDataResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" }, - "LevelId": { - "target": "com.amazonaws.connect#HierarchyLevelId", - "traits": { - "smithy.api#documentation": "

                            The identifier of the level in the hierarchy group.

                            " - } + { + "target": "com.amazonaws.connect#InvalidParameterException" }, - "HierarchyPath": { - "target": "com.amazonaws.connect#HierarchyPath", - "traits": { - "smithy.api#documentation": "

                            Information about the levels in the hierarchy group.

                            " - } + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" } - }, + ], "traits": { - "smithy.api#documentation": "

                            Contains information about a hierarchy group.

                            " + "smithy.api#documentation": "

                            Gets the real-time metric data from the specified Amazon Connect instance.

                            \n

                            For a description of each metric, see Real-time Metrics\n Definitions in the Amazon Connect Administrator Guide.

                            ", + "smithy.api#http": { + "method": "POST", + "uri": "/metrics/current/{InstanceId}", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.connect#HierarchyGroupId": { - "type": "string" - }, - "com.amazonaws.connect#HierarchyGroupName": { - "type": "string" - }, - "com.amazonaws.connect#HierarchyGroupSummary": { + "com.amazonaws.connect#GetCurrentMetricDataRequest": { "type": "structure", "members": { - "Id": { - "target": "com.amazonaws.connect#HierarchyGroupId", + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", "traits": { - "smithy.api#documentation": "

                            The identifier of the hierarchy group.

                            " + "smithy.api#documentation": "

                            The identifier of the Amazon Connect instance.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, - "Arn": { - "target": "com.amazonaws.connect#ARN", + "Filters": { + "target": "com.amazonaws.connect#Filters", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the hierarchy group.

                            " + "smithy.api#documentation": "

                            The queues, up to 100, or channels, to use to filter the metrics returned. Metric data is\n retrieved only for the resources associated with the queues or channels included in the filter.\n You can include both queue IDs and queue ARNs in the same request. Both VOICE and CHAT channels are supported.

                            ", + "smithy.api#required": {} } }, - "Name": { - "target": "com.amazonaws.connect#HierarchyGroupName", + "Groupings": { + "target": "com.amazonaws.connect#Groupings", "traits": { - "smithy.api#documentation": "

                            The name of the hierarchy group.

                            " + "smithy.api#documentation": "

                            The grouping applied to the metrics returned. For example, when grouped by\n QUEUE, the metrics returned apply to each queue rather than aggregated for all\n queues. If you group by CHANNEL, you should include a Channels filter. Both VOICE and CHAT channels are supported.

                            \n

                            If no Grouping is included in the request, a summary of metrics is\n returned.

                            " + } + }, + "CurrentMetrics": { + "target": "com.amazonaws.connect#CurrentMetrics", + "traits": { + "smithy.api#documentation": "

                            The metrics to retrieve. Specify the name and unit for each metric. The following metrics\n are available. For a description of all the metrics, see Real-time Metrics\n Definitions in the Amazon Connect Administrator Guide.

                            \n
                            \n
                            AGENTS_AFTER_CONTACT_WORK
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Name in real-time metrics report: ACW\n

                            \n\n
                            \n
                            AGENTS_AVAILABLE
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Name in real-time metrics report: Available\n

                            \n
                            \n
                            AGENTS_ERROR
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Name in real-time metrics report: Error\n

                            \n
                            \n
                            AGENTS_NON_PRODUCTIVE
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Name in real-time metrics report: NPT (Non-Productive Time)\n

                            \n
                            \n
                            AGENTS_ON_CALL
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Name in real-time metrics report: On\n contact\n

                            \n
                            \n
                            AGENTS_ON_CONTACT
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Name in real-time metrics report: On\n contact\n

                            \n
                            \n
                            AGENTS_ONLINE
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Name in real-time metrics report: Online\n

                            \n
                            \n
                            AGENTS_STAFFED
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Name in real-time metrics report: Staffed\n

                            \n
                            \n
                            CONTACTS_IN_QUEUE
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Name in real-time metrics report: In\n queue\n

                            \n
                            \n
                            CONTACTS_SCHEDULED
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Name in real-time metrics report: Scheduled\n

                            \n
                            \n
                            OLDEST_CONTACT_AGE
                            \n
                            \n

                            Unit: SECONDS

                            \n

                            When you use groupings, Unit says SECONDS but the Value is returned in MILLISECONDS. For example, if you get a\n response like this:

                            \n

                            \n { \"Metric\": { \"Name\": \"OLDEST_CONTACT_AGE\", \"Unit\": \"SECONDS\" }, \"Value\": 24113.0\n }

                            \n

                            The actual OLDEST_CONTACT_AGE is 24 seconds.

                            \n\n

                            Name in real-time metrics report: Oldest\n

                            \n
                            \n
                            SLOTS_ACTIVE
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Name in real-time metrics report: Active\n

                            \n
                            \n
                            SLOTS_AVAILABLE
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Name in real-time metrics report: Availability\n

                            \n
                            \n
                            ", + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.connect#NextToken", + "traits": { + "smithy.api#documentation": "

                            The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

                            \n

                            The token expires after 5 minutes from the time it is created. Subsequent requests that use\n the token must use the same request parameters as the request that generated the token.

                            " + } + }, + "MaxResults": { + "target": "com.amazonaws.connect#MaxResult100", + "traits": { + "smithy.api#box": {}, + "smithy.api#documentation": "

                            The maximimum number of results to return per page.

                            " } } - }, - "traits": { - "smithy.api#documentation": "

                            Contains summary information about a hierarchy group.

                            " - } - }, - "com.amazonaws.connect#HierarchyGroupSummaryList": { - "type": "list", - "member": { - "target": "com.amazonaws.connect#HierarchyGroupSummary" } }, - "com.amazonaws.connect#HierarchyLevel": { + "com.amazonaws.connect#GetCurrentMetricDataResponse": { "type": "structure", "members": { - "Id": { - "target": "com.amazonaws.connect#HierarchyLevelId", + "NextToken": { + "target": "com.amazonaws.connect#NextToken", "traits": { - "smithy.api#documentation": "

                            The identifier of the hierarchy level.

                            " + "smithy.api#documentation": "

                            If there are additional results, this is the token for the next set of results.

                            \n

                            The token expires after 5 minutes from the time it is created. Subsequent requests that use\n the token must use the same request parameters as the request that generated the token.

                            " } }, - "Arn": { - "target": "com.amazonaws.connect#ARN", + "MetricResults": { + "target": "com.amazonaws.connect#CurrentMetricResults", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the hierarchy level.

                            " + "smithy.api#documentation": "

                            Information about the real-time metrics.

                            " } }, - "Name": { - "target": "com.amazonaws.connect#HierarchyLevelName", + "DataSnapshotTime": { + "target": "com.amazonaws.connect#Timestamp", "traits": { - "smithy.api#documentation": "

                            The name of the hierarchy level.

                            " + "smithy.api#documentation": "

                            The time at which the metrics were retrieved and cached for pagination.

                            " } } - }, - "traits": { - "smithy.api#documentation": "

                            Contains information about a hierarchy level.

                            " } }, - "com.amazonaws.connect#HierarchyLevelId": { - "type": "string" - }, - "com.amazonaws.connect#HierarchyLevelName": { - "type": "string" - }, - "com.amazonaws.connect#HierarchyLevelUpdate": { - "type": "structure", - "members": { - "Name": { - "target": "com.amazonaws.connect#HierarchyLevelName", + "com.amazonaws.connect#GetFederationToken": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#GetFederationTokenRequest" + }, + "output": { + "target": "com.amazonaws.connect#GetFederationTokenResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connect#DuplicateResourceException" + }, + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#UserNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Retrieves a token for federation.

                            ", + "smithy.api#http": { + "method": "GET", + "uri": "/user/federate/{InstanceId}", + "code": 200 + } + } + }, + "com.amazonaws.connect#GetFederationTokenRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", "traits": { - "smithy.api#documentation": "

                            The name of the user hierarchy level. Must not be more than 50 characters.

                            ", + "smithy.api#documentation": "

                            The identifier of the Amazon Connect instance.

                            ", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } } - }, - "traits": { - "smithy.api#documentation": "

                            Contains information about the hierarchy level to update.

                            " } }, - "com.amazonaws.connect#HierarchyPath": { + "com.amazonaws.connect#GetFederationTokenResponse": { "type": "structure", "members": { - "LevelOne": { - "target": "com.amazonaws.connect#HierarchyGroupSummary", + "Credentials": { + "target": "com.amazonaws.connect#Credentials", "traits": { - "smithy.api#documentation": "

                            Information about level one.

                            " + "smithy.api#documentation": "

                            The credentials to use for federation.

                            " } + } + } + }, + "com.amazonaws.connect#GetMetricData": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#GetMetricDataRequest" + }, + "output": { + "target": "com.amazonaws.connect#GetMetricDataResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" }, - "LevelTwo": { - "target": "com.amazonaws.connect#HierarchyGroupSummary", - "traits": { - "smithy.api#documentation": "

                            Information about level two.

                            " - } + { + "target": "com.amazonaws.connect#InvalidParameterException" }, - "LevelThree": { - "target": "com.amazonaws.connect#HierarchyGroupSummary", - "traits": { - "smithy.api#documentation": "

                            Information about level three.

                            " - } + { + "target": "com.amazonaws.connect#InvalidRequestException" }, - "LevelFour": { - "target": "com.amazonaws.connect#HierarchyGroupSummary", - "traits": { - "smithy.api#documentation": "

                            Information about level four.

                            " - } + { + "target": "com.amazonaws.connect#ResourceNotFoundException" }, - "LevelFive": { - "target": "com.amazonaws.connect#HierarchyGroupSummary", - "traits": { - "smithy.api#documentation": "

                            Information about level five.

                            " - } + { + "target": "com.amazonaws.connect#ThrottlingException" } - }, + ], "traits": { - "smithy.api#documentation": "

                            Contains information about the levels of a hierarchy group.

                            " + "smithy.api#documentation": "

                            Gets historical metric data from the specified Amazon Connect instance.

                            \n

                            For a description of each historical metric, see Historical Metrics\n Definitions in the Amazon Connect Administrator Guide.

                            ", + "smithy.api#http": { + "method": "POST", + "uri": "/metrics/historical/{InstanceId}", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.connect#HierarchyStructure": { + "com.amazonaws.connect#GetMetricDataRequest": { "type": "structure", "members": { - "LevelOne": { - "target": "com.amazonaws.connect#HierarchyLevel", + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", "traits": { - "smithy.api#documentation": "

                            Information about level one.

                            " + "smithy.api#documentation": "

                            The identifier of the Amazon Connect instance.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, - "LevelTwo": { - "target": "com.amazonaws.connect#HierarchyLevel", + "StartTime": { + "target": "com.amazonaws.connect#Timestamp", "traits": { - "smithy.api#documentation": "

                            Information about level two.

                            " + "smithy.api#documentation": "

                            The timestamp, in UNIX Epoch time format, at which to start the reporting interval for the\n retrieval of historical metrics data. The time must be specified using a multiple of 5 minutes,\n such as 10:05, 10:10, 10:15.

                            \n

                            The start time cannot be earlier than 24 hours before the time of the request. Historical\n metrics are available only for 24 hours.

                            ", + "smithy.api#required": {} } }, - "LevelThree": { - "target": "com.amazonaws.connect#HierarchyLevel", + "EndTime": { + "target": "com.amazonaws.connect#Timestamp", "traits": { - "smithy.api#documentation": "

                            Information about level three.

                            " + "smithy.api#documentation": "

                            The timestamp, in UNIX Epoch time format, at which to end the reporting interval for the\n retrieval of historical metrics data. The time must be specified using an interval of 5 minutes,\n such as 11:00, 11:05, 11:10, and must be later than the start time timestamp.

                            \n

                            The time range between the start and end time must be less than 24 hours.

                            ", + "smithy.api#required": {} } }, - "LevelFour": { - "target": "com.amazonaws.connect#HierarchyLevel", + "Filters": { + "target": "com.amazonaws.connect#Filters", "traits": { - "smithy.api#documentation": "

                            Information about level four.

                            " + "smithy.api#documentation": "

                            The queues, up to 100, or channels, to use to filter the metrics returned. Metric data is\n retrieved only for the resources associated with the queues or channels included in the filter.\n You can include both queue IDs and queue ARNs in the same request. Both VOICE and CHAT channels are supported.

                            ", + "smithy.api#required": {} } }, - "LevelFive": { - "target": "com.amazonaws.connect#HierarchyLevel", + "Groupings": { + "target": "com.amazonaws.connect#Groupings", "traits": { - "smithy.api#documentation": "

                            Information about level five.

                            " + "smithy.api#documentation": "

                            The grouping applied to the metrics returned. For example, when results are grouped by\n queue, the metrics returned are grouped by queue. The values returned apply to the metrics for\n each queue rather than aggregated for all queues.

                            \n

                            The only supported grouping is QUEUE.

                            \n

                            If no grouping is specified, a summary of metrics for all queues is returned.

                            " } - } - }, - "traits": { - "smithy.api#documentation": "

                            Contains information about a hierarchy structure.

                            " - } - }, - "com.amazonaws.connect#HierarchyStructureUpdate": { - "type": "structure", - "members": { - "LevelOne": { - "target": "com.amazonaws.connect#HierarchyLevelUpdate", + }, + "HistoricalMetrics": { + "target": "com.amazonaws.connect#HistoricalMetrics", "traits": { - "smithy.api#documentation": "

                            The update for level one.

                            " + "smithy.api#documentation": "

                            The metrics to retrieve. Specify the name, unit, and statistic for each metric. The\n following historical metrics are available. For a description of each metric, see Historical Metrics Definitions in the Amazon Connect Administrator\n Guide.

                            \n
                            \n
                            ABANDON_TIME
                            \n
                            \n

                            Unit: SECONDS

                            \n

                            Statistic: AVG

                            \n
                            \n
                            AFTER_CONTACT_WORK_TIME
                            \n
                            \n

                            Unit: SECONDS

                            \n

                            Statistic: AVG

                            \n
                            \n
                            API_CONTACTS_HANDLED
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Statistic: SUM

                            \n
                            \n
                            CALLBACK_CONTACTS_HANDLED
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Statistic: SUM

                            \n
                            \n
                            CONTACTS_ABANDONED
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Statistic: SUM

                            \n
                            \n
                            CONTACTS_AGENT_HUNG_UP_FIRST
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Statistic: SUM

                            \n
                            \n
                            CONTACTS_CONSULTED
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Statistic: SUM

                            \n
                            \n
                            CONTACTS_HANDLED
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Statistic: SUM

                            \n
                            \n
                            CONTACTS_HANDLED_INCOMING
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Statistic: SUM

                            \n
                            \n
                            CONTACTS_HANDLED_OUTBOUND
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Statistic: SUM

                            \n
                            \n
                            CONTACTS_HOLD_ABANDONS
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Statistic: SUM

                            \n
                            \n
                            CONTACTS_MISSED
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Statistic: SUM

                            \n
                            \n
                            CONTACTS_QUEUED
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Statistic: SUM

                            \n
                            \n
                            CONTACTS_TRANSFERRED_IN
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Statistic: SUM

                            \n
                            \n
                            CONTACTS_TRANSFERRED_IN_FROM_QUEUE
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Statistic: SUM

                            \n
                            \n
                            CONTACTS_TRANSFERRED_OUT
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Statistic: SUM

                            \n
                            \n
                            CONTACTS_TRANSFERRED_OUT_FROM_QUEUE
                            \n
                            \n

                            Unit: COUNT

                            \n

                            Statistic: SUM

                            \n
                            \n
                            HANDLE_TIME
                            \n
                            \n

                            Unit: SECONDS

                            \n

                            Statistic: AVG

                            \n
                            \n
                            HOLD_TIME
                            \n
                            \n

                            Unit: SECONDS

                            \n

                            Statistic: AVG

                            \n
                            \n
                            INTERACTION_AND_HOLD_TIME
                            \n
                            \n

                            Unit: SECONDS

                            \n

                            Statistic: AVG

                            \n
                            \n
                            INTERACTION_TIME
                            \n
                            \n

                            Unit: SECONDS

                            \n

                            Statistic: AVG

                            \n
                            \n
                            OCCUPANCY
                            \n
                            \n

                            Unit: PERCENT

                            \n

                            Statistic: AVG

                            \n
                            \n
                            QUEUE_ANSWER_TIME
                            \n
                            \n

                            Unit: SECONDS

                            \n

                            Statistic: AVG

                            \n
                            \n
                            QUEUED_TIME
                            \n
                            \n

                            Unit: SECONDS

                            \n

                            Statistic: MAX

                            \n
                            \n
                            SERVICE_LEVEL
                            \n
                            \n

                            Unit: PERCENT

                            \n

                            Statistic: AVG

                            \n

                            Threshold: Only \"Less than\" comparisons are supported, with the following service level\n thresholds: 15, 20, 25, 30, 45, 60, 90, 120, 180, 240, 300, 600

                            \n
                            \n
                            ", + "smithy.api#required": {} } }, - "LevelTwo": { - "target": "com.amazonaws.connect#HierarchyLevelUpdate", + "NextToken": { + "target": "com.amazonaws.connect#NextToken", "traits": { - "smithy.api#documentation": "

                            The update for level two.

                            " + "smithy.api#documentation": "

                            The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

                            " } }, - "LevelThree": { - "target": "com.amazonaws.connect#HierarchyLevelUpdate", + "MaxResults": { + "target": "com.amazonaws.connect#MaxResult100", "traits": { - "smithy.api#documentation": "

                            The update for level three.

                            " + "smithy.api#box": {}, + "smithy.api#documentation": "

                            The maximimum number of results to return per page.

                            " } - }, - "LevelFour": { - "target": "com.amazonaws.connect#HierarchyLevelUpdate", + } + } + }, + "com.amazonaws.connect#GetMetricDataResponse": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.connect#NextToken", "traits": { - "smithy.api#documentation": "

                            The update for level four.

                            " + "smithy.api#documentation": "

                            If there are additional results, this is the token for the next set of results.

                            \n

                            The token expires after 5 minutes from the time it is created. Subsequent requests that use\n the token must use the same request parameters as the request that generated the token.

                            " } }, - "LevelFive": { - "target": "com.amazonaws.connect#HierarchyLevelUpdate", + "MetricResults": { + "target": "com.amazonaws.connect#HistoricalMetricResults", "traits": { - "smithy.api#documentation": "

                            The update for level five.

                            " + "smithy.api#documentation": "

                            Information about the historical metrics.

                            \n

                            If no grouping is specified, a summary of metric data is returned.

                            " } } + } + }, + "com.amazonaws.connect#Grouping": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "QUEUE", + "name": "QUEUE" + }, + { + "value": "CHANNEL", + "name": "CHANNEL" + } + ] + } + }, + "com.amazonaws.connect#Groupings": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#Grouping" }, "traits": { - "smithy.api#documentation": "

                            Contains information about the level hierarchy to update.

                            " + "smithy.api#length": { + "min": 0, + "max": 2 + } } }, - "com.amazonaws.connect#HistoricalMetric": { + "com.amazonaws.connect#HierarchyGroup": { "type": "structure", "members": { - "Name": { - "target": "com.amazonaws.connect#HistoricalMetricName", + "Id": { + "target": "com.amazonaws.connect#HierarchyGroupId", "traits": { - "smithy.api#documentation": "

                            The name of the metric.

                            " + "smithy.api#documentation": "

                            The identifier of the hierarchy group.

                            " } }, - "Threshold": { - "target": "com.amazonaws.connect#Threshold", + "Arn": { + "target": "com.amazonaws.connect#ARN", "traits": { - "smithy.api#documentation": "

                            The threshold for the metric, used with service level metrics.

                            " + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the hierarchy group.

                            " } }, - "Statistic": { - "target": "com.amazonaws.connect#Statistic", + "Name": { + "target": "com.amazonaws.connect#HierarchyGroupName", "traits": { - "smithy.api#documentation": "

                            The statistic for the metric.

                            " + "smithy.api#documentation": "

                            The name of the hierarchy group.

                            " } }, - "Unit": { - "target": "com.amazonaws.connect#Unit", + "LevelId": { + "target": "com.amazonaws.connect#HierarchyLevelId", "traits": { - "smithy.api#documentation": "

                            The unit for the metric.

                            " + "smithy.api#documentation": "

                            The identifier of the level in the hierarchy group.

                            " + } + }, + "HierarchyPath": { + "target": "com.amazonaws.connect#HierarchyPath", + "traits": { + "smithy.api#documentation": "

                            Information about the levels in the hierarchy group.

                            " } } }, "traits": { - "smithy.api#documentation": "

                            Contains information about a historical metric. For a description of each metric, see Historical Metrics Definitions in the Amazon Connect Administrator\n Guide.

                            " + "smithy.api#documentation": "

                            Contains information about a hierarchy group.

                            " + } + }, + "com.amazonaws.connect#HierarchyGroupId": { + "type": "string" + }, + "com.amazonaws.connect#HierarchyGroupName": { + "type": "string" + }, + "com.amazonaws.connect#HierarchyGroupSummary": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.connect#HierarchyGroupId", + "traits": { + "smithy.api#documentation": "

                            The identifier of the hierarchy group.

                            " + } + }, + "Arn": { + "target": "com.amazonaws.connect#ARN", + "traits": { + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the hierarchy group.

                            " + } + }, + "Name": { + "target": "com.amazonaws.connect#HierarchyGroupName", + "traits": { + "smithy.api#documentation": "

                            The name of the hierarchy group.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Contains summary information about a hierarchy group.

                            " + } + }, + "com.amazonaws.connect#HierarchyGroupSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#HierarchyGroupSummary" + } + }, + "com.amazonaws.connect#HierarchyLevel": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.connect#HierarchyLevelId", + "traits": { + "smithy.api#documentation": "

                            The identifier of the hierarchy level.

                            " + } + }, + "Arn": { + "target": "com.amazonaws.connect#ARN", + "traits": { + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the hierarchy level.

                            " + } + }, + "Name": { + "target": "com.amazonaws.connect#HierarchyLevelName", + "traits": { + "smithy.api#documentation": "

                            The name of the hierarchy level.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Contains information about a hierarchy level.

                            " + } + }, + "com.amazonaws.connect#HierarchyLevelId": { + "type": "string" + }, + "com.amazonaws.connect#HierarchyLevelName": { + "type": "string" + }, + "com.amazonaws.connect#HierarchyLevelUpdate": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.connect#HierarchyLevelName", + "traits": { + "smithy.api#documentation": "

                            The name of the user hierarchy level. Must not be more than 50 characters.

                            ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Contains information about the hierarchy level to update.

                            " + } + }, + "com.amazonaws.connect#HierarchyPath": { + "type": "structure", + "members": { + "LevelOne": { + "target": "com.amazonaws.connect#HierarchyGroupSummary", + "traits": { + "smithy.api#documentation": "

                            Information about level one.

                            " + } + }, + "LevelTwo": { + "target": "com.amazonaws.connect#HierarchyGroupSummary", + "traits": { + "smithy.api#documentation": "

                            Information about level two.

                            " + } + }, + "LevelThree": { + "target": "com.amazonaws.connect#HierarchyGroupSummary", + "traits": { + "smithy.api#documentation": "

                            Information about level three.

                            " + } + }, + "LevelFour": { + "target": "com.amazonaws.connect#HierarchyGroupSummary", + "traits": { + "smithy.api#documentation": "

                            Information about level four.

                            " + } + }, + "LevelFive": { + "target": "com.amazonaws.connect#HierarchyGroupSummary", + "traits": { + "smithy.api#documentation": "

                            Information about level five.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Contains information about the levels of a hierarchy group.

                            " + } + }, + "com.amazonaws.connect#HierarchyStructure": { + "type": "structure", + "members": { + "LevelOne": { + "target": "com.amazonaws.connect#HierarchyLevel", + "traits": { + "smithy.api#documentation": "

                            Information about level one.

                            " + } + }, + "LevelTwo": { + "target": "com.amazonaws.connect#HierarchyLevel", + "traits": { + "smithy.api#documentation": "

                            Information about level two.

                            " + } + }, + "LevelThree": { + "target": "com.amazonaws.connect#HierarchyLevel", + "traits": { + "smithy.api#documentation": "

                            Information about level three.

                            " + } + }, + "LevelFour": { + "target": "com.amazonaws.connect#HierarchyLevel", + "traits": { + "smithy.api#documentation": "

                            Information about level four.

                            " + } + }, + "LevelFive": { + "target": "com.amazonaws.connect#HierarchyLevel", + "traits": { + "smithy.api#documentation": "

                            Information about level five.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Contains information about a hierarchy structure.

                            " + } + }, + "com.amazonaws.connect#HierarchyStructureUpdate": { + "type": "structure", + "members": { + "LevelOne": { + "target": "com.amazonaws.connect#HierarchyLevelUpdate", + "traits": { + "smithy.api#documentation": "

                            The update for level one.

                            " + } + }, + "LevelTwo": { + "target": "com.amazonaws.connect#HierarchyLevelUpdate", + "traits": { + "smithy.api#documentation": "

                            The update for level two.

                            " + } + }, + "LevelThree": { + "target": "com.amazonaws.connect#HierarchyLevelUpdate", + "traits": { + "smithy.api#documentation": "

                            The update for level three.

                            " + } + }, + "LevelFour": { + "target": "com.amazonaws.connect#HierarchyLevelUpdate", + "traits": { + "smithy.api#documentation": "

                            The update for level four.

                            " + } + }, + "LevelFive": { + "target": "com.amazonaws.connect#HierarchyLevelUpdate", + "traits": { + "smithy.api#documentation": "

                            The update for level five.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Contains information about the level hierarchy to update.

                            " + } + }, + "com.amazonaws.connect#HistoricalMetric": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.connect#HistoricalMetricName", + "traits": { + "smithy.api#documentation": "

                            The name of the metric.

                            " + } + }, + "Threshold": { + "target": "com.amazonaws.connect#Threshold", + "traits": { + "smithy.api#documentation": "

                            The threshold for the metric, used with service level metrics.

                            " + } + }, + "Statistic": { + "target": "com.amazonaws.connect#Statistic", + "traits": { + "smithy.api#documentation": "

                            The statistic for the metric.

                            " + } + }, + "Unit": { + "target": "com.amazonaws.connect#Unit", + "traits": { + "smithy.api#documentation": "

                            The unit for the metric.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Contains information about a historical metric. For a description of each metric, see Historical Metrics Definitions in the Amazon Connect Administrator\n Guide.

                            " } }, "com.amazonaws.connect#HistoricalMetricData": { @@ -2619,6 +3750,15 @@ "target": "com.amazonaws.connect#HistoricalMetric" } }, + "com.amazonaws.connect#Hours": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 0, + "max": 87600 + } + } + }, "com.amazonaws.connect#HoursOfOperationId": { "type": "string" }, @@ -2628,131 +3768,1041 @@ "com.amazonaws.connect#HoursOfOperationSummary": { "type": "structure", "members": { - "Id": { - "target": "com.amazonaws.connect#HoursOfOperationId", + "Id": { + "target": "com.amazonaws.connect#HoursOfOperationId", + "traits": { + "smithy.api#documentation": "

                            The identifier of the hours of operation.

                            " + } + }, + "Arn": { + "target": "com.amazonaws.connect#ARN", + "traits": { + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the hours of operation.

                            " + } + }, + "Name": { + "target": "com.amazonaws.connect#HoursOfOperationName", + "traits": { + "smithy.api#documentation": "

                            The name of the hours of operation.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Contains summary information about hours of operation for a contact center.

                            " + } + }, + "com.amazonaws.connect#HoursOfOperationSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#HoursOfOperationSummary" + } + }, + "com.amazonaws.connect#InboundCallsEnabled": { + "type": "boolean", + "traits": { + "smithy.api#box": {} + } + }, + "com.amazonaws.connect#Instance": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

                            The identifier of the Amazon Connect instance.

                            " + } + }, + "Arn": { + "target": "com.amazonaws.connect#ARN", + "traits": { + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the instance.

                            " + } + }, + "IdentityManagementType": { + "target": "com.amazonaws.connect#DirectoryType", + "traits": { + "smithy.api#documentation": "

                            The identity management type.

                            " + } + }, + "InstanceAlias": { + "target": "com.amazonaws.connect#DirectoryAlias", + "traits": { + "smithy.api#documentation": "

                            The alias of instance.

                            " + } + }, + "CreatedTime": { + "target": "com.amazonaws.connect#Timestamp", + "traits": { + "smithy.api#documentation": "

                            When the instance was created.

                            " + } + }, + "ServiceRole": { + "target": "com.amazonaws.connect#ARN", + "traits": { + "smithy.api#documentation": "

                            The service role of the instance.

                            " + } + }, + "InstanceStatus": { + "target": "com.amazonaws.connect#InstanceStatus", + "traits": { + "smithy.api#documentation": "

                            The state of the instance.

                            " + } + }, + "StatusReason": { + "target": "com.amazonaws.connect#InstanceStatusReason", + "traits": { + "smithy.api#documentation": "

                            Relevant details why the instance was not successfully created.

                            " + } + }, + "InboundCallsEnabled": { + "target": "com.amazonaws.connect#InboundCallsEnabled", + "traits": { + "smithy.api#documentation": "

                            Whether inbound calls are enabled.

                            " + } + }, + "OutboundCallsEnabled": { + "target": "com.amazonaws.connect#OutboundCallsEnabled", + "traits": { + "smithy.api#documentation": "

                            Whether outbound calls are enabled.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The Amazon Connect instance.

                            " + } + }, + "com.amazonaws.connect#InstanceAttributeType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "INBOUND_CALLS", + "name": "INBOUND_CALLS" + }, + { + "value": "OUTBOUND_CALLS", + "name": "OUTBOUND_CALLS" + }, + { + "value": "CONTACTFLOW_LOGS", + "name": "CONTACTFLOW_LOGS" + }, + { + "value": "CONTACT_LENS", + "name": "CONTACT_LENS" + }, + { + "value": "AUTO_RESOLVE_BEST_VOICES", + "name": "AUTO_RESOLVE_BEST_VOICES" + }, + { + "value": "USE_CUSTOM_TTS_VOICES", + "name": "USE_CUSTOM_TTS_VOICES" + }, + { + "value": "EARLY_MEDIA", + "name": "EARLY_MEDIA" + } + ] + } + }, + "com.amazonaws.connect#InstanceAttributeValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.connect#InstanceId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.connect#InstanceStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "CREATION_IN_PROGRESS", + "name": "CREATION_IN_PROGRESS" + }, + { + "value": "ACTIVE", + "name": "ACTIVE" + }, + { + "value": "CREATION_FAILED", + "name": "CREATION_FAILED" + } + ] + } + }, + "com.amazonaws.connect#InstanceStatusReason": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.connect#String", + "traits": { + "smithy.api#documentation": "

                            The message.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Relevant details why the instance was not successfully created.

                            " + } + }, + "com.amazonaws.connect#InstanceStorageConfig": { + "type": "structure", + "members": { + "AssociationId": { + "target": "com.amazonaws.connect#AssociationId", + "traits": { + "smithy.api#documentation": "

                            The existing association identifier that uniquely identifies the resource type and storage config for the given instance ID.

                            " + } + }, + "StorageType": { + "target": "com.amazonaws.connect#StorageType", + "traits": { + "smithy.api#documentation": "

                            A valid storage type.

                            ", + "smithy.api#required": {} + } + }, + "S3Config": { + "target": "com.amazonaws.connect#S3Config", + "traits": { + "smithy.api#documentation": "

                            The S3 configuration.

                            " + } + }, + "KinesisVideoStreamConfig": { + "target": "com.amazonaws.connect#KinesisVideoStreamConfig", + "traits": { + "smithy.api#documentation": "

                            The configuration of the Kinesis video stream.

                            " + } + }, + "KinesisStreamConfig": { + "target": "com.amazonaws.connect#KinesisStreamConfig", + "traits": { + "smithy.api#documentation": "

                            The configuration of the Kinesis data stream.

                            " + } + }, + "KinesisFirehoseConfig": { + "target": "com.amazonaws.connect#KinesisFirehoseConfig", + "traits": { + "smithy.api#documentation": "

                            The configuration of the Kinesis Firehose delivery stream.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The storage configuration for the instance.

                            " + } + }, + "com.amazonaws.connect#InstanceStorageConfigs": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#InstanceStorageConfig" + } + }, + "com.amazonaws.connect#InstanceStorageResourceType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "CHAT_TRANSCRIPTS", + "name": "CHAT_TRANSCRIPTS" + }, + { + "value": "CALL_RECORDINGS", + "name": "CALL_RECORDINGS" + }, + { + "value": "SCHEDULED_REPORTS", + "name": "SCHEDULED_REPORTS" + }, + { + "value": "MEDIA_STREAMS", + "name": "MEDIA_STREAMS" + }, + { + "value": "CONTACT_TRACE_RECORDS", + "name": "CONTACT_TRACE_RECORDS" + }, + { + "value": "AGENT_EVENTS", + "name": "AGENT_EVENTS" + } + ] + } + }, + "com.amazonaws.connect#InstanceSummary": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

                            The identifier of the instance.

                            " + } + }, + "Arn": { + "target": "com.amazonaws.connect#ARN", + "traits": { + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the instance.

                            " + } + }, + "IdentityManagementType": { + "target": "com.amazonaws.connect#DirectoryType", + "traits": { + "smithy.api#documentation": "

                            The identity management type of the instance.

                            " + } + }, + "InstanceAlias": { + "target": "com.amazonaws.connect#DirectoryAlias", + "traits": { + "smithy.api#documentation": "

                            The alias of the instance.

                            " + } + }, + "CreatedTime": { + "target": "com.amazonaws.connect#Timestamp", + "traits": { + "smithy.api#documentation": "

                            When the instance was created.

                            " + } + }, + "ServiceRole": { + "target": "com.amazonaws.connect#ARN", + "traits": { + "smithy.api#documentation": "

                            The service role of the instance.

                            " + } + }, + "InstanceStatus": { + "target": "com.amazonaws.connect#InstanceStatus", + "traits": { + "smithy.api#documentation": "

                            The state of the instance.

                            " + } + }, + "InboundCallsEnabled": { + "target": "com.amazonaws.connect#InboundCallsEnabled", + "traits": { + "smithy.api#documentation": "

                            Whether inbound calls are enabled.

                            " + } + }, + "OutboundCallsEnabled": { + "target": "com.amazonaws.connect#OutboundCallsEnabled", + "traits": { + "smithy.api#documentation": "

                            Whether outbound calls are enabled.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Information about the instance.

                            " + } + }, + "com.amazonaws.connect#InstanceSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#InstanceSummary" + } + }, + "com.amazonaws.connect#InternalServiceException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.connect#Message", + "traits": { + "smithy.api#documentation": "

                            The message.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Request processing failed due to an error or failure with the service.

                            ", + "smithy.api#error": "server", + "smithy.api#httpError": 500 + } + }, + "com.amazonaws.connect#InvalidContactFlowException": { + "type": "structure", + "members": { + "problems": { + "target": "com.amazonaws.connect#Problems", + "traits": { + "smithy.api#documentation": "

                            The problems with the contact flow. Please fix before trying again.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The contact flow is not valid.

                            ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.connect#InvalidParameterException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.connect#Message", + "traits": { + "smithy.api#documentation": "

                            The message.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            One or more of the specified parameters are not valid.

                            ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.connect#InvalidRequestException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.connect#Message", + "traits": { + "smithy.api#documentation": "

                            The message.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The request is not valid.

                            ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.connect#KeyId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + } + } + }, + "com.amazonaws.connect#KinesisFirehoseConfig": { + "type": "structure", + "members": { + "FirehoseArn": { + "target": "com.amazonaws.connect#ARN", + "traits": { + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the delivery stream.

                            ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Configuration information of a Kinesis Firehose delivery stream.

                            " + } + }, + "com.amazonaws.connect#KinesisStreamConfig": { + "type": "structure", + "members": { + "StreamArn": { + "target": "com.amazonaws.connect#ARN", + "traits": { + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the data stream.

                            ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Configuration information of a Kinesis data stream.

                            " + } + }, + "com.amazonaws.connect#KinesisVideoStreamConfig": { + "type": "structure", + "members": { + "Prefix": { + "target": "com.amazonaws.connect#Prefix", + "traits": { + "smithy.api#documentation": "

                            The prefix of the video stream.

                            ", + "smithy.api#required": {} + } + }, + "RetentionPeriodHours": { + "target": "com.amazonaws.connect#Hours", + "traits": { + "smithy.api#documentation": "

                            The number of hours data is retained in the stream. Kinesis Video Streams retains the data\n in a data store that is associated with the stream.

                            \n \n

                            The default value is 0, indicating that the stream does not persist data.

                            ", + "smithy.api#required": {} + } + }, + "EncryptionConfig": { + "target": "com.amazonaws.connect#EncryptionConfig", + "traits": { + "smithy.api#documentation": "

                            The encryption configuration.

                            ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Configuration information of a Kinesis video stream.

                            " + } + }, + "com.amazonaws.connect#LexBot": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.connect#BotName", + "traits": { + "smithy.api#documentation": "

                            The name of the Amazon Lex bot.

                            " + } + }, + "LexRegion": { + "target": "com.amazonaws.connect#LexRegion", + "traits": { + "smithy.api#documentation": "

                            The Region the Amazon Lex bot was created in.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Configuration information of an Amazon Lex bot.

                            " + } + }, + "com.amazonaws.connect#LexBotsList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#LexBot" + } + }, + "com.amazonaws.connect#LexRegion": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 60 + } + } + }, + "com.amazonaws.connect#LimitExceededException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.connect#Message", + "traits": { + "smithy.api#documentation": "

                            The message.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The allowed limit for the resource has been exceeded.

                            ", + "smithy.api#error": "client", + "smithy.api#httpError": 429 + } + }, + "com.amazonaws.connect#ListApprovedOrigins": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#ListApprovedOriginsRequest" + }, + "output": { + "target": "com.amazonaws.connect#ListApprovedOriginsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Returns a paginated list of all approved origins associated with the instance.

                            ", + "smithy.api#http": { + "method": "GET", + "uri": "/instance/{InstanceId}/approved-origins", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Origins", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.connect#ListApprovedOriginsRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

                            The identifier of the Amazon Connect instance.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.connect#NextToken", + "traits": { + "smithy.api#documentation": "

                            The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

                            ", + "smithy.api#httpQuery": "nextToken" + } + }, + "MaxResults": { + "target": "com.amazonaws.connect#MaxResult25", + "traits": { + "smithy.api#box": {}, + "smithy.api#documentation": "

                            The maximimum number of results to return per page.

                            ", + "smithy.api#httpQuery": "maxResults" + } + } + } + }, + "com.amazonaws.connect#ListApprovedOriginsResponse": { + "type": "structure", + "members": { + "Origins": { + "target": "com.amazonaws.connect#OriginsList", + "traits": { + "smithy.api#documentation": "

                            The approved origins.

                            " + } + }, + "NextToken": { + "target": "com.amazonaws.connect#NextToken", + "traits": { + "smithy.api#documentation": "

                            If there are additional results, this is the token for the next set of results.

                            " + } + } + } + }, + "com.amazonaws.connect#ListContactFlows": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#ListContactFlowsRequest" + }, + "output": { + "target": "com.amazonaws.connect#ListContactFlowsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Provides information about the contact flows for the specified Amazon Connect instance.

                            \n

                            You can also create and update contact flows using the Amazon Connect\n Flow language.

                            \n

                            For more information about contact flows, see Contact Flows in the\n Amazon Connect Administrator Guide.

                            ", + "smithy.api#http": { + "method": "GET", + "uri": "/contact-flows-summary/{InstanceId}", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "ContactFlowSummaryList", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.connect#ListContactFlowsRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

                            The identifier of the Amazon Connect instance.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "ContactFlowTypes": { + "target": "com.amazonaws.connect#ContactFlowTypes", + "traits": { + "smithy.api#documentation": "

                            The type of contact flow.

                            ", + "smithy.api#httpQuery": "contactFlowTypes" + } + }, + "NextToken": { + "target": "com.amazonaws.connect#NextToken", + "traits": { + "smithy.api#documentation": "

                            The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

                            ", + "smithy.api#httpQuery": "nextToken" + } + }, + "MaxResults": { + "target": "com.amazonaws.connect#MaxResult1000", + "traits": { + "smithy.api#documentation": "

                            The maximimum number of results to return per page.

                            ", + "smithy.api#httpQuery": "maxResults" + } + } + } + }, + "com.amazonaws.connect#ListContactFlowsResponse": { + "type": "structure", + "members": { + "ContactFlowSummaryList": { + "target": "com.amazonaws.connect#ContactFlowSummaryList", + "traits": { + "smithy.api#documentation": "

                            Information about the contact flows.

                            " + } + }, + "NextToken": { + "target": "com.amazonaws.connect#NextToken", + "traits": { + "smithy.api#documentation": "

                            If there are additional results, this is the token for the next set of results.

                            " + } + } + } + }, + "com.amazonaws.connect#ListHoursOfOperations": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#ListHoursOfOperationsRequest" + }, + "output": { + "target": "com.amazonaws.connect#ListHoursOfOperationsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Provides information about the hours of operation for the specified Amazon Connect instance.

                            \n

                            For more information about hours of operation, see Set the Hours of Operation for a\n Queue in the Amazon Connect Administrator Guide.

                            ", + "smithy.api#http": { + "method": "GET", + "uri": "/hours-of-operations-summary/{InstanceId}", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "HoursOfOperationSummaryList", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.connect#ListHoursOfOperationsRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

                            The identifier of the Amazon Connect instance.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.connect#NextToken", + "traits": { + "smithy.api#documentation": "

                            The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

                            ", + "smithy.api#httpQuery": "nextToken" + } + }, + "MaxResults": { + "target": "com.amazonaws.connect#MaxResult1000", + "traits": { + "smithy.api#documentation": "

                            The maximimum number of results to return per page.

                            ", + "smithy.api#httpQuery": "maxResults" + } + } + } + }, + "com.amazonaws.connect#ListHoursOfOperationsResponse": { + "type": "structure", + "members": { + "HoursOfOperationSummaryList": { + "target": "com.amazonaws.connect#HoursOfOperationSummaryList", + "traits": { + "smithy.api#documentation": "

                            Information about the hours of operation.

                            " + } + }, + "NextToken": { + "target": "com.amazonaws.connect#NextToken", + "traits": { + "smithy.api#documentation": "

                            If there are additional results, this is the token for the next set of results.

                            " + } + } + } + }, + "com.amazonaws.connect#ListInstanceAttributes": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#ListInstanceAttributesRequest" + }, + "output": { + "target": "com.amazonaws.connect#ListInstanceAttributesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Returns a paginated list of all attribute types for the given instance.

                            ", + "smithy.api#http": { + "method": "GET", + "uri": "/instance/{InstanceId}/attributes", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Attributes", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.connect#ListInstanceAttributesRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

                            The identifier of the Amazon Connect instance.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.connect#NextToken", + "traits": { + "smithy.api#documentation": "

                            The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

                            ", + "smithy.api#httpQuery": "nextToken" + } + }, + "MaxResults": { + "target": "com.amazonaws.connect#MaxResult7", + "traits": { + "smithy.api#box": {}, + "smithy.api#documentation": "

                            The maximimum number of results to return per page.

                            ", + "smithy.api#httpQuery": "maxResults" + } + } + } + }, + "com.amazonaws.connect#ListInstanceAttributesResponse": { + "type": "structure", + "members": { + "Attributes": { + "target": "com.amazonaws.connect#AttributesList", + "traits": { + "smithy.api#documentation": "

                            The attribute types.

                            " + } + }, + "NextToken": { + "target": "com.amazonaws.connect#NextToken", + "traits": { + "smithy.api#documentation": "

                            If there are additional results, this is the token for the next set of results.

                            " + } + } + } + }, + "com.amazonaws.connect#ListInstanceStorageConfigs": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#ListInstanceStorageConfigsRequest" + }, + "output": { + "target": "com.amazonaws.connect#ListInstanceStorageConfigsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Returns a paginated list of storage configs for the identified instance and resource\n type.

                            ", + "smithy.api#http": { + "method": "GET", + "uri": "/instance/{InstanceId}/storage-configs", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "StorageConfigs", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.connect#ListInstanceStorageConfigsRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", "traits": { - "smithy.api#documentation": "

                            The identifier of the hours of operation.

                            " + "smithy.api#documentation": "

                            The identifier of the Amazon Connect instance.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, - "Arn": { - "target": "com.amazonaws.connect#ARN", + "ResourceType": { + "target": "com.amazonaws.connect#InstanceStorageResourceType", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the hours of operation.

                            " + "smithy.api#documentation": "

                            A valid resource type.

                            ", + "smithy.api#httpQuery": "resourceType", + "smithy.api#required": {} } }, - "Name": { - "target": "com.amazonaws.connect#HoursOfOperationName", + "NextToken": { + "target": "com.amazonaws.connect#NextToken", "traits": { - "smithy.api#documentation": "

                            The name of the hours of operation.

                            " + "smithy.api#documentation": "

                            The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

                            ", + "smithy.api#httpQuery": "nextToken" } - } - }, - "traits": { - "smithy.api#documentation": "

                            Contains summary information about hours of operation for a contact center.

                            " - } - }, - "com.amazonaws.connect#HoursOfOperationSummaryList": { - "type": "list", - "member": { - "target": "com.amazonaws.connect#HoursOfOperationSummary" - } - }, - "com.amazonaws.connect#InstanceId": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 100 - } - } - }, - "com.amazonaws.connect#InternalServiceException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.connect#Message", + }, + "MaxResults": { + "target": "com.amazonaws.connect#MaxResult10", "traits": { - "smithy.api#documentation": "

                            The message.

                            " + "smithy.api#box": {}, + "smithy.api#documentation": "

                            The maximimum number of results to return per page.

                            ", + "smithy.api#httpQuery": "maxResults" } } - }, - "traits": { - "smithy.api#documentation": "

                            Request processing failed due to an error or failure with the service.

                            ", - "smithy.api#error": "server", - "smithy.api#httpError": 500 } }, - "com.amazonaws.connect#InvalidContactFlowException": { + "com.amazonaws.connect#ListInstanceStorageConfigsResponse": { "type": "structure", "members": { - "problems": { - "target": "com.amazonaws.connect#Problems", + "StorageConfigs": { + "target": "com.amazonaws.connect#InstanceStorageConfigs", "traits": { - "smithy.api#documentation": "

                            The problems with the contact flow. Please fix before trying again.

                            " + "smithy.api#documentation": "

                            A valid storage type.

                            " } - } - }, - "traits": { - "smithy.api#documentation": "

                            The contact flow is not valid.

                            ", - "smithy.api#error": "client", - "smithy.api#httpError": 400 - } - }, - "com.amazonaws.connect#InvalidParameterException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.connect#Message", + }, + "NextToken": { + "target": "com.amazonaws.connect#NextToken", "traits": { - "smithy.api#documentation": "

                            The message.

                            " + "smithy.api#documentation": "

                            If there are additional results, this is the token for the next set of results.

                            " } } + } + }, + "com.amazonaws.connect#ListInstances": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#ListInstancesRequest" + }, + "output": { + "target": "com.amazonaws.connect#ListInstancesResponse" }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + } + ], "traits": { - "smithy.api#documentation": "

                            One or more of the specified parameters are not valid.

                            ", - "smithy.api#error": "client", - "smithy.api#httpError": 400 + "smithy.api#documentation": "

                            Return a list of instances which are in active state, creation-in-progress state, and failed\n state. Instances that aren't successfully created (they are in a failed state) are returned only\n for 24 hours after the CreateInstance API was invoked.

                            ", + "smithy.api#http": { + "method": "GET", + "uri": "/instance", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "InstanceSummaryList", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.connect#InvalidRequestException": { + "com.amazonaws.connect#ListInstancesRequest": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.connect#Message", + "NextToken": { + "target": "com.amazonaws.connect#NextToken", "traits": { - "smithy.api#documentation": "

                            The message.

                            " + "smithy.api#documentation": "

                            The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

                            ", + "smithy.api#httpQuery": "nextToken" + } + }, + "MaxResults": { + "target": "com.amazonaws.connect#MaxResult10", + "traits": { + "smithy.api#box": {}, + "smithy.api#documentation": "

                            The maximimum number of results to return per page.

                            ", + "smithy.api#httpQuery": "maxResults" } } - }, - "traits": { - "smithy.api#documentation": "

                            The request is not valid.

                            ", - "smithy.api#error": "client", - "smithy.api#httpError": 400 } }, - "com.amazonaws.connect#LimitExceededException": { + "com.amazonaws.connect#ListInstancesResponse": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.connect#Message", + "InstanceSummaryList": { + "target": "com.amazonaws.connect#InstanceSummaryList", "traits": { - "smithy.api#documentation": "

                            The message.

                            " + "smithy.api#documentation": "

                            Information about the instances.

                            " + } + }, + "NextToken": { + "target": "com.amazonaws.connect#NextToken", + "traits": { + "smithy.api#documentation": "

                            If there are additional results, this is the token for the next set of results.

                            " } } - }, - "traits": { - "smithy.api#documentation": "

                            The allowed limit for the resource has been exceeded.

                            ", - "smithy.api#error": "client", - "smithy.api#httpError": 429 } }, - "com.amazonaws.connect#ListContactFlows": { + "com.amazonaws.connect#ListLambdaFunctions": { "type": "operation", "input": { - "target": "com.amazonaws.connect#ListContactFlowsRequest" + "target": "com.amazonaws.connect#ListLambdaFunctionsRequest" }, "output": { - "target": "com.amazonaws.connect#ListContactFlowsResponse" + "target": "com.amazonaws.connect#ListLambdaFunctionsResponse" }, "errors": [ { @@ -2772,21 +4822,21 @@ } ], "traits": { - "smithy.api#documentation": "

                            Provides information about the contact flows for the specified Amazon Connect instance.

                            \n

                            You can also create and update contact flows using the Amazon Connect\n Flow language.

                            \n

                            For more information about contact flows, see Contact Flows in the\n Amazon Connect Administrator Guide.

                            ", + "smithy.api#documentation": "

                            Returns a paginated list of all the Lambda functions that show up in the drop-down options in the relevant contact flow blocks.

                            ", "smithy.api#http": { "method": "GET", - "uri": "/contact-flows-summary/{InstanceId}", + "uri": "/instance/{InstanceId}/lambda-functions", "code": 200 }, "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "ContactFlowSummaryList", + "items": "LambdaFunctions", "pageSize": "MaxResults" } } }, - "com.amazonaws.connect#ListContactFlowsRequest": { + "com.amazonaws.connect#ListLambdaFunctionsRequest": { "type": "structure", "members": { "InstanceId": { @@ -2797,13 +4847,6 @@ "smithy.api#required": {} } }, - "ContactFlowTypes": { - "target": "com.amazonaws.connect#ContactFlowTypes", - "traits": { - "smithy.api#documentation": "

                            The type of contact flow.

                            ", - "smithy.api#httpQuery": "contactFlowTypes" - } - }, "NextToken": { "target": "com.amazonaws.connect#NextToken", "traits": { @@ -2812,21 +4855,22 @@ } }, "MaxResults": { - "target": "com.amazonaws.connect#MaxResult1000", + "target": "com.amazonaws.connect#MaxResult25", "traits": { + "smithy.api#box": {}, "smithy.api#documentation": "

                            The maximimum number of results to return per page.

                            ", "smithy.api#httpQuery": "maxResults" } } } }, - "com.amazonaws.connect#ListContactFlowsResponse": { + "com.amazonaws.connect#ListLambdaFunctionsResponse": { "type": "structure", "members": { - "ContactFlowSummaryList": { - "target": "com.amazonaws.connect#ContactFlowSummaryList", + "LambdaFunctions": { + "target": "com.amazonaws.connect#FunctionArnsList", "traits": { - "smithy.api#documentation": "

                            Information about the contact flows.

                            " + "smithy.api#documentation": "

                            The Lambdafunction ARNs associated with the specified instance.

                            " } }, "NextToken": { @@ -2837,13 +4881,13 @@ } } }, - "com.amazonaws.connect#ListHoursOfOperations": { + "com.amazonaws.connect#ListLexBots": { "type": "operation", "input": { - "target": "com.amazonaws.connect#ListHoursOfOperationsRequest" + "target": "com.amazonaws.connect#ListLexBotsRequest" }, "output": { - "target": "com.amazonaws.connect#ListHoursOfOperationsResponse" + "target": "com.amazonaws.connect#ListLexBotsResponse" }, "errors": [ { @@ -2863,21 +4907,21 @@ } ], "traits": { - "smithy.api#documentation": "

                            Provides information about the hours of operation for the specified Amazon Connect instance.

                            \n

                            For more information about hours of operation, see Set the Hours of Operation for a\n Queue in the Amazon Connect Administrator Guide.

                            ", + "smithy.api#documentation": "

                            Returns a paginated list of all the Amazon Lex bots currently associated with the instance.

                            ", "smithy.api#http": { "method": "GET", - "uri": "/hours-of-operations-summary/{InstanceId}", + "uri": "/instance/{InstanceId}/lex-bots", "code": 200 }, "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "HoursOfOperationSummaryList", + "items": "LexBots", "pageSize": "MaxResults" } } }, - "com.amazonaws.connect#ListHoursOfOperationsRequest": { + "com.amazonaws.connect#ListLexBotsRequest": { "type": "structure", "members": { "InstanceId": { @@ -2896,21 +4940,22 @@ } }, "MaxResults": { - "target": "com.amazonaws.connect#MaxResult1000", + "target": "com.amazonaws.connect#MaxResult25", "traits": { + "smithy.api#box": {}, "smithy.api#documentation": "

                            The maximimum number of results to return per page.

                            ", "smithy.api#httpQuery": "maxResults" } } } }, - "com.amazonaws.connect#ListHoursOfOperationsResponse": { + "com.amazonaws.connect#ListLexBotsResponse": { "type": "structure", "members": { - "HoursOfOperationSummaryList": { - "target": "com.amazonaws.connect#HoursOfOperationSummaryList", + "LexBots": { + "target": "com.amazonaws.connect#LexBotsList", "traits": { - "smithy.api#documentation": "

                            Information about the hours of operation.

                            " + "smithy.api#documentation": "

                            The the names and regions of the Amazon Lex bots associated with the specified instance.

                            " } }, "NextToken": { @@ -3283,18 +5328,103 @@ "RoutingProfileQueueConfigSummaryList": { "target": "com.amazonaws.connect#RoutingProfileQueueConfigSummaryList", "traits": { - "smithy.api#documentation": "

                            Information about the routing profiles.

                            " + "smithy.api#documentation": "

                            Information about the routing profiles.

                            " + } + } + } + }, + "com.amazonaws.connect#ListRoutingProfiles": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#ListRoutingProfilesRequest" + }, + "output": { + "target": "com.amazonaws.connect#ListRoutingProfilesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Provides summary information about the routing profiles for the specified Amazon Connect\n instance.

                            \n

                            For more information about routing profiles, see Routing Profiles and Create a Routing\n Profile in the Amazon Connect Administrator Guide.

                            ", + "smithy.api#http": { + "method": "GET", + "uri": "/routing-profiles-summary/{InstanceId}", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "RoutingProfileSummaryList", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.connect#ListRoutingProfilesRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

                            The identifier of the Amazon Connect instance.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.connect#NextToken", + "traits": { + "smithy.api#documentation": "

                            The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

                            ", + "smithy.api#httpQuery": "nextToken" + } + }, + "MaxResults": { + "target": "com.amazonaws.connect#MaxResult1000", + "traits": { + "smithy.api#box": {}, + "smithy.api#documentation": "

                            The maximimum number of results to return per page.

                            ", + "smithy.api#httpQuery": "maxResults" + } + } + } + }, + "com.amazonaws.connect#ListRoutingProfilesResponse": { + "type": "structure", + "members": { + "RoutingProfileSummaryList": { + "target": "com.amazonaws.connect#RoutingProfileSummaryList", + "traits": { + "smithy.api#documentation": "

                            Information about the routing profiles.

                            " + } + }, + "NextToken": { + "target": "com.amazonaws.connect#NextToken", + "traits": { + "smithy.api#documentation": "

                            If there are additional results, this is the token for the next set of results.

                            " } } } }, - "com.amazonaws.connect#ListRoutingProfiles": { + "com.amazonaws.connect#ListSecurityKeys": { "type": "operation", "input": { - "target": "com.amazonaws.connect#ListRoutingProfilesRequest" + "target": "com.amazonaws.connect#ListSecurityKeysRequest" }, "output": { - "target": "com.amazonaws.connect#ListRoutingProfilesResponse" + "target": "com.amazonaws.connect#ListSecurityKeysResponse" }, "errors": [ { @@ -3314,21 +5444,21 @@ } ], "traits": { - "smithy.api#documentation": "

                            Provides summary information about the routing profiles for the specified Amazon Connect\n instance.

                            \n

                            For more information about routing profiles, see Routing Profiles and Create a Routing\n Profile in the Amazon Connect Administrator Guide.

                            ", + "smithy.api#documentation": "

                            Returns a paginated list of all security keys associated with the instance.

                            ", "smithy.api#http": { "method": "GET", - "uri": "/routing-profiles-summary/{InstanceId}", + "uri": "/instance/{InstanceId}/security-keys", "code": 200 }, "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "RoutingProfileSummaryList", + "items": "SecurityKeys", "pageSize": "MaxResults" } } }, - "com.amazonaws.connect#ListRoutingProfilesRequest": { + "com.amazonaws.connect#ListSecurityKeysRequest": { "type": "structure", "members": { "InstanceId": { @@ -3347,7 +5477,7 @@ } }, "MaxResults": { - "target": "com.amazonaws.connect#MaxResult1000", + "target": "com.amazonaws.connect#MaxResult2", "traits": { "smithy.api#box": {}, "smithy.api#documentation": "

                            The maximimum number of results to return per page.

                            ", @@ -3356,13 +5486,13 @@ } } }, - "com.amazonaws.connect#ListRoutingProfilesResponse": { + "com.amazonaws.connect#ListSecurityKeysResponse": { "type": "structure", "members": { - "RoutingProfileSummaryList": { - "target": "com.amazonaws.connect#RoutingProfileSummaryList", + "SecurityKeys": { + "target": "com.amazonaws.connect#SecurityKeysList", "traits": { - "smithy.api#documentation": "

                            Information about the routing profiles.

                            " + "smithy.api#documentation": "

                            The security keys.

                            " } }, "NextToken": { @@ -3686,6 +5816,15 @@ } } }, + "com.amazonaws.connect#MaxResult10": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 10 + } + } + }, "com.amazonaws.connect#MaxResult100": { "type": "integer", "traits": { @@ -3704,6 +5843,33 @@ } } }, + "com.amazonaws.connect#MaxResult2": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 2 + } + } + }, + "com.amazonaws.connect#MaxResult25": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 25 + } + } + }, + "com.amazonaws.connect#MaxResult7": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 7 + } + } + }, "com.amazonaws.connect#MediaConcurrencies": { "type": "list", "member": { @@ -3738,6 +5904,27 @@ "com.amazonaws.connect#NextToken": { "type": "string" }, + "com.amazonaws.connect#Origin": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 267 + } + } + }, + "com.amazonaws.connect#OriginsList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#Origin" + } + }, + "com.amazonaws.connect#OutboundCallsEnabled": { + "type": "boolean", + "traits": { + "smithy.api#box": {} + } + }, "com.amazonaws.connect#OutboundContactNotPermittedException": { "type": "structure", "members": { @@ -3754,6 +5941,15 @@ "smithy.api#httpError": 403 } }, + "com.amazonaws.connect#PEM": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + } + } + }, "com.amazonaws.connect#ParticipantDetails": { "type": "structure", "members": { @@ -4852,6 +7048,15 @@ ] } }, + "com.amazonaws.connect#Prefix": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + } + } + }, "com.amazonaws.connect#Priority": { "type": "integer", "traits": { @@ -5055,6 +7260,19 @@ } } }, + "com.amazonaws.connect#ResourceConflictException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.connect#Message" + } + }, + "traits": { + "smithy.api#documentation": "

                            A resource already has that name.

                            ", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, "com.amazonaws.connect#ResourceInUseException": { "type": "structure", "members": { @@ -5425,6 +7643,66 @@ "target": "com.amazonaws.connect#RoutingProfileSummary" } }, + "com.amazonaws.connect#S3Config": { + "type": "structure", + "members": { + "BucketName": { + "target": "com.amazonaws.connect#BucketName", + "traits": { + "smithy.api#documentation": "

                            The S3 bucket name.

                            ", + "smithy.api#required": {} + } + }, + "BucketPrefix": { + "target": "com.amazonaws.connect#Prefix", + "traits": { + "smithy.api#documentation": "

                            The S3 bucket prefix.

                            ", + "smithy.api#required": {} + } + }, + "EncryptionConfig": { + "target": "com.amazonaws.connect#EncryptionConfig", + "traits": { + "smithy.api#documentation": "

                            The S3 encryption configuration.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Information about the S3 storage type.

                            " + } + }, + "com.amazonaws.connect#SecurityKey": { + "type": "structure", + "members": { + "AssociationId": { + "target": "com.amazonaws.connect#AssociationId", + "traits": { + "smithy.api#documentation": "

                            The existing association identifier that uniquely identifies the resource type and storage config for the given instance ID.

                            " + } + }, + "Key": { + "target": "com.amazonaws.connect#PEM", + "traits": { + "smithy.api#documentation": "

                            The key of the security key.

                            " + } + }, + "CreationTime": { + "target": "com.amazonaws.connect#Timestamp", + "traits": { + "smithy.api#documentation": "

                            When the security key was created.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Configuration information of the security key.

                            " + } + }, + "com.amazonaws.connect#SecurityKeysList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#SecurityKey" + } + }, "com.amazonaws.connect#SecurityProfileId": { "type": "string" }, @@ -5481,6 +7759,19 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.connect#ServiceQuotaExceededException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.connect#Message" + } + }, + "traits": { + "smithy.api#documentation": "

                            The service quota has been exceeded.

                            ", + "smithy.api#error": "client", + "smithy.api#httpError": 402 + } + }, "com.amazonaws.connect#StartChatContact": { "type": "operation", "input": { @@ -5887,6 +8178,32 @@ "type": "structure", "members": {} }, + "com.amazonaws.connect#StorageType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "S3", + "name": "S3" + }, + { + "value": "KINESIS_VIDEO_STREAM", + "name": "KINESIS_VIDEO_STREAM" + }, + { + "value": "KINESIS_STREAM", + "name": "KINESIS_STREAM" + }, + { + "value": "KINESIS_FIREHOSE", + "name": "KINESIS_FIREHOSE" + } + ] + } + }, + "com.amazonaws.connect#String": { + "type": "string" + }, "com.amazonaws.connect#SuspendContactRecording": { "type": "operation", "input": { @@ -6082,6 +8399,9 @@ "smithy.api#httpError": 429 } }, + "com.amazonaws.connect#Timestamp": { + "type": "timestamp" + }, "com.amazonaws.connect#Unit": { "type": "string", "traits": { @@ -6343,6 +8663,131 @@ } } }, + "com.amazonaws.connect#UpdateInstanceAttribute": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#UpdateInstanceAttributeRequest" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Updates the value for the specified attribute type.

                            ", + "smithy.api#http": { + "method": "POST", + "uri": "/instance/{InstanceId}/attribute/{AttributeType}", + "code": 200 + } + } + }, + "com.amazonaws.connect#UpdateInstanceAttributeRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

                            The identifier of the Amazon Connect instance.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "AttributeType": { + "target": "com.amazonaws.connect#InstanceAttributeType", + "traits": { + "smithy.api#documentation": "

                            The type of attribute.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Value": { + "target": "com.amazonaws.connect#InstanceAttributeValue", + "traits": { + "smithy.api#documentation": "

                            The value for the attribute. Maximum character limit is 100.

                            ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.connect#UpdateInstanceStorageConfig": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#UpdateInstanceStorageConfigRequest" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Updates an existing configuration for a resource type. This API is idempotent.

                            ", + "smithy.api#http": { + "method": "POST", + "uri": "/instance/{InstanceId}/storage-config/{AssociationId}", + "code": 200 + } + } + }, + "com.amazonaws.connect#UpdateInstanceStorageConfigRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

                            The identifier of the Amazon Connect instance.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "AssociationId": { + "target": "com.amazonaws.connect#AssociationId", + "traits": { + "smithy.api#documentation": "

                            The existing association identifier that uniquely identifies the resource type and storage config for the given instance ID.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "ResourceType": { + "target": "com.amazonaws.connect#InstanceStorageResourceType", + "traits": { + "smithy.api#documentation": "

                            A valid resource type.

                            ", + "smithy.api#httpQuery": "resourceType", + "smithy.api#required": {} + } + }, + "StorageConfig": { + "target": "com.amazonaws.connect#InstanceStorageConfig", + "traits": { + "smithy.api#required": {} + } + } + } + }, "com.amazonaws.connect#UpdateRoutingProfileConcurrency": { "type": "operation", "input": { @@ -7210,9 +9655,6 @@ } ] } - }, - "com.amazonaws.connect#timestamp": { - "type": "timestamp" } } } diff --git a/codegen/sdk-codegen/aws-models/cost-explorer.2017-10-25.json b/codegen/sdk-codegen/aws-models/cost-explorer.2017-10-25.json index ddb66a7cdfb0..df2504d637f9 100644 --- a/codegen/sdk-codegen/aws-models/cost-explorer.2017-10-25.json +++ b/codegen/sdk-codegen/aws-models/cost-explorer.2017-10-25.json @@ -166,10 +166,17 @@ "com.amazonaws.costexplorer#Anomaly": { "type": "structure", "members": { - "DimensionValue": { + "AnomalyId": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            \n The dimension for the anomaly. For example, an AWS service in a service monitor.\n

                            " + "smithy.api#documentation": "

                            \n The unique identifier for the anomaly.\n

                            ", + "smithy.api#required": {} + } + }, + "AnomalyStartDate": { + "target": "com.amazonaws.costexplorer#YearMonthDay", + "traits": { + "smithy.api#documentation": "

                            \n The first day the anomaly is detected.\n

                            " } }, "AnomalyEndDate": { @@ -178,11 +185,10 @@ "smithy.api#documentation": "

                            \n The last day the anomaly is detected.\n

                            " } }, - "MonitorArn": { + "DimensionValue": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) for the cost monitor that generated this anomaly.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            \n The dimension for the anomaly. For example, an AWS service in a service monitor.\n

                            " } }, "RootCauses": { @@ -191,18 +197,6 @@ "smithy.api#documentation": "

                            \n The list of identified root causes for the anomaly.\n

                            " } }, - "AnomalyStartDate": { - "target": "com.amazonaws.costexplorer#YearMonthDay", - "traits": { - "smithy.api#documentation": "

                            \n The first day the anomaly is detected.\n

                            " - } - }, - "Feedback": { - "target": "com.amazonaws.costexplorer#AnomalyFeedbackType", - "traits": { - "smithy.api#documentation": "

                            \n The feedback value.\n

                            " - } - }, "AnomalyScore": { "target": "com.amazonaws.costexplorer#AnomalyScore", "traits": { @@ -217,12 +211,18 @@ "smithy.api#required": {} } }, - "AnomalyId": { + "MonitorArn": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            \n The unique identifier for the anomaly.\n

                            ", + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) for the cost monitor that generated this anomaly.

                            ", "smithy.api#required": {} } + }, + "Feedback": { + "target": "com.amazonaws.costexplorer#AnomalyFeedbackType", + "traits": { + "smithy.api#documentation": "

                            \n The feedback value.\n

                            " + } } }, "traits": { @@ -272,6 +272,12 @@ "com.amazonaws.costexplorer#AnomalyMonitor": { "type": "structure", "members": { + "MonitorArn": { + "target": "com.amazonaws.costexplorer#GenericString", + "traits": { + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) value.

                            " + } + }, "MonitorName": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { @@ -279,20 +285,16 @@ "smithy.api#required": {} } }, - "MonitorSpecification": { - "target": "com.amazonaws.costexplorer#Expression" - }, - "MonitorType": { - "target": "com.amazonaws.costexplorer#MonitorType", + "CreationDate": { + "target": "com.amazonaws.costexplorer#YearMonthDay", "traits": { - "smithy.api#documentation": "

                            \n The possible type values.\n

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            \n The date when the monitor was created.\n

                            " } }, - "MonitorDimension": { - "target": "com.amazonaws.costexplorer#MonitorDimension", + "LastUpdatedDate": { + "target": "com.amazonaws.costexplorer#YearMonthDay", "traits": { - "smithy.api#documentation": "

                            \n The dimensions to evaluate.\n

                            " + "smithy.api#documentation": "

                            \n The date when the monitor was last updated.\n

                            " } }, "LastEvaluatedDate": { @@ -301,28 +303,26 @@ "smithy.api#documentation": "

                            \n The date when the monitor last evaluated for anomalies.\n

                            " } }, - "LastUpdatedDate": { - "target": "com.amazonaws.costexplorer#YearMonthDay", + "MonitorType": { + "target": "com.amazonaws.costexplorer#MonitorType", "traits": { - "smithy.api#documentation": "

                            \n The date when the monitor was last updated.\n

                            " + "smithy.api#documentation": "

                            \n The possible type values.\n

                            ", + "smithy.api#required": {} } }, - "DimensionalValueCount": { - "target": "com.amazonaws.costexplorer#NonNegativeInteger", + "MonitorDimension": { + "target": "com.amazonaws.costexplorer#MonitorDimension", "traits": { - "smithy.api#documentation": "

                            \n The value for evaluated dimensions.\n

                            " + "smithy.api#documentation": "

                            \n The dimensions to evaluate.\n

                            " } }, - "MonitorArn": { - "target": "com.amazonaws.costexplorer#GenericString", - "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) value.

                            " - } + "MonitorSpecification": { + "target": "com.amazonaws.costexplorer#Expression" }, - "CreationDate": { - "target": "com.amazonaws.costexplorer#YearMonthDay", + "DimensionalValueCount": { + "target": "com.amazonaws.costexplorer#NonNegativeInteger", "traits": { - "smithy.api#documentation": "

                            \n The date when the monitor was created.\n

                            " + "smithy.api#documentation": "

                            \n The value for evaluated dimensions.\n

                            " } } }, @@ -339,17 +339,17 @@ "com.amazonaws.costexplorer#AnomalyScore": { "type": "structure", "members": { - "CurrentScore": { + "MaxScore": { "target": "com.amazonaws.costexplorer#GenericDouble", "traits": { - "smithy.api#documentation": "

                            \n The last observed score.\n

                            ", + "smithy.api#documentation": "

                            \n The maximum score observed during the AnomalyDateInterval.\n

                            ", "smithy.api#required": {} } }, - "MaxScore": { + "CurrentScore": { "target": "com.amazonaws.costexplorer#GenericDouble", "traits": { - "smithy.api#documentation": "

                            \n The maximum score observed during the AnomalyDateInterval.\n

                            ", + "smithy.api#documentation": "

                            \n The last observed score.\n

                            ", "smithy.api#required": {} } } @@ -361,24 +361,23 @@ "com.amazonaws.costexplorer#AnomalySubscription": { "type": "structure", "members": { - "SubscriptionName": { + "SubscriptionArn": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            \n The name for the subscription.\n

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The AnomalySubscription Amazon Resource Name (ARN).

                            " } }, - "Threshold": { - "target": "com.amazonaws.costexplorer#NullableNonNegativeDouble", + "AccountId": { + "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            \n The dollar value that triggers a notification if the threshold is exceeded.\n

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            \n Your unique account identifier.\n

                            " } }, - "SubscriptionArn": { - "target": "com.amazonaws.costexplorer#GenericString", + "MonitorArnList": { + "target": "com.amazonaws.costexplorer#Values", "traits": { - "smithy.api#documentation": "

                            The AnomalySubscription Amazon Resource Name (ARN).

                            " + "smithy.api#documentation": "

                            \n A list of cost anomaly monitors.\n

                            ", + "smithy.api#required": {} } }, "Subscribers": { @@ -388,24 +387,25 @@ "smithy.api#required": {} } }, - "Frequency": { - "target": "com.amazonaws.costexplorer#AnomalySubscriptionFrequency", + "Threshold": { + "target": "com.amazonaws.costexplorer#NullableNonNegativeDouble", "traits": { - "smithy.api#documentation": "

                            \n The frequency at which anomaly reports are sent over email.\n

                            ", + "smithy.api#documentation": "

                            \n The dollar value that triggers a notification if the threshold is exceeded.\n

                            ", "smithy.api#required": {} } }, - "MonitorArnList": { - "target": "com.amazonaws.costexplorer#Values", + "Frequency": { + "target": "com.amazonaws.costexplorer#AnomalySubscriptionFrequency", "traits": { - "smithy.api#documentation": "

                            \n A list of cost anomaly monitors.\n

                            ", + "smithy.api#documentation": "

                            \n The frequency at which anomaly reports are sent over email.\n

                            ", "smithy.api#required": {} } }, - "AccountId": { + "SubscriptionName": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            \n Your unique account identifier.\n

                            " + "smithy.api#documentation": "

                            \n The name for the subscription.\n

                            ", + "smithy.api#required": {} } } }, @@ -497,10 +497,17 @@ "com.amazonaws.costexplorer#CostCategory": { "type": "structure", "members": { - "Rules": { - "target": "com.amazonaws.costexplorer#CostCategoryRulesList", + "CostCategoryArn": { + "target": "com.amazonaws.costexplorer#Arn", "traits": { - "smithy.api#documentation": "

                            \n Rules are processed in order. If there are multiple rules that match the line item, then the first rule to match is used to determine that Cost Category value.\n

                            ", + "smithy.api#documentation": "

                            \n The unique identifier for your Cost Category.\n

                            ", + "smithy.api#required": {} + } + }, + "EffectiveStart": { + "target": "com.amazonaws.costexplorer#ZonedDateTime", + "traits": { + "smithy.api#documentation": "

                            \n The Cost Category's effective start date.

                            ", "smithy.api#required": {} } }, @@ -510,10 +517,9 @@ "smithy.api#documentation": "

                            \n The Cost Category's effective end date.

                            " } }, - "CostCategoryArn": { - "target": "com.amazonaws.costexplorer#Arn", + "Name": { + "target": "com.amazonaws.costexplorer#CostCategoryName", "traits": { - "smithy.api#documentation": "

                            \n The unique identifier for your Cost Category.\n

                            ", "smithy.api#required": {} } }, @@ -523,9 +529,10 @@ "smithy.api#required": {} } }, - "Name": { - "target": "com.amazonaws.costexplorer#CostCategoryName", + "Rules": { + "target": "com.amazonaws.costexplorer#CostCategoryRulesList", "traits": { + "smithy.api#documentation": "

                            \n Rules are processed in order. If there are multiple rules that match the line item, then the first rule to match is used to determine that Cost Category value.\n

                            ", "smithy.api#required": {} } }, @@ -534,13 +541,6 @@ "traits": { "smithy.api#documentation": "

                            \n The list of processing statuses for Cost Management products for a specific cost category.\n

                            " } - }, - "EffectiveStart": { - "target": "com.amazonaws.costexplorer#ZonedDateTime", - "traits": { - "smithy.api#documentation": "

                            \n The Cost Category's effective start date.

                            ", - "smithy.api#required": {} - } } }, "traits": { @@ -596,22 +596,25 @@ "com.amazonaws.costexplorer#CostCategoryReference": { "type": "structure", "members": { - "ProcessingStatus": { - "target": "com.amazonaws.costexplorer#CostCategoryProcessingStatusList", - "traits": { - "smithy.api#documentation": "

                            \n The list of processing statuses for Cost Management products for a specific cost category.\n

                            " - } - }, "CostCategoryArn": { "target": "com.amazonaws.costexplorer#Arn", "traits": { "smithy.api#documentation": "

                            \n The unique identifier for your Cost Category.\n

                            " } }, - "Values": { - "target": "com.amazonaws.costexplorer#CostCategoryValuesList", + "Name": { + "target": "com.amazonaws.costexplorer#CostCategoryName" + }, + "EffectiveStart": { + "target": "com.amazonaws.costexplorer#ZonedDateTime", "traits": { - "smithy.api#documentation": "

                            \n A list of unique cost category values in a specific cost category.\n

                            " + "smithy.api#documentation": "

                            \n The Cost Category's effective start date.

                            " + } + }, + "EffectiveEnd": { + "target": "com.amazonaws.costexplorer#ZonedDateTime", + "traits": { + "smithy.api#documentation": "

                            \n The Cost Category's effective end date.

                            " } }, "NumberOfRules": { @@ -620,19 +623,16 @@ "smithy.api#documentation": "

                            \n The number of rules associated with a specific Cost Category.\n

                            " } }, - "EffectiveEnd": { - "target": "com.amazonaws.costexplorer#ZonedDateTime", + "ProcessingStatus": { + "target": "com.amazonaws.costexplorer#CostCategoryProcessingStatusList", "traits": { - "smithy.api#documentation": "

                            \n The Cost Category's effective end date.

                            " + "smithy.api#documentation": "

                            \n The list of processing statuses for Cost Management products for a specific cost category.\n

                            " } }, - "Name": { - "target": "com.amazonaws.costexplorer#CostCategoryName" - }, - "EffectiveStart": { - "target": "com.amazonaws.costexplorer#ZonedDateTime", + "Values": { + "target": "com.amazonaws.costexplorer#CostCategoryValuesList", "traits": { - "smithy.api#documentation": "

                            \n The Cost Category's effective start date.

                            " + "smithy.api#documentation": "

                            \n A list of unique cost category values in a specific cost category.\n

                            " } } }, @@ -731,6 +731,9 @@ "com.amazonaws.costexplorer#CostCategoryValues": { "type": "structure", "members": { + "Key": { + "target": "com.amazonaws.costexplorer#CostCategoryName" + }, "Values": { "target": "com.amazonaws.costexplorer#Values", "traits": { @@ -742,9 +745,6 @@ "traits": { "smithy.api#documentation": "

                            \n The match options that you can use to filter your results. MatchOptions is only applicable for only applicable for actions related to cost category. The default values for MatchOptions is EQUALS and CASE_SENSITIVE.\n

                            " } - }, - "Key": { - "target": "com.amazonaws.costexplorer#CostCategoryName" } }, "traits": { @@ -760,18 +760,18 @@ "com.amazonaws.costexplorer#Coverage": { "type": "structure", "members": { - "CoverageNormalizedUnits": { - "target": "com.amazonaws.costexplorer#CoverageNormalizedUnits", - "traits": { - "smithy.api#documentation": "

                            The amount of instance usage that the reservation covered, in normalized\n units.

                            " - } - }, "CoverageHours": { "target": "com.amazonaws.costexplorer#CoverageHours", "traits": { "smithy.api#documentation": "

                            The amount of instance usage that the reservation covered, in hours.

                            " } }, + "CoverageNormalizedUnits": { + "target": "com.amazonaws.costexplorer#CoverageNormalizedUnits", + "traits": { + "smithy.api#documentation": "

                            The amount of instance usage that the reservation covered, in normalized\n units.

                            " + } + }, "CoverageCost": { "target": "com.amazonaws.costexplorer#CoverageCost", "traits": { @@ -826,16 +826,10 @@ "com.amazonaws.costexplorer#CoverageHours": { "type": "structure", "members": { - "TotalRunningHours": { - "target": "com.amazonaws.costexplorer#TotalRunningHours", - "traits": { - "smithy.api#documentation": "

                            The total instance usage, in hours.

                            " - } - }, - "CoverageHoursPercentage": { - "target": "com.amazonaws.costexplorer#CoverageHoursPercentage", + "OnDemandHours": { + "target": "com.amazonaws.costexplorer#OnDemandHours", "traits": { - "smithy.api#documentation": "

                            The percentage of instance hours that a reservation covered.

                            " + "smithy.api#documentation": "

                            The number of instance running hours that On-Demand Instances covered.

                            " } }, "ReservedHours": { @@ -844,10 +838,16 @@ "smithy.api#documentation": "

                            The number of instance running hours that reservations covered.

                            " } }, - "OnDemandHours": { - "target": "com.amazonaws.costexplorer#OnDemandHours", + "TotalRunningHours": { + "target": "com.amazonaws.costexplorer#TotalRunningHours", "traits": { - "smithy.api#documentation": "

                            The number of instance running hours that On-Demand Instances covered.

                            " + "smithy.api#documentation": "

                            The total instance usage, in hours.

                            " + } + }, + "CoverageHoursPercentage": { + "target": "com.amazonaws.costexplorer#CoverageHoursPercentage", + "traits": { + "smithy.api#documentation": "

                            The percentage of instance hours that a reservation covered.

                            " } } }, @@ -861,10 +861,10 @@ "com.amazonaws.costexplorer#CoverageNormalizedUnits": { "type": "structure", "members": { - "TotalRunningNormalizedUnits": { - "target": "com.amazonaws.costexplorer#TotalRunningNormalizedUnits", + "OnDemandNormalizedUnits": { + "target": "com.amazonaws.costexplorer#OnDemandNormalizedUnits", "traits": { - "smithy.api#documentation": "

                            The total number of normalized units that you used.

                            " + "smithy.api#documentation": "

                            The number of normalized units that are covered by On-Demand Instances instead of a\n reservation.

                            " } }, "ReservedNormalizedUnits": { @@ -873,10 +873,10 @@ "smithy.api#documentation": "

                            The number of normalized units that a reservation covers.

                            " } }, - "OnDemandNormalizedUnits": { - "target": "com.amazonaws.costexplorer#OnDemandNormalizedUnits", + "TotalRunningNormalizedUnits": { + "target": "com.amazonaws.costexplorer#TotalRunningNormalizedUnits", "traits": { - "smithy.api#documentation": "

                            The number of normalized units that are covered by On-Demand Instances instead of a\n reservation.

                            " + "smithy.api#documentation": "

                            The total number of normalized units that you used.

                            " } }, "CoverageNormalizedUnitsPercentage": { @@ -1031,57 +1031,51 @@ "com.amazonaws.costexplorer#CreateCostCategoryDefinitionResponse": { "type": "structure", "members": { - "EffectiveStart": { - "target": "com.amazonaws.costexplorer#ZonedDateTime", - "traits": { - "smithy.api#documentation": "

                            \n The Cost Category's effective start date.\n

                            " - } - }, "CostCategoryArn": { "target": "com.amazonaws.costexplorer#Arn", "traits": { "smithy.api#documentation": "

                            \n The unique identifier for your newly created Cost Category.\n

                            " } + }, + "EffectiveStart": { + "target": "com.amazonaws.costexplorer#ZonedDateTime", + "traits": { + "smithy.api#documentation": "

                            \n The Cost Category's effective start date.\n

                            " + } } } }, "com.amazonaws.costexplorer#CurrentInstance": { "type": "structure", "members": { - "MonthlyCost": { - "target": "com.amazonaws.costexplorer#GenericString", - "traits": { - "smithy.api#documentation": "

                            Current On-Demand cost of operating this instance on a monthly basis.

                            " - } - }, "ResourceId": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { "smithy.api#documentation": "

                            Resource ID of the current instance.

                            " } }, - "TotalRunningHoursInLookbackPeriod": { + "InstanceName": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The total number of hours the instance ran during the lookback period.

                            " + "smithy.api#documentation": "

                            The name you've given an instance. This field will show as blank if you haven't given the instance a name.

                            " } }, - "CurrencyCode": { - "target": "com.amazonaws.costexplorer#GenericString", + "Tags": { + "target": "com.amazonaws.costexplorer#TagValuesList", "traits": { - "smithy.api#documentation": "

                            The currency code that AWS used to calculate the costs for this instance.

                            " + "smithy.api#documentation": "

                            Cost allocation resource tags applied to the instance.

                            " } }, - "InstanceName": { - "target": "com.amazonaws.costexplorer#GenericString", + "ResourceDetails": { + "target": "com.amazonaws.costexplorer#ResourceDetails", "traits": { - "smithy.api#documentation": "

                            The name you've given an instance. This field will show as blank if you haven't given the instance a name.

                            " + "smithy.api#documentation": "

                            Details about the resource and utilization.

                            " } }, - "OnDemandHoursInLookbackPeriod": { - "target": "com.amazonaws.costexplorer#GenericString", + "ResourceUtilization": { + "target": "com.amazonaws.costexplorer#ResourceUtilization", "traits": { - "smithy.api#documentation": "

                            Number of hours during the lookback period billed at On-Demand rates.

                            " + "smithy.api#documentation": "

                            Utilization information of the current instance during the lookback period.

                            " } }, "ReservationCoveredHoursInLookbackPeriod": { @@ -1090,28 +1084,34 @@ "smithy.api#documentation": "

                            Number of hours during the lookback period covered by reservations.

                            " } }, - "Tags": { - "target": "com.amazonaws.costexplorer#TagValuesList", + "SavingsPlansCoveredHoursInLookbackPeriod": { + "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            Cost allocation resource tags applied to the instance.

                            " + "smithy.api#documentation": "

                            Number of hours during the lookback period covered by Savings Plans.

                            " } }, - "SavingsPlansCoveredHoursInLookbackPeriod": { + "OnDemandHoursInLookbackPeriod": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            Number of hours during the lookback period covered by Savings Plans.

                            " + "smithy.api#documentation": "

                            Number of hours during the lookback period billed at On-Demand rates.

                            " } }, - "ResourceUtilization": { - "target": "com.amazonaws.costexplorer#ResourceUtilization", + "TotalRunningHoursInLookbackPeriod": { + "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            Utilization information of the current instance during the lookback period.

                            " + "smithy.api#documentation": "

                            The total number of hours the instance ran during the lookback period.

                            " } }, - "ResourceDetails": { - "target": "com.amazonaws.costexplorer#ResourceDetails", + "MonthlyCost": { + "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            Details about the resource and utilization.

                            " + "smithy.api#documentation": "

                            Current On-Demand cost of operating this instance on a monthly basis.

                            " + } + }, + "CurrencyCode": { + "target": "com.amazonaws.costexplorer#GenericString", + "traits": { + "smithy.api#documentation": "

                            The currency code that AWS used to calculate the costs for this instance.

                            " } } }, @@ -1134,17 +1134,17 @@ "com.amazonaws.costexplorer#DateInterval": { "type": "structure", "members": { - "End": { + "Start": { "target": "com.amazonaws.costexplorer#YearMonthDay", "traits": { - "smithy.api#documentation": "

                            The end of the time period that you want the usage and costs for. The end date is\n exclusive. For example, if end is 2017-05-01, AWS retrieves\n cost and usage data from the start date up to, but not including,\n 2017-05-01.

                            ", + "smithy.api#documentation": "

                            The beginning of the time period that you want the usage and costs for. The start\n date is inclusive. For example, if start is 2017-01-01, AWS\n retrieves cost and usage data starting at 2017-01-01 up to the end\n date.

                            ", "smithy.api#required": {} } }, - "Start": { + "End": { "target": "com.amazonaws.costexplorer#YearMonthDay", "traits": { - "smithy.api#documentation": "

                            The beginning of the time period that you want the usage and costs for. The start\n date is inclusive. For example, if start is 2017-01-01, AWS\n retrieves cost and usage data starting at 2017-01-01 up to the end\n date.

                            ", + "smithy.api#documentation": "

                            The end of the time period that you want the usage and costs for. The end date is\n exclusive. For example, if end is 2017-05-01, AWS retrieves\n cost and usage data from the start date up to, but not including,\n 2017-05-01.

                            ", "smithy.api#required": {} } } @@ -1260,17 +1260,17 @@ "com.amazonaws.costexplorer#DeleteCostCategoryDefinitionResponse": { "type": "structure", "members": { - "EffectiveEnd": { - "target": "com.amazonaws.costexplorer#ZonedDateTime", - "traits": { - "smithy.api#documentation": "

                            \n The effective end date of the Cost Category as a result of deleting it. No costs after this date will be categorized by the deleted Cost Category.\n

                            " - } - }, "CostCategoryArn": { "target": "com.amazonaws.costexplorer#Arn", "traits": { "smithy.api#documentation": "

                            \n The unique identifier for your Cost Category.\n

                            " } + }, + "EffectiveEnd": { + "target": "com.amazonaws.costexplorer#ZonedDateTime", + "traits": { + "smithy.api#documentation": "

                            \n The effective end date of the Cost Category as a result of deleting it. No costs after this date will be categorized by the deleted Cost Category.\n

                            " + } } } }, @@ -1297,18 +1297,18 @@ "com.amazonaws.costexplorer#DescribeCostCategoryDefinitionRequest": { "type": "structure", "members": { - "EffectiveOn": { - "target": "com.amazonaws.costexplorer#ZonedDateTime", - "traits": { - "smithy.api#documentation": "

                            \n The date when the Cost Category was effective.\n

                            " - } - }, "CostCategoryArn": { "target": "com.amazonaws.costexplorer#Arn", "traits": { "smithy.api#documentation": "

                            \n The unique identifier for your Cost Category.\n

                            ", "smithy.api#required": {} } + }, + "EffectiveOn": { + "target": "com.amazonaws.costexplorer#ZonedDateTime", + "traits": { + "smithy.api#documentation": "

                            \n The date when the Cost Category was effective.\n

                            " + } } } }, @@ -1446,10 +1446,10 @@ "com.amazonaws.costexplorer#DimensionValues": { "type": "structure", "members": { - "MatchOptions": { - "target": "com.amazonaws.costexplorer#MatchOptions", + "Key": { + "target": "com.amazonaws.costexplorer#Dimension", "traits": { - "smithy.api#documentation": "

                            The match options that you can use to filter your results.\n MatchOptions is only applicable for actions related to Cost Category.\n The default values for MatchOptions are EQUALS and\n CASE_SENSITIVE.

                            " + "smithy.api#documentation": "

                            The names of the metadata types that you can use to filter and group your results.\n For example, AZ returns a list of Availability Zones.

                            " } }, "Values": { @@ -1458,10 +1458,10 @@ "smithy.api#documentation": "

                            The metadata values that you can use to filter and group your results. You can use\n GetDimensionValues to find specific values.

                            " } }, - "Key": { - "target": "com.amazonaws.costexplorer#Dimension", + "MatchOptions": { + "target": "com.amazonaws.costexplorer#MatchOptions", "traits": { - "smithy.api#documentation": "

                            The names of the metadata types that you can use to filter and group your results.\n For example, AZ returns a list of Availability Zones.

                            " + "smithy.api#documentation": "

                            The match options that you can use to filter your results.\n MatchOptions is only applicable for actions related to Cost Category.\n The default values for MatchOptions are EQUALS and\n CASE_SENSITIVE.

                            " } } }, @@ -1472,17 +1472,17 @@ "com.amazonaws.costexplorer#DimensionValuesWithAttributes": { "type": "structure", "members": { - "Attributes": { - "target": "com.amazonaws.costexplorer#Attributes", - "traits": { - "smithy.api#documentation": "

                            The attribute that applies to a specific Dimension.

                            " - } - }, "Value": { "target": "com.amazonaws.costexplorer#Value", "traits": { "smithy.api#documentation": "

                            The value of a dimension with a specific attribute.

                            " } + }, + "Attributes": { + "target": "com.amazonaws.costexplorer#Attributes", + "traits": { + "smithy.api#documentation": "

                            The attribute that applies to a specific Dimension.

                            " + } } }, "traits": { @@ -1498,10 +1498,10 @@ "com.amazonaws.costexplorer#EBSResourceUtilization": { "type": "structure", "members": { - "EbsWriteBytesPerSecond": { + "EbsReadOpsPerSecond": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            \n The maximum size of write operations per second.\n

                            " + "smithy.api#documentation": "

                            \n The maximum number of read operations per second.\n

                            " } }, "EbsWriteOpsPerSecond": { @@ -1510,16 +1510,16 @@ "smithy.api#documentation": "

                            \n The maximum number of write operations per second.\n

                            " } }, - "EbsReadOpsPerSecond": { + "EbsReadBytesPerSecond": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            \n The maximum number of read operations per second.\n

                            " + "smithy.api#documentation": "

                            \n The maximum size of read operations per second\n

                            " } }, - "EbsReadBytesPerSecond": { + "EbsWriteBytesPerSecond": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            \n The maximum size of read operations per second\n

                            " + "smithy.api#documentation": "

                            \n The maximum size of write operations per second.\n

                            " } } }, @@ -1530,16 +1530,16 @@ "com.amazonaws.costexplorer#EC2InstanceDetails": { "type": "structure", "members": { - "CurrentGeneration": { - "target": "com.amazonaws.costexplorer#GenericBoolean", + "Family": { + "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            Whether the recommendation is for a current-generation instance.

                            " + "smithy.api#documentation": "

                            The instance family of the recommended reservation.

                            " } }, - "Family": { + "InstanceType": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The instance family of the recommended reservation.

                            " + "smithy.api#documentation": "

                            The type of instance that AWS recommends.

                            " } }, "Region": { @@ -1548,34 +1548,34 @@ "smithy.api#documentation": "

                            The AWS Region of the recommended reservation.

                            " } }, - "Tenancy": { + "AvailabilityZone": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            Whether the recommended reservation is dedicated or shared.

                            " + "smithy.api#documentation": "

                            The Availability Zone of the recommended reservation.

                            " } }, - "InstanceType": { + "Platform": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The type of instance that AWS recommends.

                            " + "smithy.api#documentation": "

                            The platform of the recommended reservation. The platform is the specific\n combination of operating system, license model, and software on an instance.

                            " } }, - "Platform": { + "Tenancy": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The platform of the recommended reservation. The platform is the specific\n combination of operating system, license model, and software on an instance.

                            " + "smithy.api#documentation": "

                            Whether the recommended reservation is dedicated or shared.

                            " } }, - "SizeFlexEligible": { + "CurrentGeneration": { "target": "com.amazonaws.costexplorer#GenericBoolean", "traits": { - "smithy.api#documentation": "

                            Whether the recommended reservation is size flexible.

                            " + "smithy.api#documentation": "

                            Whether the recommendation is for a current-generation instance.

                            " } }, - "AvailabilityZone": { - "target": "com.amazonaws.costexplorer#GenericString", + "SizeFlexEligible": { + "target": "com.amazonaws.costexplorer#GenericBoolean", "traits": { - "smithy.api#documentation": "

                            The Availability Zone of the recommended reservation.

                            " + "smithy.api#documentation": "

                            Whether the recommended reservation is size flexible.

                            " } } }, @@ -1586,10 +1586,10 @@ "com.amazonaws.costexplorer#EC2ResourceDetails": { "type": "structure", "members": { - "Storage": { + "HourlyOnDemandRate": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The disk storage of the AWS instance (not EBS storage).

                            " + "smithy.api#documentation": "

                            Hourly public On-Demand rate for the instance type.

                            " } }, "InstanceType": { @@ -1598,16 +1598,16 @@ "smithy.api#documentation": "

                            The type of AWS instance.

                            " } }, - "Region": { + "Platform": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The AWS Region of the instance.

                            " + "smithy.api#documentation": "

                            The platform of the AWS instance. The platform is the specific combination of\n operating system, license model, and software on an instance.

                            " } }, - "NetworkPerformance": { + "Region": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            Network performance capacity of the AWS instance.

                            " + "smithy.api#documentation": "

                            The AWS Region of the instance.

                            " } }, "Sku": { @@ -1616,28 +1616,28 @@ "smithy.api#documentation": "

                            The SKU of the product.

                            " } }, - "Vcpu": { + "Memory": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            Number of VCPU cores in the AWS instance type.

                            " + "smithy.api#documentation": "

                            Memory capacity of the AWS instance.

                            " } }, - "Platform": { + "NetworkPerformance": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The platform of the AWS instance. The platform is the specific combination of\n operating system, license model, and software on an instance.

                            " + "smithy.api#documentation": "

                            Network performance capacity of the AWS instance.

                            " } }, - "HourlyOnDemandRate": { + "Storage": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            Hourly public On-Demand rate for the instance type.

                            " + "smithy.api#documentation": "

                            The disk storage of the AWS instance (not EBS storage).

                            " } }, - "Memory": { + "Vcpu": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            Memory capacity of the AWS instance.

                            " + "smithy.api#documentation": "

                            Number of VCPU cores in the AWS instance type.

                            " } } }, @@ -1648,28 +1648,28 @@ "com.amazonaws.costexplorer#EC2ResourceUtilization": { "type": "structure", "members": { - "MaxStorageUtilizationPercentage": { + "MaxCpuUtilizationPercentage": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            Maximum observed or expected storage utilization of the instance (does not measure EBS storage).

                            " + "smithy.api#documentation": "

                            Maximum observed or expected CPU utilization of the instance.

                            " } }, - "EBSResourceUtilization": { - "target": "com.amazonaws.costexplorer#EBSResourceUtilization", + "MaxMemoryUtilizationPercentage": { + "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            \n The EBS field that contains a list of EBS metrics associated with the current instance.\n

                            " + "smithy.api#documentation": "

                            Maximum observed or expected memory utilization of the instance.

                            " } }, - "MaxCpuUtilizationPercentage": { + "MaxStorageUtilizationPercentage": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            Maximum observed or expected CPU utilization of the instance.

                            " + "smithy.api#documentation": "

                            Maximum observed or expected storage utilization of the instance (does not measure EBS storage).

                            " } }, - "MaxMemoryUtilizationPercentage": { - "target": "com.amazonaws.costexplorer#GenericString", + "EBSResourceUtilization": { + "target": "com.amazonaws.costexplorer#EBSResourceUtilization", "traits": { - "smithy.api#documentation": "

                            Maximum observed or expected memory utilization of the instance.

                            " + "smithy.api#documentation": "

                            \n The EBS field that contains a list of EBS metrics associated with the current instance.\n

                            " } } }, @@ -1694,6 +1694,12 @@ "com.amazonaws.costexplorer#ESInstanceDetails": { "type": "structure", "members": { + "InstanceClass": { + "target": "com.amazonaws.costexplorer#GenericString", + "traits": { + "smithy.api#documentation": "

                            The class of instance that AWS recommends.

                            " + } + }, "InstanceSize": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { @@ -1706,22 +1712,16 @@ "smithy.api#documentation": "

                            The AWS Region of the recommended reservation.

                            " } }, - "SizeFlexEligible": { - "target": "com.amazonaws.costexplorer#GenericBoolean", - "traits": { - "smithy.api#documentation": "

                            Whether the recommended reservation is size flexible.

                            " - } - }, "CurrentGeneration": { "target": "com.amazonaws.costexplorer#GenericBoolean", "traits": { "smithy.api#documentation": "

                            Whether the recommendation is for a current-generation instance.

                            " } }, - "InstanceClass": { - "target": "com.amazonaws.costexplorer#GenericString", + "SizeFlexEligible": { + "target": "com.amazonaws.costexplorer#GenericBoolean", "traits": { - "smithy.api#documentation": "

                            The class of instance that AWS recommends.

                            " + "smithy.api#documentation": "

                            Whether the recommended reservation is size flexible.

                            " } } }, @@ -1732,10 +1732,10 @@ "com.amazonaws.costexplorer#ElastiCacheInstanceDetails": { "type": "structure", "members": { - "SizeFlexEligible": { - "target": "com.amazonaws.costexplorer#GenericBoolean", + "Family": { + "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            Whether the recommended reservation is size flexible.

                            " + "smithy.api#documentation": "

                            The instance family of the recommended reservation.

                            " } }, "NodeType": { @@ -1744,10 +1744,10 @@ "smithy.api#documentation": "

                            The type of node that AWS recommends.

                            " } }, - "CurrentGeneration": { - "target": "com.amazonaws.costexplorer#GenericBoolean", + "Region": { + "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            Whether the recommendation is for a current generation instance.

                            " + "smithy.api#documentation": "

                            The AWS Region of the recommended reservation.

                            " } }, "ProductDescription": { @@ -1756,16 +1756,16 @@ "smithy.api#documentation": "

                            The description of the recommended reservation.

                            " } }, - "Family": { - "target": "com.amazonaws.costexplorer#GenericString", + "CurrentGeneration": { + "target": "com.amazonaws.costexplorer#GenericBoolean", "traits": { - "smithy.api#documentation": "

                            The instance family of the recommended reservation.

                            " + "smithy.api#documentation": "

                            Whether the recommendation is for a current generation instance.

                            " } }, - "Region": { - "target": "com.amazonaws.costexplorer#GenericString", + "SizeFlexEligible": { + "target": "com.amazonaws.costexplorer#GenericBoolean", "traits": { - "smithy.api#documentation": "

                            The AWS Region of the recommended reservation.

                            " + "smithy.api#documentation": "

                            Whether the recommended reservation is size flexible.

                            " } } }, @@ -1785,10 +1785,10 @@ "com.amazonaws.costexplorer#Expression": { "type": "structure", "members": { - "CostCategories": { - "target": "com.amazonaws.costexplorer#CostCategoryValues", + "Or": { + "target": "com.amazonaws.costexplorer#Expressions", "traits": { - "smithy.api#documentation": "

                            The filter based on CostCategory values.

                            " + "smithy.api#documentation": "

                            Return results that match either Dimension object.

                            " } }, "And": { @@ -1797,6 +1797,12 @@ "smithy.api#documentation": "

                            Return results that match both Dimension objects.

                            " } }, + "Not": { + "target": "com.amazonaws.costexplorer#Expression", + "traits": { + "smithy.api#documentation": "

                            Return results that don't match a Dimension object.

                            " + } + }, "Dimensions": { "target": "com.amazonaws.costexplorer#DimensionValues", "traits": { @@ -1809,16 +1815,10 @@ "smithy.api#documentation": "

                            The specific Tag to use for Expression.

                            " } }, - "Not": { - "target": "com.amazonaws.costexplorer#Expression", - "traits": { - "smithy.api#documentation": "

                            Return results that don't match a Dimension object.

                            " - } - }, - "Or": { - "target": "com.amazonaws.costexplorer#Expressions", + "CostCategories": { + "target": "com.amazonaws.costexplorer#CostCategoryValues", "traits": { - "smithy.api#documentation": "

                            Return results that match either Dimension object.

                            " + "smithy.api#documentation": "

                            The filter based on CostCategory values.

                            " } } }, @@ -1909,10 +1909,10 @@ "com.amazonaws.costexplorer#GetAnomaliesRequest": { "type": "structure", "members": { - "NextPageToken": { - "target": "com.amazonaws.costexplorer#NextPageToken", + "MonitorArn": { + "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            \n The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.\n

                            " + "smithy.api#documentation": "

                            Retrieves all of the cost anomalies detected for a specific cost anomaly monitor Amazon\n Resource Name (ARN).

                            " } }, "DateInterval": { @@ -1922,10 +1922,10 @@ "smithy.api#required": {} } }, - "MonitorArn": { - "target": "com.amazonaws.costexplorer#GenericString", + "Feedback": { + "target": "com.amazonaws.costexplorer#AnomalyFeedbackType", "traits": { - "smithy.api#documentation": "

                            Retrieves all of the cost anomalies detected for a specific cost anomaly monitor Amazon\n Resource Name (ARN).

                            " + "smithy.api#documentation": "

                            Filters anomaly results by the feedback field on the anomaly object.

                            " } }, "TotalImpact": { @@ -1934,16 +1934,16 @@ "smithy.api#documentation": "

                            Filters anomaly results by the total impact field on the anomaly object. For example, you\n can filter anomalies GREATER_THAN 200.00 to retrieve anomalies, with an estimated\n dollar impact greater than 200.

                            " } }, - "MaxResults": { - "target": "com.amazonaws.costexplorer#PageSize", + "NextPageToken": { + "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { - "smithy.api#documentation": "

                            \n The number of entries a paginated response contains.\n

                            " + "smithy.api#documentation": "

                            \n The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.\n

                            " } }, - "Feedback": { - "target": "com.amazonaws.costexplorer#AnomalyFeedbackType", + "MaxResults": { + "target": "com.amazonaws.costexplorer#PageSize", "traits": { - "smithy.api#documentation": "

                            Filters anomaly results by the feedback field on the anomaly object.

                            " + "smithy.api#documentation": "

                            \n The number of entries a paginated response contains.\n

                            " } } } @@ -1998,35 +1998,35 @@ "smithy.api#documentation": "

                            \n A list of cost anomaly monitor ARNs.\n

                            " } }, - "MaxResults": { - "target": "com.amazonaws.costexplorer#PageSize", - "traits": { - "smithy.api#documentation": "

                            \n The number of entries a paginated response contains.\n

                            " - } - }, "NextPageToken": { "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { "smithy.api#documentation": "

                            \n The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.\n

                            " } + }, + "MaxResults": { + "target": "com.amazonaws.costexplorer#PageSize", + "traits": { + "smithy.api#documentation": "

                            \n The number of entries a paginated response contains.\n

                            " + } } } }, "com.amazonaws.costexplorer#GetAnomalyMonitorsResponse": { "type": "structure", "members": { - "NextPageToken": { - "target": "com.amazonaws.costexplorer#NextPageToken", - "traits": { - "smithy.api#documentation": "

                            \n The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.\n

                            " - } - }, "AnomalyMonitors": { "target": "com.amazonaws.costexplorer#AnomalyMonitors", "traits": { "smithy.api#documentation": "

                            \n A list of cost anomaly monitors that includes the detailed metadata for each monitor.\n

                            ", "smithy.api#required": {} } + }, + "NextPageToken": { + "target": "com.amazonaws.costexplorer#NextPageToken", + "traits": { + "smithy.api#documentation": "

                            \n The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.\n

                            " + } } } }, @@ -2056,47 +2056,47 @@ "com.amazonaws.costexplorer#GetAnomalySubscriptionsRequest": { "type": "structure", "members": { - "MonitorArn": { - "target": "com.amazonaws.costexplorer#GenericString", - "traits": { - "smithy.api#documentation": "

                            \n Cost anomaly monitor ARNs.\n

                            " - } - }, - "MaxResults": { - "target": "com.amazonaws.costexplorer#PageSize", - "traits": { - "smithy.api#documentation": "

                            \n The number of entries a paginated response contains.\n

                            " - } - }, "SubscriptionArnList": { "target": "com.amazonaws.costexplorer#Values", "traits": { "smithy.api#documentation": "

                            \n A list of cost anomaly subscription ARNs.\n

                            " } }, + "MonitorArn": { + "target": "com.amazonaws.costexplorer#GenericString", + "traits": { + "smithy.api#documentation": "

                            \n Cost anomaly monitor ARNs.\n

                            " + } + }, "NextPageToken": { "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { "smithy.api#documentation": "

                            \n The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.\n

                            " } + }, + "MaxResults": { + "target": "com.amazonaws.costexplorer#PageSize", + "traits": { + "smithy.api#documentation": "

                            \n The number of entries a paginated response contains.\n

                            " + } } } }, "com.amazonaws.costexplorer#GetAnomalySubscriptionsResponse": { "type": "structure", "members": { - "NextPageToken": { - "target": "com.amazonaws.costexplorer#NextPageToken", - "traits": { - "smithy.api#documentation": "

                            \n The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.\n

                            " - } - }, "AnomalySubscriptions": { "target": "com.amazonaws.costexplorer#AnomalySubscriptions", "traits": { "smithy.api#documentation": "

                            \n A list of cost anomaly subscriptions that includes the detailed metadata for each one.\n

                            ", "smithy.api#required": {} } + }, + "NextPageToken": { + "target": "com.amazonaws.costexplorer#NextPageToken", + "traits": { + "smithy.api#documentation": "

                            \n The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.\n

                            " + } } } }, @@ -2126,25 +2126,19 @@ } ], "traits": { - "smithy.api#documentation": "

                            Retrieves cost and usage metrics for your account. You can specify which cost and usage-related metric, such as \n\t\t\tBlendedCosts or UsageQuantity, that you want the request to return. You can also filter and group \n\t\t\tyour data by various dimensions, such as SERVICE or AZ, in a specific time range. For a complete list \n\t\t\tof valid dimensions, see the \n\t\t\tGetDimensionValues \n\t\t operation. Master account in an organization in AWS Organizations have access to all member accounts.

                            " + "smithy.api#documentation": "

                            Retrieves cost and usage metrics for your account. You can specify which cost and usage-related metric, such as \n\t\t\tBlendedCosts or UsageQuantity, that you want the request to return. You can also filter and group \n\t\t\tyour data by various dimensions, such as SERVICE or AZ, in a specific time range. For a complete list \n\t\t\tof valid dimensions, see the \n\t\t\tGetDimensionValues \n\t\t operation. Management account in an organization in AWS Organizations have access to all member accounts.

                            \n\t

                            For information about filter limitations, see Quotas and restrictions in the Billing and Cost Management User Guide.

                            " } }, "com.amazonaws.costexplorer#GetCostAndUsageRequest": { "type": "structure", "members": { - "Metrics": { - "target": "com.amazonaws.costexplorer#MetricNames", + "TimePeriod": { + "target": "com.amazonaws.costexplorer#DateInterval", "traits": { - "smithy.api#documentation": "

                            Which metrics are returned in the query. For more information about blended and unblended rates, see \n\t\t\tWhy does the \"blended\" annotation \n\t\t\t\tappear on some line items in my bill?.

                            \n\t\t

                            Valid values are AmortizedCost, BlendedCost, NetAmortizedCost, \n\t\t\tNetUnblendedCost, NormalizedUsageAmount, UnblendedCost, and UsageQuantity.

                            \n\t\t \n\t\t\t

                            If you return the UsageQuantity metric, the service aggregates all usage numbers without \n\t\t\t\ttaking into account the units. For example, if you aggregate usageQuantity across all of Amazon EC2, \n\t\t\t\tthe results aren't meaningful because Amazon EC2 compute hours and data transfer are measured in different units \n\t\t\t\t(for example, hours vs. GB). To get more meaningful UsageQuantity metrics, filter by UsageType or \n\t\t\t\tUsageTypeGroups.

                            \n\t\t
                            \n\t\t

                            \n Metrics is required for GetCostAndUsage requests.

                            ", + "smithy.api#documentation": "

                            Sets the start and end dates for retrieving AWS costs. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is \n retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

                            ", "smithy.api#required": {} } }, - "GroupBy": { - "target": "com.amazonaws.costexplorer#GroupDefinitions", - "traits": { - "smithy.api#documentation": "

                            You can group AWS costs using up to two different groups, either dimensions, tag keys,\n cost categories, or any two group by types.

                            \n\t\t

                            When you group by tag key, you get all tag values, including empty strings.

                            \n\t\t

                            Valid values are AZ, INSTANCE_TYPE, LEGAL_ENTITY_NAME, LINKED_ACCOUNT, \n\t\t\tOPERATION, PLATFORM, PURCHASE_TYPE, SERVICE, TAGS, \n\t\t TENANCY, RECORD_TYPE, and USAGE_TYPE.

                            " - } - }, "Granularity": { "target": "com.amazonaws.costexplorer#Granularity", "traits": { @@ -2157,13 +2151,19 @@ "smithy.api#documentation": "

                            Filters AWS costs by different dimensions. For example, you can specify SERVICE and LINKED_ACCOUNT \n\t\t\tand get the costs that are associated with that account's usage of that service. You can nest Expression objects \n\t\t\tto define any combination of dimension filters. For more information, see \n\t\t\tExpression.

                            " } }, - "TimePeriod": { - "target": "com.amazonaws.costexplorer#DateInterval", + "Metrics": { + "target": "com.amazonaws.costexplorer#MetricNames", "traits": { - "smithy.api#documentation": "

                            Sets the start and end dates for retrieving AWS costs. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is \n retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

                            ", + "smithy.api#documentation": "

                            Which metrics are returned in the query. For more information about blended and unblended rates, see \n\t\t\tWhy does the \"blended\" annotation \n\t\t\t\tappear on some line items in my bill?.

                            \n\t\t

                            Valid values are AmortizedCost, BlendedCost, NetAmortizedCost, \n\t\t\tNetUnblendedCost, NormalizedUsageAmount, UnblendedCost, and UsageQuantity.

                            \n\t\t \n\t\t\t

                            If you return the UsageQuantity metric, the service aggregates all usage numbers without \n\t\t\t\ttaking into account the units. For example, if you aggregate usageQuantity across all of Amazon EC2, \n\t\t\t\tthe results aren't meaningful because Amazon EC2 compute hours and data transfer are measured in different units \n\t\t\t\t(for example, hours vs. GB). To get more meaningful UsageQuantity metrics, filter by UsageType or \n\t\t\t\tUsageTypeGroups.

                            \n\t\t
                            \n\t\t

                            \n Metrics is required for GetCostAndUsage requests.

                            ", "smithy.api#required": {} } }, + "GroupBy": { + "target": "com.amazonaws.costexplorer#GroupDefinitions", + "traits": { + "smithy.api#documentation": "

                            You can group AWS costs using up to two different groups, either dimensions, tag keys,\n cost categories, or any two group by types.

                            \n\t\t

                            When you group by tag key, you get all tag values, including empty strings.

                            \n\t\t

                            Valid values are AZ, INSTANCE_TYPE, LEGAL_ENTITY_NAME, LINKED_ACCOUNT, \n\t\t\tOPERATION, PLATFORM, PURCHASE_TYPE, SERVICE, TAGS, \n\t\t TENANCY, RECORD_TYPE, and USAGE_TYPE.

                            " + } + }, "NextPageToken": { "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { @@ -2221,16 +2221,16 @@ } ], "traits": { - "smithy.api#documentation": "

                            Retrieves cost and usage metrics with resources for your account. You can specify which cost and\n\t usage-related metric, such as BlendedCosts or UsageQuantity, that\n\t you want the request to return. You can also filter and group your data by various dimensions,\n\t such as SERVICE or AZ, in a specific time range. For a complete list\n\t of valid dimensions, see the GetDimensionValues operation. Master account in an organization in AWS\n\t Organizations have access to all member accounts. This API is currently available for the Amazon Elastic Compute Cloud – Compute service only.

                            \n\t \n

                            This is an opt-in only feature. You can enable this feature from the Cost Explorer Settings page. For information on how to access the Settings page, see Controlling Access for Cost Explorer in the AWS Billing and Cost Management User Guide.

                            \n
                            " + "smithy.api#documentation": "

                            Retrieves cost and usage metrics with resources for your account. You can specify which cost and\n\t usage-related metric, such as BlendedCosts or UsageQuantity, that\n\t you want the request to return. You can also filter and group your data by various dimensions,\n\t such as SERVICE or AZ, in a specific time range. For a complete list\n\t of valid dimensions, see the GetDimensionValues operation. Management account in an organization in AWS\n\t Organizations have access to all member accounts. This API is currently available for the Amazon Elastic Compute Cloud – Compute service only.

                            \n\t \n

                            This is an opt-in only feature. You can enable this feature from the Cost Explorer Settings page. For information on how to access the Settings page, see Controlling Access for Cost Explorer in the AWS Billing and Cost Management User Guide.

                            \n
                            " } }, "com.amazonaws.costexplorer#GetCostAndUsageWithResourcesRequest": { "type": "structure", "members": { - "Filter": { - "target": "com.amazonaws.costexplorer#Expression", + "TimePeriod": { + "target": "com.amazonaws.costexplorer#DateInterval", "traits": { - "smithy.api#documentation": "

                            Filters Amazon Web Services costs by different dimensions. For example, you can specify\n SERVICE and LINKED_ACCOUNT and get the costs that are associated\n with that account's usage of that service. You can nest Expression objects to\n define any combination of dimension filters. For more information, see Expression.

                            \n

                            The GetCostAndUsageWithResources operation requires that you either group by or filter by a\n ResourceId. It requires the Expression \n \"SERVICE = Amazon Elastic Compute Cloud - Compute\" in the filter.

                            ", + "smithy.api#documentation": "

                            Sets the start and end dates for retrieving Amazon Web Services costs. The range must be within the last 14 days (the start date cannot be earlier than 14 days ago). The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is \n retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

                            ", "smithy.api#required": {} } }, @@ -2240,17 +2240,23 @@ "smithy.api#documentation": "

                            Sets the AWS cost granularity to MONTHLY, DAILY, or HOURLY. If\n\t Granularity isn't set, the response object doesn't include the\n\t Granularity, MONTHLY, DAILY, or HOURLY.

                            " } }, + "Filter": { + "target": "com.amazonaws.costexplorer#Expression", + "traits": { + "smithy.api#documentation": "

                            Filters Amazon Web Services costs by different dimensions. For example, you can specify\n SERVICE and LINKED_ACCOUNT and get the costs that are associated\n with that account's usage of that service. You can nest Expression objects to\n define any combination of dimension filters. For more information, see Expression.

                            \n

                            The GetCostAndUsageWithResources operation requires that you either group by or filter by a\n ResourceId. It requires the Expression \n \"SERVICE = Amazon Elastic Compute Cloud - Compute\" in the filter.

                            ", + "smithy.api#required": {} + } + }, "Metrics": { "target": "com.amazonaws.costexplorer#MetricNames", "traits": { "smithy.api#documentation": "

                            Which metrics are returned in the query. For more information about blended and\n unblended rates, see Why does\n the \"blended\" annotation appear on some line items in my bill?.

                            \n

                            Valid values are AmortizedCost, BlendedCost,\n NetAmortizedCost, NetUnblendedCost,\n NormalizedUsageAmount, UnblendedCost, and\n UsageQuantity.

                            \n \n

                            If you return the UsageQuantity metric, the service aggregates all usage\n numbers without taking the units into account. For example, if you aggregate\n usageQuantity across all of Amazon EC2, the results aren't meaningful because\n Amazon EC2 compute hours and data transfer are measured in different units (for example, hours\n vs. GB). To get more meaningful UsageQuantity metrics, filter by\n UsageType or UsageTypeGroups.

                            \n
                            \n

                            \n Metrics is required for GetCostAndUsageWithResources requests.

                            " } }, - "TimePeriod": { - "target": "com.amazonaws.costexplorer#DateInterval", + "GroupBy": { + "target": "com.amazonaws.costexplorer#GroupDefinitions", "traits": { - "smithy.api#documentation": "

                            Sets the start and end dates for retrieving Amazon Web Services costs. The range must be within the last 14 days (the start date cannot be earlier than 14 days ago). The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is \n retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            You can group Amazon Web Services costs using up to two different groups: DIMENSION, TAG, COST_CATEGORY.

                            " } }, "NextPageToken": { @@ -2258,30 +2264,24 @@ "traits": { "smithy.api#documentation": "

                            The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                            " } - }, - "GroupBy": { - "target": "com.amazonaws.costexplorer#GroupDefinitions", - "traits": { - "smithy.api#documentation": "

                            You can group Amazon Web Services costs using up to two different groups: DIMENSION, TAG, COST_CATEGORY.

                            " - } } } }, "com.amazonaws.costexplorer#GetCostAndUsageWithResourcesResponse": { "type": "structure", "members": { - "GroupDefinitions": { - "target": "com.amazonaws.costexplorer#GroupDefinitions", - "traits": { - "smithy.api#documentation": "

                            The groups that are specified by the Filter or GroupBy\n parameters in the request.

                            " - } - }, "NextPageToken": { "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { "smithy.api#documentation": "

                            The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                            " } }, + "GroupDefinitions": { + "target": "com.amazonaws.costexplorer#GroupDefinitions", + "traits": { + "smithy.api#documentation": "

                            The groups that are specified by the Filter or GroupBy\n parameters in the request.

                            " + } + }, "ResultsByTime": { "target": "com.amazonaws.costexplorer#ResultsByTime", "traits": { @@ -2313,12 +2313,6 @@ "com.amazonaws.costexplorer#GetCostForecastRequest": { "type": "structure", "members": { - "Filter": { - "target": "com.amazonaws.costexplorer#Expression", - "traits": { - "smithy.api#documentation": "

                            The filters that you want to use to filter your forecast. Cost Explorer API supports all of the Cost Explorer filters.

                            " - } - }, "TimePeriod": { "target": "com.amazonaws.costexplorer#DateInterval", "traits": { @@ -2333,18 +2327,24 @@ "smithy.api#required": {} } }, - "PredictionIntervalLevel": { - "target": "com.amazonaws.costexplorer#PredictionIntervalLevel", - "traits": { - "smithy.api#documentation": "

                            Cost Explorer always returns the mean forecast as a single point. You can request a prediction interval around the mean \n\t\t\tby specifying a confidence level. The higher the confidence level, the more confident Cost Explorer is about the actual value \n\t\t\tfalling in the prediction interval. Higher confidence levels result in wider prediction intervals.

                            " - } - }, "Granularity": { "target": "com.amazonaws.costexplorer#Granularity", "traits": { "smithy.api#documentation": "

                            How granular you want the forecast to be. You can get 3 months of DAILY forecasts or 12 months of MONTHLY forecasts.

                            \n\t\t

                            The GetCostForecast operation supports only DAILY and MONTHLY granularities.

                            ", "smithy.api#required": {} } + }, + "Filter": { + "target": "com.amazonaws.costexplorer#Expression", + "traits": { + "smithy.api#documentation": "

                            The filters that you want to use to filter your forecast. Cost Explorer API supports all of the Cost Explorer filters.

                            " + } + }, + "PredictionIntervalLevel": { + "target": "com.amazonaws.costexplorer#PredictionIntervalLevel", + "traits": { + "smithy.api#documentation": "

                            Cost Explorer always returns the mean forecast as a single point. You can request a prediction interval around the mean \n\t\t\tby specifying a confidence level. The higher the confidence level, the more confident Cost Explorer is about the actual value \n\t\t\tfalling in the prediction interval. Higher confidence levels result in wider prediction intervals.

                            " + } } } }, @@ -2397,17 +2397,10 @@ "com.amazonaws.costexplorer#GetDimensionValuesRequest": { "type": "structure", "members": { - "Dimension": { - "target": "com.amazonaws.costexplorer#Dimension", - "traits": { - "smithy.api#documentation": "

                            The name of the dimension. Each Dimension is available for a different Context. \n\t\t\tFor more information, see Context. \n\t\t\t\n\t\t

                            ", - "smithy.api#required": {} - } - }, - "NextPageToken": { - "target": "com.amazonaws.costexplorer#NextPageToken", + "SearchString": { + "target": "com.amazonaws.costexplorer#SearchString", "traits": { - "smithy.api#documentation": "

                            The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                            " + "smithy.api#documentation": "

                            The value that you want to search the filter values for.

                            " } }, "TimePeriod": { @@ -2417,16 +2410,23 @@ "smithy.api#required": {} } }, + "Dimension": { + "target": "com.amazonaws.costexplorer#Dimension", + "traits": { + "smithy.api#documentation": "

                            The name of the dimension. Each Dimension is available for a different Context. \n\t\t\tFor more information, see Context. \n\t\t\t\n\t\t

                            ", + "smithy.api#required": {} + } + }, "Context": { "target": "com.amazonaws.costexplorer#Context", "traits": { "smithy.api#documentation": "

                            The context for the call to GetDimensionValues. This can be RESERVATIONS or COST_AND_USAGE. \n\t\t\tThe default value is COST_AND_USAGE. If the context is set to RESERVATIONS, the resulting dimension values \n\t\t\tcan be used in the GetReservationUtilization operation. If the context is set to COST_AND_USAGE, \n\t\t\tthe resulting dimension values can be used in the GetCostAndUsage operation.

                            \n\t\t

                            If you set the context to COST_AND_USAGE, you can use the following \n dimensions for searching:

                            \n
                              \n
                            • \n

                              AZ - The Availability Zone. An example is us-east-1a.

                              \n
                            • \n
                            • \n

                              DATABASE_ENGINE - The Amazon Relational Database Service database. Examples are Aurora or MySQL.

                              \n
                            • \n
                            • \n

                              INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge.

                              \n
                            • \n
                            • \n

                              LEGAL_ENTITY_NAME - The name of the organization that sells you AWS services, such as Amazon Web Services.

                              \n
                            • \n
                            • \n

                              LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value \n field contains the AWS ID of the member account.

                              \n
                            • \n
                            • \n

                              OPERATING_SYSTEM - The operating system. Examples are Windows or Linux.

                              \n
                            • \n
                            • \n

                              OPERATION - The action performed. Examples include RunInstance and CreateBucket.

                              \n
                            • \n
                            • \n

                              PLATFORM - The Amazon EC2 operating system. Examples are Windows or Linux.

                              \n
                            • \n
                            • \n

                              PURCHASE_TYPE - The reservation type of the purchase to which this usage is related. Examples include On-Demand \n Instances and Standard Reserved Instances.

                              \n
                            • \n
                            • \n

                              SERVICE - The AWS service such as Amazon DynamoDB.

                              \n
                            • \n
                            • \n

                              USAGE_TYPE - The type of usage. An example is DataTransfer-In-Bytes. The response for the GetDimensionValues operation\n includes a unit attribute. Examples include GB and Hrs.

                              \n
                            • \n
                            • \n

                              USAGE_TYPE_GROUP - The grouping of common usage types. An example is Amazon EC2: CloudWatch – Alarms. The response for this \n operation includes a unit attribute.

                              \n
                            • \n
                            • \n

                              REGION - The AWS Region.

                              \n
                            • \n
                            • \n

                              RECORD_TYPE - The different types of charges such as RI fees, usage costs, tax refunds, and credits.

                              \n
                            • \n
                            • \n

                              RESOURCE_ID - The unique identifier of the resource. ResourceId is an opt-in feature only available for last 14 days for EC2-Compute Service.

                              \n
                            • \n
                            \n

                            If you set the context to RESERVATIONS, you can use the following \n dimensions for searching:

                            \n
                              \n
                            • \n

                              AZ - The Availability Zone. An example is us-east-1a.

                              \n
                            • \n
                            • \n

                              CACHE_ENGINE - The Amazon ElastiCache operating system. Examples are Windows or Linux.

                              \n
                            • \n
                            • \n

                              DEPLOYMENT_OPTION - The scope of Amazon Relational Database Service deployments. Valid values are SingleAZ and MultiAZ.

                              \n
                            • \n
                            • \n

                              INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge.

                              \n
                            • \n
                            • \n

                              LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value \n field contains the AWS ID of the member account.

                              \n
                            • \n
                            • \n

                              PLATFORM - The Amazon EC2 operating system. Examples are Windows or Linux.

                              \n
                            • \n
                            • \n

                              REGION - The AWS Region.

                              \n
                            • \n
                            • \n

                              SCOPE (Utilization only) - The scope of a Reserved Instance (RI). Values are regional or a single Availability Zone.

                              \n
                            • \n
                            • \n

                              TAG (Coverage only) - The tags that are associated with a Reserved Instance (RI).

                              \n
                            • \n
                            • \n

                              TENANCY - The tenancy of a resource. Examples are shared or dedicated.

                              \n
                            • \n
                            \n

                            If you set the context to SAVINGS_PLANS, you can use the following dimensions for searching:

                            \n
                              \n
                            • \n

                              SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 Instance or Compute)

                              \n
                            • \n
                            • \n

                              PAYMENT_OPTION - Payment option for the given Savings Plans (for example, All Upfront)

                              \n
                            • \n
                            • \n

                              REGION - The AWS Region.

                              \n
                            • \n
                            • \n

                              INSTANCE_TYPE_FAMILY - The family of instances (For example, m5)

                              \n
                            • \n
                            • \n

                              LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value \n field contains the AWS ID of the member account.

                              \n
                            • \n
                            • \n

                              SAVINGS_PLAN_ARN - The unique identifier for your Savings Plan

                              \n
                            • \n
                            " } }, - "SearchString": { - "target": "com.amazonaws.costexplorer#SearchString", + "NextPageToken": { + "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { - "smithy.api#documentation": "

                            The value that you want to search the filter values for.

                            " + "smithy.api#documentation": "

                            The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                            " } } } @@ -2434,10 +2434,11 @@ "com.amazonaws.costexplorer#GetDimensionValuesResponse": { "type": "structure", "members": { - "NextPageToken": { - "target": "com.amazonaws.costexplorer#NextPageToken", + "DimensionValues": { + "target": "com.amazonaws.costexplorer#DimensionValuesWithAttributesList", "traits": { - "smithy.api#documentation": "

                            The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                            " + "smithy.api#documentation": "

                            The filters that you used to filter your request. Some dimensions are available only for a specific context.

                            \n\t\t

                            If you set the context to COST_AND_USAGE, you can use the following \n dimensions for searching:

                            \n
                              \n
                            • \n

                              AZ - The Availability Zone. An example is us-east-1a.

                              \n
                            • \n
                            • \n

                              DATABASE_ENGINE - The Amazon Relational Database Service database. Examples are Aurora or MySQL.

                              \n
                            • \n
                            • \n

                              INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge.

                              \n
                            • \n
                            • \n

                              LEGAL_ENTITY_NAME - The name of the organization that sells you AWS services, such as Amazon Web Services.

                              \n
                            • \n
                            • \n

                              LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value \n field contains the AWS ID of the member account.

                              \n
                            • \n
                            • \n

                              OPERATING_SYSTEM - The operating system. Examples are Windows or Linux.

                              \n
                            • \n
                            • \n

                              OPERATION - The action performed. Examples include RunInstance and CreateBucket.

                              \n
                            • \n
                            • \n

                              PLATFORM - The Amazon EC2 operating system. Examples are Windows or Linux.

                              \n
                            • \n
                            • \n

                              PURCHASE_TYPE - The reservation type of the purchase to which this usage is related. Examples include On-Demand \n Instances and Standard Reserved Instances.

                              \n
                            • \n
                            • \n

                              SERVICE - The AWS service such as Amazon DynamoDB.

                              \n
                            • \n
                            • \n

                              USAGE_TYPE - The type of usage. An example is DataTransfer-In-Bytes. The response for the GetDimensionValues operation\n includes a unit attribute. Examples include GB and Hrs.

                              \n
                            • \n
                            • \n

                              USAGE_TYPE_GROUP - The grouping of common usage types. An example is Amazon EC2: CloudWatch – Alarms. The response for this \n operation includes a unit attribute.

                              \n
                            • \n
                            • \n

                              RECORD_TYPE - The different types of charges such as RI fees, usage costs, tax refunds, and credits.

                              \n
                            • \n
                            • \n

                              RESOURCE_ID - The unique identifier of the resource. ResourceId is an opt-in feature only available for last 14 days for EC2-Compute Service.

                              \n
                            • \n
                            \n

                            If you set the context to RESERVATIONS, you can use the following \n dimensions for searching:

                            \n
                              \n
                            • \n

                              AZ - The Availability Zone. An example is us-east-1a.

                              \n
                            • \n
                            • \n

                              CACHE_ENGINE - The Amazon ElastiCache operating system. Examples are Windows or Linux.

                              \n
                            • \n
                            • \n

                              DEPLOYMENT_OPTION - The scope of Amazon Relational Database Service deployments. Valid values are SingleAZ and MultiAZ.

                              \n
                            • \n
                            • \n

                              INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge.

                              \n
                            • \n
                            • \n

                              LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value \n field contains the AWS ID of the member account.

                              \n
                            • \n
                            • \n

                              PLATFORM - The Amazon EC2 operating system. Examples are Windows or Linux.

                              \n
                            • \n
                            • \n

                              REGION - The AWS Region.

                              \n
                            • \n
                            • \n

                              SCOPE (Utilization only) - The scope of a Reserved Instance (RI). Values are regional or a single Availability Zone.

                              \n
                            • \n
                            • \n

                              TAG (Coverage only) - The tags that are associated with a Reserved Instance (RI).

                              \n
                            • \n
                            • \n

                              TENANCY - The tenancy of a resource. Examples are shared or dedicated.

                              \n
                            • \n
                            \n

                            If you set the context to SAVINGS_PLANS, you can use the following dimensions for searching:

                            \n
                              \n
                            • \n

                              SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 Instance or Compute)

                              \n
                            • \n
                            • \n

                              PAYMENT_OPTION - Payment option for the given Savings Plans (for example, All Upfront)

                              \n
                            • \n
                            • \n

                              REGION - The AWS Region.

                              \n
                            • \n
                            • \n

                              INSTANCE_TYPE_FAMILY - The family of instances (For example, m5)

                              \n
                            • \n
                            • \n

                              LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value \n field contains the AWS ID of the member account.

                              \n
                            • \n
                            • \n

                              SAVINGS_PLAN_ARN - The unique identifier for your Savings Plan

                              \n
                            • \n
                            ", + "smithy.api#required": {} } }, "ReturnSize": { @@ -2447,19 +2448,18 @@ "smithy.api#required": {} } }, - "DimensionValues": { - "target": "com.amazonaws.costexplorer#DimensionValuesWithAttributesList", - "traits": { - "smithy.api#documentation": "

                            The filters that you used to filter your request. Some dimensions are available only for a specific context.

                            \n\t\t

                            If you set the context to COST_AND_USAGE, you can use the following \n dimensions for searching:

                            \n
                              \n
                            • \n

                              AZ - The Availability Zone. An example is us-east-1a.

                              \n
                            • \n
                            • \n

                              DATABASE_ENGINE - The Amazon Relational Database Service database. Examples are Aurora or MySQL.

                              \n
                            • \n
                            • \n

                              INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge.

                              \n
                            • \n
                            • \n

                              LEGAL_ENTITY_NAME - The name of the organization that sells you AWS services, such as Amazon Web Services.

                              \n
                            • \n
                            • \n

                              LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value \n field contains the AWS ID of the member account.

                              \n
                            • \n
                            • \n

                              OPERATING_SYSTEM - The operating system. Examples are Windows or Linux.

                              \n
                            • \n
                            • \n

                              OPERATION - The action performed. Examples include RunInstance and CreateBucket.

                              \n
                            • \n
                            • \n

                              PLATFORM - The Amazon EC2 operating system. Examples are Windows or Linux.

                              \n
                            • \n
                            • \n

                              PURCHASE_TYPE - The reservation type of the purchase to which this usage is related. Examples include On-Demand \n Instances and Standard Reserved Instances.

                              \n
                            • \n
                            • \n

                              SERVICE - The AWS service such as Amazon DynamoDB.

                              \n
                            • \n
                            • \n

                              USAGE_TYPE - The type of usage. An example is DataTransfer-In-Bytes. The response for the GetDimensionValues operation\n includes a unit attribute. Examples include GB and Hrs.

                              \n
                            • \n
                            • \n

                              USAGE_TYPE_GROUP - The grouping of common usage types. An example is Amazon EC2: CloudWatch – Alarms. The response for this \n operation includes a unit attribute.

                              \n
                            • \n
                            • \n

                              RECORD_TYPE - The different types of charges such as RI fees, usage costs, tax refunds, and credits.

                              \n
                            • \n
                            • \n

                              RESOURCE_ID - The unique identifier of the resource. ResourceId is an opt-in feature only available for last 14 days for EC2-Compute Service.

                              \n
                            • \n
                            \n

                            If you set the context to RESERVATIONS, you can use the following \n dimensions for searching:

                            \n
                              \n
                            • \n

                              AZ - The Availability Zone. An example is us-east-1a.

                              \n
                            • \n
                            • \n

                              CACHE_ENGINE - The Amazon ElastiCache operating system. Examples are Windows or Linux.

                              \n
                            • \n
                            • \n

                              DEPLOYMENT_OPTION - The scope of Amazon Relational Database Service deployments. Valid values are SingleAZ and MultiAZ.

                              \n
                            • \n
                            • \n

                              INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge.

                              \n
                            • \n
                            • \n

                              LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value \n field contains the AWS ID of the member account.

                              \n
                            • \n
                            • \n

                              PLATFORM - The Amazon EC2 operating system. Examples are Windows or Linux.

                              \n
                            • \n
                            • \n

                              REGION - The AWS Region.

                              \n
                            • \n
                            • \n

                              SCOPE (Utilization only) - The scope of a Reserved Instance (RI). Values are regional or a single Availability Zone.

                              \n
                            • \n
                            • \n

                              TAG (Coverage only) - The tags that are associated with a Reserved Instance (RI).

                              \n
                            • \n
                            • \n

                              TENANCY - The tenancy of a resource. Examples are shared or dedicated.

                              \n
                            • \n
                            \n

                            If you set the context to SAVINGS_PLANS, you can use the following dimensions for searching:

                            \n
                              \n
                            • \n

                              SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 Instance or Compute)

                              \n
                            • \n
                            • \n

                              PAYMENT_OPTION - Payment option for the given Savings Plans (for example, All Upfront)

                              \n
                            • \n
                            • \n

                              REGION - The AWS Region.

                              \n
                            • \n
                            • \n

                              INSTANCE_TYPE_FAMILY - The family of instances (For example, m5)

                              \n
                            • \n
                            • \n

                              LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value \n field contains the AWS ID of the member account.

                              \n
                            • \n
                            • \n

                              SAVINGS_PLAN_ARN - The unique identifier for your Savings Plan

                              \n
                            • \n
                            ", - "smithy.api#required": {} - } - }, "TotalSize": { "target": "com.amazonaws.costexplorer#PageSize", "traits": { "smithy.api#documentation": "

                            The total number of search results.

                            ", "smithy.api#required": {} } + }, + "NextPageToken": { + "target": "com.amazonaws.costexplorer#NextPageToken", + "traits": { + "smithy.api#documentation": "

                            The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                            " + } } } }, @@ -2483,22 +2483,17 @@ } ], "traits": { - "smithy.api#documentation": "

                            Retrieves the reservation coverage for your account. This enables you to see how much of your Amazon Elastic Compute Cloud, Amazon ElastiCache, Amazon Relational Database Service, or \n\t\t Amazon Redshift usage is covered by a reservation. An organization's master account can see the coverage of the associated member accounts. This supports dimensions, Cost Categories, and nested expressions.\n\t\t\tFor any time period, you can filter data about reservation usage by the following dimensions:

                            \n\t\t
                              \n
                            • \n

                              AZ

                              \n
                            • \n
                            • \n

                              CACHE_ENGINE

                              \n
                            • \n
                            • \n

                              DATABASE_ENGINE

                              \n
                            • \n
                            • \n

                              DEPLOYMENT_OPTION

                              \n
                            • \n
                            • \n

                              INSTANCE_TYPE

                              \n
                            • \n
                            • \n

                              LINKED_ACCOUNT

                              \n
                            • \n
                            • \n

                              OPERATING_SYSTEM

                              \n
                            • \n
                            • \n

                              PLATFORM

                              \n
                            • \n
                            • \n

                              REGION

                              \n
                            • \n
                            • \n

                              SERVICE

                              \n
                            • \n
                            • \n

                              TAG

                              \n
                            • \n
                            • \n

                              TENANCY

                              \n
                            • \n
                            \n\t\t

                            To determine valid values for a dimension, use the GetDimensionValues operation.

                            " + "smithy.api#documentation": "

                            Retrieves the reservation coverage for your account. This enables you to see how much of your Amazon Elastic Compute Cloud, Amazon ElastiCache, Amazon Relational Database Service, or \n\t\t Amazon Redshift usage is covered by a reservation. An organization's management account can see the coverage of the associated member accounts. This supports dimensions, Cost Categories, and nested expressions.\n\t\t\tFor any time period, you can filter data about reservation usage by the following dimensions:

                            \n\t\t
                              \n
                            • \n

                              AZ

                              \n
                            • \n
                            • \n

                              CACHE_ENGINE

                              \n
                            • \n
                            • \n

                              DATABASE_ENGINE

                              \n
                            • \n
                            • \n

                              DEPLOYMENT_OPTION

                              \n
                            • \n
                            • \n

                              INSTANCE_TYPE

                              \n
                            • \n
                            • \n

                              LINKED_ACCOUNT

                              \n
                            • \n
                            • \n

                              OPERATING_SYSTEM

                              \n
                            • \n
                            • \n

                              PLATFORM

                              \n
                            • \n
                            • \n

                              REGION

                              \n
                            • \n
                            • \n

                              SERVICE

                              \n
                            • \n
                            • \n

                              TAG

                              \n
                            • \n
                            • \n

                              TENANCY

                              \n
                            • \n
                            \n\t\t

                            To determine valid values for a dimension, use the GetDimensionValues operation.

                            " } }, "com.amazonaws.costexplorer#GetReservationCoverageRequest": { "type": "structure", "members": { - "NextPageToken": { - "target": "com.amazonaws.costexplorer#NextPageToken", - "traits": { - "smithy.api#documentation": "

                            The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                            " - } - }, - "Granularity": { - "target": "com.amazonaws.costexplorer#Granularity", + "TimePeriod": { + "target": "com.amazonaws.costexplorer#DateInterval", "traits": { - "smithy.api#documentation": "

                            The granularity of the AWS cost data for the reservation. Valid values are MONTHLY and DAILY.

                            \n\t\t

                            If GroupBy is set, Granularity can't be set. If Granularity isn't set, \n\t\t\tthe response object doesn't include Granularity, either MONTHLY or DAILY.

                            \n\t\t

                            The GetReservationCoverage operation supports only DAILY and MONTHLY granularities.

                            " + "smithy.api#documentation": "

                            The start and end dates of the period that you want to retrieve data about reservation coverage for. You can retrieve data \n\t\t\tfor a maximum of 13 months: the last 12 months and the current month. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is \n retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

                            ", + "smithy.api#required": {} } }, "GroupBy": { @@ -2507,6 +2502,12 @@ "smithy.api#documentation": "

                            You can group the data by the following attributes:

                            \n\t\t
                              \n
                            • \n

                              AZ

                              \n
                            • \n
                            • \n

                              CACHE_ENGINE

                              \n
                            • \n
                            • \n

                              DATABASE_ENGINE

                              \n
                            • \n
                            • \n

                              DEPLOYMENT_OPTION

                              \n
                            • \n
                            • \n

                              INSTANCE_TYPE

                              \n
                            • \n
                            • \n

                              LINKED_ACCOUNT

                              \n
                            • \n
                            • \n

                              OPERATING_SYSTEM

                              \n
                            • \n
                            • \n

                              PLATFORM

                              \n
                            • \n
                            • \n

                              REGION

                              \n
                            • \n
                            • \n

                              TENANCY

                              \n
                            • \n
                            " } }, + "Granularity": { + "target": "com.amazonaws.costexplorer#Granularity", + "traits": { + "smithy.api#documentation": "

                            The granularity of the AWS cost data for the reservation. Valid values are MONTHLY and DAILY.

                            \n\t\t

                            If GroupBy is set, Granularity can't be set. If Granularity isn't set, \n\t\t\tthe response object doesn't include Granularity, either MONTHLY or DAILY.

                            \n\t\t

                            The GetReservationCoverage operation supports only DAILY and MONTHLY granularities.

                            " + } + }, "Filter": { "target": "com.amazonaws.costexplorer#Expression", "traits": { @@ -2519,11 +2520,10 @@ "smithy.api#documentation": "

                            The measurement that you want your reservation coverage reported in.

                            \n\t\t

                            Valid values are Hour, Unit, and Cost. You can use multiple values in a request.

                            " } }, - "TimePeriod": { - "target": "com.amazonaws.costexplorer#DateInterval", + "NextPageToken": { + "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { - "smithy.api#documentation": "

                            The start and end dates of the period that you want to retrieve data about reservation coverage for. You can retrieve data \n\t\t\tfor a maximum of 13 months: the last 12 months and the current month. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is \n retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                            " } } }, @@ -2534,12 +2534,6 @@ "com.amazonaws.costexplorer#GetReservationCoverageResponse": { "type": "structure", "members": { - "Total": { - "target": "com.amazonaws.costexplorer#Coverage", - "traits": { - "smithy.api#documentation": "

                            The total amount of instance usage that a reservation covered.

                            " - } - }, "CoveragesByTime": { "target": "com.amazonaws.costexplorer#CoveragesByTime", "traits": { @@ -2547,6 +2541,12 @@ "smithy.api#required": {} } }, + "Total": { + "target": "com.amazonaws.costexplorer#Coverage", + "traits": { + "smithy.api#documentation": "

                            The total amount of instance usage that a reservation covered.

                            " + } + }, "NextPageToken": { "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { @@ -2581,10 +2581,10 @@ "com.amazonaws.costexplorer#GetReservationPurchaseRecommendationRequest": { "type": "structure", "members": { - "PaymentOption": { - "target": "com.amazonaws.costexplorer#PaymentOption", + "AccountId": { + "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The reservation purchase option that you want recommendations for.

                            " + "smithy.api#documentation": "

                            The account ID that is associated with the recommendation.

                            " } }, "Service": { @@ -2594,28 +2594,28 @@ "smithy.api#required": {} } }, - "PageSize": { - "target": "com.amazonaws.costexplorer#NonNegativeInteger", + "AccountScope": { + "target": "com.amazonaws.costexplorer#AccountScope", "traits": { - "smithy.api#documentation": "

                            The number of recommendations that you want returned in a single response object.

                            " + "smithy.api#documentation": "

                            The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the management account and member accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual member accounts only.

                            " } }, - "TermInYears": { - "target": "com.amazonaws.costexplorer#TermInYears", + "LookbackPeriodInDays": { + "target": "com.amazonaws.costexplorer#LookbackPeriodInDays", "traits": { - "smithy.api#documentation": "

                            The reservation term that you want recommendations for.

                            " + "smithy.api#documentation": "

                            The number of previous days that you want AWS to consider when it calculates your recommendations.

                            " } }, - "AccountId": { - "target": "com.amazonaws.costexplorer#GenericString", + "TermInYears": { + "target": "com.amazonaws.costexplorer#TermInYears", "traits": { - "smithy.api#documentation": "

                            The account ID that is associated with the recommendation.

                            " + "smithy.api#documentation": "

                            The reservation term that you want recommendations for.

                            " } }, - "AccountScope": { - "target": "com.amazonaws.costexplorer#AccountScope", + "PaymentOption": { + "target": "com.amazonaws.costexplorer#PaymentOption", "traits": { - "smithy.api#documentation": "

                            The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the master account and member accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual member accounts only.

                            " + "smithy.api#documentation": "

                            The reservation purchase option that you want recommendations for.

                            " } }, "ServiceSpecification": { @@ -2624,16 +2624,16 @@ "smithy.api#documentation": "

                            The hardware specifications for the service instances that you want recommendations for, such as standard or convertible Amazon EC2 instances.

                            " } }, - "NextPageToken": { - "target": "com.amazonaws.costexplorer#NextPageToken", + "PageSize": { + "target": "com.amazonaws.costexplorer#NonNegativeInteger", "traits": { - "smithy.api#documentation": "

                            The pagination token that indicates the next set of results that you want to retrieve.

                            " + "smithy.api#documentation": "

                            The number of recommendations that you want returned in a single response object.

                            " } }, - "LookbackPeriodInDays": { - "target": "com.amazonaws.costexplorer#LookbackPeriodInDays", + "NextPageToken": { + "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { - "smithy.api#documentation": "

                            The number of previous days that you want AWS to consider when it calculates your recommendations.

                            " + "smithy.api#documentation": "

                            The pagination token that indicates the next set of results that you want to retrieve.

                            " } } } @@ -2647,17 +2647,17 @@ "smithy.api#documentation": "

                            Information about this specific recommendation call, such as the time stamp for when Cost Explorer generated this recommendation.

                            " } }, - "NextPageToken": { - "target": "com.amazonaws.costexplorer#NextPageToken", - "traits": { - "smithy.api#documentation": "

                            The pagination token for the next set of retrievable results.

                            " - } - }, "Recommendations": { "target": "com.amazonaws.costexplorer#ReservationPurchaseRecommendations", "traits": { "smithy.api#documentation": "

                            Recommendations for reservations to purchase.

                            " } + }, + "NextPageToken": { + "target": "com.amazonaws.costexplorer#NextPageToken", + "traits": { + "smithy.api#documentation": "

                            The pagination token for the next set of retrievable results.

                            " + } } } }, @@ -2681,12 +2681,25 @@ } ], "traits": { - "smithy.api#documentation": "

                            Retrieves the reservation utilization for your account. Master account in an organization have access to member accounts. \n\t\t\tYou can filter data by dimensions in a time period. You can use GetDimensionValues to determine the possible \n\t\t\tdimension values. Currently, you can group only by SUBSCRIPTION_ID.

                            " + "smithy.api#documentation": "

                            Retrieves the reservation utilization for your account. Management account in an organization have access to member accounts. \n\t\t\tYou can filter data by dimensions in a time period. You can use GetDimensionValues to determine the possible \n\t\t\tdimension values. Currently, you can group only by SUBSCRIPTION_ID.

                            " } }, "com.amazonaws.costexplorer#GetReservationUtilizationRequest": { "type": "structure", "members": { + "TimePeriod": { + "target": "com.amazonaws.costexplorer#DateInterval", + "traits": { + "smithy.api#documentation": "

                            Sets the start and end dates for retrieving RI utilization. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is \n retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

                            ", + "smithy.api#required": {} + } + }, + "GroupBy": { + "target": "com.amazonaws.costexplorer#GroupDefinitions", + "traits": { + "smithy.api#documentation": "

                            Groups only by SUBSCRIPTION_ID. Metadata is included.

                            " + } + }, "Granularity": { "target": "com.amazonaws.costexplorer#Granularity", "traits": { @@ -2699,24 +2712,11 @@ "smithy.api#documentation": "

                            Filters utilization data by dimensions. You can filter by the following dimensions:

                            \n\t\t
                              \n
                            • \n

                              AZ

                              \n
                            • \n
                            • \n

                              CACHE_ENGINE

                              \n
                            • \n
                            • \n

                              DEPLOYMENT_OPTION

                              \n
                            • \n
                            • \n

                              INSTANCE_TYPE

                              \n
                            • \n
                            • \n

                              LINKED_ACCOUNT

                              \n
                            • \n
                            • \n

                              OPERATING_SYSTEM

                              \n
                            • \n
                            • \n

                              PLATFORM

                              \n
                            • \n
                            • \n

                              REGION

                              \n
                            • \n
                            • \n

                              SERVICE

                              \n
                            • \n
                            • \n

                              SCOPE

                              \n
                            • \n
                            • \n

                              TENANCY

                              \n
                            • \n
                            \n\t\t

                            \n GetReservationUtilization uses the same \n\t\t\tExpression object \n\t\t\tas the other operations, but only AND is supported among each dimension, and nesting is supported up to \n\t\t\tonly one level deep. If there are multiple values for a dimension, they are OR'd together.

                            " } }, - "TimePeriod": { - "target": "com.amazonaws.costexplorer#DateInterval", - "traits": { - "smithy.api#documentation": "

                            Sets the start and end dates for retrieving RI utilization. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is \n retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

                            ", - "smithy.api#required": {} - } - }, "NextPageToken": { "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { "smithy.api#documentation": "

                            The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                            " } - }, - "GroupBy": { - "target": "com.amazonaws.costexplorer#GroupDefinitions", - "traits": { - "smithy.api#documentation": "

                            Groups only by SUBSCRIPTION_ID. Metadata is included.

                            " - } } } }, @@ -2767,6 +2767,15 @@ "com.amazonaws.costexplorer#GetRightsizingRecommendationRequest": { "type": "structure", "members": { + "Filter": { + "target": "com.amazonaws.costexplorer#Expression" + }, + "Configuration": { + "target": "com.amazonaws.costexplorer#RightsizingRecommendationConfiguration", + "traits": { + "smithy.api#documentation": "

                            Enables you to customize recommendations across two attributes. You can choose to view\n recommendations for instances within the same instance families or across different instance\n families. You can also choose to view your estimated savings associated with recommendations\n with consideration of existing Savings Plans or RI benefits, or\n neither.

                            " + } + }, "Service": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { @@ -2774,21 +2783,12 @@ "smithy.api#required": {} } }, - "Filter": { - "target": "com.amazonaws.costexplorer#Expression" - }, "PageSize": { "target": "com.amazonaws.costexplorer#NonNegativeInteger", "traits": { "smithy.api#documentation": "

                            The number of recommendations that you want returned in a single response object.

                            " } }, - "Configuration": { - "target": "com.amazonaws.costexplorer#RightsizingRecommendationConfiguration", - "traits": { - "smithy.api#documentation": "

                            Enables you to customize recommendations across two attributes. You can choose to view\n recommendations for instances within the same instance families or across different instance\n families. You can also choose to view your estimated savings associated with recommendations\n with consideration of existing Savings Plans or RI benefits, or\n neither.

                            " - } - }, "NextPageToken": { "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { @@ -2812,18 +2812,18 @@ "smithy.api#documentation": "

                            Summary of this recommendation set.

                            " } }, - "NextPageToken": { - "target": "com.amazonaws.costexplorer#NextPageToken", - "traits": { - "smithy.api#documentation": "

                            The token to retrieve the next set of results.

                            " - } - }, "RightsizingRecommendations": { "target": "com.amazonaws.costexplorer#RightsizingRecommendationList", "traits": { "smithy.api#documentation": "

                            Recommendations to rightsize resources.

                            " } }, + "NextPageToken": { + "target": "com.amazonaws.costexplorer#NextPageToken", + "traits": { + "smithy.api#documentation": "

                            The token to retrieve the next set of results.

                            " + } + }, "Configuration": { "target": "com.amazonaws.costexplorer#RightsizingRecommendationConfiguration", "traits": { @@ -2852,7 +2852,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Retrieves the Savings Plans covered for your account. This enables you to see how much of your cost is covered by a Savings Plan. An organization’s master account can see the coverage of the associated member accounts. This supports dimensions, Cost Categories, and nested expressions. For any time period, you can filter data for Savings Plans usage with the following dimensions:

                            \n\t
                              \n
                            • \n

                              \n LINKED_ACCOUNT\n

                              \n
                            • \n
                            • \n

                              \n REGION\n

                              \n
                            • \n
                            • \n

                              \n SERVICE\n

                              \n
                            • \n
                            • \n

                              \n INSTANCE_FAMILY\n

                              \n
                            • \n
                            \n\t

                            To determine valid values for a dimension, use the GetDimensionValues operation.

                            ", + "smithy.api#documentation": "

                            Retrieves the Savings Plans covered for your account. This enables you to see how much of your cost is covered by a Savings Plan. An organization’s management account can see the coverage of the associated member accounts. This supports dimensions, Cost Categories, and nested expressions. For any time period, you can filter data for Savings Plans usage with the following dimensions:

                            \n\t
                              \n
                            • \n

                              \n LINKED_ACCOUNT\n

                              \n
                            • \n
                            • \n

                              \n REGION\n

                              \n
                            • \n
                            • \n

                              \n SERVICE\n

                              \n
                            • \n
                            • \n

                              \n INSTANCE_FAMILY\n

                              \n
                            • \n
                            \n\t

                            To determine valid values for a dimension, use the GetDimensionValues operation.

                            ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -2863,12 +2863,6 @@ "com.amazonaws.costexplorer#GetSavingsPlansCoverageRequest": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.costexplorer#NextPageToken", - "traits": { - "smithy.api#documentation": "

                            The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                            " - } - }, "TimePeriod": { "target": "com.amazonaws.costexplorer#DateInterval", "traits": { @@ -2876,10 +2870,16 @@ "smithy.api#required": {} } }, - "Metrics": { - "target": "com.amazonaws.costexplorer#MetricNames", + "GroupBy": { + "target": "com.amazonaws.costexplorer#GroupDefinitions", "traits": { - "smithy.api#documentation": "

                            The measurement that you want your Savings Plans coverage reported in. The only valid value is SpendCoveredBySavingsPlans.

                            " + "smithy.api#documentation": "

                            You can group the data using the attributes INSTANCE_FAMILY, REGION, or SERVICE.

                            " + } + }, + "Granularity": { + "target": "com.amazonaws.costexplorer#Granularity", + "traits": { + "smithy.api#documentation": "

                            The granularity of the Amazon Web Services cost data for your Savings Plans. Granularity can't be set if GroupBy is set.

                            \n\t

                            The GetSavingsPlansCoverage operation supports only DAILY and MONTHLY granularities.

                            " } }, "Filter": { @@ -2888,23 +2888,23 @@ "smithy.api#documentation": "

                            Filters Savings Plans coverage data by dimensions. You can filter data for Savings Plans usage with the following dimensions:

                            \n
                              \n
                            • \n

                              \n LINKED_ACCOUNT\n

                              \n
                            • \n
                            • \n

                              \n REGION\n

                              \n
                            • \n
                            • \n

                              \n SERVICE\n

                              \n
                            • \n
                            • \n

                              \n INSTANCE_FAMILY\n

                              \n
                            • \n
                            \n

                            \n GetSavingsPlansCoverage uses the same \n Expression object \n as the other operations, but only AND is supported among each dimension. If there are multiple values for a dimension, they are OR'd together.

                            \n

                            Cost category is also supported.

                            " } }, - "MaxResults": { - "target": "com.amazonaws.costexplorer#MaxResults", + "Metrics": { + "target": "com.amazonaws.costexplorer#MetricNames", "traits": { - "smithy.api#box": {}, - "smithy.api#documentation": "

                            The number of items to be returned in a response. The default is 20, with a minimum value of 1.

                            " + "smithy.api#documentation": "

                            The measurement that you want your Savings Plans coverage reported in. The only valid value is SpendCoveredBySavingsPlans.

                            " } }, - "Granularity": { - "target": "com.amazonaws.costexplorer#Granularity", + "NextToken": { + "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { - "smithy.api#documentation": "

                            The granularity of the Amazon Web Services cost data for your Savings Plans. Granularity can't be set if GroupBy is set.

                            \n\t

                            The GetSavingsPlansCoverage operation supports only DAILY and MONTHLY granularities.

                            " + "smithy.api#documentation": "

                            The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                            " } }, - "GroupBy": { - "target": "com.amazonaws.costexplorer#GroupDefinitions", + "MaxResults": { + "target": "com.amazonaws.costexplorer#MaxResults", "traits": { - "smithy.api#documentation": "

                            You can group the data using the attributes INSTANCE_FAMILY, REGION, or SERVICE.

                            " + "smithy.api#box": {}, + "smithy.api#documentation": "

                            The number of items to be returned in a response. The default is 20, with a minimum value of 1.

                            " } } } @@ -2912,18 +2912,18 @@ "com.amazonaws.costexplorer#GetSavingsPlansCoverageResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.costexplorer#NextPageToken", - "traits": { - "smithy.api#documentation": "

                            The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                            " - } - }, "SavingsPlansCoverages": { "target": "com.amazonaws.costexplorer#SavingsPlansCoverages", "traits": { "smithy.api#documentation": "

                            The amount of spend that your Savings Plans covered.

                            ", "smithy.api#required": {} } + }, + "NextToken": { + "target": "com.amazonaws.costexplorer#NextPageToken", + "traits": { + "smithy.api#documentation": "

                            The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                            " + } } } }, @@ -2950,13 +2950,6 @@ "com.amazonaws.costexplorer#GetSavingsPlansPurchaseRecommendationRequest": { "type": "structure", "members": { - "LookbackPeriodInDays": { - "target": "com.amazonaws.costexplorer#LookbackPeriodInDays", - "traits": { - "smithy.api#documentation": "

                            The lookback period used to generate the recommendation.

                            ", - "smithy.api#required": {} - } - }, "SavingsPlansType": { "target": "com.amazonaws.costexplorer#SupportedSavingsPlansType", "traits": { @@ -2964,10 +2957,11 @@ "smithy.api#required": {} } }, - "AccountScope": { - "target": "com.amazonaws.costexplorer#AccountScope", + "TermInYears": { + "target": "com.amazonaws.costexplorer#TermInYears", "traits": { - "smithy.api#documentation": "

                            The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the master account and member accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual member accounts only.

                            " + "smithy.api#documentation": "

                            The savings plan recommendation term used to\n generate these\n recommendations.

                            ", + "smithy.api#required": {} } }, "PaymentOption": { @@ -2977,6 +2971,12 @@ "smithy.api#required": {} } }, + "AccountScope": { + "target": "com.amazonaws.costexplorer#AccountScope", + "traits": { + "smithy.api#documentation": "

                            The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the management account and member accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual member accounts only.

                            " + } + }, "NextPageToken": { "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { @@ -2989,17 +2989,17 @@ "smithy.api#documentation": "

                            The number of recommendations that you want returned in a single response object.

                            " } }, - "Filter": { - "target": "com.amazonaws.costexplorer#Expression", + "LookbackPeriodInDays": { + "target": "com.amazonaws.costexplorer#LookbackPeriodInDays", "traits": { - "smithy.api#documentation": "

                            You can filter your recommendations by Account ID with the LINKED_ACCOUNT\n dimension. To filter your recommendations by Account ID, specify Key as\n LINKED_ACCOUNT and Value as the comma-separated Acount ID(s) for\n which you want to see Savings Plans purchase recommendations.

                            \n

                            For GetSavingsPlansPurchaseRecommendation, the Filter does not include\n CostCategories or Tags. It only includes Dimensions.\n With Dimensions, Key must be LINKED_ACCOUNT and\n Value can be a single Account ID or multiple comma-separated Account IDs for\n which you want to see Savings Plans Purchase Recommendations. AND and\n OR operators are not supported.

                            " + "smithy.api#documentation": "

                            The lookback period used to generate the recommendation.

                            ", + "smithy.api#required": {} } }, - "TermInYears": { - "target": "com.amazonaws.costexplorer#TermInYears", + "Filter": { + "target": "com.amazonaws.costexplorer#Expression", "traits": { - "smithy.api#documentation": "

                            The savings plan recommendation term used to\n generate these\n recommendations.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            You can filter your recommendations by Account ID with the LINKED_ACCOUNT\n dimension. To filter your recommendations by Account ID, specify Key as\n LINKED_ACCOUNT and Value as the comma-separated Acount ID(s) for\n which you want to see Savings Plans purchase recommendations.

                            \n

                            For GetSavingsPlansPurchaseRecommendation, the Filter does not include\n CostCategories or Tags. It only includes Dimensions.\n With Dimensions, Key must be LINKED_ACCOUNT and\n Value can be a single Account ID or multiple comma-separated Account IDs for\n which you want to see Savings Plans Purchase Recommendations. AND and\n OR operators are not supported.

                            " } } } @@ -3044,7 +3044,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Retrieves the Savings Plans utilization for your account across date ranges with daily or monthly granularity. Master account in an organization have access to member accounts. You can use GetDimensionValues in SAVINGS_PLANS to determine the possible dimension values.

                            \n\t \n

                            You cannot group by any dimension values for GetSavingsPlansUtilization.

                            \n
                            " + "smithy.api#documentation": "

                            Retrieves the Savings Plans utilization for your account across date ranges with daily or monthly granularity. Management account in an organization have access to member accounts. You can use GetDimensionValues in SAVINGS_PLANS to determine the possible dimension values.

                            \n\t \n

                            You cannot group by any dimension values for GetSavingsPlansUtilization.

                            \n
                            " } }, "com.amazonaws.costexplorer#GetSavingsPlansUtilizationDetails": { @@ -3078,19 +3078,6 @@ "com.amazonaws.costexplorer#GetSavingsPlansUtilizationDetailsRequest": { "type": "structure", "members": { - "Filter": { - "target": "com.amazonaws.costexplorer#Expression", - "traits": { - "smithy.api#documentation": "

                            Filters Savings Plans utilization coverage data for active Savings Plans dimensions. You can filter data with the following dimensions:

                            \n
                              \n
                            • \n

                              \n LINKED_ACCOUNT\n

                              \n
                            • \n
                            • \n

                              \n SAVINGS_PLAN_ARN\n

                              \n
                            • \n
                            • \n

                              \n REGION\n

                              \n
                            • \n
                            • \n

                              \n PAYMENT_OPTION\n

                              \n
                            • \n
                            • \n

                              \n INSTANCE_TYPE_FAMILY\n

                              \n
                            • \n
                            \n

                            \n GetSavingsPlansUtilizationDetails uses the same \n Expression object \n as the other operations, but only AND is supported among each dimension.

                            " - } - }, - "MaxResults": { - "target": "com.amazonaws.costexplorer#MaxResults", - "traits": { - "smithy.api#box": {}, - "smithy.api#documentation": "

                            The number of items to be returned in a response. The default is 20, with a minimum value of 1.

                            " - } - }, "TimePeriod": { "target": "com.amazonaws.costexplorer#DateInterval", "traits": { @@ -3098,20 +3085,34 @@ "smithy.api#required": {} } }, + "Filter": { + "target": "com.amazonaws.costexplorer#Expression", + "traits": { + "smithy.api#documentation": "

                            Filters Savings Plans utilization coverage data for active Savings Plans dimensions. You can filter data with the following dimensions:

                            \n
                              \n
                            • \n

                              \n LINKED_ACCOUNT\n

                              \n
                            • \n
                            • \n

                              \n SAVINGS_PLAN_ARN\n

                              \n
                            • \n
                            • \n

                              \n REGION\n

                              \n
                            • \n
                            • \n

                              \n PAYMENT_OPTION\n

                              \n
                            • \n
                            • \n

                              \n INSTANCE_TYPE_FAMILY\n

                              \n
                            • \n
                            \n

                            \n GetSavingsPlansUtilizationDetails uses the same \n Expression object \n as the other operations, but only AND is supported among each dimension.

                            " + } + }, "NextToken": { "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { "smithy.api#documentation": "

                            The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                            " } + }, + "MaxResults": { + "target": "com.amazonaws.costexplorer#MaxResults", + "traits": { + "smithy.api#box": {}, + "smithy.api#documentation": "

                            The number of items to be returned in a response. The default is 20, with a minimum value of 1.

                            " + } } } }, "com.amazonaws.costexplorer#GetSavingsPlansUtilizationDetailsResponse": { "type": "structure", "members": { - "TimePeriod": { - "target": "com.amazonaws.costexplorer#DateInterval", + "SavingsPlansUtilizationDetails": { + "target": "com.amazonaws.costexplorer#SavingsPlansUtilizationDetails", "traits": { + "smithy.api#documentation": "

                            Retrieves a single daily or monthly Savings Plans utilization rate and details for your account.

                            ", "smithy.api#required": {} } }, @@ -3121,17 +3122,16 @@ "smithy.api#documentation": "

                            The total Savings Plans utilization, regardless of time period.

                            " } }, - "NextToken": { - "target": "com.amazonaws.costexplorer#NextPageToken", + "TimePeriod": { + "target": "com.amazonaws.costexplorer#DateInterval", "traits": { - "smithy.api#documentation": "

                            The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                            " + "smithy.api#required": {} } }, - "SavingsPlansUtilizationDetails": { - "target": "com.amazonaws.costexplorer#SavingsPlansUtilizationDetails", + "NextToken": { + "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { - "smithy.api#documentation": "

                            Retrieves a single daily or monthly Savings Plans utilization rate and details for your account.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                            " } } } @@ -3146,17 +3146,17 @@ "smithy.api#required": {} } }, - "Filter": { - "target": "com.amazonaws.costexplorer#Expression", - "traits": { - "smithy.api#documentation": "

                            Filters Savings Plans utilization coverage data for active Savings Plans dimensions. You can filter data with the following dimensions:

                            \n
                              \n
                            • \n

                              \n LINKED_ACCOUNT\n

                              \n
                            • \n
                            • \n

                              \n SAVINGS_PLAN_ARN\n

                              \n
                            • \n
                            • \n

                              \n SAVINGS_PLANS_TYPE\n

                              \n
                            • \n
                            • \n

                              \n REGION\n

                              \n
                            • \n
                            • \n

                              \n PAYMENT_OPTION\n

                              \n
                            • \n
                            • \n

                              \n INSTANCE_TYPE_FAMILY\n

                              \n
                            • \n
                            \n

                            \n GetSavingsPlansUtilization uses the same \n Expression object \n as the other operations, but only AND is supported among each dimension.

                            " - } - }, "Granularity": { "target": "com.amazonaws.costexplorer#Granularity", "traits": { "smithy.api#documentation": "

                            The granularity of the Amazon Web Services utillization data for your Savings Plans.

                            \n\t

                            The GetSavingsPlansUtilization operation supports only DAILY and MONTHLY granularities.

                            " } + }, + "Filter": { + "target": "com.amazonaws.costexplorer#Expression", + "traits": { + "smithy.api#documentation": "

                            Filters Savings Plans utilization coverage data for active Savings Plans dimensions. You can filter data with the following dimensions:

                            \n
                              \n
                            • \n

                              \n LINKED_ACCOUNT\n

                              \n
                            • \n
                            • \n

                              \n SAVINGS_PLAN_ARN\n

                              \n
                            • \n
                            • \n

                              \n SAVINGS_PLANS_TYPE\n

                              \n
                            • \n
                            • \n

                              \n REGION\n

                              \n
                            • \n
                            • \n

                              \n PAYMENT_OPTION\n

                              \n
                            • \n
                            • \n

                              \n INSTANCE_TYPE_FAMILY\n

                              \n
                            • \n
                            \n

                            \n GetSavingsPlansUtilization uses the same \n Expression object \n as the other operations, but only AND is supported among each dimension.

                            " + } } } }, @@ -3210,10 +3210,10 @@ "com.amazonaws.costexplorer#GetTagsRequest": { "type": "structure", "members": { - "NextPageToken": { - "target": "com.amazonaws.costexplorer#NextPageToken", + "SearchString": { + "target": "com.amazonaws.costexplorer#SearchString", "traits": { - "smithy.api#documentation": "

                            The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                            " + "smithy.api#documentation": "

                            The value that you want to search for.

                            " } }, "TimePeriod": { @@ -3229,10 +3229,10 @@ "smithy.api#documentation": "

                            The key of the tag that you want to return values for.

                            " } }, - "SearchString": { - "target": "com.amazonaws.costexplorer#SearchString", + "NextPageToken": { + "target": "com.amazonaws.costexplorer#NextPageToken", "traits": { - "smithy.api#documentation": "

                            The value that you want to search for.

                            " + "smithy.api#documentation": "

                            The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                            " } } } @@ -3295,24 +3295,31 @@ "com.amazonaws.costexplorer#GetUsageForecastRequest": { "type": "structure", "members": { - "Filter": { - "target": "com.amazonaws.costexplorer#Expression", + "TimePeriod": { + "target": "com.amazonaws.costexplorer#DateInterval", "traits": { - "smithy.api#documentation": "

                            The filters that you want to use to filter your forecast. Cost Explorer API supports all of the Cost Explorer filters.

                            " + "smithy.api#documentation": "

                            The start and end dates of the period that you want to retrieve usage forecast for. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is \n\t\t retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01. The start date must be equal to or later than the current date to avoid a validation error.

                            ", + "smithy.api#required": {} } }, "Metric": { "target": "com.amazonaws.costexplorer#Metric", "traits": { - "smithy.api#documentation": "

                            Which metric Cost Explorer uses to create your forecast.

                            \n\t\t

                            Valid values for a GetUsageForecast call are the following:

                            \n\t\t
                              \n
                            • \n\t\t\t\t

                              USAGE_QUANTITY

                              \n\t\t\t
                            • \n
                            • \n\t\t\t\t

                              NORMALIZED_USAGE_AMOUNT

                              \n\t\t\t
                            • \n
                            ", + "smithy.api#documentation": "

                            Which metric Cost Explorer uses to create your forecast.

                            \n\t\t

                            Valid values for a GetUsageForecast call are the following:

                            \n\t\t
                              \n
                            • \n\t\t\t\t

                              USAGE_QUANTITY

                              \n\t\t\t
                            • \n
                            • \n\t\t\t\t

                              NORMALIZED_USAGE_AMOUNT

                              \n\t\t\t
                            • \n
                            ", + "smithy.api#required": {} + } + }, + "Granularity": { + "target": "com.amazonaws.costexplorer#Granularity", + "traits": { + "smithy.api#documentation": "

                            How granular you want the forecast to be. You can get 3 months of DAILY forecasts or 12 months of MONTHLY forecasts.

                            \n\t\t

                            The GetUsageForecast operation supports only DAILY and MONTHLY granularities.

                            ", "smithy.api#required": {} } }, - "TimePeriod": { - "target": "com.amazonaws.costexplorer#DateInterval", + "Filter": { + "target": "com.amazonaws.costexplorer#Expression", "traits": { - "smithy.api#documentation": "

                            The start and end dates of the period that you want to retrieve usage forecast for. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is \n\t\t retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01. The start date must be equal to or later than the current date to avoid a validation error.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The filters that you want to use to filter your forecast. Cost Explorer API supports all of the Cost Explorer filters.

                            " } }, "PredictionIntervalLevel": { @@ -3320,13 +3327,6 @@ "traits": { "smithy.api#documentation": "

                            Cost Explorer always returns the mean forecast as a single point. You can request a prediction interval around the mean \n\t\t\tby specifying a confidence level. The higher the confidence level, the more confident Cost Explorer is about the actual value \n\t\t\tfalling in the prediction interval. Higher confidence levels result in wider prediction intervals.

                            " } - }, - "Granularity": { - "target": "com.amazonaws.costexplorer#Granularity", - "traits": { - "smithy.api#documentation": "

                            How granular you want the forecast to be. You can get 3 months of DAILY forecasts or 12 months of MONTHLY forecasts.

                            \n\t\t

                            The GetUsageForecast operation supports only DAILY and MONTHLY granularities.

                            ", - "smithy.api#required": {} - } } } }, @@ -3477,16 +3477,16 @@ "smithy.api#documentation": "

                            The Amazon EC2 instances that AWS recommends that you purchase.

                            " } }, - "RedshiftInstanceDetails": { - "target": "com.amazonaws.costexplorer#RedshiftInstanceDetails", + "RDSInstanceDetails": { + "target": "com.amazonaws.costexplorer#RDSInstanceDetails", "traits": { - "smithy.api#documentation": "

                            The Amazon Redshift instances that AWS recommends that you purchase.

                            " + "smithy.api#documentation": "

                            The Amazon RDS instances that AWS recommends that you purchase.

                            " } }, - "ESInstanceDetails": { - "target": "com.amazonaws.costexplorer#ESInstanceDetails", + "RedshiftInstanceDetails": { + "target": "com.amazonaws.costexplorer#RedshiftInstanceDetails", "traits": { - "smithy.api#documentation": "

                            The Amazon ES instances that AWS recommends that you purchase.

                            " + "smithy.api#documentation": "

                            The Amazon Redshift instances that AWS recommends that you purchase.

                            " } }, "ElastiCacheInstanceDetails": { @@ -3495,10 +3495,10 @@ "smithy.api#documentation": "

                            The ElastiCache instances that AWS recommends that you purchase.

                            " } }, - "RDSInstanceDetails": { - "target": "com.amazonaws.costexplorer#RDSInstanceDetails", + "ESInstanceDetails": { + "target": "com.amazonaws.costexplorer#ESInstanceDetails", "traits": { - "smithy.api#documentation": "

                            The Amazon RDS instances that AWS recommends that you purchase.

                            " + "smithy.api#documentation": "

                            The Amazon ES instances that AWS recommends that you purchase.

                            " } } }, @@ -3564,11 +3564,10 @@ "com.amazonaws.costexplorer#ListCostCategoryDefinitionsRequest": { "type": "structure", "members": { - "MaxResults": { - "target": "com.amazonaws.costexplorer#CostCategoryMaxResults", + "EffectiveOn": { + "target": "com.amazonaws.costexplorer#ZonedDateTime", "traits": { - "smithy.api#box": {}, - "smithy.api#documentation": "

                            The number of entries a paginated response contains.

                            " + "smithy.api#documentation": "

                            \n The date when the Cost Category was effective.\n

                            " } }, "NextToken": { @@ -3577,10 +3576,11 @@ "smithy.api#documentation": "

                            \n The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.\n

                            " } }, - "EffectiveOn": { - "target": "com.amazonaws.costexplorer#ZonedDateTime", + "MaxResults": { + "target": "com.amazonaws.costexplorer#CostCategoryMaxResults", "traits": { - "smithy.api#documentation": "

                            \n The date when the Cost Category was effective.\n

                            " + "smithy.api#box": {}, + "smithy.api#documentation": "

                            The number of entries a paginated response contains.

                            " } } } @@ -3984,52 +3984,52 @@ "com.amazonaws.costexplorer#RDSInstanceDetails": { "type": "structure", "members": { - "LicenseModel": { + "Family": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The license model that the recommended reservation supports.

                            " + "smithy.api#documentation": "

                            The instance family of the recommended reservation.

                            " } }, - "CurrentGeneration": { - "target": "com.amazonaws.costexplorer#GenericBoolean", + "InstanceType": { + "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            Whether the recommendation is for a current-generation instance.

                            " + "smithy.api#documentation": "

                            The type of instance that AWS recommends.

                            " } }, - "DeploymentOption": { + "Region": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            Whether the recommendation is for a reservation in a single Availability Zone or a\n reservation with a backup in a second Availability Zone.

                            " + "smithy.api#documentation": "

                            The AWS Region of the recommended reservation.

                            " } }, - "Family": { + "DatabaseEngine": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The instance family of the recommended reservation.

                            " + "smithy.api#documentation": "

                            The database engine that the recommended reservation supports.

                            " } }, - "Region": { + "DatabaseEdition": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The AWS Region of the recommended reservation.

                            " + "smithy.api#documentation": "

                            The database edition that the recommended reservation supports.

                            " } }, - "InstanceType": { + "DeploymentOption": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The type of instance that AWS recommends.

                            " + "smithy.api#documentation": "

                            Whether the recommendation is for a reservation in a single Availability Zone or a\n reservation with a backup in a second Availability Zone.

                            " } }, - "DatabaseEdition": { + "LicenseModel": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The database edition that the recommended reservation supports.

                            " + "smithy.api#documentation": "

                            The license model that the recommended reservation supports.

                            " } }, - "DatabaseEngine": { - "target": "com.amazonaws.costexplorer#GenericString", + "CurrentGeneration": { + "target": "com.amazonaws.costexplorer#GenericBoolean", "traits": { - "smithy.api#documentation": "

                            The database engine that the recommended reservation supports.

                            " + "smithy.api#documentation": "

                            Whether the recommendation is for a current-generation instance.

                            " } }, "SizeFlexEligible": { @@ -4061,28 +4061,22 @@ "com.amazonaws.costexplorer#RedshiftInstanceDetails": { "type": "structure", "members": { - "Region": { - "target": "com.amazonaws.costexplorer#GenericString", - "traits": { - "smithy.api#documentation": "

                            The AWS Region of the recommended reservation.

                            " - } - }, "Family": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { "smithy.api#documentation": "

                            The instance family of the recommended reservation.

                            " } }, - "SizeFlexEligible": { - "target": "com.amazonaws.costexplorer#GenericBoolean", + "NodeType": { + "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            Whether the recommended reservation is size flexible.

                            " + "smithy.api#documentation": "

                            The type of node that AWS recommends.

                            " } }, - "NodeType": { + "Region": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The type of node that AWS recommends.

                            " + "smithy.api#documentation": "

                            The AWS Region of the recommended reservation.

                            " } }, "CurrentGeneration": { @@ -4090,6 +4084,12 @@ "traits": { "smithy.api#documentation": "

                            Whether the recommendation is for a current-generation instance.

                            " } + }, + "SizeFlexEligible": { + "target": "com.amazonaws.costexplorer#GenericBoolean", + "traits": { + "smithy.api#documentation": "

                            Whether the recommended reservation is size flexible.

                            " + } } }, "traits": { @@ -4111,16 +4111,10 @@ "com.amazonaws.costexplorer#ReservationAggregates": { "type": "structure", "members": { - "TotalActualUnits": { - "target": "com.amazonaws.costexplorer#TotalActualUnits", - "traits": { - "smithy.api#documentation": "

                            The total number of Amazon EC2 reservation hours that you used, converted to normalized\n units. Normalized units are available only for Amazon EC2 usage after November 11,\n 2017.

                            " - } - }, - "PurchasedHours": { - "target": "com.amazonaws.costexplorer#PurchasedHours", + "UtilizationPercentage": { + "target": "com.amazonaws.costexplorer#UtilizationPercentage", "traits": { - "smithy.api#documentation": "

                            How many reservation hours that you purchased.

                            " + "smithy.api#documentation": "

                            The percentage of reservation time that you used.

                            " } }, "UtilizationPercentageInUnits": { @@ -4129,16 +4123,16 @@ "smithy.api#documentation": "

                            The percentage of Amazon EC2 reservation time that you used, converted to normalized\n units. Normalized units are available only for Amazon EC2 usage after November 11,\n 2017.

                            " } }, - "PurchasedUnits": { - "target": "com.amazonaws.costexplorer#PurchasedUnits", + "PurchasedHours": { + "target": "com.amazonaws.costexplorer#PurchasedHours", "traits": { - "smithy.api#documentation": "

                            How many Amazon EC2 reservation hours that you purchased, converted to normalized units.\n Normalized units are available only for Amazon EC2 usage after November 11, 2017.

                            " + "smithy.api#documentation": "

                            How many reservation hours that you purchased.

                            " } }, - "TotalAmortizedFee": { - "target": "com.amazonaws.costexplorer#TotalAmortizedFee", + "PurchasedUnits": { + "target": "com.amazonaws.costexplorer#PurchasedUnits", "traits": { - "smithy.api#documentation": "

                            The total cost of your reservation, amortized over the reservation\n period.

                            " + "smithy.api#documentation": "

                            How many Amazon EC2 reservation hours that you purchased, converted to normalized units.\n Normalized units are available only for Amazon EC2 usage after November 11, 2017.

                            " } }, "TotalActualHours": { @@ -4147,16 +4141,22 @@ "smithy.api#documentation": "

                            The total number of reservation hours that you used.

                            " } }, + "TotalActualUnits": { + "target": "com.amazonaws.costexplorer#TotalActualUnits", + "traits": { + "smithy.api#documentation": "

                            The total number of Amazon EC2 reservation hours that you used, converted to normalized\n units. Normalized units are available only for Amazon EC2 usage after November 11,\n 2017.

                            " + } + }, "UnusedHours": { "target": "com.amazonaws.costexplorer#UnusedHours", "traits": { "smithy.api#documentation": "

                            The number of reservation hours that you didn't use.

                            " } }, - "AmortizedUpfrontFee": { - "target": "com.amazonaws.costexplorer#AmortizedUpfrontFee", + "UnusedUnits": { + "target": "com.amazonaws.costexplorer#UnusedUnits", "traits": { - "smithy.api#documentation": "

                            The upfront cost of your reservation, amortized over the reservation\n period.

                            " + "smithy.api#documentation": "

                            The number of Amazon EC2 reservation hours that you didn't use, converted to normalized\n units. Normalized units are available only for Amazon EC2 usage after November 11,\n 2017.

                            " } }, "OnDemandCostOfRIHoursUsed": { @@ -4165,16 +4165,22 @@ "smithy.api#documentation": "

                            How much your reservation would cost if charged On-Demand rates.

                            " } }, + "NetRISavings": { + "target": "com.amazonaws.costexplorer#NetRISavings", + "traits": { + "smithy.api#documentation": "

                            How much you saved due to purchasing and utilizing reservation. AWS calculates this\n by subtracting TotalAmortizedFee from\n OnDemandCostOfRIHoursUsed.

                            " + } + }, "TotalPotentialRISavings": { "target": "com.amazonaws.costexplorer#TotalPotentialRISavings", "traits": { "smithy.api#documentation": "

                            How much you could save if you use your entire reservation.

                            " } }, - "UnusedUnits": { - "target": "com.amazonaws.costexplorer#UnusedUnits", + "AmortizedUpfrontFee": { + "target": "com.amazonaws.costexplorer#AmortizedUpfrontFee", "traits": { - "smithy.api#documentation": "

                            The number of Amazon EC2 reservation hours that you didn't use, converted to normalized\n units. Normalized units are available only for Amazon EC2 usage after November 11,\n 2017.

                            " + "smithy.api#documentation": "

                            The upfront cost of your reservation, amortized over the reservation\n period.

                            " } }, "AmortizedRecurringFee": { @@ -4183,16 +4189,10 @@ "smithy.api#documentation": "

                            The monthly cost of your reservation, amortized over the reservation\n period.

                            " } }, - "NetRISavings": { - "target": "com.amazonaws.costexplorer#NetRISavings", - "traits": { - "smithy.api#documentation": "

                            How much you saved due to purchasing and utilizing reservation. AWS calculates this\n by subtracting TotalAmortizedFee from\n OnDemandCostOfRIHoursUsed.

                            " - } - }, - "UtilizationPercentage": { - "target": "com.amazonaws.costexplorer#UtilizationPercentage", + "TotalAmortizedFee": { + "target": "com.amazonaws.costexplorer#TotalAmortizedFee", "traits": { - "smithy.api#documentation": "

                            The percentage of reservation time that you used.

                            " + "smithy.api#documentation": "

                            The total cost of your reservation, amortized over the reservation\n period.

                            " } } }, @@ -4203,17 +4203,17 @@ "com.amazonaws.costexplorer#ReservationCoverageGroup": { "type": "structure", "members": { - "Coverage": { - "target": "com.amazonaws.costexplorer#Coverage", - "traits": { - "smithy.api#documentation": "

                            How much instance usage this group of reservations covered.

                            " - } - }, "Attributes": { "target": "com.amazonaws.costexplorer#Attributes", "traits": { "smithy.api#documentation": "

                            The attributes for this group of reservations.

                            " } + }, + "Coverage": { + "target": "com.amazonaws.costexplorer#Coverage", + "traits": { + "smithy.api#documentation": "

                            How much instance usage this group of reservations covered.

                            " + } } }, "traits": { @@ -4235,16 +4235,10 @@ "com.amazonaws.costexplorer#ReservationPurchaseRecommendation": { "type": "structure", "members": { - "ServiceSpecification": { - "target": "com.amazonaws.costexplorer#ServiceSpecification", - "traits": { - "smithy.api#documentation": "

                            Hardware specifications for the service that you want recommendations\n for.

                            " - } - }, - "RecommendationDetails": { - "target": "com.amazonaws.costexplorer#ReservationPurchaseRecommendationDetails", + "AccountScope": { + "target": "com.amazonaws.costexplorer#AccountScope", "traits": { - "smithy.api#documentation": "

                            Details about the recommended purchases.

                            " + "smithy.api#documentation": "

                            The account scope that AWS recommends that you purchase this instance for. For\n example, you can purchase this reservation for an entire organization in AWS\n Organizations.

                            " } }, "LookbackPeriodInDays": { @@ -4253,22 +4247,28 @@ "smithy.api#documentation": "

                            How many days of previous usage that AWS considers when making this\n recommendation.

                            " } }, + "TermInYears": { + "target": "com.amazonaws.costexplorer#TermInYears", + "traits": { + "smithy.api#documentation": "

                            The term of the reservation that you want recommendations for, in years.

                            " + } + }, "PaymentOption": { "target": "com.amazonaws.costexplorer#PaymentOption", "traits": { "smithy.api#documentation": "

                            The payment option for the reservation. For example, AllUpfront or\n NoUpfront.

                            " } }, - "TermInYears": { - "target": "com.amazonaws.costexplorer#TermInYears", + "ServiceSpecification": { + "target": "com.amazonaws.costexplorer#ServiceSpecification", "traits": { - "smithy.api#documentation": "

                            The term of the reservation that you want recommendations for, in years.

                            " + "smithy.api#documentation": "

                            Hardware specifications for the service that you want recommendations\n for.

                            " } }, - "AccountScope": { - "target": "com.amazonaws.costexplorer#AccountScope", + "RecommendationDetails": { + "target": "com.amazonaws.costexplorer#ReservationPurchaseRecommendationDetails", "traits": { - "smithy.api#documentation": "

                            The account scope that AWS recommends that you purchase this instance for. For\n example, you can purchase this reservation for an entire organization in AWS\n Organizations.

                            " + "smithy.api#documentation": "

                            Details about the recommended purchases.

                            " } }, "RecommendationSummary": { @@ -4285,118 +4285,118 @@ "com.amazonaws.costexplorer#ReservationPurchaseRecommendationDetail": { "type": "structure", "members": { - "AverageNormalizedUnitsUsedPerHour": { + "AccountId": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The average number of normalized units that you used in an hour during the\n historical period. AWS uses this to calculate your recommended reservation\n purchases.

                            " + "smithy.api#documentation": "

                            The account that this RI recommendation is for.

                            " } }, - "AverageNumberOfInstancesUsedPerHour": { - "target": "com.amazonaws.costexplorer#GenericString", + "InstanceDetails": { + "target": "com.amazonaws.costexplorer#InstanceDetails", "traits": { - "smithy.api#documentation": "

                            The average number of instances that you used in an hour during the historical\n period. AWS uses this to calculate your recommended reservation purchases.

                            " + "smithy.api#documentation": "

                            Details about the instances that AWS recommends that you purchase.

                            " } }, - "EstimatedMonthlyOnDemandCost": { + "RecommendedNumberOfInstancesToPurchase": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            How much AWS estimates that you spend on On-Demand Instances in a month.

                            " + "smithy.api#documentation": "

                            The number of instances that AWS recommends that you purchase.

                            " } }, - "UpfrontCost": { + "RecommendedNormalizedUnitsToPurchase": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            How much purchasing this instance costs you upfront.

                            " + "smithy.api#documentation": "

                            The number of normalized units that AWS recommends that you purchase.

                            " } }, - "AccountId": { + "MinimumNumberOfInstancesUsedPerHour": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The account that this RI recommendation is for.

                            " + "smithy.api#documentation": "

                            The minimum number of instances that you used in an hour during the historical\n period. AWS uses this to calculate your recommended reservation purchases.

                            " } }, - "CurrencyCode": { + "MinimumNormalizedUnitsUsedPerHour": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The currency code that AWS used to calculate the costs for this instance.

                            " + "smithy.api#documentation": "

                            The minimum number of normalized units that you used in an hour during the\n historical period. AWS uses this to calculate your recommended reservation\n purchases.

                            " } }, - "EstimatedMonthlySavingsAmount": { + "MaximumNumberOfInstancesUsedPerHour": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            How much AWS estimates that this specific recommendation could save you in a\n month.

                            " + "smithy.api#documentation": "

                            The maximum number of instances that you used in an hour during the historical\n period. AWS uses this to calculate your recommended reservation purchases.

                            " } }, - "EstimatedReservationCostForLookbackPeriod": { + "MaximumNormalizedUnitsUsedPerHour": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            How much AWS estimates that you would have spent for all usage during the specified\n historical period if you had\n a\n reservation.

                            " + "smithy.api#documentation": "

                            The maximum number of normalized units that you used in an hour during the\n historical period. AWS uses this to calculate your recommended reservation\n purchases.

                            " } }, - "MinimumNumberOfInstancesUsedPerHour": { + "AverageNumberOfInstancesUsedPerHour": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The minimum number of instances that you used in an hour during the historical\n period. AWS uses this to calculate your recommended reservation purchases.

                            " + "smithy.api#documentation": "

                            The average number of instances that you used in an hour during the historical\n period. AWS uses this to calculate your recommended reservation purchases.

                            " } }, - "MaximumNumberOfInstancesUsedPerHour": { + "AverageNormalizedUnitsUsedPerHour": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The maximum number of instances that you used in an hour during the historical\n period. AWS uses this to calculate your recommended reservation purchases.

                            " + "smithy.api#documentation": "

                            The average number of normalized units that you used in an hour during the\n historical period. AWS uses this to calculate your recommended reservation\n purchases.

                            " } }, - "RecommendedNormalizedUnitsToPurchase": { + "AverageUtilization": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The number of normalized units that AWS recommends that you purchase.

                            " + "smithy.api#documentation": "

                            The average utilization of your instances. AWS uses this to calculate your\n recommended reservation purchases.

                            " } }, - "RecommendedNumberOfInstancesToPurchase": { + "EstimatedBreakEvenInMonths": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The number of instances that AWS recommends that you purchase.

                            " + "smithy.api#documentation": "

                            How long AWS estimates that it takes for this instance to start saving you money,\n in months.

                            " } }, - "MinimumNormalizedUnitsUsedPerHour": { + "CurrencyCode": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The minimum number of normalized units that you used in an hour during the\n historical period. AWS uses this to calculate your recommended reservation\n purchases.

                            " + "smithy.api#documentation": "

                            The currency code that AWS used to calculate the costs for this instance.

                            " } }, - "AverageUtilization": { + "EstimatedMonthlySavingsAmount": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The average utilization of your instances. AWS uses this to calculate your\n recommended reservation purchases.

                            " + "smithy.api#documentation": "

                            How much AWS estimates that this specific recommendation could save you in a\n month.

                            " } }, - "RecurringStandardMonthlyCost": { + "EstimatedMonthlySavingsPercentage": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            How much purchasing this instance costs you on a monthly basis.

                            " + "smithy.api#documentation": "

                            How much AWS estimates that this specific recommendation could save you in a month,\n as a percentage of your overall costs.

                            " } }, - "MaximumNormalizedUnitsUsedPerHour": { + "EstimatedMonthlyOnDemandCost": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The maximum number of normalized units that you used in an hour during the\n historical period. AWS uses this to calculate your recommended reservation\n purchases.

                            " + "smithy.api#documentation": "

                            How much AWS estimates that you spend on On-Demand Instances in a month.

                            " } }, - "InstanceDetails": { - "target": "com.amazonaws.costexplorer#InstanceDetails", + "EstimatedReservationCostForLookbackPeriod": { + "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            Details about the instances that AWS recommends that you purchase.

                            " + "smithy.api#documentation": "

                            How much AWS estimates that you would have spent for all usage during the specified\n historical period if you had\n a\n reservation.

                            " } }, - "EstimatedMonthlySavingsPercentage": { + "UpfrontCost": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            How much AWS estimates that this specific recommendation could save you in a month,\n as a percentage of your overall costs.

                            " + "smithy.api#documentation": "

                            How much purchasing this instance costs you upfront.

                            " } }, - "EstimatedBreakEvenInMonths": { + "RecurringStandardMonthlyCost": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            How long AWS estimates that it takes for this instance to start saving you money,\n in months.

                            " + "smithy.api#documentation": "

                            How much purchasing this instance costs you on a monthly basis.

                            " } } }, @@ -4413,16 +4413,16 @@ "com.amazonaws.costexplorer#ReservationPurchaseRecommendationMetadata": { "type": "structure", "members": { - "GenerationTimestamp": { + "RecommendationId": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The timestamp for when AWS made this recommendation.

                            " + "smithy.api#documentation": "

                            The ID for this specific recommendation.

                            " } }, - "RecommendationId": { + "GenerationTimestamp": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The ID for this specific recommendation.

                            " + "smithy.api#documentation": "

                            The timestamp for when AWS made this recommendation.

                            " } } }, @@ -4433,16 +4433,16 @@ "com.amazonaws.costexplorer#ReservationPurchaseRecommendationSummary": { "type": "structure", "members": { - "TotalEstimatedMonthlySavingsPercentage": { + "TotalEstimatedMonthlySavingsAmount": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The total amount that AWS estimates that this recommendation could save you in a\n month, as a percentage of your costs.

                            " + "smithy.api#documentation": "

                            The total amount that AWS estimates that this recommendation could save you in a\n month.

                            " } }, - "TotalEstimatedMonthlySavingsAmount": { + "TotalEstimatedMonthlySavingsPercentage": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The total amount that AWS estimates that this recommendation could save you in a\n month.

                            " + "smithy.api#documentation": "

                            The total amount that AWS estimates that this recommendation could save you in a\n month, as a percentage of your costs.

                            " } }, "CurrencyCode": { @@ -4465,6 +4465,12 @@ "com.amazonaws.costexplorer#ReservationUtilizationGroup": { "type": "structure", "members": { + "Key": { + "target": "com.amazonaws.costexplorer#ReservationGroupKey", + "traits": { + "smithy.api#documentation": "

                            The key for a specific reservation attribute.

                            " + } + }, "Value": { "target": "com.amazonaws.costexplorer#ReservationGroupValue", "traits": { @@ -4482,12 +4488,6 @@ "traits": { "smithy.api#documentation": "

                            How much you used this group of reservations.

                            " } - }, - "Key": { - "target": "com.amazonaws.costexplorer#ReservationGroupKey", - "traits": { - "smithy.api#documentation": "

                            The key for a specific reservation attribute.

                            " - } } }, "traits": { @@ -4550,6 +4550,12 @@ "com.amazonaws.costexplorer#ResultByTime": { "type": "structure", "members": { + "TimePeriod": { + "target": "com.amazonaws.costexplorer#DateInterval", + "traits": { + "smithy.api#documentation": "

                            The time period that the result covers.

                            " + } + }, "Total": { "target": "com.amazonaws.costexplorer#Metrics", "traits": { @@ -4562,12 +4568,6 @@ "smithy.api#documentation": "

                            The groups that this time period includes.

                            " } }, - "TimePeriod": { - "target": "com.amazonaws.costexplorer#DateInterval", - "traits": { - "smithy.api#documentation": "

                            The time period that the result covers.

                            " - } - }, "Estimated": { "target": "com.amazonaws.costexplorer#Estimated", "traits": { @@ -4588,18 +4588,6 @@ "com.amazonaws.costexplorer#RightsizingRecommendation": { "type": "structure", "members": { - "RightsizingType": { - "target": "com.amazonaws.costexplorer#RightsizingType", - "traits": { - "smithy.api#documentation": "

                            Recommendation to either terminate or modify the resource.

                            " - } - }, - "TerminateRecommendationDetail": { - "target": "com.amazonaws.costexplorer#TerminateRecommendationDetail", - "traits": { - "smithy.api#documentation": "

                            Details for termination recommendations.

                            " - } - }, "AccountId": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { @@ -4612,11 +4600,23 @@ "smithy.api#documentation": "

                            Context regarding the current instance.

                            " } }, + "RightsizingType": { + "target": "com.amazonaws.costexplorer#RightsizingType", + "traits": { + "smithy.api#documentation": "

                            Recommendation to either terminate or modify the resource.

                            " + } + }, "ModifyRecommendationDetail": { "target": "com.amazonaws.costexplorer#ModifyRecommendationDetail", "traits": { "smithy.api#documentation": "

                            Details for modification recommendations.

                            " } + }, + "TerminateRecommendationDetail": { + "target": "com.amazonaws.costexplorer#TerminateRecommendationDetail", + "traits": { + "smithy.api#documentation": "

                            Details for termination recommendations.

                            " + } } }, "traits": { @@ -4654,12 +4654,6 @@ "com.amazonaws.costexplorer#RightsizingRecommendationMetadata": { "type": "structure", "members": { - "LookbackPeriodInDays": { - "target": "com.amazonaws.costexplorer#LookbackPeriodInDays", - "traits": { - "smithy.api#documentation": "

                            How many days of previous usage that AWS considers when making this\n recommendation.

                            " - } - }, "RecommendationId": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { @@ -4671,6 +4665,12 @@ "traits": { "smithy.api#documentation": "

                            The timestamp for when AWS made this recommendation.

                            " } + }, + "LookbackPeriodInDays": { + "target": "com.amazonaws.costexplorer#LookbackPeriodInDays", + "traits": { + "smithy.api#documentation": "

                            How many days of previous usage that AWS considers when making this\n recommendation.

                            " + } } }, "traits": { @@ -4686,16 +4686,16 @@ "smithy.api#documentation": "

                            Total number of instance recommendations.

                            " } }, - "SavingsCurrencyCode": { + "EstimatedTotalMonthlySavingsAmount": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The currency code that AWS used to calculate the savings.

                            " + "smithy.api#documentation": "

                            Estimated total savings resulting from modifications, on a monthly basis.

                            " } }, - "EstimatedTotalMonthlySavingsAmount": { + "SavingsCurrencyCode": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            Estimated total savings resulting from modifications, on a monthly basis.

                            " + "smithy.api#documentation": "

                            The currency code that AWS used to calculate the savings.

                            " } }, "SavingsPercentage": { @@ -4733,22 +4733,22 @@ "smithy.api#documentation": "

                            \n The AWS service name associated with the cost anomaly.\n

                            " } }, - "LinkedAccount": { + "Region": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            \n The linked account value associated with the cost anomaly.\n

                            " + "smithy.api#documentation": "

                            \n The AWS Region associated with the cost anomaly.\n

                            " } }, - "UsageType": { + "LinkedAccount": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            \n The UsageType value associated with the cost anomaly.\n

                            " + "smithy.api#documentation": "

                            \n The linked account value associated with the cost anomaly.\n

                            " } }, - "Region": { + "UsageType": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            \n The AWS Region associated with the cost anomaly.\n

                            " + "smithy.api#documentation": "

                            \n The UsageType value associated with the cost anomaly.\n

                            " } } }, @@ -4794,9 +4794,6 @@ "com.amazonaws.costexplorer#SavingsPlansCoverage": { "type": "structure", "members": { - "TimePeriod": { - "target": "com.amazonaws.costexplorer#DateInterval" - }, "Attributes": { "target": "com.amazonaws.costexplorer#Attributes", "traits": { @@ -4808,6 +4805,9 @@ "traits": { "smithy.api#documentation": "

                            The amount of Savings Plans eligible usage that the Savings Plans covered.

                            " } + }, + "TimePeriod": { + "target": "com.amazonaws.costexplorer#DateInterval" } }, "traits": { @@ -4817,22 +4817,16 @@ "com.amazonaws.costexplorer#SavingsPlansCoverageData": { "type": "structure", "members": { - "OnDemandCost": { - "target": "com.amazonaws.costexplorer#GenericString", - "traits": { - "smithy.api#documentation": "

                            The cost of your AWS usage at the public On-Demand rate.

                            " - } - }, "SpendCoveredBySavingsPlans": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { "smithy.api#documentation": "

                            The amount of your AWS usage that is covered by a Savings Plans.

                            " } }, - "CoveragePercentage": { + "OnDemandCost": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The percentage of your existing Savings Plans covered usage, divided by all of your\n eligible Savings Plans usage in an account(or set of accounts).

                            " + "smithy.api#documentation": "

                            The cost of your AWS usage at the public On-Demand rate.

                            " } }, "TotalCost": { @@ -4840,6 +4834,12 @@ "traits": { "smithy.api#documentation": "

                            The total cost of your AWS usage, regardless of your purchase option.

                            " } + }, + "CoveragePercentage": { + "target": "com.amazonaws.costexplorer#GenericString", + "traits": { + "smithy.api#documentation": "

                            The percentage of your existing Savings Plans covered usage, divided by all of your\n eligible Savings Plans usage in an account(or set of accounts).

                            " + } } }, "traits": { @@ -4855,12 +4855,6 @@ "com.amazonaws.costexplorer#SavingsPlansDetails": { "type": "structure", "members": { - "OfferingId": { - "target": "com.amazonaws.costexplorer#GenericString", - "traits": { - "smithy.api#documentation": "

                            The unique ID used to distinguish Savings Plans from one another.

                            " - } - }, "Region": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { @@ -4872,6 +4866,12 @@ "traits": { "smithy.api#documentation": "

                            A group of instance types that Savings Plans applies to.

                            " } + }, + "OfferingId": { + "target": "com.amazonaws.costexplorer#GenericString", + "traits": { + "smithy.api#documentation": "

                            The unique ID used to distinguish Savings Plans from one another.

                            " + } } }, "traits": { @@ -4881,28 +4881,28 @@ "com.amazonaws.costexplorer#SavingsPlansPurchaseRecommendation": { "type": "structure", "members": { - "PaymentOption": { - "target": "com.amazonaws.costexplorer#PaymentOption", + "AccountScope": { + "target": "com.amazonaws.costexplorer#AccountScope", "traits": { - "smithy.api#documentation": "

                            The payment option used to generate the recommendation.

                            " + "smithy.api#documentation": "

                            The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the management account and member accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual member accounts only.

                            " } }, - "TermInYears": { - "target": "com.amazonaws.costexplorer#TermInYears", + "SavingsPlansType": { + "target": "com.amazonaws.costexplorer#SupportedSavingsPlansType", "traits": { - "smithy.api#documentation": "

                            The Savings Plans recommendation term in years, used to generate the recommendation.

                            " + "smithy.api#documentation": "

                            The requested Savings Plans recommendation type.

                            " } }, - "SavingsPlansPurchaseRecommendationSummary": { - "target": "com.amazonaws.costexplorer#SavingsPlansPurchaseRecommendationSummary", + "TermInYears": { + "target": "com.amazonaws.costexplorer#TermInYears", "traits": { - "smithy.api#documentation": "

                            Summary metrics for your Savings Plans Recommendations.

                            " + "smithy.api#documentation": "

                            The Savings Plans recommendation term in years, used to generate the recommendation.

                            " } }, - "SavingsPlansPurchaseRecommendationDetails": { - "target": "com.amazonaws.costexplorer#SavingsPlansPurchaseRecommendationDetailList", + "PaymentOption": { + "target": "com.amazonaws.costexplorer#PaymentOption", "traits": { - "smithy.api#documentation": "

                            Details for the Savings Plans we recommend that you purchase to cover existing Savings\n Plans eligible workloads.

                            " + "smithy.api#documentation": "

                            The payment option used to generate the recommendation.

                            " } }, "LookbackPeriodInDays": { @@ -4911,16 +4911,16 @@ "smithy.api#documentation": "

                            The lookback period in days, used to generate the recommendation.

                            " } }, - "SavingsPlansType": { - "target": "com.amazonaws.costexplorer#SupportedSavingsPlansType", + "SavingsPlansPurchaseRecommendationDetails": { + "target": "com.amazonaws.costexplorer#SavingsPlansPurchaseRecommendationDetailList", "traits": { - "smithy.api#documentation": "

                            The requested Savings Plans recommendation type.

                            " + "smithy.api#documentation": "

                            Details for the Savings Plans we recommend that you purchase to cover existing Savings\n Plans eligible workloads.

                            " } }, - "AccountScope": { - "target": "com.amazonaws.costexplorer#AccountScope", + "SavingsPlansPurchaseRecommendationSummary": { + "target": "com.amazonaws.costexplorer#SavingsPlansPurchaseRecommendationSummary", "traits": { - "smithy.api#documentation": "

                            The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the master account and member accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual member accounts only.

                            " + "smithy.api#documentation": "

                            Summary metrics for your Savings Plans Recommendations.

                            " } } }, @@ -4931,28 +4931,28 @@ "com.amazonaws.costexplorer#SavingsPlansPurchaseRecommendationDetail": { "type": "structure", "members": { - "CurrentMaximumHourlyOnDemandSpend": { - "target": "com.amazonaws.costexplorer#GenericString", + "SavingsPlansDetails": { + "target": "com.amazonaws.costexplorer#SavingsPlansDetails", "traits": { - "smithy.api#documentation": "

                            The highest value of hourly On-Demand spend over the lookback period of the applicable usage type.

                            " + "smithy.api#documentation": "

                            Details for your recommended Savings Plans.

                            " } }, - "CurrentMinimumHourlyOnDemandSpend": { + "AccountId": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The lowest value of hourly On-Demand spend over the lookback period of the applicable usage type.

                            " + "smithy.api#documentation": "

                            The AccountID the recommendation is generated for.

                            " } }, - "EstimatedOnDemandCostWithCurrentCommitment": { + "UpfrontCost": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            \n The estimated On-Demand costs you would expect with no additional commitment, based on your usage of the selected time period and the Savings Plans you own.\n

                            " + "smithy.api#documentation": "

                            The upfront cost of the recommended Savings Plans, based on the selected payment option.

                            " } }, - "EstimatedSPCost": { + "EstimatedROI": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The cost of the recommended Savings Plans over the length of the lookback period.

                            " + "smithy.api#documentation": "

                            The estimated return on investment based on the recommended Savings Plans purchased. This is calculated as estimatedSavingsAmount/ estimatedSPCost*100.

                            " } }, "CurrencyCode": { @@ -4961,70 +4961,70 @@ "smithy.api#documentation": "

                            The currency code AWS used to generate the recommendations and present potential\n savings.

                            " } }, - "EstimatedSavingsPercentage": { + "EstimatedSPCost": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The estimated savings percentage relative to the total cost of applicable On-Demand usage over the lookback period.

                            " + "smithy.api#documentation": "

                            The cost of the recommended Savings Plans over the length of the lookback period.

                            " } }, - "EstimatedROI": { + "EstimatedOnDemandCost": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The estimated return on investment based on the recommended Savings Plans purchased. This is calculated as estimatedSavingsAmount/ estimatedSPCost*100.

                            " + "smithy.api#documentation": "

                            The remaining On-Demand cost estimated to not be covered by the recommended Savings Plans, over the length of the lookback period.

                            " } }, - "AccountId": { + "EstimatedOnDemandCostWithCurrentCommitment": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The AccountID the recommendation is generated for.

                            " + "smithy.api#documentation": "

                            \n The estimated On-Demand costs you would expect with no additional commitment, based on your usage of the selected time period and the Savings Plans you own.\n

                            " } }, - "EstimatedMonthlySavingsAmount": { + "EstimatedSavingsAmount": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The estimated monthly savings amount, based on the recommended Savings Plans.

                            " + "smithy.api#documentation": "

                            The estimated savings amount based on the recommended Savings Plans over the length of the lookback period.

                            " } }, - "CurrentAverageHourlyOnDemandSpend": { + "EstimatedSavingsPercentage": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The average value of hourly On-Demand spend over the lookback period of the applicable usage type.

                            " + "smithy.api#documentation": "

                            The estimated savings percentage relative to the total cost of applicable On-Demand usage over the lookback period.

                            " } }, - "EstimatedOnDemandCost": { + "HourlyCommitmentToPurchase": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The remaining On-Demand cost estimated to not be covered by the recommended Savings Plans, over the length of the lookback period.

                            " + "smithy.api#documentation": "

                            The recommended hourly commitment level for the Savings Plans type, and configuration based on the usage during the lookback period.

                            " } }, - "EstimatedSavingsAmount": { + "EstimatedAverageUtilization": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The estimated savings amount based on the recommended Savings Plans over the length of the lookback period.

                            " + "smithy.api#documentation": "

                            The estimated utilization of the recommended Savings Plans.

                            " } }, - "SavingsPlansDetails": { - "target": "com.amazonaws.costexplorer#SavingsPlansDetails", + "EstimatedMonthlySavingsAmount": { + "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            Details for your recommended Savings Plans.

                            " + "smithy.api#documentation": "

                            The estimated monthly savings amount, based on the recommended Savings Plans.

                            " } }, - "EstimatedAverageUtilization": { + "CurrentMinimumHourlyOnDemandSpend": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The estimated utilization of the recommended Savings Plans.

                            " + "smithy.api#documentation": "

                            The lowest value of hourly On-Demand spend over the lookback period of the applicable usage type.

                            " } }, - "UpfrontCost": { + "CurrentMaximumHourlyOnDemandSpend": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The upfront cost of the recommended Savings Plans, based on the selected payment option.

                            " + "smithy.api#documentation": "

                            The highest value of hourly On-Demand spend over the lookback period of the applicable usage type.

                            " } }, - "HourlyCommitmentToPurchase": { + "CurrentAverageHourlyOnDemandSpend": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The recommended hourly commitment level for the Savings Plans type, and configuration based on the usage during the lookback period.

                            " + "smithy.api#documentation": "

                            The average value of hourly On-Demand spend over the lookback period of the applicable usage type.

                            " } } }, @@ -5041,16 +5041,22 @@ "com.amazonaws.costexplorer#SavingsPlansPurchaseRecommendationMetadata": { "type": "structure", "members": { + "RecommendationId": { + "target": "com.amazonaws.costexplorer#GenericString", + "traits": { + "smithy.api#documentation": "

                            The unique identifier for the recommendation set.

                            " + } + }, "GenerationTimestamp": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { "smithy.api#documentation": "

                            The timestamp showing when the recommendations were generated.

                            " } }, - "RecommendationId": { + "AdditionalMetadata": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The unique identifier for the recommendation set.

                            " + "smithy.api#documentation": "

                            Additional metadata that may be applicable to the recommendation.

                            " } } }, @@ -5061,70 +5067,70 @@ "com.amazonaws.costexplorer#SavingsPlansPurchaseRecommendationSummary": { "type": "structure", "members": { - "CurrentOnDemandSpend": { + "EstimatedROI": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The current total on demand spend of the applicable usage types over the lookback period.

                            " + "smithy.api#documentation": "

                            The estimated return on investment based on the recommended Savings Plans and estimated savings.

                            " } }, - "EstimatedSavingsAmount": { + "CurrencyCode": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The estimated total savings over the lookback period, based on the purchase of the recommended Savings Plans.

                            " + "smithy.api#documentation": "

                            The currency code AWS used to generate the recommendations and present potential\n savings.

                            " } }, - "EstimatedOnDemandCostWithCurrentCommitment": { + "EstimatedTotalCost": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            \n The estimated On-Demand costs you would expect with no additional commitment, based on your usage of the selected time period and the Savings Plans you own.\n

                            " + "smithy.api#documentation": "

                            The estimated total cost of the usage after purchasing the recommended Savings Plans. This is a sum of the cost of Savings Plans during this term, and the remaining On-Demand usage.

                            " } }, - "CurrencyCode": { + "CurrentOnDemandSpend": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The currency code AWS used to generate the recommendations and present potential\n savings.

                            " + "smithy.api#documentation": "

                            The current total on demand spend of the applicable usage types over the lookback period.

                            " } }, - "EstimatedSavingsPercentage": { + "EstimatedSavingsAmount": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The estimated savings relative to the total cost of On-Demand usage, over the lookback period. This is calculated as estimatedSavingsAmount/ CurrentOnDemandSpend*100.

                            " + "smithy.api#documentation": "

                            The estimated total savings over the lookback period, based on the purchase of the recommended Savings Plans.

                            " } }, - "EstimatedMonthlySavingsAmount": { + "TotalRecommendationCount": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The estimated monthly savings amount, based on the recommended Savings Plans purchase.

                            " + "smithy.api#documentation": "

                            The aggregate number of Savings Plans recommendations that exist for your account.

                            " } }, - "EstimatedTotalCost": { + "DailyCommitmentToPurchase": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The estimated total cost of the usage after purchasing the recommended Savings Plans. This is a sum of the cost of Savings Plans during this term, and the remaining On-Demand usage.

                            " + "smithy.api#documentation": "

                            The recommended Savings Plans cost on a daily (24 hourly) basis.

                            " } }, - "DailyCommitmentToPurchase": { + "HourlyCommitmentToPurchase": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The recommended Savings Plans cost on a daily (24 hourly) basis.

                            " + "smithy.api#documentation": "

                            The recommended hourly commitment based on the recommendation parameters.

                            " } }, - "EstimatedROI": { + "EstimatedSavingsPercentage": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The estimated return on investment based on the recommended Savings Plans and estimated savings.

                            " + "smithy.api#documentation": "

                            The estimated savings relative to the total cost of On-Demand usage, over the lookback period. This is calculated as estimatedSavingsAmount/ CurrentOnDemandSpend*100.

                            " } }, - "TotalRecommendationCount": { + "EstimatedMonthlySavingsAmount": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The aggregate number of Savings Plans recommendations that exist for your account.

                            " + "smithy.api#documentation": "

                            The estimated monthly savings amount, based on the recommended Savings Plans purchase.

                            " } }, - "HourlyCommitmentToPurchase": { + "EstimatedOnDemandCostWithCurrentCommitment": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The recommended hourly commitment based on the recommendation parameters.

                            " + "smithy.api#documentation": "

                            \n The estimated On-Demand costs you would expect with no additional commitment, based on your usage of the selected time period and the Savings Plans you own.\n

                            " } } }, @@ -5155,10 +5161,10 @@ "com.amazonaws.costexplorer#SavingsPlansUtilization": { "type": "structure", "members": { - "UnusedCommitment": { + "TotalCommitment": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The amount of your Savings Plans commitment that was not consumed from Savings Plans eligible usage in a specific period.

                            " + "smithy.api#documentation": "

                            The total amount of Savings Plans commitment that's been purchased in an account (or set of accounts).

                            " } }, "UsedCommitment": { @@ -5167,16 +5173,16 @@ "smithy.api#documentation": "

                            The amount of your Savings Plans commitment that was consumed from Savings Plans eligible usage in a specific period.

                            " } }, - "UtilizationPercentage": { + "UnusedCommitment": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The amount of UsedCommitment divided by the TotalCommitment for your Savings Plans.

                            " + "smithy.api#documentation": "

                            The amount of your Savings Plans commitment that was not consumed from Savings Plans eligible usage in a specific period.

                            " } }, - "TotalCommitment": { + "UtilizationPercentage": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The total amount of Savings Plans commitment that's been purchased in an account (or set of accounts).

                            " + "smithy.api#documentation": "

                            The amount of UsedCommitment divided by the TotalCommitment for your Savings Plans.

                            " } } }, @@ -5187,6 +5193,13 @@ "com.amazonaws.costexplorer#SavingsPlansUtilizationAggregates": { "type": "structure", "members": { + "Utilization": { + "target": "com.amazonaws.costexplorer#SavingsPlansUtilization", + "traits": { + "smithy.api#documentation": "

                            A ratio of your effectiveness of using existing Savings Plans to apply to workloads that are Savings Plans eligible.

                            ", + "smithy.api#required": {} + } + }, "Savings": { "target": "com.amazonaws.costexplorer#SavingsPlansSavings", "traits": { @@ -5198,13 +5211,6 @@ "traits": { "smithy.api#documentation": "

                            The total amortized commitment for a Savings Plans. This includes the sum of the upfront and recurring Savings Plans fees.

                            " } - }, - "Utilization": { - "target": "com.amazonaws.costexplorer#SavingsPlansUtilization", - "traits": { - "smithy.api#documentation": "

                            A ratio of your effectiveness of using existing Savings Plans to apply to workloads that are Savings Plans eligible.

                            ", - "smithy.api#required": {} - } } }, "traits": { @@ -5214,6 +5220,12 @@ "com.amazonaws.costexplorer#SavingsPlansUtilizationByTime": { "type": "structure", "members": { + "TimePeriod": { + "target": "com.amazonaws.costexplorer#DateInterval", + "traits": { + "smithy.api#required": {} + } + }, "Utilization": { "target": "com.amazonaws.costexplorer#SavingsPlansUtilization", "traits": { @@ -5227,12 +5239,6 @@ "smithy.api#documentation": "

                            The amount saved by using existing Savings Plans. Savings returns both net savings from Savings Plans as well as the onDemandCostEquivalent of the Savings Plans when considering the utilization rate.

                            " } }, - "TimePeriod": { - "target": "com.amazonaws.costexplorer#DateInterval", - "traits": { - "smithy.api#required": {} - } - }, "AmortizedCommitment": { "target": "com.amazonaws.costexplorer#SavingsPlansAmortizedCommitment", "traits": { @@ -5253,10 +5259,10 @@ "smithy.api#documentation": "

                            The unique Amazon Resource Name (ARN) for a particular Savings Plan.

                            " } }, - "Savings": { - "target": "com.amazonaws.costexplorer#SavingsPlansSavings", + "Attributes": { + "target": "com.amazonaws.costexplorer#Attributes", "traits": { - "smithy.api#documentation": "

                            The amount saved by using existing Savings Plans. Savings returns both net savings from savings plans as well as the onDemandCostEquivalent of the Savings Plans when considering the utilization rate.

                            " + "smithy.api#documentation": "

                            The attribute that applies to a specific Dimension.

                            " } }, "Utilization": { @@ -5265,21 +5271,21 @@ "smithy.api#documentation": "

                            A ratio of your effectiveness of using existing Savings Plans to apply to workloads that are Savings Plans eligible.

                            " } }, - "AmortizedCommitment": { - "target": "com.amazonaws.costexplorer#SavingsPlansAmortizedCommitment", + "Savings": { + "target": "com.amazonaws.costexplorer#SavingsPlansSavings", "traits": { - "smithy.api#documentation": "

                            The total amortized commitment for a Savings Plans. Includes the sum of the upfront and recurring Savings Plans fees.

                            " + "smithy.api#documentation": "

                            The amount saved by using existing Savings Plans. Savings returns both net savings from savings plans as well as the onDemandCostEquivalent of the Savings Plans when considering the utilization rate.

                            " } }, - "Attributes": { - "target": "com.amazonaws.costexplorer#Attributes", + "AmortizedCommitment": { + "target": "com.amazonaws.costexplorer#SavingsPlansAmortizedCommitment", "traits": { - "smithy.api#documentation": "

                            The attribute that applies to a specific Dimension.

                            " + "smithy.api#documentation": "

                            The total amortized commitment for a Savings Plans. Includes the sum of the upfront and recurring Savings Plans fees.

                            " } } }, "traits": { - "smithy.api#documentation": "

                            A single daily or monthly Savings Plans utilization rate, and details for your account. A master account in an organization have access to member accounts. You can use GetDimensionValues to determine the possible dimension values.

                            " + "smithy.api#documentation": "

                            A single daily or monthly Savings Plans utilization rate, and details for your account. A management account in an organization have access to member accounts. You can use GetDimensionValues to determine the possible dimension values.

                            " } }, "com.amazonaws.costexplorer#SavingsPlansUtilizationDetails": { @@ -5334,10 +5340,10 @@ "com.amazonaws.costexplorer#Subscriber": { "type": "structure", "members": { - "Status": { - "target": "com.amazonaws.costexplorer#SubscriberStatus", + "Address": { + "target": "com.amazonaws.costexplorer#SubscriberAddress", "traits": { - "smithy.api#documentation": "

                            Indicates if the subscriber accepts the notifications.

                            " + "smithy.api#documentation": "

                            The email address or SNS Amazon Resource Name (ARN), depending on the Type.

                            " } }, "Type": { @@ -5346,10 +5352,10 @@ "smithy.api#documentation": "

                            \n The notification delivery channel.\n

                            " } }, - "Address": { - "target": "com.amazonaws.costexplorer#SubscriberAddress", + "Status": { + "target": "com.amazonaws.costexplorer#SubscriberStatus", "traits": { - "smithy.api#documentation": "

                            The email address or SNS Amazon Resource Name (ARN), depending on the Type.

                            " + "smithy.api#documentation": "

                            Indicates if the subscriber accepts the notifications.

                            " } } }, @@ -5437,18 +5443,18 @@ "com.amazonaws.costexplorer#TagValues": { "type": "structure", "members": { - "Values": { - "target": "com.amazonaws.costexplorer#Values", - "traits": { - "smithy.api#documentation": "

                            The specific value of the tag.

                            " - } - }, "Key": { "target": "com.amazonaws.costexplorer#TagKey", "traits": { "smithy.api#documentation": "

                            The key for the tag.

                            " } }, + "Values": { + "target": "com.amazonaws.costexplorer#Values", + "traits": { + "smithy.api#documentation": "

                            The specific value of the tag.

                            " + } + }, "MatchOptions": { "target": "com.amazonaws.costexplorer#MatchOptions", "traits": { @@ -5469,22 +5475,10 @@ "com.amazonaws.costexplorer#TargetInstance": { "type": "structure", "members": { - "DefaultTargetInstance": { - "target": "com.amazonaws.costexplorer#GenericBoolean", - "traits": { - "smithy.api#documentation": "

                            Indicates whether this recommendation is the defaulted AWS recommendation.

                            " - } - }, - "ResourceDetails": { - "target": "com.amazonaws.costexplorer#ResourceDetails", - "traits": { - "smithy.api#documentation": "

                            Details on the target instance type.

                            " - } - }, - "ExpectedResourceUtilization": { - "target": "com.amazonaws.costexplorer#ResourceUtilization", + "EstimatedMonthlyCost": { + "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            Expected utilization metrics for target instance type.

                            " + "smithy.api#documentation": "

                            Expected cost to operate this instance type on a monthly basis.

                            " } }, "EstimatedMonthlySavings": { @@ -5499,10 +5493,22 @@ "smithy.api#documentation": "

                            The currency code that AWS used to calculate the costs for this instance.

                            " } }, - "EstimatedMonthlyCost": { - "target": "com.amazonaws.costexplorer#GenericString", + "DefaultTargetInstance": { + "target": "com.amazonaws.costexplorer#GenericBoolean", "traits": { - "smithy.api#documentation": "

                            Expected cost to operate this instance type on a monthly basis.

                            " + "smithy.api#documentation": "

                            Indicates whether this recommendation is the defaulted AWS recommendation.

                            " + } + }, + "ResourceDetails": { + "target": "com.amazonaws.costexplorer#ResourceDetails", + "traits": { + "smithy.api#documentation": "

                            Details on the target instance type.

                            " + } + }, + "ExpectedResourceUtilization": { + "target": "com.amazonaws.costexplorer#ResourceUtilization", + "traits": { + "smithy.api#documentation": "

                            Expected utilization metrics for target instance type.

                            " } } }, @@ -5534,16 +5540,16 @@ "com.amazonaws.costexplorer#TerminateRecommendationDetail": { "type": "structure", "members": { - "CurrencyCode": { + "EstimatedMonthlySavings": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            The currency code that AWS used to calculate the costs for this instance.

                            " + "smithy.api#documentation": "

                            Estimated savings resulting from modification, on a monthly basis.

                            " } }, - "EstimatedMonthlySavings": { + "CurrencyCode": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            Estimated savings resulting from modification, on a monthly basis.

                            " + "smithy.api#documentation": "

                            The currency code that AWS used to calculate the costs for this instance.

                            " } } }, @@ -5570,17 +5576,17 @@ "smithy.api#required": {} } }, - "EndValue": { + "StartValue": { "target": "com.amazonaws.costexplorer#GenericDouble", "traits": { - "smithy.api#documentation": "

                            The upper bound dollar value used in the filter.

                            " + "smithy.api#documentation": "

                            \n The lower bound dollar value used in the filter.\n

                            ", + "smithy.api#required": {} } }, - "StartValue": { + "EndValue": { "target": "com.amazonaws.costexplorer#GenericDouble", "traits": { - "smithy.api#documentation": "

                            \n The lower bound dollar value used in the filter.\n

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The upper bound dollar value used in the filter.

                            " } } }, @@ -5664,17 +5670,17 @@ "com.amazonaws.costexplorer#UpdateAnomalyMonitorRequest": { "type": "structure", "members": { - "MonitorName": { + "MonitorArn": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            \n The new name for the cost anomaly monitor.\n

                            " + "smithy.api#documentation": "

                            Cost anomaly monitor Amazon Resource Names (ARNs).

                            ", + "smithy.api#required": {} } }, - "MonitorArn": { + "MonitorName": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { - "smithy.api#documentation": "

                            Cost anomaly monitor Amazon Resource Names (ARNs).

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            \n The new name for the cost anomaly monitor.\n

                            " } } } @@ -5717,18 +5723,6 @@ "com.amazonaws.costexplorer#UpdateAnomalySubscriptionRequest": { "type": "structure", "members": { - "Subscribers": { - "target": "com.amazonaws.costexplorer#Subscribers", - "traits": { - "smithy.api#documentation": "

                            \n The update to the subscriber list.\n

                            " - } - }, - "MonitorArnList": { - "target": "com.amazonaws.costexplorer#Values", - "traits": { - "smithy.api#documentation": "

                            \n A list of cost anomaly subscription ARNs.\n

                            " - } - }, "SubscriptionArn": { "target": "com.amazonaws.costexplorer#GenericString", "traits": { @@ -5736,16 +5730,28 @@ "smithy.api#required": {} } }, + "Threshold": { + "target": "com.amazonaws.costexplorer#NullableNonNegativeDouble", + "traits": { + "smithy.api#documentation": "

                            \n The update to the threshold value for receiving notifications.\n

                            " + } + }, "Frequency": { "target": "com.amazonaws.costexplorer#AnomalySubscriptionFrequency", "traits": { "smithy.api#documentation": "

                            \n The update to the frequency value at which subscribers will receive notifications.\n

                            " } }, - "Threshold": { - "target": "com.amazonaws.costexplorer#NullableNonNegativeDouble", + "MonitorArnList": { + "target": "com.amazonaws.costexplorer#Values", "traits": { - "smithy.api#documentation": "

                            \n The update to the threshold value for receiving notifications.\n

                            " + "smithy.api#documentation": "

                            \n A list of cost anomaly subscription ARNs.\n

                            " + } + }, + "Subscribers": { + "target": "com.amazonaws.costexplorer#Subscribers", + "traits": { + "smithy.api#documentation": "

                            \n The update to the subscriber list.\n

                            " } }, "SubscriptionName": { @@ -5794,6 +5800,13 @@ "com.amazonaws.costexplorer#UpdateCostCategoryDefinitionRequest": { "type": "structure", "members": { + "CostCategoryArn": { + "target": "com.amazonaws.costexplorer#Arn", + "traits": { + "smithy.api#documentation": "

                            The unique identifier for your Cost Category.

                            ", + "smithy.api#required": {} + } + }, "RuleVersion": { "target": "com.amazonaws.costexplorer#CostCategoryRuleVersion", "traits": { @@ -5806,13 +5819,6 @@ "smithy.api#documentation": "

                            The Expression object used to categorize costs. For more information, see\n CostCategoryRule .

                            ", "smithy.api#required": {} } - }, - "CostCategoryArn": { - "target": "com.amazonaws.costexplorer#Arn", - "traits": { - "smithy.api#documentation": "

                            The unique identifier for your Cost Category.

                            ", - "smithy.api#required": {} - } } } }, @@ -5836,6 +5842,12 @@ "com.amazonaws.costexplorer#UtilizationByTime": { "type": "structure", "members": { + "TimePeriod": { + "target": "com.amazonaws.costexplorer#DateInterval", + "traits": { + "smithy.api#documentation": "

                            The period of time that this utilization was used for.

                            " + } + }, "Groups": { "target": "com.amazonaws.costexplorer#ReservationUtilizationGroups", "traits": { @@ -5847,12 +5859,6 @@ "traits": { "smithy.api#documentation": "

                            The total number of reservation hours that were used.

                            " } - }, - "TimePeriod": { - "target": "com.amazonaws.costexplorer#DateInterval", - "traits": { - "smithy.api#documentation": "

                            The period of time that this utilization was used for.

                            " - } } }, "traits": { diff --git a/codegen/sdk-codegen/aws-models/directory-service.2015-04-16.json b/codegen/sdk-codegen/aws-models/directory-service.2015-04-16.json index d89aba84ceb3..248d00bea74e 100644 --- a/codegen/sdk-codegen/aws-models/directory-service.2015-04-16.json +++ b/codegen/sdk-codegen/aws-models/directory-service.2015-04-16.json @@ -64,7 +64,7 @@ "SharedDirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                            Identifier of the shared directory in the directory consumer account. This identifier is different for each directory owner account.

                            ", + "smithy.api#documentation": "

                            Identifier of the shared directory in the directory consumer account. This identifier is\n different for each directory owner account.

                            ", "smithy.api#required": {} } } @@ -143,29 +143,102 @@ "com.amazonaws.directoryservice#AddIpRoutesRequest": { "type": "structure", "members": { + "DirectoryId": { + "target": "com.amazonaws.directoryservice#DirectoryId", + "traits": { + "smithy.api#documentation": "

                            Identifier (ID) of the directory to which to add the address block.

                            ", + "smithy.api#required": {} + } + }, + "IpRoutes": { + "target": "com.amazonaws.directoryservice#IpRoutes", + "traits": { + "smithy.api#documentation": "

                            IP address blocks, using CIDR format, of the traffic to route. This is often the IP address block of the DNS server used for your on-premises domain.

                            ", + "smithy.api#required": {} + } + }, "UpdateSecurityGroupForDirectoryControllers": { "target": "com.amazonaws.directoryservice#UpdateSecurityGroupForDirectoryControllers", "traits": { "smithy.api#documentation": "

                            If set to true, updates the inbound and outbound rules of the security group that has the description: \"AWS created security group for directory ID directory controllers.\"\n Following are the new rules:\n

                            \n

                            Inbound:

                            \n
                              \n
                            • \n

                              Type: Custom UDP Rule, Protocol: UDP, Range: 88, Source: 0.0.0.0/0

                              \n
                            • \n
                            • \n

                              Type: Custom UDP Rule, Protocol: UDP, Range: 123, Source: 0.0.0.0/0

                              \n
                            • \n
                            • \n

                              Type: Custom UDP Rule, Protocol: UDP, Range: 138, Source: 0.0.0.0/0

                              \n
                            • \n
                            • \n

                              Type: Custom UDP Rule, Protocol: UDP, Range: 389, Source: 0.0.0.0/0

                              \n
                            • \n
                            • \n

                              Type: Custom UDP Rule, Protocol: UDP, Range: 464, Source: 0.0.0.0/0

                              \n
                            • \n
                            • \n

                              Type: Custom UDP Rule, Protocol: UDP, Range: 445, Source: 0.0.0.0/0

                              \n
                            • \n
                            • \n

                              Type: Custom TCP Rule, Protocol: TCP, Range: 88, Source: 0.0.0.0/0

                              \n
                            • \n
                            • \n

                              Type: Custom TCP Rule, Protocol: TCP, Range: 135, Source: 0.0.0.0/0

                              \n
                            • \n
                            • \n

                              Type: Custom TCP Rule, Protocol: TCP, Range: 445, Source: 0.0.0.0/0

                              \n
                            • \n
                            • \n

                              Type: Custom TCP Rule, Protocol: TCP, Range: 464, Source: 0.0.0.0/0

                              \n
                            • \n
                            • \n

                              Type: Custom TCP Rule, Protocol: TCP, Range: 636, Source: 0.0.0.0/0

                              \n
                            • \n
                            • \n

                              Type: Custom TCP Rule, Protocol: TCP, Range: 1024-65535, Source: 0.0.0.0/0

                              \n
                            • \n
                            • \n

                              Type: Custom TCP Rule, Protocol: TCP, Range: 3268-33269, Source: 0.0.0.0/0

                              \n
                            • \n
                            • \n

                              Type: DNS (UDP), Protocol: UDP, Range: 53, Source: 0.0.0.0/0

                              \n
                            • \n
                            • \n

                              Type: DNS (TCP), Protocol: TCP, Range: 53, Source: 0.0.0.0/0

                              \n
                            • \n
                            • \n

                              Type: LDAP, Protocol: TCP, Range: 389, Source: 0.0.0.0/0

                              \n
                            • \n
                            • \n

                              Type: All ICMP, Protocol: All, Range: N/A, Source: 0.0.0.0/0

                              \n
                            • \n
                            \n \n

                            \n

                            Outbound:

                            \n
                              \n
                            • \n

                              Type: All traffic, Protocol: All, Range: All, Destination: 0.0.0.0/0

                              \n
                            • \n
                            \n

                            These security rules impact an internal network interface that is not exposed publicly.

                            " } + } + } + }, + "com.amazonaws.directoryservice#AddIpRoutesResult": { + "type": "structure", + "members": {} + }, + "com.amazonaws.directoryservice#AddRegion": { + "type": "operation", + "input": { + "target": "com.amazonaws.directoryservice#AddRegionRequest" + }, + "output": { + "target": "com.amazonaws.directoryservice#AddRegionResult" + }, + "errors": [ + { + "target": "com.amazonaws.directoryservice#AccessDeniedException" + }, + { + "target": "com.amazonaws.directoryservice#ClientException" + }, + { + "target": "com.amazonaws.directoryservice#DirectoryAlreadyInRegionException" + }, + { + "target": "com.amazonaws.directoryservice#DirectoryDoesNotExistException" + }, + { + "target": "com.amazonaws.directoryservice#DirectoryUnavailableException" + }, + { + "target": "com.amazonaws.directoryservice#EntityDoesNotExistException" + }, + { + "target": "com.amazonaws.directoryservice#InvalidParameterException" + }, + { + "target": "com.amazonaws.directoryservice#RegionLimitExceededException" + }, + { + "target": "com.amazonaws.directoryservice#ServiceException" + }, + { + "target": "com.amazonaws.directoryservice#UnsupportedOperationException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Adds two domain controllers in the specified Region for the specified directory.

                            " + } + }, + "com.amazonaws.directoryservice#AddRegionRequest": { + "type": "structure", + "members": { + "VPCSettings": { + "target": "com.amazonaws.directoryservice#DirectoryVpcSettings", + "traits": { + "smithy.api#required": {} + } }, "DirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                            Identifier (ID) of the directory to which to add the address block.

                            ", + "smithy.api#documentation": "

                            The identifier of the directory to which you want to add Region replication.

                            ", "smithy.api#required": {} } }, - "IpRoutes": { - "target": "com.amazonaws.directoryservice#IpRoutes", + "RegionName": { + "target": "com.amazonaws.directoryservice#RegionName", "traits": { - "smithy.api#documentation": "

                            IP address blocks, using CIDR format, of the traffic to route. This is often the IP address block of the DNS server used for your on-premises domain.

                            ", + "smithy.api#documentation": "

                            The name of the Region where you want to add domain controllers for replication. For example, us-east-1.

                            ", "smithy.api#required": {} } } } }, - "com.amazonaws.directoryservice#AddIpRoutesResult": { + "com.amazonaws.directoryservice#AddRegionResult": { "type": "structure", "members": {} }, @@ -201,17 +274,17 @@ "com.amazonaws.directoryservice#AddTagsToResourceRequest": { "type": "structure", "members": { - "Tags": { - "target": "com.amazonaws.directoryservice#Tags", + "ResourceId": { + "target": "com.amazonaws.directoryservice#ResourceId", "traits": { - "smithy.api#documentation": "

                            The tags to be assigned to the directory.

                            ", + "smithy.api#documentation": "

                            Identifier (ID) for the directory to which to add the tag.

                            ", "smithy.api#required": {} } }, - "ResourceId": { - "target": "com.amazonaws.directoryservice#ResourceId", + "Tags": { + "target": "com.amazonaws.directoryservice#Tags", "traits": { - "smithy.api#documentation": "

                            Identifier (ID) for the directory to which to add the tag.

                            ", + "smithy.api#documentation": "

                            The tags to be assigned to the directory.

                            ", "smithy.api#required": {} } } @@ -224,6 +297,12 @@ "com.amazonaws.directoryservice#AddedDateTime": { "type": "timestamp" }, + "com.amazonaws.directoryservice#AdditionalRegions": { + "type": "list", + "member": { + "target": "com.amazonaws.directoryservice#RegionName" + } + }, "com.amazonaws.directoryservice#AliasName": { "type": "string", "traits": { @@ -274,17 +353,17 @@ "com.amazonaws.directoryservice#AuthenticationFailedException": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.directoryservice#ExceptionMessage", - "traits": { - "smithy.api#documentation": "

                            The textual message for the exception.

                            " - } - }, "RequestId": { "target": "com.amazonaws.directoryservice#RequestId", "traits": { "smithy.api#documentation": "

                            The identifier of the request that caused the exception.

                            " } + }, + "Message": { + "target": "com.amazonaws.directoryservice#ExceptionMessage", + "traits": { + "smithy.api#documentation": "

                            The textual message for the exception.

                            " + } } }, "traits": { @@ -327,17 +406,17 @@ "com.amazonaws.directoryservice#CancelSchemaExtensionRequest": { "type": "structure", "members": { - "SchemaExtensionId": { - "target": "com.amazonaws.directoryservice#SchemaExtensionId", + "DirectoryId": { + "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                            The identifier of the schema extension that will be canceled.

                            ", + "smithy.api#documentation": "

                            The identifier of the directory whose schema extension will be canceled.

                            ", "smithy.api#required": {} } }, - "DirectoryId": { - "target": "com.amazonaws.directoryservice#DirectoryId", + "SchemaExtensionId": { + "target": "com.amazonaws.directoryservice#SchemaExtensionId", "traits": { - "smithy.api#documentation": "

                            The identifier of the directory whose schema extension will be canceled.

                            ", + "smithy.api#documentation": "

                            The identifier of the schema extension that will be canceled.

                            ", "smithy.api#required": {} } } @@ -350,40 +429,40 @@ "com.amazonaws.directoryservice#Certificate": { "type": "structure", "members": { - "RegisteredDateTime": { - "target": "com.amazonaws.directoryservice#CertificateRegisteredDateTime", - "traits": { - "smithy.api#documentation": "

                            The date and time that the certificate was registered.

                            " - } - }, "CertificateId": { "target": "com.amazonaws.directoryservice#CertificateId", "traits": { "smithy.api#documentation": "

                            The identifier of the certificate.

                            " } }, + "StateReason": { + "target": "com.amazonaws.directoryservice#CertificateStateReason", + "traits": { + "smithy.api#documentation": "

                            Describes a state change for the certificate.

                            " + } + }, "CommonName": { "target": "com.amazonaws.directoryservice#CertificateCN", "traits": { "smithy.api#documentation": "

                            The common name for the certificate.

                            " } }, - "State": { - "target": "com.amazonaws.directoryservice#CertificateState", + "ExpiryDateTime": { + "target": "com.amazonaws.directoryservice#CertificateExpiryDateTime", "traits": { - "smithy.api#documentation": "

                            The state of the certificate.

                            " + "smithy.api#documentation": "

                            The date and time when the certificate will expire.

                            " } }, - "StateReason": { - "target": "com.amazonaws.directoryservice#CertificateStateReason", + "State": { + "target": "com.amazonaws.directoryservice#CertificateState", "traits": { - "smithy.api#documentation": "

                            Describes a state change for the certificate.

                            " + "smithy.api#documentation": "

                            The state of the certificate.

                            " } }, - "ExpiryDateTime": { - "target": "com.amazonaws.directoryservice#CertificateExpiryDateTime", + "RegisteredDateTime": { + "target": "com.amazonaws.directoryservice#CertificateRegisteredDateTime", "traits": { - "smithy.api#documentation": "

                            The date and time when the certificate will expire.

                            " + "smithy.api#documentation": "

                            The date and time that the certificate was registered.

                            " } } }, @@ -394,11 +473,11 @@ "com.amazonaws.directoryservice#CertificateAlreadyExistsException": { "type": "structure", "members": { - "RequestId": { - "target": "com.amazonaws.directoryservice#RequestId" - }, "Message": { "target": "com.amazonaws.directoryservice#ExceptionMessage" + }, + "RequestId": { + "target": "com.amazonaws.directoryservice#RequestId" } }, "traits": { @@ -421,11 +500,11 @@ "com.amazonaws.directoryservice#CertificateDoesNotExistException": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.directoryservice#ExceptionMessage" - }, "RequestId": { "target": "com.amazonaws.directoryservice#RequestId" + }, + "Message": { + "target": "com.amazonaws.directoryservice#ExceptionMessage" } }, "traits": { @@ -445,11 +524,11 @@ "com.amazonaws.directoryservice#CertificateInUseException": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.directoryservice#ExceptionMessage" - }, "RequestId": { "target": "com.amazonaws.directoryservice#RequestId" + }, + "Message": { + "target": "com.amazonaws.directoryservice#ExceptionMessage" } }, "traits": { @@ -460,18 +539,6 @@ "com.amazonaws.directoryservice#CertificateInfo": { "type": "structure", "members": { - "CertificateId": { - "target": "com.amazonaws.directoryservice#CertificateId", - "traits": { - "smithy.api#documentation": "

                            The identifier of the certificate.

                            " - } - }, - "CommonName": { - "target": "com.amazonaws.directoryservice#CertificateCN", - "traits": { - "smithy.api#documentation": "

                            The common name for the certificate.

                            " - } - }, "State": { "target": "com.amazonaws.directoryservice#CertificateState", "traits": { @@ -483,6 +550,18 @@ "traits": { "smithy.api#documentation": "

                            The date and time when the certificate will expire.

                            " } + }, + "CertificateId": { + "target": "com.amazonaws.directoryservice#CertificateId", + "traits": { + "smithy.api#documentation": "

                            The identifier of the certificate.

                            " + } + }, + "CommonName": { + "target": "com.amazonaws.directoryservice#CertificateCN", + "traits": { + "smithy.api#documentation": "

                            The common name for the certificate.

                            " + } } }, "traits": { @@ -492,11 +571,11 @@ "com.amazonaws.directoryservice#CertificateLimitExceededException": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.directoryservice#ExceptionMessage" - }, "RequestId": { "target": "com.amazonaws.directoryservice#RequestId" + }, + "Message": { + "target": "com.amazonaws.directoryservice#ExceptionMessage" } }, "traits": { @@ -580,6 +659,12 @@ "com.amazonaws.directoryservice#Computer": { "type": "structure", "members": { + "ComputerAttributes": { + "target": "com.amazonaws.directoryservice#Attributes", + "traits": { + "smithy.api#documentation": "

                            An array of Attribute objects containing the LDAP attributes that belong to the\n computer account.

                            " + } + }, "ComputerId": { "target": "com.amazonaws.directoryservice#SID", "traits": { @@ -591,12 +676,6 @@ "traits": { "smithy.api#documentation": "

                            The computer name.

                            " } - }, - "ComputerAttributes": { - "target": "com.amazonaws.directoryservice#Attributes", - "traits": { - "smithy.api#documentation": "

                            An array of Attribute objects containing the LDAP attributes that belong to the\n computer account.

                            " - } } }, "traits": { @@ -626,10 +705,10 @@ "com.amazonaws.directoryservice#ConditionalForwarder": { "type": "structure", "members": { - "ReplicationScope": { - "target": "com.amazonaws.directoryservice#ReplicationScope", + "RemoteDomainName": { + "target": "com.amazonaws.directoryservice#RemoteDomainName", "traits": { - "smithy.api#documentation": "

                            The replication scope of the conditional forwarder. The only allowed value is\n Domain, which will replicate the conditional forwarder to all of the\n domain controllers for your AWS directory.

                            " + "smithy.api#documentation": "

                            The fully qualified domain name (FQDN) of the remote domains pointed to by the conditional forwarder.

                            " } }, "DnsIpAddrs": { @@ -638,10 +717,10 @@ "smithy.api#documentation": "

                            The IP addresses of the remote DNS server associated with RemoteDomainName. This is the IP address of the DNS server that your conditional forwarder points to.

                            " } }, - "RemoteDomainName": { - "target": "com.amazonaws.directoryservice#RemoteDomainName", + "ReplicationScope": { + "target": "com.amazonaws.directoryservice#ReplicationScope", "traits": { - "smithy.api#documentation": "

                            The fully qualified domain name (FQDN) of the remote domains pointed to by the conditional forwarder.

                            " + "smithy.api#documentation": "

                            The replication scope of the conditional forwarder. The only allowed value is\n Domain, which will replicate the conditional forwarder to all of the\n domain controllers for your AWS directory.

                            " } } }, @@ -678,25 +757,12 @@ } ], "traits": { - "smithy.api#documentation": "

                            Creates an AD Connector to connect to an on-premises directory.

                            \n

                            Before you call ConnectDirectory, ensure that all of the required permissions have been explicitly granted through a policy. For details about what permissions are required to run the ConnectDirectory operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions Reference.

                            " + "smithy.api#documentation": "

                            Creates an AD Connector to connect to an on-premises directory.

                            \n

                            Before you call ConnectDirectory, ensure that all of the required permissions\n have been explicitly granted through a policy. For details about what permissions are required\n to run the ConnectDirectory operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions\n Reference.

                            " } }, "com.amazonaws.directoryservice#ConnectDirectoryRequest": { "type": "structure", "members": { - "Tags": { - "target": "com.amazonaws.directoryservice#Tags", - "traits": { - "smithy.api#documentation": "

                            The tags to be assigned to AD Connector.

                            " - } - }, - "ConnectSettings": { - "target": "com.amazonaws.directoryservice#DirectoryConnectSettings", - "traits": { - "smithy.api#documentation": "

                            A DirectoryConnectSettings object that contains additional information for the\n operation.

                            ", - "smithy.api#required": {} - } - }, "Description": { "target": "com.amazonaws.directoryservice#Description", "traits": { @@ -716,19 +782,32 @@ "smithy.api#documentation": "

                            The NetBIOS name of the on-premises directory, such as CORP.

                            " } }, - "Password": { - "target": "com.amazonaws.directoryservice#ConnectPassword", + "ConnectSettings": { + "target": "com.amazonaws.directoryservice#DirectoryConnectSettings", "traits": { - "smithy.api#documentation": "

                            The password for the on-premises user account.

                            ", + "smithy.api#documentation": "

                            A DirectoryConnectSettings object that contains additional information\n for the operation.

                            ", "smithy.api#required": {} } }, + "Tags": { + "target": "com.amazonaws.directoryservice#Tags", + "traits": { + "smithy.api#documentation": "

                            The tags to be assigned to AD Connector.

                            " + } + }, "Name": { "target": "com.amazonaws.directoryservice#DirectoryName", "traits": { "smithy.api#documentation": "

                            The fully qualified name of the on-premises directory, such as\n corp.example.com.

                            ", "smithy.api#required": {} } + }, + "Password": { + "target": "com.amazonaws.directoryservice#ConnectPassword", + "traits": { + "smithy.api#documentation": "

                            The password for the on-premises user account.

                            ", + "smithy.api#required": {} + } } }, "traits": { @@ -794,17 +873,17 @@ "com.amazonaws.directoryservice#CreateAliasRequest": { "type": "structure", "members": { - "Alias": { - "target": "com.amazonaws.directoryservice#AliasName", + "DirectoryId": { + "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                            The requested alias.

                            \n

                            The alias must be unique amongst all aliases in AWS. This operation throws an\n EntityAlreadyExistsException error if the alias already exists.

                            ", + "smithy.api#documentation": "

                            The identifier of the directory for which to create the alias.

                            ", "smithy.api#required": {} } }, - "DirectoryId": { - "target": "com.amazonaws.directoryservice#DirectoryId", + "Alias": { + "target": "com.amazonaws.directoryservice#AliasName", "traits": { - "smithy.api#documentation": "

                            The identifier of the directory for which to create the alias.

                            ", + "smithy.api#documentation": "

                            The requested alias.

                            \n

                            The alias must be unique amongst all aliases in AWS. This operation throws an\n EntityAlreadyExistsException error if the alias already exists.

                            ", "smithy.api#required": {} } } @@ -868,25 +947,12 @@ } ], "traits": { - "smithy.api#documentation": "

                            Creates a computer account in the specified directory, and joins the computer to the directory.

                            " + "smithy.api#documentation": "

                            Creates an Active Directory computer object in the specified directory.

                            " } }, "com.amazonaws.directoryservice#CreateComputerRequest": { "type": "structure", "members": { - "Password": { - "target": "com.amazonaws.directoryservice#ComputerPassword", - "traits": { - "smithy.api#documentation": "

                            A one-time password that is used to join the computer to the directory. You should generate a random, strong password to use for this parameter.

                            ", - "smithy.api#required": {} - } - }, - "ComputerAttributes": { - "target": "com.amazonaws.directoryservice#Attributes", - "traits": { - "smithy.api#documentation": "

                            An array of Attribute objects that contain any LDAP attributes to apply to the\n computer account.

                            " - } - }, "OrganizationalUnitDistinguishedName": { "target": "com.amazonaws.directoryservice#OrganizationalUnitDN", "traits": { @@ -906,6 +972,19 @@ "smithy.api#documentation": "

                            The identifier of the directory in which to create the computer account.

                            ", "smithy.api#required": {} } + }, + "ComputerAttributes": { + "target": "com.amazonaws.directoryservice#Attributes", + "traits": { + "smithy.api#documentation": "

                            An array of Attribute objects that contain any LDAP attributes to apply to the\n computer account.

                            " + } + }, + "Password": { + "target": "com.amazonaws.directoryservice#ComputerPassword", + "traits": { + "smithy.api#documentation": "

                            A one-time password that is used to join the computer to the directory. You should generate a random, strong password to use for this parameter.

                            ", + "smithy.api#required": {} + } } }, "traits": { @@ -964,13 +1043,6 @@ "com.amazonaws.directoryservice#CreateConditionalForwarderRequest": { "type": "structure", "members": { - "RemoteDomainName": { - "target": "com.amazonaws.directoryservice#RemoteDomainName", - "traits": { - "smithy.api#documentation": "

                            The fully qualified domain name (FQDN) of the remote domain with which you will set up a trust relationship.

                            ", - "smithy.api#required": {} - } - }, "DnsIpAddrs": { "target": "com.amazonaws.directoryservice#DnsIpAddrs", "traits": { @@ -984,6 +1056,13 @@ "smithy.api#documentation": "

                            The directory ID of the AWS directory for which you are creating the conditional forwarder.

                            ", "smithy.api#required": {} } + }, + "RemoteDomainName": { + "target": "com.amazonaws.directoryservice#RemoteDomainName", + "traits": { + "smithy.api#documentation": "

                            The fully qualified domain name (FQDN) of the remote domain with which you will set up a trust relationship.

                            ", + "smithy.api#required": {} + } } }, "traits": { @@ -1020,42 +1099,22 @@ } ], "traits": { - "smithy.api#documentation": "

                            Creates a Simple AD directory. For more information, see Simple Active Directory in the AWS Directory Service Admin Guide.

                            \n

                            Before you call CreateDirectory, ensure that all of the required permissions have been explicitly granted through a policy. For details about what permissions are required to run the CreateDirectory operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions Reference.

                            " + "smithy.api#documentation": "

                            Creates a Simple AD directory. For more information, see Simple Active Directory in the AWS Directory Service Admin\n Guide.

                            \n

                            Before you call CreateDirectory, ensure that all of the required permissions\n have been explicitly granted through a policy. For details about what permissions are required\n to run the CreateDirectory operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions\n Reference.

                            " } }, "com.amazonaws.directoryservice#CreateDirectoryRequest": { "type": "structure", "members": { - "Password": { - "target": "com.amazonaws.directoryservice#Password", - "traits": { - "smithy.api#documentation": "

                            The password for the directory administrator. The directory creation process creates\n a directory administrator account with the user name Administrator and this\n password.

                            \n

                            If you need to change the password for the administrator account, you can use the ResetUserPassword API call.

                            ", - "smithy.api#required": {} - } - }, - "ShortName": { - "target": "com.amazonaws.directoryservice#DirectoryShortName", - "traits": { - "smithy.api#documentation": "

                            The NetBIOS name of the directory, such as CORP.

                            " - } - }, "Tags": { "target": "com.amazonaws.directoryservice#Tags", "traits": { "smithy.api#documentation": "

                            The tags to be assigned to the Simple AD directory.

                            " } }, - "Name": { - "target": "com.amazonaws.directoryservice#DirectoryName", - "traits": { - "smithy.api#documentation": "

                            The fully qualified name for the directory, such as corp.example.com.

                            ", - "smithy.api#required": {} - } - }, "VpcSettings": { "target": "com.amazonaws.directoryservice#DirectoryVpcSettings", "traits": { - "smithy.api#documentation": "

                            A DirectoryVpcSettings object that contains additional information for the\n operation.

                            " + "smithy.api#documentation": "

                            A DirectoryVpcSettings object that contains additional information for\n the operation.

                            " } }, "Description": { @@ -1070,6 +1129,26 @@ "smithy.api#documentation": "

                            The size of the directory.

                            ", "smithy.api#required": {} } + }, + "ShortName": { + "target": "com.amazonaws.directoryservice#DirectoryShortName", + "traits": { + "smithy.api#documentation": "

                            The NetBIOS name of the directory, such as CORP.

                            " + } + }, + "Password": { + "target": "com.amazonaws.directoryservice#Password", + "traits": { + "smithy.api#documentation": "

                            The password for the directory administrator. The directory creation process creates a\n directory administrator account with the user name Administrator and this\n password.

                            \n

                            If you need to change the password for the administrator account, you can use the ResetUserPassword API call.

                            \n

                            The regex pattern for this string is made up of the following conditions:

                            \n
                              \n
                            • \n

                              Length (?=^.{8,64}$) – Must be between 8 and 64 characters

                              \n
                            • \n
                            \n

                            AND any 3 of the following password complexity rules required by Active Directory:

                            \n
                              \n
                            • \n

                              Numbers and upper case and lowercase (?=.*\\d)(?=.*[A-Z])(?=.*[a-z])

                              \n
                            • \n
                            • \n

                              Numbers and special characters and lower case (?=.*\\d)(?=.*[^A-Za-z0-9\\s])(?=.*[a-z])

                              \n
                            • \n
                            • \n

                              Special characters and upper case and lower case (?=.*[^A-Za-z0-9\\s])(?=.*[A-Z])(?=.*[a-z])

                              \n
                            • \n
                            • \n

                              Numbers and upper case and special characters (?=.*\\d)(?=.*[A-Z])(?=.*[^A-Za-z0-9\\s])

                              \n
                            • \n
                            \n

                            For additional information about how Active Directory passwords are enforced, see Password must meet complexity requirements on the Microsoft website.

                            ", + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.directoryservice#DirectoryName", + "traits": { + "smithy.api#documentation": "

                            The fully qualified name for the directory, such as corp.example.com.

                            ", + "smithy.api#required": {} + } } }, "traits": { @@ -1119,7 +1198,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Creates a subscription to forward real-time Directory Service domain controller\n security logs to the specified Amazon CloudWatch log group in your AWS account.

                            " + "smithy.api#documentation": "

                            Creates a subscription to forward real-time Directory Service domain controller security\n logs to the specified Amazon CloudWatch log group in your AWS account.

                            " } }, "com.amazonaws.directoryservice#CreateLogSubscriptionRequest": { @@ -1128,14 +1207,14 @@ "LogGroupName": { "target": "com.amazonaws.directoryservice#LogGroupName", "traits": { - "smithy.api#documentation": "

                            The name of the CloudWatch log group where the real-time domain controller logs are forwarded.

                            ", + "smithy.api#documentation": "

                            The name of the CloudWatch log group where the real-time domain controller logs are\n forwarded.

                            ", "smithy.api#required": {} } }, "DirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                            Identifier of the directory to which you want to subscribe and receive real-time logs\n to your specified CloudWatch log group.

                            ", + "smithy.api#documentation": "

                            Identifier of the directory to which you want to subscribe and receive real-time logs to\n your specified CloudWatch log group.

                            ", "smithy.api#required": {} } } @@ -1177,18 +1256,6 @@ "com.amazonaws.directoryservice#CreateMicrosoftADRequest": { "type": "structure", "members": { - "Description": { - "target": "com.amazonaws.directoryservice#Description", - "traits": { - "smithy.api#documentation": "

                            A description for the directory. This label will appear on the AWS console Directory Details page after the directory is created.

                            " - } - }, - "ShortName": { - "target": "com.amazonaws.directoryservice#DirectoryShortName", - "traits": { - "smithy.api#documentation": "

                            The NetBIOS name for your domain, such as CORP. If you don't specify a NetBIOS name, it will default to the first part of your directory DNS. For example, CORP for the directory DNS corp.example.com.

                            " - } - }, "VpcSettings": { "target": "com.amazonaws.directoryservice#DirectoryVpcSettings", "traits": { @@ -1196,12 +1263,6 @@ "smithy.api#required": {} } }, - "Tags": { - "target": "com.amazonaws.directoryservice#Tags", - "traits": { - "smithy.api#documentation": "

                            The tags to be assigned to the AWS Managed Microsoft AD directory.

                            " - } - }, "Password": { "target": "com.amazonaws.directoryservice#Password", "traits": { @@ -1216,11 +1277,29 @@ "smithy.api#required": {} } }, + "Tags": { + "target": "com.amazonaws.directoryservice#Tags", + "traits": { + "smithy.api#documentation": "

                            The tags to be assigned to the AWS Managed Microsoft AD directory.

                            " + } + }, + "Description": { + "target": "com.amazonaws.directoryservice#Description", + "traits": { + "smithy.api#documentation": "

                            A description for the directory. This label will appear on the AWS console Directory Details page after the directory is created.

                            " + } + }, "Edition": { "target": "com.amazonaws.directoryservice#DirectoryEdition", "traits": { "smithy.api#documentation": "

                            AWS Managed Microsoft AD is available in two editions: Standard and Enterprise. Enterprise is the default.

                            " } + }, + "ShortName": { + "target": "com.amazonaws.directoryservice#DirectoryShortName", + "traits": { + "smithy.api#documentation": "

                            The NetBIOS name for your domain, such as CORP. If you don't specify a NetBIOS name, it will default to the first part of your directory DNS. For example, CORP for the directory DNS corp.example.com.

                            " + } } }, "traits": { @@ -1343,10 +1422,25 @@ "com.amazonaws.directoryservice#CreateTrustRequest": { "type": "structure", "members": { - "TrustType": { - "target": "com.amazonaws.directoryservice#TrustType", + "TrustDirection": { + "target": "com.amazonaws.directoryservice#TrustDirection", "traits": { - "smithy.api#documentation": "

                            The trust relationship type. Forest is the default.

                            " + "smithy.api#documentation": "

                            The direction of the trust relationship.

                            ", + "smithy.api#required": {} + } + }, + "TrustPassword": { + "target": "com.amazonaws.directoryservice#TrustPassword", + "traits": { + "smithy.api#documentation": "

                            The trust password. The must be the same password that was used when creating the trust relationship on the external domain.

                            ", + "smithy.api#required": {} + } + }, + "DirectoryId": { + "target": "com.amazonaws.directoryservice#DirectoryId", + "traits": { + "smithy.api#documentation": "

                            The Directory ID of the AWS Managed Microsoft AD directory for which to establish the trust relationship.

                            ", + "smithy.api#required": {} } }, "SelectiveAuth": { @@ -1368,25 +1462,10 @@ "smithy.api#documentation": "

                            The IP addresses of the remote DNS server associated with RemoteDomainName.

                            " } }, - "TrustPassword": { - "target": "com.amazonaws.directoryservice#TrustPassword", - "traits": { - "smithy.api#documentation": "

                            The trust password. The must be the same password that was used when creating the trust relationship on the external domain.

                            ", - "smithy.api#required": {} - } - }, - "DirectoryId": { - "target": "com.amazonaws.directoryservice#DirectoryId", - "traits": { - "smithy.api#documentation": "

                            The Directory ID of the AWS Managed Microsoft AD directory for which to establish the trust relationship.

                            ", - "smithy.api#required": {} - } - }, - "TrustDirection": { - "target": "com.amazonaws.directoryservice#TrustDirection", + "TrustType": { + "target": "com.amazonaws.directoryservice#TrustType", "traits": { - "smithy.api#documentation": "

                            The direction of the trust relationship.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The trust relationship type. Forest is the default.

                            " } } }, @@ -1465,17 +1544,17 @@ "com.amazonaws.directoryservice#DeleteConditionalForwarderRequest": { "type": "structure", "members": { - "RemoteDomainName": { - "target": "com.amazonaws.directoryservice#RemoteDomainName", + "DirectoryId": { + "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                            The fully qualified domain name (FQDN) of the remote domain with which you are deleting the conditional forwarder.

                            ", + "smithy.api#documentation": "

                            The directory ID for which you are deleting the conditional forwarder.

                            ", "smithy.api#required": {} } }, - "DirectoryId": { - "target": "com.amazonaws.directoryservice#DirectoryId", + "RemoteDomainName": { + "target": "com.amazonaws.directoryservice#RemoteDomainName", "traits": { - "smithy.api#documentation": "

                            The directory ID for which you are deleting the conditional forwarder.

                            ", + "smithy.api#documentation": "

                            The fully qualified domain name (FQDN) of the remote domain with which you are deleting the conditional forwarder.

                            ", "smithy.api#required": {} } } @@ -1511,7 +1590,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Deletes an AWS Directory Service directory.

                            \n

                            Before you call DeleteDirectory, ensure that all of the required permissions have been explicitly granted through a policy. For details about what permissions are required to run the DeleteDirectory operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions Reference.

                            " + "smithy.api#documentation": "

                            Deletes an AWS Directory Service directory.

                            \n

                            Before you call DeleteDirectory, ensure that all of the required permissions\n have been explicitly granted through a policy. For details about what permissions are required\n to run the DeleteDirectory operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions\n Reference.

                            " } }, "com.amazonaws.directoryservice#DeleteDirectoryRequest": { @@ -1745,17 +1824,17 @@ "com.amazonaws.directoryservice#DeregisterCertificateRequest": { "type": "structure", "members": { - "DirectoryId": { - "target": "com.amazonaws.directoryservice#DirectoryId", + "CertificateId": { + "target": "com.amazonaws.directoryservice#CertificateId", "traits": { - "smithy.api#documentation": "

                            The identifier of the directory.

                            ", + "smithy.api#documentation": "

                            The identifier of the certificate.

                            ", "smithy.api#required": {} } }, - "CertificateId": { - "target": "com.amazonaws.directoryservice#CertificateId", + "DirectoryId": { + "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                            The identifier of the certificate.

                            ", + "smithy.api#documentation": "

                            The identifier of the directory.

                            ", "smithy.api#required": {} } } @@ -1794,17 +1873,17 @@ "com.amazonaws.directoryservice#DeregisterEventTopicRequest": { "type": "structure", "members": { - "TopicName": { - "target": "com.amazonaws.directoryservice#TopicName", + "DirectoryId": { + "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                            The name of the SNS topic from which to remove the directory as a publisher.

                            ", + "smithy.api#documentation": "

                            The Directory ID to remove as a publisher. This directory will no longer send messages to the specified SNS topic.

                            ", "smithy.api#required": {} } }, - "DirectoryId": { - "target": "com.amazonaws.directoryservice#DirectoryId", + "TopicName": { + "target": "com.amazonaws.directoryservice#TopicName", "traits": { - "smithy.api#documentation": "

                            The Directory ID to remove as a publisher. This directory will no longer send messages to the specified SNS topic.

                            ", + "smithy.api#documentation": "

                            The name of the SNS topic from which to remove the directory as a publisher.

                            ", "smithy.api#required": {} } } @@ -1849,7 +1928,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Displays information about the certificate registered for a secured LDAP connection.

                            " + "smithy.api#documentation": "

                            Displays information about the certificate registered for a secured LDAP\n connection.

                            " } }, "com.amazonaws.directoryservice#DescribeCertificateRequest": { @@ -1917,18 +1996,18 @@ "com.amazonaws.directoryservice#DescribeConditionalForwardersRequest": { "type": "structure", "members": { + "RemoteDomainNames": { + "target": "com.amazonaws.directoryservice#RemoteDomainNames", + "traits": { + "smithy.api#documentation": "

                            The fully qualified domain names (FQDN) of the remote domains for which to get the list of associated conditional forwarders. If this member is null, all conditional forwarders are returned.

                            " + } + }, "DirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { "smithy.api#documentation": "

                            The directory ID for which to get the list of associated conditional forwarders.

                            ", "smithy.api#required": {} } - }, - "RemoteDomainNames": { - "target": "com.amazonaws.directoryservice#RemoteDomainNames", - "traits": { - "smithy.api#documentation": "

                            The fully qualified domain names (FQDN) of the remote domains for which to get the list of associated conditional forwarders. If this member is null, all conditional forwarders are returned.

                            " - } } }, "traits": { @@ -1975,28 +2054,28 @@ } ], "traits": { - "smithy.api#documentation": "

                            Obtains information about the directories that belong to this account.

                            \n

                            You can retrieve information about specific directories by passing the directory\n identifiers in the DirectoryIds parameter. Otherwise, all directories that belong to\n the current account are returned.

                            \n

                            This operation supports pagination with the use of the NextToken request and\n response parameters. If more results are available, the\n DescribeDirectoriesResult.NextToken member contains a token that you pass in the\n next call to DescribeDirectories to retrieve the next set of items.

                            \n

                            You can also specify a maximum number of return results with the Limit\n parameter.

                            " + "smithy.api#documentation": "

                            Obtains information about the directories that belong to this account.

                            \n

                            You can retrieve information about specific directories by passing the directory\n identifiers in the DirectoryIds parameter. Otherwise, all directories that belong\n to the current account are returned.

                            \n

                            This operation supports pagination with the use of the NextToken request and\n response parameters. If more results are available, the\n DescribeDirectoriesResult.NextToken member contains a token that you pass in\n the next call to DescribeDirectories to retrieve the next set of\n items.

                            \n

                            You can also specify a maximum number of return results with the Limit\n parameter.

                            " } }, "com.amazonaws.directoryservice#DescribeDirectoriesRequest": { "type": "structure", "members": { - "DirectoryIds": { - "target": "com.amazonaws.directoryservice#DirectoryIds", + "NextToken": { + "target": "com.amazonaws.directoryservice#NextToken", "traits": { - "smithy.api#documentation": "

                            A list of identifiers of the directories for which to obtain the information. If this member is null, all directories that belong to the current account are returned.

                            \n

                            An empty list results in an InvalidParameterException being thrown.

                            " + "smithy.api#documentation": "

                            The DescribeDirectoriesResult.NextToken value from a previous call to DescribeDirectories. Pass null if this is the first call.

                            " } }, "Limit": { "target": "com.amazonaws.directoryservice#Limit", "traits": { - "smithy.api#documentation": "

                            The maximum number of items to return. If this value is zero, the maximum number of items is specified by the limitations of the operation.

                            " + "smithy.api#documentation": "

                            The maximum number of items to return. If this value is zero, the maximum number of items\n is specified by the limitations of the operation.

                            " } }, - "NextToken": { - "target": "com.amazonaws.directoryservice#NextToken", + "DirectoryIds": { + "target": "com.amazonaws.directoryservice#DirectoryIds", "traits": { - "smithy.api#documentation": "

                            The DescribeDirectoriesResult.NextToken value from a previous call to\n DescribeDirectories. Pass null if this is the first call.

                            " + "smithy.api#documentation": "

                            A list of identifiers of the directories for which to obtain the information. If this\n member is null, all directories that belong to the current account are returned.

                            \n

                            An empty list results in an InvalidParameterException being thrown.

                            " } } }, @@ -2007,16 +2086,16 @@ "com.amazonaws.directoryservice#DescribeDirectoriesResult": { "type": "structure", "members": { - "DirectoryDescriptions": { - "target": "com.amazonaws.directoryservice#DirectoryDescriptions", + "NextToken": { + "target": "com.amazonaws.directoryservice#NextToken", "traits": { - "smithy.api#documentation": "

                            The list of DirectoryDescription objects that were retrieved.

                            \n

                            It is possible that this list contains less than the number of items specified in the\n Limit member of the request. This occurs if there are less than the requested\n number of items left to retrieve, or if the limitations of the operation have been\n exceeded.

                            " + "smithy.api#documentation": "

                            If not null, more results are available. Pass this value for the NextToken\n parameter in a subsequent call to DescribeDirectories to retrieve the next\n set of items.

                            " } }, - "NextToken": { - "target": "com.amazonaws.directoryservice#NextToken", + "DirectoryDescriptions": { + "target": "com.amazonaws.directoryservice#DirectoryDescriptions", "traits": { - "smithy.api#documentation": "

                            If not null, more results are available. Pass this value for the NextToken parameter\n in a subsequent call to DescribeDirectories to retrieve the next set of items.

                            " + "smithy.api#documentation": "

                            The list of DirectoryDescription objects that were retrieved.

                            \n

                            It is possible that this list contains less than the number of items specified in the\n Limit member of the request. This occurs if there are less than the requested\n number of items left to retrieve, or if the limitations of the operation have been\n exceeded.

                            " } } }, @@ -2064,11 +2143,10 @@ "com.amazonaws.directoryservice#DescribeDomainControllersRequest": { "type": "structure", "members": { - "DirectoryId": { - "target": "com.amazonaws.directoryservice#DirectoryId", + "NextToken": { + "target": "com.amazonaws.directoryservice#NextToken", "traits": { - "smithy.api#documentation": "

                            Identifier of the directory for which to retrieve the domain controller information.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The DescribeDomainControllers.NextToken value from a previous call to DescribeDomainControllers. Pass null if this is the first call.

                            " } }, "DomainControllerIds": { @@ -2077,16 +2155,17 @@ "smithy.api#documentation": "

                            A list of identifiers for the domain controllers whose information will be provided.

                            " } }, - "Limit": { - "target": "com.amazonaws.directoryservice#Limit", + "DirectoryId": { + "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                            The maximum number of items to return.

                            " + "smithy.api#documentation": "

                            Identifier of the directory for which to retrieve the domain controller information.

                            ", + "smithy.api#required": {} } }, - "NextToken": { - "target": "com.amazonaws.directoryservice#NextToken", + "Limit": { + "target": "com.amazonaws.directoryservice#Limit", "traits": { - "smithy.api#documentation": "

                            The DescribeDomainControllers.NextToken value from a previous call to DescribeDomainControllers. Pass null if this is the first call.

                            " + "smithy.api#documentation": "

                            The maximum number of items to return.

                            " } } } @@ -2094,17 +2173,17 @@ "com.amazonaws.directoryservice#DescribeDomainControllersResult": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.directoryservice#NextToken", - "traits": { - "smithy.api#documentation": "

                            If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to DescribeDomainControllers retrieve the next set of items.

                            " - } - }, "DomainControllers": { "target": "com.amazonaws.directoryservice#DomainControllers", "traits": { "smithy.api#documentation": "

                            List of the DomainController objects that were retrieved.

                            " } + }, + "NextToken": { + "target": "com.amazonaws.directoryservice#NextToken", + "traits": { + "smithy.api#documentation": "

                            If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to DescribeDomainControllers retrieve the next set of items.

                            " + } } } }, @@ -2203,12 +2282,88 @@ "com.amazonaws.directoryservice#DescribeLDAPSSettingsRequest": { "type": "structure", "members": { + "NextToken": { + "target": "com.amazonaws.directoryservice#NextToken", + "traits": { + "smithy.api#documentation": "

                            The type of next token used for pagination.

                            " + } + }, + "Type": { + "target": "com.amazonaws.directoryservice#LDAPSType", + "traits": { + "smithy.api#documentation": "

                            The type of LDAP security to enable. Currently only the value Client is\n supported.

                            " + } + }, + "DirectoryId": { + "target": "com.amazonaws.directoryservice#DirectoryId", + "traits": { + "smithy.api#documentation": "

                            The identifier of the directory.

                            ", + "smithy.api#required": {} + } + }, "Limit": { "target": "com.amazonaws.directoryservice#PageLimit", "traits": { "smithy.api#documentation": "

                            Specifies the number of items that should be displayed on one page.

                            " } + } + } + }, + "com.amazonaws.directoryservice#DescribeLDAPSSettingsResult": { + "type": "structure", + "members": { + "LDAPSSettingsInfo": { + "target": "com.amazonaws.directoryservice#LDAPSSettingsInfo", + "traits": { + "smithy.api#documentation": "

                            Information about LDAP security for the specified directory, including status of\n enablement, state last updated date time, and the reason for the state.

                            " + } + }, + "NextToken": { + "target": "com.amazonaws.directoryservice#NextToken", + "traits": { + "smithy.api#documentation": "

                            The next token used to retrieve the LDAPS settings if the number of setting types exceeds\n page limit and there is another page.

                            " + } + } + } + }, + "com.amazonaws.directoryservice#DescribeRegions": { + "type": "operation", + "input": { + "target": "com.amazonaws.directoryservice#DescribeRegionsRequest" + }, + "output": { + "target": "com.amazonaws.directoryservice#DescribeRegionsResult" + }, + "errors": [ + { + "target": "com.amazonaws.directoryservice#AccessDeniedException" + }, + { + "target": "com.amazonaws.directoryservice#ClientException" + }, + { + "target": "com.amazonaws.directoryservice#DirectoryDoesNotExistException" + }, + { + "target": "com.amazonaws.directoryservice#InvalidNextTokenException" + }, + { + "target": "com.amazonaws.directoryservice#InvalidParameterException" }, + { + "target": "com.amazonaws.directoryservice#ServiceException" + }, + { + "target": "com.amazonaws.directoryservice#UnsupportedOperationException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Provides information about the Regions that are configured for multi-Region replication.

                            " + } + }, + "com.amazonaws.directoryservice#DescribeRegionsRequest": { + "type": "structure", + "members": { "DirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { @@ -2216,33 +2371,33 @@ "smithy.api#required": {} } }, - "Type": { - "target": "com.amazonaws.directoryservice#LDAPSType", + "RegionName": { + "target": "com.amazonaws.directoryservice#RegionName", "traits": { - "smithy.api#documentation": "

                            The type of LDAP security to enable. Currently only the value Client is supported.

                            " + "smithy.api#documentation": "

                            The name of the Region. For example, us-east-1.

                            " } }, "NextToken": { "target": "com.amazonaws.directoryservice#NextToken", "traits": { - "smithy.api#documentation": "

                            The type of next token used for pagination.

                            " + "smithy.api#documentation": "

                            The DescribeRegionsResult.NextToken value from a previous call to\n DescribeRegions. Pass null if this is the first call.

                            " } } } }, - "com.amazonaws.directoryservice#DescribeLDAPSSettingsResult": { + "com.amazonaws.directoryservice#DescribeRegionsResult": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.directoryservice#NextToken", + "RegionsDescription": { + "target": "com.amazonaws.directoryservice#RegionsDescription", "traits": { - "smithy.api#documentation": "

                            The next token used to retrieve the LDAPS settings if the number of setting types exceeds page limit and there is another page.

                            " + "smithy.api#documentation": "

                            List of regional information related to the directory per replicated Region.

                            " } }, - "LDAPSSettingsInfo": { - "target": "com.amazonaws.directoryservice#LDAPSSettingsInfo", + "NextToken": { + "target": "com.amazonaws.directoryservice#NextToken", "traits": { - "smithy.api#documentation": "

                            Information about LDAP security for the specified directory, including status of\n enablement, state last updated date time, and the reason for the state.

                            " + "smithy.api#documentation": "

                            If not null, more results are available. Pass this value for the NextToken parameter\n in a subsequent call to DescribeRegions to retrieve the next set of items.

                            " } } } @@ -2282,19 +2437,6 @@ "com.amazonaws.directoryservice#DescribeSharedDirectoriesRequest": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.directoryservice#NextToken", - "traits": { - "smithy.api#documentation": "

                            The DescribeSharedDirectoriesResult.NextToken value from a previous call to\n DescribeSharedDirectories. Pass null if this is the first call.\n

                            " - } - }, - "OwnerDirectoryId": { - "target": "com.amazonaws.directoryservice#DirectoryId", - "traits": { - "smithy.api#documentation": "

                            Returns the identifier of the directory in the directory owner account.

                            ", - "smithy.api#required": {} - } - }, "Limit": { "target": "com.amazonaws.directoryservice#Limit", "traits": { @@ -2306,22 +2448,35 @@ "traits": { "smithy.api#documentation": "

                            A list of identifiers of all shared directories in your account.

                            " } + }, + "NextToken": { + "target": "com.amazonaws.directoryservice#NextToken", + "traits": { + "smithy.api#documentation": "

                            The DescribeSharedDirectoriesResult.NextToken value from a previous call to\n DescribeSharedDirectories. Pass null if this is the first call.

                            " + } + }, + "OwnerDirectoryId": { + "target": "com.amazonaws.directoryservice#DirectoryId", + "traits": { + "smithy.api#documentation": "

                            Returns the identifier of the directory in the directory owner account.

                            ", + "smithy.api#required": {} + } } } }, "com.amazonaws.directoryservice#DescribeSharedDirectoriesResult": { "type": "structure", "members": { - "SharedDirectories": { - "target": "com.amazonaws.directoryservice#SharedDirectories", + "NextToken": { + "target": "com.amazonaws.directoryservice#NextToken", "traits": { - "smithy.api#documentation": "

                            A list of all shared directories in your account.

                            " + "smithy.api#documentation": "

                            If not null, token that indicates that more results are available. Pass this value for the\n NextToken parameter in a subsequent call to DescribeSharedDirectories to retrieve the next set of items.

                            " } }, - "NextToken": { - "target": "com.amazonaws.directoryservice#NextToken", + "SharedDirectories": { + "target": "com.amazonaws.directoryservice#SharedDirectories", "traits": { - "smithy.api#documentation": "

                            If not null, token that indicates that more results are available. Pass this value for the NextToken parameter\n in a subsequent call to DescribeSharedDirectories to retrieve the next set of items.

                            " + "smithy.api#documentation": "

                            A list of all shared directories in your account.

                            " } } } @@ -2442,18 +2597,6 @@ "com.amazonaws.directoryservice#DescribeTrustsRequest": { "type": "structure", "members": { - "Limit": { - "target": "com.amazonaws.directoryservice#Limit", - "traits": { - "smithy.api#documentation": "

                            The maximum number of objects to return.

                            " - } - }, - "TrustIds": { - "target": "com.amazonaws.directoryservice#TrustIds", - "traits": { - "smithy.api#documentation": "

                            A list of identifiers of the trust relationships for which to obtain the information. If this member is null, all trust relationships that belong to the current account are returned.

                            \n

                            An empty list results in an InvalidParameterException being thrown.

                            " - } - }, "NextToken": { "target": "com.amazonaws.directoryservice#NextToken", "traits": { @@ -2465,6 +2608,18 @@ "traits": { "smithy.api#documentation": "

                            The Directory ID of the AWS directory that is a part of the requested trust relationship.

                            " } + }, + "TrustIds": { + "target": "com.amazonaws.directoryservice#TrustIds", + "traits": { + "smithy.api#documentation": "

                            A list of identifiers of the trust relationships for which to obtain the information. If this member is null, all trust relationships that belong to the current account are returned.

                            \n

                            An empty list results in an InvalidParameterException being thrown.

                            " + } + }, + "Limit": { + "target": "com.amazonaws.directoryservice#Limit", + "traits": { + "smithy.api#documentation": "

                            The maximum number of objects to return.

                            " + } } }, "traits": { @@ -2474,17 +2629,17 @@ "com.amazonaws.directoryservice#DescribeTrustsResult": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.directoryservice#NextToken", - "traits": { - "smithy.api#documentation": "

                            If not null, more results are available. Pass this value for the NextToken parameter\n in a subsequent call to DescribeTrusts to retrieve the next set of items.

                            " - } - }, "Trusts": { "target": "com.amazonaws.directoryservice#Trusts", "traits": { "smithy.api#documentation": "

                            The list of Trust objects that were retrieved.

                            \n

                            It is possible that this list contains less than the number of items specified in the\n Limit member of the request. This occurs if there are less than the requested\n number of items left to retrieve, or if the limitations of the operation have been\n exceeded.

                            " } + }, + "NextToken": { + "target": "com.amazonaws.directoryservice#NextToken", + "traits": { + "smithy.api#documentation": "

                            If not null, more results are available. Pass this value for the NextToken parameter\n in a subsequent call to DescribeTrusts to retrieve the next set of items.

                            " + } } }, "traits": { @@ -2509,6 +2664,21 @@ } } }, + "com.amazonaws.directoryservice#DirectoryAlreadyInRegionException": { + "type": "structure", + "members": { + "RequestId": { + "target": "com.amazonaws.directoryservice#RequestId" + }, + "Message": { + "target": "com.amazonaws.directoryservice#ExceptionMessage" + } + }, + "traits": { + "smithy.api#documentation": "

                            The Region you specified is the same Region where the AWS Managed Microsoft AD directory was created. Specify a different Region and try again.

                            ", + "smithy.api#error": "client" + } + }, "com.amazonaws.directoryservice#DirectoryAlreadySharedException": { "type": "structure", "members": { @@ -2527,52 +2697,46 @@ "com.amazonaws.directoryservice#DirectoryConnectSettings": { "type": "structure", "members": { - "CustomerDnsIps": { - "target": "com.amazonaws.directoryservice#DnsIpAddrs", + "VpcId": { + "target": "com.amazonaws.directoryservice#VpcId", "traits": { - "smithy.api#documentation": "

                            A list of one or more IP addresses of DNS servers or domain controllers in the on-premises directory.

                            ", + "smithy.api#documentation": "

                            The identifier of the VPC in which the AD Connector is created.

                            ", "smithy.api#required": {} } }, - "CustomerUserName": { - "target": "com.amazonaws.directoryservice#UserName", + "SubnetIds": { + "target": "com.amazonaws.directoryservice#SubnetIds", "traits": { - "smithy.api#documentation": "

                            The user name of an account in the on-premises directory that is used to connect to\n the directory. This account must have the following permissions:

                            \n
                              \n
                            • \n

                              Read users and groups

                              \n
                            • \n
                            • \n

                              Create computer objects

                              \n
                            • \n
                            • \n

                              Join computers to the domain

                              \n
                            • \n
                            ", + "smithy.api#documentation": "

                            A list of subnet identifiers in the VPC in which the AD Connector is created.

                            ", "smithy.api#required": {} } }, - "SubnetIds": { - "target": "com.amazonaws.directoryservice#SubnetIds", + "CustomerDnsIps": { + "target": "com.amazonaws.directoryservice#DnsIpAddrs", "traits": { - "smithy.api#documentation": "

                            A list of subnet identifiers in the VPC in which the AD Connector is created.

                            ", + "smithy.api#documentation": "

                            A list of one or more IP addresses of DNS servers or domain controllers in the on-premises\n directory.

                            ", "smithy.api#required": {} } }, - "VpcId": { - "target": "com.amazonaws.directoryservice#VpcId", + "CustomerUserName": { + "target": "com.amazonaws.directoryservice#UserName", "traits": { - "smithy.api#documentation": "

                            The identifier of the VPC in which the AD Connector is created.

                            ", + "smithy.api#documentation": "

                            The user name of an account in the on-premises directory that is used to connect to the\n directory. This account must have the following permissions:

                            \n
                              \n
                            • \n

                              Read users and groups

                              \n
                            • \n
                            • \n

                              Create computer objects

                              \n
                            • \n
                            • \n

                              Join computers to the domain

                              \n
                            • \n
                            ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

                            Contains information for the ConnectDirectory operation when an AD Connector\n directory is being created.

                            " + "smithy.api#documentation": "

                            Contains information for the ConnectDirectory operation when an AD\n Connector directory is being created.

                            " } }, "com.amazonaws.directoryservice#DirectoryConnectSettingsDescription": { "type": "structure", "members": { - "SubnetIds": { - "target": "com.amazonaws.directoryservice#SubnetIds", - "traits": { - "smithy.api#documentation": "

                            A list of subnet identifiers in the VPC that the AD Connector is in.

                            " - } - }, - "SecurityGroupId": { - "target": "com.amazonaws.directoryservice#SecurityGroupId", + "AvailabilityZones": { + "target": "com.amazonaws.directoryservice#AvailabilityZones", "traits": { - "smithy.api#documentation": "

                            The security group identifier for the AD Connector directory.

                            " + "smithy.api#documentation": "

                            A list of the Availability Zones that the directory is in.

                            " } }, "VpcId": { @@ -2581,16 +2745,10 @@ "smithy.api#documentation": "

                            The identifier of the VPC that the AD Connector is in.

                            " } }, - "ConnectIps": { - "target": "com.amazonaws.directoryservice#IpAddrs", - "traits": { - "smithy.api#documentation": "

                            The IP addresses of the AD Connector servers.

                            " - } - }, - "AvailabilityZones": { - "target": "com.amazonaws.directoryservice#AvailabilityZones", + "SubnetIds": { + "target": "com.amazonaws.directoryservice#SubnetIds", "traits": { - "smithy.api#documentation": "

                            A list of the Availability Zones that the directory is in.

                            " + "smithy.api#documentation": "

                            A list of subnet identifiers in the VPC that the AD Connector is in.

                            " } }, "CustomerUserName": { @@ -2598,6 +2756,18 @@ "traits": { "smithy.api#documentation": "

                            The user name of the service account in the on-premises directory.

                            " } + }, + "ConnectIps": { + "target": "com.amazonaws.directoryservice#IpAddrs", + "traits": { + "smithy.api#documentation": "

                            The IP addresses of the AD Connector servers.

                            " + } + }, + "SecurityGroupId": { + "target": "com.amazonaws.directoryservice#SecurityGroupId", + "traits": { + "smithy.api#documentation": "

                            The security group identifier for the AD Connector directory.

                            " + } } }, "traits": { @@ -2607,64 +2777,46 @@ "com.amazonaws.directoryservice#DirectoryDescription": { "type": "structure", "members": { - "Description": { - "target": "com.amazonaws.directoryservice#Description", - "traits": { - "smithy.api#documentation": "

                            The description for the directory.

                            " - } - }, - "LaunchTime": { - "target": "com.amazonaws.directoryservice#LaunchTime", - "traits": { - "smithy.api#documentation": "

                            Specifies when the directory was created.

                            " - } - }, - "SsoEnabled": { - "target": "com.amazonaws.directoryservice#SsoEnabled", - "traits": { - "smithy.api#documentation": "

                            Indicates if single sign-on is enabled for the directory. For more information, see\n EnableSso and DisableSso.

                            " - } - }, - "Size": { - "target": "com.amazonaws.directoryservice#DirectorySize", + "ShareStatus": { + "target": "com.amazonaws.directoryservice#ShareStatus", "traits": { - "smithy.api#documentation": "

                            The directory size.

                            " + "smithy.api#documentation": "

                            Current directory status of the shared AWS Managed Microsoft AD directory.

                            " } }, - "DnsIpAddrs": { - "target": "com.amazonaws.directoryservice#DnsIpAddrs", + "Stage": { + "target": "com.amazonaws.directoryservice#DirectoryStage", "traits": { - "smithy.api#documentation": "

                            The IP addresses of the DNS servers for the directory. For a Simple AD or Microsoft AD directory, these are the IP addresses of the Simple AD or Microsoft AD directory servers. For an AD Connector directory, these are the IP addresses of the DNS servers or domain controllers in the on-premises directory to which the AD Connector is connected.

                            " + "smithy.api#documentation": "

                            The current stage of the directory.

                            " } }, - "ShareStatus": { - "target": "com.amazonaws.directoryservice#ShareStatus", + "ConnectSettings": { + "target": "com.amazonaws.directoryservice#DirectoryConnectSettingsDescription", "traits": { - "smithy.api#documentation": "

                            Current directory status of the shared AWS Managed Microsoft AD directory.

                            " + "smithy.api#documentation": "

                            A DirectoryConnectSettingsDescription object that contains additional\n information about an AD Connector directory. This member is only present if the directory is\n an AD Connector directory.

                            " } }, - "ShareNotes": { - "target": "com.amazonaws.directoryservice#Notes", + "LaunchTime": { + "target": "com.amazonaws.directoryservice#LaunchTime", "traits": { - "smithy.api#documentation": "

                            A directory share request that is sent by the directory owner to the directory consumer.\n The request includes a typed message to help the directory consumer administrator determine\n whether to approve or reject the share invitation.

                            " + "smithy.api#documentation": "

                            Specifies when the directory was created.

                            " } }, - "Name": { - "target": "com.amazonaws.directoryservice#DirectoryName", + "StageReason": { + "target": "com.amazonaws.directoryservice#StageReason", "traits": { - "smithy.api#documentation": "

                            The fully qualified name of the directory.

                            " + "smithy.api#documentation": "

                            Additional information about the directory stage.

                            " } }, - "VpcSettings": { - "target": "com.amazonaws.directoryservice#DirectoryVpcSettingsDescription", + "Alias": { + "target": "com.amazonaws.directoryservice#AliasName", "traits": { - "smithy.api#documentation": "

                            A DirectoryVpcSettingsDescription object that contains additional information about\n a directory. This member is only present if the directory is a Simple AD or Managed AD\n directory.

                            " + "smithy.api#documentation": "

                            The alias for the directory. If no alias has been created for the directory, the alias is\n the directory identifier, such as d-XXXXXXXXXX.

                            " } }, - "ShortName": { - "target": "com.amazonaws.directoryservice#DirectoryShortName", + "DesiredNumberOfDomainControllers": { + "target": "com.amazonaws.directoryservice#DesiredNumberOfDomainControllers", "traits": { - "smithy.api#documentation": "

                            The short name of the directory.

                            " + "smithy.api#documentation": "

                            The desired number of domain controllers in the directory if the directory is Microsoft AD.

                            " } }, "ShareMethod": { @@ -2673,28 +2825,34 @@ "smithy.api#documentation": "

                            The method used when sharing a directory to determine whether the directory should be\n shared within your AWS organization (ORGANIZATIONS) or with any AWS account by\n sending a shared directory request (HANDSHAKE).

                            " } }, - "StageReason": { - "target": "com.amazonaws.directoryservice#StageReason", + "AccessUrl": { + "target": "com.amazonaws.directoryservice#AccessUrl", "traits": { - "smithy.api#documentation": "

                            Additional information about the directory stage.

                            " + "smithy.api#documentation": "

                            The access URL for the directory, such as\n http://.awsapps.com. If no alias has been created for the\n directory, is the directory identifier, such as\n d-XXXXXXXXXX.

                            " } }, - "Edition": { - "target": "com.amazonaws.directoryservice#DirectoryEdition", + "Size": { + "target": "com.amazonaws.directoryservice#DirectorySize", "traits": { - "smithy.api#documentation": "

                            The edition associated with this directory.

                            " + "smithy.api#documentation": "

                            The directory size.

                            " } }, - "DirectoryId": { - "target": "com.amazonaws.directoryservice#DirectoryId", + "ShareNotes": { + "target": "com.amazonaws.directoryservice#Notes", "traits": { - "smithy.api#documentation": "

                            The directory identifier.

                            " + "smithy.api#documentation": "

                            A directory share request that is sent by the directory owner to the directory consumer.\n The request includes a typed message to help the directory consumer administrator determine\n whether to approve or reject the share invitation.

                            " } }, - "DesiredNumberOfDomainControllers": { - "target": "com.amazonaws.directoryservice#DesiredNumberOfDomainControllers", + "Type": { + "target": "com.amazonaws.directoryservice#DirectoryType", "traits": { - "smithy.api#documentation": "

                            The desired number of domain controllers in the directory if the directory is Microsoft AD.

                            " + "smithy.api#documentation": "

                            The directory size.

                            " + } + }, + "ShortName": { + "target": "com.amazonaws.directoryservice#DirectoryShortName", + "traits": { + "smithy.api#documentation": "

                            The short name of the directory.

                            " } }, "RadiusStatus": { @@ -2703,22 +2861,22 @@ "smithy.api#documentation": "

                            The status of the RADIUS MFA server connection.

                            " } }, - "Alias": { - "target": "com.amazonaws.directoryservice#AliasName", + "OwnerDirectoryDescription": { + "target": "com.amazonaws.directoryservice#OwnerDirectoryDescription", "traits": { - "smithy.api#documentation": "

                            The alias for the\n directory. If no\n alias has been created for the directory, the alias is the directory identifier, such as\n d-XXXXXXXXXX.

                            " + "smithy.api#documentation": "

                            Describes the AWS Managed Microsoft AD directory in the directory owner account.

                            " } }, - "AccessUrl": { - "target": "com.amazonaws.directoryservice#AccessUrl", + "Description": { + "target": "com.amazonaws.directoryservice#Description", "traits": { - "smithy.api#documentation": "

                            The access URL for the directory, such as\n http://.awsapps.com.\n If no alias has been created for the directory, \n is the directory identifier, such as d-XXXXXXXXXX.

                            " + "smithy.api#documentation": "

                            The description for the directory.

                            " } }, - "OwnerDirectoryDescription": { - "target": "com.amazonaws.directoryservice#OwnerDirectoryDescription", + "RadiusSettings": { + "target": "com.amazonaws.directoryservice#RadiusSettings", "traits": { - "smithy.api#documentation": "

                            Describes the AWS Managed Microsoft AD directory in the directory owner account.

                            " + "smithy.api#documentation": "

                            A RadiusSettings object that contains information about the RADIUS\n server configured for this directory.

                            " } }, "StageLastUpdatedDateTime": { @@ -2727,28 +2885,46 @@ "smithy.api#documentation": "

                            The date and time that the stage was last updated.

                            " } }, - "ConnectSettings": { - "target": "com.amazonaws.directoryservice#DirectoryConnectSettingsDescription", + "Name": { + "target": "com.amazonaws.directoryservice#DirectoryName", "traits": { - "smithy.api#documentation": "

                            A DirectoryConnectSettingsDescription object that contains additional information\n about an AD Connector directory. This member is only present if the directory is an AD\n Connector directory.

                            " + "smithy.api#documentation": "

                            The fully qualified name of the directory.

                            " } }, - "Stage": { - "target": "com.amazonaws.directoryservice#DirectoryStage", + "VpcSettings": { + "target": "com.amazonaws.directoryservice#DirectoryVpcSettingsDescription", "traits": { - "smithy.api#documentation": "

                            The current stage of the directory.

                            " + "smithy.api#documentation": "

                            A DirectoryVpcSettingsDescription object that contains additional\n information about a directory. This member is only present if the directory is a Simple AD or\n Managed AD directory.

                            " } }, - "RadiusSettings": { - "target": "com.amazonaws.directoryservice#RadiusSettings", + "DirectoryId": { + "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                            A RadiusSettings object that contains information about the RADIUS server configured\n for this directory.

                            " + "smithy.api#documentation": "

                            The directory identifier.

                            " } }, - "Type": { - "target": "com.amazonaws.directoryservice#DirectoryType", + "Edition": { + "target": "com.amazonaws.directoryservice#DirectoryEdition", "traits": { - "smithy.api#documentation": "

                            The directory size.

                            " + "smithy.api#documentation": "

                            The edition associated with this directory.

                            " + } + }, + "SsoEnabled": { + "target": "com.amazonaws.directoryservice#SsoEnabled", + "traits": { + "smithy.api#documentation": "

                            Indicates if single sign-on is enabled for the directory. For more information, see EnableSso and DisableSso.

                            " + } + }, + "RegionsInfo": { + "target": "com.amazonaws.directoryservice#RegionsInfo", + "traits": { + "smithy.api#documentation": "

                            Lists the Regions where the directory has replicated.

                            " + } + }, + "DnsIpAddrs": { + "target": "com.amazonaws.directoryservice#DnsIpAddrs", + "traits": { + "smithy.api#documentation": "

                            The IP addresses of the DNS servers for the directory. For a Simple AD or Microsoft AD\n directory, these are the IP addresses of the Simple AD or Microsoft AD directory servers. For\n an AD Connector directory, these are the IP addresses of the DNS servers or domain controllers\n in the on-premises directory to which the AD Connector is connected.

                            " } } }, @@ -2828,16 +3004,10 @@ "com.amazonaws.directoryservice#DirectoryLimits": { "type": "structure", "members": { - "CloudOnlyDirectoriesCurrentCount": { - "target": "com.amazonaws.directoryservice#Limit", - "traits": { - "smithy.api#documentation": "

                            The current number of cloud directories in the Region.

                            " - } - }, - "CloudOnlyDirectoriesLimit": { + "ConnectedDirectoriesLimit": { "target": "com.amazonaws.directoryservice#Limit", "traits": { - "smithy.api#documentation": "

                            The maximum number of cloud directories allowed in the Region.

                            " + "smithy.api#documentation": "

                            The maximum number of connected directories allowed in the Region.

                            " } }, "CloudOnlyMicrosoftADLimit": { @@ -2846,16 +3016,16 @@ "smithy.api#documentation": "

                            The maximum number of AWS Managed Microsoft AD directories allowed in the region.

                            " } }, - "ConnectedDirectoriesLimitReached": { - "target": "com.amazonaws.directoryservice#ConnectedDirectoriesLimitReached", + "ConnectedDirectoriesCurrentCount": { + "target": "com.amazonaws.directoryservice#Limit", "traits": { - "smithy.api#documentation": "

                            Indicates if the connected directory limit has been reached.

                            " + "smithy.api#documentation": "

                            The current number of connected directories in the Region.

                            " } }, - "CloudOnlyDirectoriesLimitReached": { + "CloudOnlyMicrosoftADLimitReached": { "target": "com.amazonaws.directoryservice#CloudOnlyDirectoriesLimitReached", "traits": { - "smithy.api#documentation": "

                            Indicates if the cloud directory limit has been reached.

                            " + "smithy.api#documentation": "

                            Indicates if the AWS Managed Microsoft AD directory limit has been reached.

                            " } }, "CloudOnlyMicrosoftADCurrentCount": { @@ -2864,22 +3034,28 @@ "smithy.api#documentation": "

                            The current number of AWS Managed Microsoft AD directories in the region.

                            " } }, - "CloudOnlyMicrosoftADLimitReached": { - "target": "com.amazonaws.directoryservice#CloudOnlyDirectoriesLimitReached", + "ConnectedDirectoriesLimitReached": { + "target": "com.amazonaws.directoryservice#ConnectedDirectoriesLimitReached", "traits": { - "smithy.api#documentation": "

                            Indicates if the AWS Managed Microsoft AD directory limit has been reached.

                            " + "smithy.api#documentation": "

                            Indicates if the connected directory limit has been reached.

                            " } }, - "ConnectedDirectoriesLimit": { + "CloudOnlyDirectoriesLimit": { "target": "com.amazonaws.directoryservice#Limit", "traits": { - "smithy.api#documentation": "

                            The maximum number of connected directories allowed in the Region.

                            " + "smithy.api#documentation": "

                            The maximum number of cloud directories allowed in the Region.

                            " } }, - "ConnectedDirectoriesCurrentCount": { + "CloudOnlyDirectoriesCurrentCount": { "target": "com.amazonaws.directoryservice#Limit", "traits": { - "smithy.api#documentation": "

                            The current number of connected directories in the Region.

                            " + "smithy.api#documentation": "

                            The current number of cloud directories in the Region.

                            " + } + }, + "CloudOnlyDirectoriesLimitReached": { + "target": "com.amazonaws.directoryservice#CloudOnlyDirectoriesLimitReached", + "traits": { + "smithy.api#documentation": "

                            Indicates if the cloud directory limit has been reached.

                            " } } }, @@ -2896,11 +3072,11 @@ "com.amazonaws.directoryservice#DirectoryNotSharedException": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.directoryservice#ExceptionMessage" - }, "RequestId": { "target": "com.amazonaws.directoryservice#RequestId" + }, + "Message": { + "target": "com.amazonaws.directoryservice#ExceptionMessage" } }, "traits": { @@ -2918,6 +3094,9 @@ { "target": "com.amazonaws.directoryservice#AddIpRoutes" }, + { + "target": "com.amazonaws.directoryservice#AddRegion" + }, { "target": "com.amazonaws.directoryservice#AddTagsToResource" }, @@ -2990,6 +3169,9 @@ { "target": "com.amazonaws.directoryservice#DescribeLDAPSSettings" }, + { + "target": "com.amazonaws.directoryservice#DescribeRegions" + }, { "target": "com.amazonaws.directoryservice#DescribeSharedDirectories" }, @@ -3050,6 +3232,9 @@ { "target": "com.amazonaws.directoryservice#RemoveIpRoutes" }, + { + "target": "com.amazonaws.directoryservice#RemoveRegion" + }, { "target": "com.amazonaws.directoryservice#RemoveTagsFromResource" }, @@ -3105,7 +3290,7 @@ "com.amazonaws.directoryservice#DirectoryShortName": { "type": "string", "traits": { - "smithy.api#pattern": "^[^\\\\/:*?\\\"\\<\\>|.]+[^\\\\/:*?\\\"<>|]*$" + "smithy.api#pattern": "^[^\\\\/:*?\"<>|.]+[^\\\\/:*?\"<>|]*$" } }, "com.amazonaws.directoryservice#DirectorySize": { @@ -3215,17 +3400,17 @@ "com.amazonaws.directoryservice#DirectoryVpcSettings": { "type": "structure", "members": { - "VpcId": { - "target": "com.amazonaws.directoryservice#VpcId", + "SubnetIds": { + "target": "com.amazonaws.directoryservice#SubnetIds", "traits": { - "smithy.api#documentation": "

                            The identifier of the VPC in which to create the directory.

                            ", + "smithy.api#documentation": "

                            The identifiers of the subnets for the directory servers. The two subnets must be in\n different Availability Zones. AWS Directory Service creates a directory server and a DNS\n server in each of these subnets.

                            ", "smithy.api#required": {} } }, - "SubnetIds": { - "target": "com.amazonaws.directoryservice#SubnetIds", + "VpcId": { + "target": "com.amazonaws.directoryservice#VpcId", "traits": { - "smithy.api#documentation": "

                            The identifiers of the subnets for the directory servers. The two subnets must be in different Availability Zones. AWS Directory Service creates a directory server and a DNS server in each of these subnets.

                            ", + "smithy.api#documentation": "

                            The identifier of the VPC in which to create the directory.

                            ", "smithy.api#required": {} } } @@ -3237,12 +3422,6 @@ "com.amazonaws.directoryservice#DirectoryVpcSettingsDescription": { "type": "structure", "members": { - "AvailabilityZones": { - "target": "com.amazonaws.directoryservice#AvailabilityZones", - "traits": { - "smithy.api#documentation": "

                            The list of Availability Zones that the directory is in.

                            " - } - }, "SecurityGroupId": { "target": "com.amazonaws.directoryservice#SecurityGroupId", "traits": { @@ -3255,6 +3434,12 @@ "smithy.api#documentation": "

                            The identifier of the VPC that the directory is in.

                            " } }, + "AvailabilityZones": { + "target": "com.amazonaws.directoryservice#AvailabilityZones", + "traits": { + "smithy.api#documentation": "

                            The list of Availability Zones that the directory is in.

                            " + } + }, "SubnetIds": { "target": "com.amazonaws.directoryservice#SubnetIds", "traits": { @@ -3304,17 +3489,17 @@ "com.amazonaws.directoryservice#DisableLDAPSRequest": { "type": "structure", "members": { - "Type": { - "target": "com.amazonaws.directoryservice#LDAPSType", + "DirectoryId": { + "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                            The type of LDAP security to enable. Currently only the value Client is supported.

                            ", + "smithy.api#documentation": "

                            The identifier of the directory.

                            ", "smithy.api#required": {} } }, - "DirectoryId": { - "target": "com.amazonaws.directoryservice#DirectoryId", + "Type": { + "target": "com.amazonaws.directoryservice#LDAPSType", "traits": { - "smithy.api#documentation": "

                            The identifier of the directory.

                            ", + "smithy.api#documentation": "

                            The type of LDAP security to enable. Currently only the value Client is\n supported.

                            ", "smithy.api#required": {} } } @@ -3401,6 +3586,12 @@ "com.amazonaws.directoryservice#DisableSsoRequest": { "type": "structure", "members": { + "Password": { + "target": "com.amazonaws.directoryservice#ConnectPassword", + "traits": { + "smithy.api#documentation": "

                            The password of an alternate account to use to disable single-sign on. This is only used\n for AD Connector directories. For more information, see the UserName parameter.

                            " + } + }, "DirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { @@ -3413,12 +3604,6 @@ "traits": { "smithy.api#documentation": "

                            The username of an alternate account to use to disable single-sign on. This is only used for AD Connector directories. This account must have privileges to remove a service principal name.

                            \n

                            If the AD Connector service account does not have privileges to remove a service principal\n name, you can specify an alternate account with the UserName and Password\n parameters. These credentials are only used to disable single sign-on and are not stored by\n the service. The AD Connector service account is not changed.

                            " } - }, - "Password": { - "target": "com.amazonaws.directoryservice#ConnectPassword", - "traits": { - "smithy.api#documentation": "

                            The password of an alternate account to use to disable single-sign on. This is only used\n for AD Connector directories. For more information, see the UserName parameter.

                            " - } } }, "traits": { @@ -3441,10 +3626,16 @@ "com.amazonaws.directoryservice#DomainController": { "type": "structure", "members": { - "StatusLastUpdatedDateTime": { - "target": "com.amazonaws.directoryservice#LastUpdatedDateTime", + "DnsIpAddr": { + "target": "com.amazonaws.directoryservice#IpAddr", "traits": { - "smithy.api#documentation": "

                            The date and time that the status was last updated.

                            " + "smithy.api#documentation": "

                            The IP address of the domain controller.

                            " + } + }, + "DirectoryId": { + "target": "com.amazonaws.directoryservice#DirectoryId", + "traits": { + "smithy.api#documentation": "

                            Identifier of the directory where the domain controller resides.

                            " } }, "LaunchTime": { @@ -3453,16 +3644,16 @@ "smithy.api#documentation": "

                            Specifies when the domain controller was created.

                            " } }, - "DirectoryId": { - "target": "com.amazonaws.directoryservice#DirectoryId", + "StatusLastUpdatedDateTime": { + "target": "com.amazonaws.directoryservice#LastUpdatedDateTime", "traits": { - "smithy.api#documentation": "

                            Identifier of the directory where the domain controller resides.

                            " + "smithy.api#documentation": "

                            The date and time that the status was last updated.

                            " } }, - "StatusReason": { - "target": "com.amazonaws.directoryservice#DomainControllerStatusReason", + "VpcId": { + "target": "com.amazonaws.directoryservice#VpcId", "traits": { - "smithy.api#documentation": "

                            A description of the domain controller state.

                            " + "smithy.api#documentation": "

                            The identifier of the VPC that contains the domain controller.

                            " } }, "DomainControllerId": { @@ -3471,16 +3662,16 @@ "smithy.api#documentation": "

                            Identifies a specific domain controller in the directory.

                            " } }, - "Status": { - "target": "com.amazonaws.directoryservice#DomainControllerStatus", + "SubnetId": { + "target": "com.amazonaws.directoryservice#SubnetId", "traits": { - "smithy.api#documentation": "

                            The status of the domain controller.

                            " + "smithy.api#documentation": "

                            Identifier of the subnet in the VPC that contains the domain controller.

                            " } }, - "VpcId": { - "target": "com.amazonaws.directoryservice#VpcId", + "Status": { + "target": "com.amazonaws.directoryservice#DomainControllerStatus", "traits": { - "smithy.api#documentation": "

                            The identifier of the VPC that contains the domain controller.

                            " + "smithy.api#documentation": "

                            The status of the domain controller.

                            " } }, "AvailabilityZone": { @@ -3489,16 +3680,10 @@ "smithy.api#documentation": "

                            The Availability Zone where the domain controller is located.

                            " } }, - "DnsIpAddr": { - "target": "com.amazonaws.directoryservice#IpAddr", - "traits": { - "smithy.api#documentation": "

                            The IP address of the domain controller.

                            " - } - }, - "SubnetId": { - "target": "com.amazonaws.directoryservice#SubnetId", + "StatusReason": { + "target": "com.amazonaws.directoryservice#DomainControllerStatusReason", "traits": { - "smithy.api#documentation": "

                            Identifier of the subnet in the VPC that contains the domain controller.

                            " + "smithy.api#documentation": "

                            A description of the domain controller state.

                            " } } }, @@ -3521,11 +3706,11 @@ "com.amazonaws.directoryservice#DomainControllerLimitExceededException": { "type": "structure", "members": { - "RequestId": { - "target": "com.amazonaws.directoryservice#RequestId" - }, "Message": { "target": "com.amazonaws.directoryservice#ExceptionMessage" + }, + "RequestId": { + "target": "com.amazonaws.directoryservice#RequestId" } }, "traits": { @@ -3628,7 +3813,7 @@ "Type": { "target": "com.amazonaws.directoryservice#LDAPSType", "traits": { - "smithy.api#documentation": "

                            The type of LDAP security to enable. Currently only the value Client is supported.

                            ", + "smithy.api#documentation": "

                            The type of LDAP security to enable. Currently only the value Client is\n supported.

                            ", "smithy.api#required": {} } } @@ -3728,10 +3913,11 @@ "com.amazonaws.directoryservice#EnableSsoRequest": { "type": "structure", "members": { - "Password": { - "target": "com.amazonaws.directoryservice#ConnectPassword", + "DirectoryId": { + "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                            The password of an alternate account to use to enable single-sign on. This is only used for\n AD Connector directories. For more information, see the UserName parameter.

                            " + "smithy.api#documentation": "

                            The identifier of the directory for which to enable single-sign on.

                            ", + "smithy.api#required": {} } }, "UserName": { @@ -3740,11 +3926,10 @@ "smithy.api#documentation": "

                            The username of an alternate account to use to enable single-sign on. This is only used for AD Connector directories. This account must have privileges to add a service principal name.

                            \n

                            If the AD Connector service account does not have privileges to add a service principal\n name, you can specify an alternate account with the UserName and Password\n parameters. These credentials are only used to enable single sign-on and are not stored by\n the service. The AD Connector service account is not changed.

                            " } }, - "DirectoryId": { - "target": "com.amazonaws.directoryservice#DirectoryId", + "Password": { + "target": "com.amazonaws.directoryservice#ConnectPassword", "traits": { - "smithy.api#documentation": "

                            The identifier of the directory for which to enable single-sign on.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The password of an alternate account to use to enable single-sign on. This is only used for\n AD Connector directories. For more information, see the UserName parameter.

                            " } } }, @@ -3795,16 +3980,10 @@ "com.amazonaws.directoryservice#EventTopic": { "type": "structure", "members": { - "CreatedDateTime": { - "target": "com.amazonaws.directoryservice#CreatedDateTime", - "traits": { - "smithy.api#documentation": "

                            The date and time of when you associated your directory with the SNS topic.

                            " - } - }, - "TopicName": { - "target": "com.amazonaws.directoryservice#TopicName", + "DirectoryId": { + "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                            The name of an AWS SNS topic the receives status messages from the directory.

                            " + "smithy.api#documentation": "

                            The Directory ID of an AWS Directory Service directory that will publish status messages to an SNS topic.

                            " } }, "TopicArn": { @@ -3813,17 +3992,23 @@ "smithy.api#documentation": "

                            The SNS topic ARN (Amazon Resource Name).

                            " } }, - "DirectoryId": { - "target": "com.amazonaws.directoryservice#DirectoryId", - "traits": { - "smithy.api#documentation": "

                            The Directory ID of an AWS Directory Service directory that will publish status messages to an SNS topic.

                            " - } - }, "Status": { "target": "com.amazonaws.directoryservice#TopicStatus", "traits": { "smithy.api#documentation": "

                            The topic registration status.

                            " } + }, + "TopicName": { + "target": "com.amazonaws.directoryservice#TopicName", + "traits": { + "smithy.api#documentation": "

                            The name of an AWS SNS topic the receives status messages from the directory.

                            " + } + }, + "CreatedDateTime": { + "target": "com.amazonaws.directoryservice#CreatedDateTime", + "traits": { + "smithy.api#documentation": "

                            The date and time of when you associated your directory with the SNS topic.

                            " + } } }, "traits": { @@ -3941,11 +4126,11 @@ "com.amazonaws.directoryservice#InsufficientPermissionsException": { "type": "structure", "members": { - "RequestId": { - "target": "com.amazonaws.directoryservice#RequestId" - }, "Message": { "target": "com.amazonaws.directoryservice#ExceptionMessage" + }, + "RequestId": { + "target": "com.amazonaws.directoryservice#RequestId" } }, "traits": { @@ -3971,11 +4156,11 @@ "com.amazonaws.directoryservice#InvalidLDAPSStatusException": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.directoryservice#ExceptionMessage" - }, "RequestId": { "target": "com.amazonaws.directoryservice#RequestId" + }, + "Message": { + "target": "com.amazonaws.directoryservice#ExceptionMessage" } }, "traits": { @@ -4016,11 +4201,11 @@ "com.amazonaws.directoryservice#InvalidPasswordException": { "type": "structure", "members": { - "RequestId": { - "target": "com.amazonaws.directoryservice#RequestId" - }, "Message": { "target": "com.amazonaws.directoryservice#ExceptionMessage" + }, + "RequestId": { + "target": "com.amazonaws.directoryservice#RequestId" } }, "traits": { @@ -4031,11 +4216,11 @@ "com.amazonaws.directoryservice#InvalidTargetException": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.directoryservice#ExceptionMessage" - }, "RequestId": { "target": "com.amazonaws.directoryservice#RequestId" + }, + "Message": { + "target": "com.amazonaws.directoryservice#ExceptionMessage" } }, "traits": { @@ -4058,17 +4243,17 @@ "com.amazonaws.directoryservice#IpRoute": { "type": "structure", "members": { - "Description": { - "target": "com.amazonaws.directoryservice#Description", - "traits": { - "smithy.api#documentation": "

                            Description of the address block.

                            " - } - }, "CidrIp": { "target": "com.amazonaws.directoryservice#CidrIp", "traits": { "smithy.api#documentation": "

                            IP address block using CIDR format, for example 10.0.0.0/24. This is often the address block of the DNS server used for your on-premises domain. For a single IP address use a CIDR address block with /32. For example 10.0.0.0/32.

                            " } + }, + "Description": { + "target": "com.amazonaws.directoryservice#Description", + "traits": { + "smithy.api#documentation": "

                            Description of the address block.

                            " + } } }, "traits": { @@ -4078,40 +4263,40 @@ "com.amazonaws.directoryservice#IpRouteInfo": { "type": "structure", "members": { - "IpRouteStatusReason": { - "target": "com.amazonaws.directoryservice#IpRouteStatusReason", + "CidrIp": { + "target": "com.amazonaws.directoryservice#CidrIp", "traits": { - "smithy.api#documentation": "

                            The reason for the IpRouteStatusMsg.

                            " + "smithy.api#documentation": "

                            IP address block in the IpRoute.

                            " } }, - "DirectoryId": { - "target": "com.amazonaws.directoryservice#DirectoryId", + "AddedDateTime": { + "target": "com.amazonaws.directoryservice#AddedDateTime", "traits": { - "smithy.api#documentation": "

                            Identifier (ID) of the directory associated with the IP addresses.

                            " + "smithy.api#documentation": "

                            The date and time the address block was added to the directory.

                            " } }, - "Description": { - "target": "com.amazonaws.directoryservice#Description", + "IpRouteStatusMsg": { + "target": "com.amazonaws.directoryservice#IpRouteStatusMsg", "traits": { - "smithy.api#documentation": "

                            Description of the IpRouteInfo.

                            " + "smithy.api#documentation": "

                            The status of the IP address block.

                            " } }, - "AddedDateTime": { - "target": "com.amazonaws.directoryservice#AddedDateTime", + "Description": { + "target": "com.amazonaws.directoryservice#Description", "traits": { - "smithy.api#documentation": "

                            The date and time the address block was added to the directory.

                            " + "smithy.api#documentation": "

                            Description of the IpRouteInfo.

                            " } }, - "CidrIp": { - "target": "com.amazonaws.directoryservice#CidrIp", + "DirectoryId": { + "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                            IP address block in the IpRoute.

                            " + "smithy.api#documentation": "

                            Identifier (ID) of the directory associated with the IP addresses.

                            " } }, - "IpRouteStatusMsg": { - "target": "com.amazonaws.directoryservice#IpRouteStatusMsg", + "IpRouteStatusReason": { + "target": "com.amazonaws.directoryservice#IpRouteStatusReason", "traits": { - "smithy.api#documentation": "

                            The status of the IP address block.

                            " + "smithy.api#documentation": "

                            The reason for the IpRouteStatusMsg.

                            " } } }, @@ -4122,11 +4307,11 @@ "com.amazonaws.directoryservice#IpRouteLimitExceededException": { "type": "structure", "members": { - "RequestId": { - "target": "com.amazonaws.directoryservice#RequestId" - }, "Message": { "target": "com.amazonaws.directoryservice#ExceptionMessage" + }, + "RequestId": { + "target": "com.amazonaws.directoryservice#RequestId" } }, "traits": { @@ -4183,6 +4368,12 @@ "com.amazonaws.directoryservice#LDAPSSettingInfo": { "type": "structure", "members": { + "LastUpdatedDateTime": { + "target": "com.amazonaws.directoryservice#LastUpdatedDateTime", + "traits": { + "smithy.api#documentation": "

                            The date and time when the LDAPS settings were last updated.

                            " + } + }, "LDAPSStatusReason": { "target": "com.amazonaws.directoryservice#LDAPSStatusReason", "traits": { @@ -4194,12 +4385,6 @@ "traits": { "smithy.api#documentation": "

                            The state of the LDAPS settings.

                            " } - }, - "LastUpdatedDateTime": { - "target": "com.amazonaws.directoryservice#LastUpdatedDateTime", - "traits": { - "smithy.api#documentation": "

                            The date and time when the LDAPS settings were last updated.

                            " - } } }, "traits": { @@ -4302,12 +4487,18 @@ } ], "traits": { - "smithy.api#documentation": "

                            For the specified directory, lists all the certificates registered for a secured LDAP connection.

                            " + "smithy.api#documentation": "

                            For the specified directory, lists all the certificates registered for a secured LDAP\n connection.

                            " } }, "com.amazonaws.directoryservice#ListCertificatesRequest": { "type": "structure", "members": { + "Limit": { + "target": "com.amazonaws.directoryservice#PageLimit", + "traits": { + "smithy.api#documentation": "

                            The number of items that should show up on one page

                            " + } + }, "NextToken": { "target": "com.amazonaws.directoryservice#NextToken", "traits": { @@ -4320,12 +4511,6 @@ "smithy.api#documentation": "

                            The identifier of the directory.

                            ", "smithy.api#required": {} } - }, - "Limit": { - "target": "com.amazonaws.directoryservice#PageLimit", - "traits": { - "smithy.api#documentation": "

                            The number of items that should show up on one page

                            " - } } } }, @@ -4378,18 +4563,18 @@ "com.amazonaws.directoryservice#ListIpRoutesRequest": { "type": "structure", "members": { - "Limit": { - "target": "com.amazonaws.directoryservice#Limit", - "traits": { - "smithy.api#documentation": "

                            Maximum number of items to return. If this value is zero, the maximum number of items is specified by the limitations of the operation.

                            " - } - }, "NextToken": { "target": "com.amazonaws.directoryservice#NextToken", "traits": { "smithy.api#documentation": "

                            The ListIpRoutes.NextToken value from a previous call to\n ListIpRoutes. Pass null if this is the first call.

                            " } }, + "Limit": { + "target": "com.amazonaws.directoryservice#Limit", + "traits": { + "smithy.api#documentation": "

                            Maximum number of items to return. If this value is zero, the maximum number of items is specified by the limitations of the operation.

                            " + } + }, "DirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { @@ -4402,17 +4587,17 @@ "com.amazonaws.directoryservice#ListIpRoutesResult": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.directoryservice#NextToken", - "traits": { - "smithy.api#documentation": "

                            If not null, more results are available. Pass this value for the NextToken parameter\n in a subsequent call to ListIpRoutes to retrieve the next set of items.

                            " - } - }, "IpRoutesInfo": { "target": "com.amazonaws.directoryservice#IpRoutesInfo", "traits": { "smithy.api#documentation": "

                            A list of IpRoutes.

                            " } + }, + "NextToken": { + "target": "com.amazonaws.directoryservice#NextToken", + "traits": { + "smithy.api#documentation": "

                            If not null, more results are available. Pass this value for the NextToken parameter\n in a subsequent call to ListIpRoutes to retrieve the next set of items.

                            " + } } } }, @@ -4445,12 +4630,6 @@ "com.amazonaws.directoryservice#ListLogSubscriptionsRequest": { "type": "structure", "members": { - "Limit": { - "target": "com.amazonaws.directoryservice#Limit", - "traits": { - "smithy.api#documentation": "

                            The maximum number of items returned.

                            " - } - }, "NextToken": { "target": "com.amazonaws.directoryservice#NextToken", "traits": { @@ -4460,7 +4639,13 @@ "DirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                            If a DirectoryID is provided, lists only the log subscription associated with that directory. If no DirectoryId is provided, lists all log subscriptions associated with your AWS account. If there are no log subscriptions for the AWS account or the directory, an empty list will be returned.

                            " + "smithy.api#documentation": "

                            If a DirectoryID is provided, lists only the log subscription\n associated with that directory. If no DirectoryId is provided, lists all\n log subscriptions associated with your AWS account. If there are no log subscriptions for the\n AWS account or the directory, an empty list will be returned.

                            " + } + }, + "Limit": { + "target": "com.amazonaws.directoryservice#Limit", + "traits": { + "smithy.api#documentation": "

                            The maximum number of items returned.

                            " } } } @@ -4468,16 +4653,16 @@ "com.amazonaws.directoryservice#ListLogSubscriptionsResult": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.directoryservice#NextToken", + "LogSubscriptions": { + "target": "com.amazonaws.directoryservice#LogSubscriptions", "traits": { - "smithy.api#documentation": "

                            The token for the next set of items to return.

                            " + "smithy.api#documentation": "

                            A list of active LogSubscription objects for calling the AWS\n account.

                            " } }, - "LogSubscriptions": { - "target": "com.amazonaws.directoryservice#LogSubscriptions", + "NextToken": { + "target": "com.amazonaws.directoryservice#NextToken", "traits": { - "smithy.api#documentation": "

                            A list of active LogSubscription objects for calling the AWS account.

                            " + "smithy.api#documentation": "

                            The token for the next set of items to return.

                            " } } } @@ -4535,17 +4720,17 @@ "com.amazonaws.directoryservice#ListSchemaExtensionsResult": { "type": "structure", "members": { - "SchemaExtensionsInfo": { - "target": "com.amazonaws.directoryservice#SchemaExtensionsInfo", - "traits": { - "smithy.api#documentation": "

                            Information about the schema extensions applied to the directory.

                            " - } - }, "NextToken": { "target": "com.amazonaws.directoryservice#NextToken", "traits": { "smithy.api#documentation": "

                            If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to ListSchemaExtensions to retrieve the next set of items.

                            " } + }, + "SchemaExtensionsInfo": { + "target": "com.amazonaws.directoryservice#SchemaExtensionsInfo", + "traits": { + "smithy.api#documentation": "

                            Information about the schema extensions applied to the directory.

                            " + } } } }, @@ -4581,14 +4766,14 @@ "com.amazonaws.directoryservice#ListTagsForResourceRequest": { "type": "structure", "members": { - "Limit": { - "target": "com.amazonaws.directoryservice#Limit", + "NextToken": { + "target": "com.amazonaws.directoryservice#NextToken", "traits": { "smithy.api#documentation": "

                            Reserved for future use.

                            " } }, - "NextToken": { - "target": "com.amazonaws.directoryservice#NextToken", + "Limit": { + "target": "com.amazonaws.directoryservice#Limit", "traits": { "smithy.api#documentation": "

                            Reserved for future use.

                            " } @@ -4632,10 +4817,10 @@ "com.amazonaws.directoryservice#LogSubscription": { "type": "structure", "members": { - "DirectoryId": { - "target": "com.amazonaws.directoryservice#DirectoryId", + "LogGroupName": { + "target": "com.amazonaws.directoryservice#LogGroupName", "traits": { - "smithy.api#documentation": "

                            Identifier (ID) of the directory that you want to associate with the log subscription.

                            " + "smithy.api#documentation": "

                            The name of the log group.

                            " } }, "SubscriptionCreatedDateTime": { @@ -4644,15 +4829,15 @@ "smithy.api#documentation": "

                            The date and time that the log subscription was created.

                            " } }, - "LogGroupName": { - "target": "com.amazonaws.directoryservice#LogGroupName", + "DirectoryId": { + "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                            The name of the log group.

                            " + "smithy.api#documentation": "

                            Identifier (ID) of the directory that you want to associate with the log\n subscription.

                            " } } }, "traits": { - "smithy.api#documentation": "

                            Represents a log subscription, which tracks real-time data from a chosen log group to a specified destination.

                            " + "smithy.api#documentation": "

                            Represents a log subscription, which tracks real-time data from a chosen log group to a\n specified destination.

                            " } }, "com.amazonaws.directoryservice#LogSubscriptions": { @@ -4704,11 +4889,11 @@ "com.amazonaws.directoryservice#OrganizationsException": { "type": "structure", "members": { - "RequestId": { - "target": "com.amazonaws.directoryservice#RequestId" - }, "Message": { "target": "com.amazonaws.directoryservice#ExceptionMessage" + }, + "RequestId": { + "target": "com.amazonaws.directoryservice#RequestId" } }, "traits": { @@ -4719,6 +4904,18 @@ "com.amazonaws.directoryservice#OwnerDirectoryDescription": { "type": "structure", "members": { + "RadiusSettings": { + "target": "com.amazonaws.directoryservice#RadiusSettings", + "traits": { + "smithy.api#documentation": "

                            A RadiusSettings object that contains information about the RADIUS\n server.

                            " + } + }, + "DnsIpAddrs": { + "target": "com.amazonaws.directoryservice#DnsIpAddrs", + "traits": { + "smithy.api#documentation": "

                            IP address of the directory’s domain controllers.

                            " + } + }, "RadiusStatus": { "target": "com.amazonaws.directoryservice#RadiusStatus", "traits": { @@ -4728,7 +4925,7 @@ "DirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                            Identifier of the AWS Managed Microsoft AD directory in the directory owner account.

                            " + "smithy.api#documentation": "

                            Identifier of the AWS Managed Microsoft AD directory in the directory owner\n account.

                            " } }, "AccountId": { @@ -4737,27 +4934,15 @@ "smithy.api#documentation": "

                            Identifier of the directory owner account.

                            " } }, - "RadiusSettings": { - "target": "com.amazonaws.directoryservice#RadiusSettings", - "traits": { - "smithy.api#documentation": "

                            A RadiusSettings object that contains information about the RADIUS server.

                            " - } - }, "VpcSettings": { "target": "com.amazonaws.directoryservice#DirectoryVpcSettingsDescription", "traits": { - "smithy.api#documentation": "

                            Information about the VPC settings for the directory.

                            " - } - }, - "DnsIpAddrs": { - "target": "com.amazonaws.directoryservice#DnsIpAddrs", - "traits": { - "smithy.api#documentation": "

                            IP address of the directory’s domain controllers.

                            " + "smithy.api#documentation": "

                            Information about the VPC settings for the directory.

                            " } } }, "traits": { - "smithy.api#documentation": "

                            Describes the directory owner account details that have been shared to the directory consumer account.

                            " + "smithy.api#documentation": "

                            Describes the directory owner account details that have been shared to the directory\n consumer account.

                            " } }, "com.amazonaws.directoryservice#PageLimit": { @@ -4830,22 +5015,22 @@ "com.amazonaws.directoryservice#RadiusSettings": { "type": "structure", "members": { - "RadiusServers": { - "target": "com.amazonaws.directoryservice#Servers", + "DisplayLabel": { + "target": "com.amazonaws.directoryservice#RadiusDisplayLabel", "traits": { - "smithy.api#documentation": "

                            An array of strings that contains the IP addresses of the RADIUS server endpoints, or the IP addresses of your RADIUS server load balancer.

                            " + "smithy.api#documentation": "

                            Not currently used.

                            " } }, - "RadiusPort": { - "target": "com.amazonaws.directoryservice#PortNumber", + "SharedSecret": { + "target": "com.amazonaws.directoryservice#RadiusSharedSecret", "traits": { - "smithy.api#documentation": "

                            The port that your RADIUS server is using for communications. Your on-premises network must allow inbound traffic over this port from the AWS Directory Service servers.

                            " + "smithy.api#documentation": "

                            Required for enabling RADIUS on the directory.

                            " } }, - "AuthenticationProtocol": { - "target": "com.amazonaws.directoryservice#RadiusAuthenticationProtocol", + "RadiusPort": { + "target": "com.amazonaws.directoryservice#PortNumber", "traits": { - "smithy.api#documentation": "

                            The protocol specified for your RADIUS endpoints.

                            " + "smithy.api#documentation": "

                            The port that your RADIUS server is using for communications. Your on-premises network must allow inbound traffic over this port from the AWS Directory Service servers.

                            " } }, "RadiusRetries": { @@ -4854,28 +5039,28 @@ "smithy.api#documentation": "

                            The maximum number of times that communication with the RADIUS server is attempted.

                            " } }, - "RadiusTimeout": { - "target": "com.amazonaws.directoryservice#RadiusTimeout", + "AuthenticationProtocol": { + "target": "com.amazonaws.directoryservice#RadiusAuthenticationProtocol", "traits": { - "smithy.api#documentation": "

                            The amount of time, in seconds, to wait for the RADIUS server to respond.

                            " + "smithy.api#documentation": "

                            The protocol specified for your RADIUS endpoints.

                            " } }, - "DisplayLabel": { - "target": "com.amazonaws.directoryservice#RadiusDisplayLabel", + "UseSameUsername": { + "target": "com.amazonaws.directoryservice#UseSameUsername", "traits": { "smithy.api#documentation": "

                            Not currently used.

                            " } }, - "SharedSecret": { - "target": "com.amazonaws.directoryservice#RadiusSharedSecret", + "RadiusTimeout": { + "target": "com.amazonaws.directoryservice#RadiusTimeout", "traits": { - "smithy.api#documentation": "

                            Required for enabling RADIUS on the directory.

                            " + "smithy.api#documentation": "

                            The amount of time, in seconds, to wait for the RADIUS server to respond.

                            " } }, - "UseSameUsername": { - "target": "com.amazonaws.directoryservice#UseSameUsername", + "RadiusServers": { + "target": "com.amazonaws.directoryservice#Servers", "traits": { - "smithy.api#documentation": "

                            Not currently used.

                            " + "smithy.api#documentation": "

                            An array of strings that contains the fully qualified domain name (FQDN) or IP addresses of the RADIUS server endpoints, or the FQDN or IP addresses of your RADIUS server load balancer.

                            " } } }, @@ -4921,6 +5106,130 @@ } } }, + "com.amazonaws.directoryservice#RegionDescription": { + "type": "structure", + "members": { + "VpcSettings": { + "target": "com.amazonaws.directoryservice#DirectoryVpcSettings" + }, + "StatusLastUpdatedDateTime": { + "target": "com.amazonaws.directoryservice#StateLastUpdatedDateTime", + "traits": { + "smithy.api#documentation": "

                            The date and time that the Region status was last updated.

                            " + } + }, + "RegionName": { + "target": "com.amazonaws.directoryservice#RegionName", + "traits": { + "smithy.api#documentation": "

                            The name of the Region. For example, us-east-1.

                            " + } + }, + "RegionType": { + "target": "com.amazonaws.directoryservice#RegionType", + "traits": { + "smithy.api#documentation": "

                            Specifies if the Region is the primary Region or an additional Region.

                            " + } + }, + "Status": { + "target": "com.amazonaws.directoryservice#DirectoryStage", + "traits": { + "smithy.api#documentation": "

                            The status of the replication process for the specified Region.

                            " + } + }, + "DesiredNumberOfDomainControllers": { + "target": "com.amazonaws.directoryservice#DesiredNumberOfDomainControllers", + "traits": { + "smithy.api#documentation": "

                            The desired number of domain controllers in the specified Region for the specified directory.

                            " + } + }, + "LaunchTime": { + "target": "com.amazonaws.directoryservice#LaunchTime", + "traits": { + "smithy.api#documentation": "

                            Specifies when the Region replication began.

                            " + } + }, + "DirectoryId": { + "target": "com.amazonaws.directoryservice#DirectoryId", + "traits": { + "smithy.api#documentation": "

                            The identifier of the directory.

                            " + } + }, + "LastUpdatedDateTime": { + "target": "com.amazonaws.directoryservice#LastUpdatedDateTime", + "traits": { + "smithy.api#documentation": "

                            The date and time that the Region description was last updated.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The replicated regional information for a directory.

                            " + } + }, + "com.amazonaws.directoryservice#RegionLimitExceededException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.directoryservice#ExceptionMessage" + }, + "RequestId": { + "target": "com.amazonaws.directoryservice#RequestId" + } + }, + "traits": { + "smithy.api#documentation": "

                            You have reached the limit for maximum number of simultaneous region replications per directory.

                            ", + "smithy.api#error": "client" + } + }, + "com.amazonaws.directoryservice#RegionName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 8, + "max": 32 + } + } + }, + "com.amazonaws.directoryservice#RegionType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "Primary", + "name": "PRIMARY" + }, + { + "value": "Additional", + "name": "ADDITIONAL" + } + ] + } + }, + "com.amazonaws.directoryservice#RegionsDescription": { + "type": "list", + "member": { + "target": "com.amazonaws.directoryservice#RegionDescription" + } + }, + "com.amazonaws.directoryservice#RegionsInfo": { + "type": "structure", + "members": { + "PrimaryRegion": { + "target": "com.amazonaws.directoryservice#RegionName", + "traits": { + "smithy.api#documentation": "

                            The Region from where the AWS Managed Microsoft AD directory was originally created.

                            " + } + }, + "AdditionalRegions": { + "target": "com.amazonaws.directoryservice#AdditionalRegions", + "traits": { + "smithy.api#documentation": "

                            Lists the Regions where the directory has been replicated, excluding the primary Region.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Provides information about the Regions that are configured for multi-Region replication.

                            " + } + }, "com.amazonaws.directoryservice#RegisterCertificate": { "type": "operation", "input": { @@ -4965,17 +5274,17 @@ "com.amazonaws.directoryservice#RegisterCertificateRequest": { "type": "structure", "members": { - "CertificateData": { - "target": "com.amazonaws.directoryservice#CertificateData", + "DirectoryId": { + "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                            The certificate PEM string that needs to be registered.

                            ", + "smithy.api#documentation": "

                            The identifier of the directory.

                            ", "smithy.api#required": {} } }, - "DirectoryId": { - "target": "com.amazonaws.directoryservice#DirectoryId", + "CertificateData": { + "target": "com.amazonaws.directoryservice#CertificateData", "traits": { - "smithy.api#documentation": "

                            The identifier of the directory.

                            ", + "smithy.api#documentation": "

                            The certificate PEM string that needs to be registered.

                            ", "smithy.api#required": {} } } @@ -5082,7 +5391,7 @@ "SharedDirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                            Identifier of the shared directory in the directory consumer account. This identifier is different for each directory owner account.

                            ", + "smithy.api#documentation": "

                            Identifier of the shared directory in the directory consumer account. This identifier is\n different for each directory owner account.

                            ", "smithy.api#required": {} } } @@ -5143,23 +5452,71 @@ "com.amazonaws.directoryservice#RemoveIpRoutesRequest": { "type": "structure", "members": { + "DirectoryId": { + "target": "com.amazonaws.directoryservice#DirectoryId", + "traits": { + "smithy.api#documentation": "

                            Identifier (ID) of the directory from which you want to remove the IP addresses.

                            ", + "smithy.api#required": {} + } + }, "CidrIps": { "target": "com.amazonaws.directoryservice#CidrIps", "traits": { "smithy.api#documentation": "

                            IP address blocks that you want to remove.

                            ", "smithy.api#required": {} } + } + } + }, + "com.amazonaws.directoryservice#RemoveIpRoutesResult": { + "type": "structure", + "members": {} + }, + "com.amazonaws.directoryservice#RemoveRegion": { + "type": "operation", + "input": { + "target": "com.amazonaws.directoryservice#RemoveRegionRequest" + }, + "output": { + "target": "com.amazonaws.directoryservice#RemoveRegionResult" + }, + "errors": [ + { + "target": "com.amazonaws.directoryservice#AccessDeniedException" + }, + { + "target": "com.amazonaws.directoryservice#ClientException" + }, + { + "target": "com.amazonaws.directoryservice#DirectoryDoesNotExistException" + }, + { + "target": "com.amazonaws.directoryservice#DirectoryUnavailableException" + }, + { + "target": "com.amazonaws.directoryservice#ServiceException" }, + { + "target": "com.amazonaws.directoryservice#UnsupportedOperationException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Stops all replication and removes the domain controllers from the specified Region. You cannot remove the primary Region with this operation. Instead, use the DeleteDirectory API.

                            " + } + }, + "com.amazonaws.directoryservice#RemoveRegionRequest": { + "type": "structure", + "members": { "DirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                            Identifier (ID) of the directory from which you want to remove the IP addresses.

                            ", + "smithy.api#documentation": "

                            The identifier of the directory for which you want to remove Region replication.

                            ", "smithy.api#required": {} } } } }, - "com.amazonaws.directoryservice#RemoveIpRoutesResult": { + "com.amazonaws.directoryservice#RemoveRegionResult": { "type": "structure", "members": {} }, @@ -5262,23 +5619,16 @@ } ], "traits": { - "smithy.api#documentation": "

                            Resets the password for any user in your AWS Managed Microsoft AD or Simple AD directory.

                            \n

                            You can reset the password for any user in your directory with the following exceptions:

                            \n
                              \n
                            • \n

                              For Simple AD, you cannot reset the password for any user that is a member of either the\n Domain Admins or Enterprise\n Admins group except for the administrator user.

                              \n
                            • \n
                            • \n

                              For AWS Managed Microsoft AD, you can only reset the password for a user that is in an OU\n based off of the NetBIOS name that you typed when you created your directory. For example,\n you cannot reset the password for a user in the AWS\n Reserved OU. For more information about the OU structure for an AWS Managed\n Microsoft AD directory, see What Gets Created in the AWS Directory Service Administration\n Guide.

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            Resets the password for any user in your AWS Managed Microsoft AD or Simple AD\n directory.

                            \n

                            You can reset the password for any user in your directory with the following\n exceptions:

                            \n
                              \n
                            • \n

                              For Simple AD, you cannot reset the password for any user that is a member of either\n the Domain Admins or Enterprise\n Admins group except for the administrator user.

                              \n
                            • \n
                            • \n

                              For AWS Managed Microsoft AD, you can only reset the password for a user that is in an\n OU based off of the NetBIOS name that you typed when you created your directory. For\n example, you cannot reset the password for a user in the AWS\n Reserved OU. For more information about the OU structure for an AWS Managed\n Microsoft AD directory, see What Gets Created in the AWS Directory Service Administration\n Guide.

                              \n
                            • \n
                            " } }, "com.amazonaws.directoryservice#ResetUserPasswordRequest": { "type": "structure", "members": { - "UserName": { - "target": "com.amazonaws.directoryservice#CustomerUserName", - "traits": { - "smithy.api#documentation": "

                            The user name of the user whose password will be reset.

                            ", - "smithy.api#required": {} - } - }, "DirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                            Identifier of the AWS Managed Microsoft AD or Simple AD directory in which the user resides.

                            ", + "smithy.api#documentation": "

                            Identifier of the AWS Managed Microsoft AD or Simple AD directory in which the user\n resides.

                            ", "smithy.api#required": {} } }, @@ -5288,6 +5638,13 @@ "smithy.api#documentation": "

                            The new password that will be reset.

                            ", "smithy.api#required": {} } + }, + "UserName": { + "target": "com.amazonaws.directoryservice#CustomerUserName", + "traits": { + "smithy.api#documentation": "

                            The user name of the user whose password will be reset.

                            ", + "smithy.api#required": {} + } } } }, @@ -5368,22 +5725,22 @@ "com.amazonaws.directoryservice#SchemaExtensionInfo": { "type": "structure", "members": { - "SchemaExtensionStatusReason": { - "target": "com.amazonaws.directoryservice#SchemaExtensionStatusReason", + "StartDateTime": { + "target": "com.amazonaws.directoryservice#StartDateTime", "traits": { - "smithy.api#documentation": "

                            The reason for the SchemaExtensionStatus.

                            " + "smithy.api#documentation": "

                            The date and time that the schema extension started being applied to the directory.

                            " } }, - "EndDateTime": { - "target": "com.amazonaws.directoryservice#EndDateTime", + "SchemaExtensionId": { + "target": "com.amazonaws.directoryservice#SchemaExtensionId", "traits": { - "smithy.api#documentation": "

                            The date and time that the schema extension was completed.

                            " + "smithy.api#documentation": "

                            The identifier of the schema extension.

                            " } }, - "Description": { - "target": "com.amazonaws.directoryservice#Description", + "DirectoryId": { + "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                            A description of the schema extension.

                            " + "smithy.api#documentation": "

                            The identifier of the directory to which the schema extension is applied.

                            " } }, "SchemaExtensionStatus": { @@ -5392,22 +5749,22 @@ "smithy.api#documentation": "

                            The current status of the schema extension.

                            " } }, - "StartDateTime": { - "target": "com.amazonaws.directoryservice#StartDateTime", + "SchemaExtensionStatusReason": { + "target": "com.amazonaws.directoryservice#SchemaExtensionStatusReason", "traits": { - "smithy.api#documentation": "

                            The date and time that the schema extension started being applied to the directory.

                            " + "smithy.api#documentation": "

                            The reason for the SchemaExtensionStatus.

                            " } }, - "SchemaExtensionId": { - "target": "com.amazonaws.directoryservice#SchemaExtensionId", + "Description": { + "target": "com.amazonaws.directoryservice#Description", "traits": { - "smithy.api#documentation": "

                            The identifier of the schema extension.

                            " + "smithy.api#documentation": "

                            A description of the schema extension.

                            " } }, - "DirectoryId": { - "target": "com.amazonaws.directoryservice#DirectoryId", + "EndDateTime": { + "target": "com.amazonaws.directoryservice#EndDateTime", "traits": { - "smithy.api#documentation": "

                            The identifier of the directory to which the schema extension is applied.

                            " + "smithy.api#documentation": "

                            The date and time that the schema extension was completed.

                            " } } }, @@ -5506,11 +5863,11 @@ "com.amazonaws.directoryservice#ServiceException": { "type": "structure", "members": { - "RequestId": { - "target": "com.amazonaws.directoryservice#RequestId" - }, "Message": { "target": "com.amazonaws.directoryservice#ExceptionMessage" + }, + "RequestId": { + "target": "com.amazonaws.directoryservice#RequestId" } }, "traits": { @@ -5565,10 +5922,18 @@ "com.amazonaws.directoryservice#ShareDirectoryRequest": { "type": "structure", "members": { - "ShareNotes": { - "target": "com.amazonaws.directoryservice#Notes", + "DirectoryId": { + "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                            A directory share request that is sent by the directory owner to the directory consumer.\n The request includes a typed message to help the directory consumer administrator determine\n whether to approve or reject the share invitation.

                            " + "smithy.api#documentation": "

                            Identifier of the AWS Managed Microsoft AD directory that you want to share with other AWS\n accounts.

                            ", + "smithy.api#required": {} + } + }, + "ShareTarget": { + "target": "com.amazonaws.directoryservice#ShareTarget", + "traits": { + "smithy.api#documentation": "

                            Identifier for the directory consumer account with whom the directory is to be\n shared.

                            ", + "smithy.api#required": {} } }, "ShareMethod": { @@ -5578,18 +5943,10 @@ "smithy.api#required": {} } }, - "DirectoryId": { - "target": "com.amazonaws.directoryservice#DirectoryId", - "traits": { - "smithy.api#documentation": "

                            Identifier of the AWS Managed Microsoft AD directory that you want to share with other AWS accounts.

                            ", - "smithy.api#required": {} - } - }, - "ShareTarget": { - "target": "com.amazonaws.directoryservice#ShareTarget", + "ShareNotes": { + "target": "com.amazonaws.directoryservice#Notes", "traits": { - "smithy.api#documentation": "

                            Identifier for the directory consumer account with whom the directory is to be shared.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            A directory share request that is sent by the directory owner to the directory consumer.\n The request includes a typed message to help the directory consumer administrator determine\n whether to approve or reject the share invitation.

                            " } } } @@ -5681,17 +6038,17 @@ "com.amazonaws.directoryservice#ShareTarget": { "type": "structure", "members": { - "Id": { - "target": "com.amazonaws.directoryservice#TargetId", + "Type": { + "target": "com.amazonaws.directoryservice#TargetType", "traits": { - "smithy.api#documentation": "

                            Identifier of the directory consumer account.

                            ", + "smithy.api#documentation": "

                            Type of identifier to be used in the Id field.

                            ", "smithy.api#required": {} } }, - "Type": { - "target": "com.amazonaws.directoryservice#TargetType", + "Id": { + "target": "com.amazonaws.directoryservice#TargetId", "traits": { - "smithy.api#documentation": "

                            Type of identifier to be used in the Id field.

                            ", + "smithy.api#documentation": "

                            Identifier of the directory consumer account.

                            ", "smithy.api#required": {} } } @@ -5709,34 +6066,28 @@ "com.amazonaws.directoryservice#SharedDirectory": { "type": "structure", "members": { - "ShareMethod": { - "target": "com.amazonaws.directoryservice#ShareMethod", - "traits": { - "smithy.api#documentation": "

                            The method used when sharing a directory to determine whether the directory should be\n shared within your AWS organization (ORGANIZATIONS) or with any AWS account by\n sending a shared directory request (HANDSHAKE).

                            " - } - }, - "SharedAccountId": { - "target": "com.amazonaws.directoryservice#CustomerId", + "ShareStatus": { + "target": "com.amazonaws.directoryservice#ShareStatus", "traits": { - "smithy.api#documentation": "

                            Identifier of the directory consumer account that has access to the shared directory (OwnerDirectoryId) in the directory owner account.

                            " + "smithy.api#documentation": "

                            Current directory status of the shared AWS Managed Microsoft AD directory.

                            " } }, - "CreatedDateTime": { - "target": "com.amazonaws.directoryservice#CreatedDateTime", + "OwnerDirectoryId": { + "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                            The date and time that the shared directory was created.

                            " + "smithy.api#documentation": "

                            Identifier of the directory in the directory owner account.

                            " } }, "SharedDirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                            Identifier of the shared directory in the directory consumer account. This identifier is different for each directory owner account.

                            " + "smithy.api#documentation": "

                            Identifier of the shared directory in the directory consumer account. This identifier is\n different for each directory owner account.

                            " } }, - "ShareStatus": { - "target": "com.amazonaws.directoryservice#ShareStatus", + "OwnerAccountId": { + "target": "com.amazonaws.directoryservice#CustomerId", "traits": { - "smithy.api#documentation": "

                            Current directory status of the shared AWS Managed Microsoft AD directory.

                            " + "smithy.api#documentation": "

                            Identifier of the directory owner account, which contains the directory that has been\n shared to the consumer account.

                            " } }, "ShareNotes": { @@ -5745,10 +6096,16 @@ "smithy.api#documentation": "

                            A directory share request that is sent by the directory owner to the directory consumer.\n The request includes a typed message to help the directory consumer administrator determine\n whether to approve or reject the share invitation.

                            " } }, - "OwnerDirectoryId": { - "target": "com.amazonaws.directoryservice#DirectoryId", + "ShareMethod": { + "target": "com.amazonaws.directoryservice#ShareMethod", "traits": { - "smithy.api#documentation": "

                            Identifier of the directory in the directory owner account.

                            " + "smithy.api#documentation": "

                            The method used when sharing a directory to determine whether the directory should be\n shared within your AWS organization (ORGANIZATIONS) or with any AWS account by\n sending a shared directory request (HANDSHAKE).

                            " + } + }, + "CreatedDateTime": { + "target": "com.amazonaws.directoryservice#CreatedDateTime", + "traits": { + "smithy.api#documentation": "

                            The date and time that the shared directory was created.

                            " } }, "LastUpdatedDateTime": { @@ -5757,36 +6114,36 @@ "smithy.api#documentation": "

                            The date and time that the shared directory was last updated.

                            " } }, - "OwnerAccountId": { + "SharedAccountId": { "target": "com.amazonaws.directoryservice#CustomerId", "traits": { - "smithy.api#documentation": "

                            Identifier of the directory owner account, which contains the directory that has been\n shared to the consumer account.

                            " + "smithy.api#documentation": "

                            Identifier of the directory consumer account that has access to the shared directory\n (OwnerDirectoryId) in the directory owner account.

                            " } } }, "traits": { - "smithy.api#documentation": "

                            Details about the shared directory in the directory owner account for which the share request in the directory consumer account has been accepted.

                            " + "smithy.api#documentation": "

                            Details about the shared directory in the directory owner account for which the share\n request in the directory consumer account has been accepted.

                            " } }, "com.amazonaws.directoryservice#Snapshot": { "type": "structure", "members": { - "StartTime": { - "target": "com.amazonaws.directoryservice#StartTime", - "traits": { - "smithy.api#documentation": "

                            The date and time that the snapshot was taken.

                            " - } - }, "Name": { "target": "com.amazonaws.directoryservice#SnapshotName", "traits": { "smithy.api#documentation": "

                            The descriptive name of the snapshot.

                            " } }, - "Status": { - "target": "com.amazonaws.directoryservice#SnapshotStatus", + "Type": { + "target": "com.amazonaws.directoryservice#SnapshotType", "traits": { - "smithy.api#documentation": "

                            The snapshot status.

                            " + "smithy.api#documentation": "

                            The snapshot type.

                            " + } + }, + "SnapshotId": { + "target": "com.amazonaws.directoryservice#SnapshotId", + "traits": { + "smithy.api#documentation": "

                            The snapshot identifier.

                            " } }, "DirectoryId": { @@ -5795,16 +6152,16 @@ "smithy.api#documentation": "

                            The directory identifier.

                            " } }, - "Type": { - "target": "com.amazonaws.directoryservice#SnapshotType", + "Status": { + "target": "com.amazonaws.directoryservice#SnapshotStatus", "traits": { - "smithy.api#documentation": "

                            The snapshot type.

                            " + "smithy.api#documentation": "

                            The snapshot status.

                            " } }, - "SnapshotId": { - "target": "com.amazonaws.directoryservice#SnapshotId", + "StartTime": { + "target": "com.amazonaws.directoryservice#StartTime", "traits": { - "smithy.api#documentation": "

                            The snapshot identifier.

                            " + "smithy.api#documentation": "

                            The date and time that the snapshot was taken.

                            " } } }, @@ -5830,11 +6187,11 @@ "com.amazonaws.directoryservice#SnapshotLimitExceededException": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.directoryservice#ExceptionMessage" - }, "RequestId": { "target": "com.amazonaws.directoryservice#RequestId" + }, + "Message": { + "target": "com.amazonaws.directoryservice#ExceptionMessage" } }, "traits": { @@ -5845,6 +6202,12 @@ "com.amazonaws.directoryservice#SnapshotLimits": { "type": "structure", "members": { + "ManualSnapshotsCurrentCount": { + "target": "com.amazonaws.directoryservice#Limit", + "traits": { + "smithy.api#documentation": "

                            The current number of manual snapshots of the directory.

                            " + } + }, "ManualSnapshotsLimit": { "target": "com.amazonaws.directoryservice#Limit", "traits": { @@ -5856,12 +6219,6 @@ "traits": { "smithy.api#documentation": "

                            Indicates if the manual snapshot limit has been reached.

                            " } - }, - "ManualSnapshotsCurrentCount": { - "target": "com.amazonaws.directoryservice#Limit", - "traits": { - "smithy.api#documentation": "

                            The current number of manual snapshots of the directory.

                            " - } } }, "traits": { @@ -5972,10 +6329,10 @@ "smithy.api#required": {} } }, - "CreateSnapshotBeforeSchemaExtension": { - "target": "com.amazonaws.directoryservice#CreateSnapshotBeforeSchemaExtension", + "DirectoryId": { + "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                            If true, creates a snapshot of the directory before applying the schema extension.

                            ", + "smithy.api#documentation": "

                            The identifier of the directory for which the schema extension will be applied to.

                            ", "smithy.api#required": {} } }, @@ -5986,10 +6343,10 @@ "smithy.api#required": {} } }, - "DirectoryId": { - "target": "com.amazonaws.directoryservice#DirectoryId", + "CreateSnapshotBeforeSchemaExtension": { + "target": "com.amazonaws.directoryservice#CreateSnapshotBeforeSchemaExtension", "traits": { - "smithy.api#documentation": "

                            The identifier of the directory for which the schema extension will be applied to.

                            ", + "smithy.api#documentation": "

                            If true, creates a snapshot of the directory before applying the schema extension.

                            ", "smithy.api#required": {} } } @@ -6030,17 +6387,17 @@ "com.amazonaws.directoryservice#Tag": { "type": "structure", "members": { - "Key": { - "target": "com.amazonaws.directoryservice#TagKey", + "Value": { + "target": "com.amazonaws.directoryservice#TagValue", "traits": { - "smithy.api#documentation": "

                            Required name of the tag. The string value can be Unicode characters and cannot be prefixed with \"aws:\". The string can contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

                            ", + "smithy.api#documentation": "

                            The optional value of the tag. The string value can be Unicode characters. The string can contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

                            ", "smithy.api#required": {} } }, - "Value": { - "target": "com.amazonaws.directoryservice#TagValue", + "Key": { + "target": "com.amazonaws.directoryservice#TagKey", "traits": { - "smithy.api#documentation": "

                            The optional value of the tag. The string value can be Unicode characters. The string can contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

                            ", + "smithy.api#documentation": "

                            Required name of the tag. The string value can be Unicode characters and cannot be prefixed with \"aws:\". The string can contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

                            ", "smithy.api#required": {} } } @@ -6068,11 +6425,11 @@ "com.amazonaws.directoryservice#TagLimitExceededException": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.directoryservice#ExceptionMessage" - }, "RequestId": { "target": "com.amazonaws.directoryservice#RequestId" + }, + "Message": { + "target": "com.amazonaws.directoryservice#ExceptionMessage" } }, "traits": { @@ -6161,28 +6518,28 @@ "com.amazonaws.directoryservice#Trust": { "type": "structure", "members": { - "TrustType": { - "target": "com.amazonaws.directoryservice#TrustType", + "LastUpdatedDateTime": { + "target": "com.amazonaws.directoryservice#LastUpdatedDateTime", "traits": { - "smithy.api#documentation": "

                            The trust relationship type. Forest is the default.

                            " + "smithy.api#documentation": "

                            The date and time that the trust relationship was last updated.

                            " } }, - "CreatedDateTime": { - "target": "com.amazonaws.directoryservice#CreatedDateTime", + "StateLastUpdatedDateTime": { + "target": "com.amazonaws.directoryservice#StateLastUpdatedDateTime", "traits": { - "smithy.api#documentation": "

                            The date and time that the trust relationship was created.

                            " + "smithy.api#documentation": "

                            The date and time that the TrustState was last updated.

                            " } }, - "TrustState": { - "target": "com.amazonaws.directoryservice#TrustState", + "TrustStateReason": { + "target": "com.amazonaws.directoryservice#TrustStateReason", "traits": { - "smithy.api#documentation": "

                            The trust relationship state.

                            " + "smithy.api#documentation": "

                            The reason for the TrustState.

                            " } }, - "SelectiveAuth": { - "target": "com.amazonaws.directoryservice#SelectiveAuth", + "TrustDirection": { + "target": "com.amazonaws.directoryservice#TrustDirection", "traits": { - "smithy.api#documentation": "

                            Current state of selective authentication for the trust.

                            " + "smithy.api#documentation": "

                            The trust relationship direction.

                            " } }, "RemoteDomainName": { @@ -6191,40 +6548,40 @@ "smithy.api#documentation": "

                            The Fully Qualified Domain Name (FQDN) of the external domain involved in the trust relationship.

                            " } }, - "TrustDirection": { - "target": "com.amazonaws.directoryservice#TrustDirection", + "TrustId": { + "target": "com.amazonaws.directoryservice#TrustId", "traits": { - "smithy.api#documentation": "

                            The trust relationship direction.

                            " + "smithy.api#documentation": "

                            The unique ID of the trust relationship.

                            " } }, - "LastUpdatedDateTime": { - "target": "com.amazonaws.directoryservice#LastUpdatedDateTime", + "TrustType": { + "target": "com.amazonaws.directoryservice#TrustType", "traits": { - "smithy.api#documentation": "

                            The date and time that the trust relationship was last updated.

                            " + "smithy.api#documentation": "

                            The trust relationship type. Forest is the default.

                            " } }, - "StateLastUpdatedDateTime": { - "target": "com.amazonaws.directoryservice#StateLastUpdatedDateTime", + "DirectoryId": { + "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                            The date and time that the TrustState was last updated.

                            " + "smithy.api#documentation": "

                            The Directory ID of the AWS directory involved in the trust relationship.

                            " } }, - "TrustId": { - "target": "com.amazonaws.directoryservice#TrustId", + "TrustState": { + "target": "com.amazonaws.directoryservice#TrustState", "traits": { - "smithy.api#documentation": "

                            The unique ID of the trust relationship.

                            " + "smithy.api#documentation": "

                            The trust relationship state.

                            " } }, - "TrustStateReason": { - "target": "com.amazonaws.directoryservice#TrustStateReason", + "SelectiveAuth": { + "target": "com.amazonaws.directoryservice#SelectiveAuth", "traits": { - "smithy.api#documentation": "

                            The reason for the TrustState.

                            " + "smithy.api#documentation": "

                            Current state of selective authentication for the trust.

                            " } }, - "DirectoryId": { - "target": "com.amazonaws.directoryservice#DirectoryId", + "CreatedDateTime": { + "target": "com.amazonaws.directoryservice#CreatedDateTime", "traits": { - "smithy.api#documentation": "

                            The Directory ID of the AWS directory involved in the trust relationship.

                            " + "smithy.api#documentation": "

                            The date and time that the trust relationship was created.

                            " } } }, @@ -6384,14 +6741,14 @@ "UnshareTarget": { "target": "com.amazonaws.directoryservice#UnshareTarget", "traits": { - "smithy.api#documentation": "

                            Identifier for the directory consumer account with whom the directory has to be unshared.

                            ", + "smithy.api#documentation": "

                            Identifier for the directory consumer account with whom the directory has to be\n unshared.

                            ", "smithy.api#required": {} } }, "DirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                            The identifier of the AWS Managed Microsoft AD directory that you want to stop sharing.

                            ", + "smithy.api#documentation": "

                            The identifier of the AWS Managed Microsoft AD directory that you want to stop\n sharing.

                            ", "smithy.api#required": {} } } @@ -6403,7 +6760,7 @@ "SharedDirectoryId": { "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                            Identifier of the directory stored in the directory consumer account that is to be unshared from the specified directory (DirectoryId).

                            " + "smithy.api#documentation": "

                            Identifier of the directory stored in the directory consumer account that is to be\n unshared from the specified directory (DirectoryId).

                            " } } } @@ -6411,23 +6768,23 @@ "com.amazonaws.directoryservice#UnshareTarget": { "type": "structure", "members": { - "Type": { - "target": "com.amazonaws.directoryservice#TargetType", + "Id": { + "target": "com.amazonaws.directoryservice#TargetId", "traits": { - "smithy.api#documentation": "

                            Type of identifier to be used in the Id field.

                            ", + "smithy.api#documentation": "

                            Identifier of the directory consumer account.

                            ", "smithy.api#required": {} } }, - "Id": { - "target": "com.amazonaws.directoryservice#TargetId", + "Type": { + "target": "com.amazonaws.directoryservice#TargetType", "traits": { - "smithy.api#documentation": "

                            Identifier of the directory consumer account.

                            ", + "smithy.api#documentation": "

                            Type of identifier to be used in the Id field.

                            ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

                            Identifier that contains details about the directory consumer account with whom the directory is being unshared.

                            " + "smithy.api#documentation": "

                            Identifier that contains details about the directory consumer account with whom the\n directory is being unshared.

                            " } }, "com.amazonaws.directoryservice#UnsupportedOperationException": { @@ -6480,6 +6837,13 @@ "com.amazonaws.directoryservice#UpdateConditionalForwarderRequest": { "type": "structure", "members": { + "DirectoryId": { + "target": "com.amazonaws.directoryservice#DirectoryId", + "traits": { + "smithy.api#documentation": "

                            The directory ID of the AWS directory for which to update the conditional forwarder.

                            ", + "smithy.api#required": {} + } + }, "DnsIpAddrs": { "target": "com.amazonaws.directoryservice#DnsIpAddrs", "traits": { @@ -6493,13 +6857,6 @@ "smithy.api#documentation": "

                            The fully qualified domain name (FQDN) of the remote domain with which you will set up a trust relationship.

                            ", "smithy.api#required": {} } - }, - "DirectoryId": { - "target": "com.amazonaws.directoryservice#DirectoryId", - "traits": { - "smithy.api#documentation": "

                            The directory ID of the AWS directory for which to update the conditional forwarder.

                            ", - "smithy.api#required": {} - } } }, "traits": { @@ -6600,17 +6957,17 @@ "com.amazonaws.directoryservice#UpdateRadiusRequest": { "type": "structure", "members": { - "RadiusSettings": { - "target": "com.amazonaws.directoryservice#RadiusSettings", + "DirectoryId": { + "target": "com.amazonaws.directoryservice#DirectoryId", "traits": { - "smithy.api#documentation": "

                            A RadiusSettings object that contains information about the RADIUS server.

                            ", + "smithy.api#documentation": "

                            The identifier of the directory for which to update the RADIUS server information.

                            ", "smithy.api#required": {} } }, - "DirectoryId": { - "target": "com.amazonaws.directoryservice#DirectoryId", + "RadiusSettings": { + "target": "com.amazonaws.directoryservice#RadiusSettings", "traits": { - "smithy.api#documentation": "

                            The identifier of the directory for which to update the RADIUS server information.

                            ", + "smithy.api#documentation": "

                            A RadiusSettings object that contains information about the RADIUS server.

                            ", "smithy.api#required": {} } } @@ -6658,18 +7015,18 @@ "com.amazonaws.directoryservice#UpdateTrustRequest": { "type": "structure", "members": { + "SelectiveAuth": { + "target": "com.amazonaws.directoryservice#SelectiveAuth", + "traits": { + "smithy.api#documentation": "

                            Updates selective authentication for the trust.

                            " + } + }, "TrustId": { "target": "com.amazonaws.directoryservice#TrustId", "traits": { "smithy.api#documentation": "

                            Identifier of the trust relationship.

                            ", "smithy.api#required": {} } - }, - "SelectiveAuth": { - "target": "com.amazonaws.directoryservice#SelectiveAuth", - "traits": { - "smithy.api#documentation": "

                            Updates selective authentication for the trust.

                            " - } } } }, @@ -6693,11 +7050,11 @@ "com.amazonaws.directoryservice#UserDoesNotExistException": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.directoryservice#ExceptionMessage" - }, "RequestId": { "target": "com.amazonaws.directoryservice#RequestId" + }, + "Message": { + "target": "com.amazonaws.directoryservice#ExceptionMessage" } }, "traits": { diff --git a/codegen/sdk-codegen/aws-models/eventbridge.2015-10-07.json b/codegen/sdk-codegen/aws-models/eventbridge.2015-10-07.json index a7e7c5088d1d..de5c882686f7 100644 --- a/codegen/sdk-codegen/aws-models/eventbridge.2015-10-07.json +++ b/codegen/sdk-codegen/aws-models/eventbridge.2015-10-07.json @@ -233,22 +233,22 @@ "com.amazonaws.eventbridge#Archive": { "type": "structure", "members": { - "SizeBytes": { - "target": "com.amazonaws.eventbridge#Long", + "ArchiveName": { + "target": "com.amazonaws.eventbridge#ArchiveName", "traits": { - "smithy.api#documentation": "

                            The size of the archive, in bytes.

                            " + "smithy.api#documentation": "

                            The name of the archive.

                            " } }, - "EventCount": { - "target": "com.amazonaws.eventbridge#Long", + "EventSourceArn": { + "target": "com.amazonaws.eventbridge#Arn", "traits": { - "smithy.api#documentation": "

                            The number of events in the archive.

                            " + "smithy.api#documentation": "

                            The ARN of the event bus associated with the archive. Only events from this event bus\n are sent to the archive.

                            " } }, - "RetentionDays": { - "target": "com.amazonaws.eventbridge#RetentionDays", + "State": { + "target": "com.amazonaws.eventbridge#ArchiveState", "traits": { - "smithy.api#documentation": "

                            The number of days to retain events in the archive before they are deleted.

                            " + "smithy.api#documentation": "

                            The current state of the archive.

                            " } }, "StateReason": { @@ -257,28 +257,28 @@ "smithy.api#documentation": "

                            A description for the reason that the archive is in the current state.

                            " } }, - "ArchiveName": { - "target": "com.amazonaws.eventbridge#ArchiveName", + "RetentionDays": { + "target": "com.amazonaws.eventbridge#RetentionDays", "traits": { - "smithy.api#documentation": "

                            The name of the archive.

                            " + "smithy.api#documentation": "

                            The number of days to retain events in the archive before they are deleted.

                            " } }, - "CreationTime": { - "target": "com.amazonaws.eventbridge#Timestamp", + "SizeBytes": { + "target": "com.amazonaws.eventbridge#Long", "traits": { - "smithy.api#documentation": "

                            The time stamp for the time that the archive was created.

                            " + "smithy.api#documentation": "

                            The size of the archive, in bytes.

                            " } }, - "State": { - "target": "com.amazonaws.eventbridge#ArchiveState", + "EventCount": { + "target": "com.amazonaws.eventbridge#Long", "traits": { - "smithy.api#documentation": "

                            The current state of the archive.

                            " + "smithy.api#documentation": "

                            The number of events in the archive.

                            " } }, - "EventSourceArn": { - "target": "com.amazonaws.eventbridge#Arn", + "CreationTime": { + "target": "com.amazonaws.eventbridge#Timestamp", "traits": { - "smithy.api#documentation": "

                            The ARN of the event bus associated with the archive. Only events from this event bus\n are sent to the archive.

                            " + "smithy.api#documentation": "

                            The time stamp for the time that the archive was created.

                            " } } }, @@ -390,10 +390,11 @@ "com.amazonaws.eventbridge#AwsVpcConfiguration": { "type": "structure", "members": { - "AssignPublicIp": { - "target": "com.amazonaws.eventbridge#AssignPublicIp", + "Subnets": { + "target": "com.amazonaws.eventbridge#StringList", "traits": { - "smithy.api#documentation": "

                            Specifies whether the task's elastic network interface receives a public IP address.\n You can specify ENABLED only when LaunchType in\n EcsParameters is set to FARGATE.

                            " + "smithy.api#documentation": "

                            Specifies the subnets associated with the task. These subnets must all be in the same\n VPC. You can specify as many as 16 subnets.

                            ", + "smithy.api#required": {} } }, "SecurityGroups": { @@ -402,11 +403,10 @@ "smithy.api#documentation": "

                            Specifies the security groups associated with the task. These security groups must all\n be in the same VPC. You can specify as many as five security groups. If you do not\n specify a security group, the default security group for the VPC is used.

                            " } }, - "Subnets": { - "target": "com.amazonaws.eventbridge#StringList", + "AssignPublicIp": { + "target": "com.amazonaws.eventbridge#AssignPublicIp", "traits": { - "smithy.api#documentation": "

                            Specifies the subnets associated with the task. These subnets must all be in the same\n VPC. You can specify as many as 16 subnets.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            Specifies whether the task's elastic network interface receives a public IP address.\n You can specify ENABLED only when LaunchType in\n EcsParameters is set to FARGATE.

                            " } } }, @@ -431,12 +431,6 @@ "com.amazonaws.eventbridge#BatchParameters": { "type": "structure", "members": { - "ArrayProperties": { - "target": "com.amazonaws.eventbridge#BatchArrayProperties", - "traits": { - "smithy.api#documentation": "

                            The array properties for the submitted job, such as the size of the array. The\n array size can be between 2 and 10,000. If you specify array properties for a job, it\n becomes an array job. This parameter is used only if the target is an AWS Batch\n job.

                            " - } - }, "JobDefinition": { "target": "com.amazonaws.eventbridge#String", "traits": { @@ -444,18 +438,24 @@ "smithy.api#required": {} } }, - "RetryStrategy": { - "target": "com.amazonaws.eventbridge#BatchRetryStrategy", - "traits": { - "smithy.api#documentation": "

                            The retry strategy to use for failed jobs, if the target is an AWS Batch job. The\n retry strategy is the number of times to retry the failed job execution. Valid values\n are 1–10. When you specify a retry strategy here, it overrides the retry strategy\n defined in the job definition.

                            " - } - }, "JobName": { "target": "com.amazonaws.eventbridge#String", "traits": { "smithy.api#documentation": "

                            The name to use for this execution of the job, if the target is an AWS Batch\n job.

                            ", "smithy.api#required": {} } + }, + "ArrayProperties": { + "target": "com.amazonaws.eventbridge#BatchArrayProperties", + "traits": { + "smithy.api#documentation": "

                            The array properties for the submitted job, such as the size of the array. The\n array size can be between 2 and 10,000. If you specify array properties for a job, it\n becomes an array job. This parameter is used only if the target is an AWS Batch\n job.

                            " + } + }, + "RetryStrategy": { + "target": "com.amazonaws.eventbridge#BatchRetryStrategy", + "traits": { + "smithy.api#documentation": "

                            The retry strategy to use for failed jobs, if the target is an AWS Batch job. The\n retry strategy is the number of times to retry the failed job execution. Valid values\n are 1–10. When you specify a retry strategy here, it overrides the retry strategy\n defined in the job definition.

                            " + } } }, "traits": { @@ -526,17 +526,17 @@ "smithy.api#documentation": "

                            The ARN of the replay to cancel.

                            " } }, - "StateReason": { - "target": "com.amazonaws.eventbridge#ReplayStateReason", - "traits": { - "smithy.api#documentation": "

                            The reason that the replay is in the current state.

                            " - } - }, "State": { "target": "com.amazonaws.eventbridge#ReplayState", "traits": { "smithy.api#documentation": "

                            The current state of the replay.

                            " } + }, + "StateReason": { + "target": "com.amazonaws.eventbridge#ReplayStateReason", + "traits": { + "smithy.api#documentation": "

                            The reason that the replay is in the current state.

                            " + } } } }, @@ -610,18 +610,12 @@ } ], "traits": { - "smithy.api#documentation": "

                            Creates an archive of events with the specified settings. When you create an archive,\n incoming events might not immediately start being sent to the archive. Allow a short\n period of time for changes to take effect.

                            " + "smithy.api#documentation": "

                            Creates an archive of events with the specified settings. When you create an archive,\n incoming events might not immediately start being sent to the archive. Allow a short\n period of time for changes to take effect. If you do not specify a pattern to filter events sent to the archive, all events are sent to the archive except replayed events. Replayed events are not sent to an archive.

                            " } }, "com.amazonaws.eventbridge#CreateArchiveRequest": { "type": "structure", "members": { - "Description": { - "target": "com.amazonaws.eventbridge#ArchiveDescription", - "traits": { - "smithy.api#documentation": "

                            A description for the archive.

                            " - } - }, "ArchiveName": { "target": "com.amazonaws.eventbridge#ArchiveName", "traits": { @@ -629,12 +623,6 @@ "smithy.api#required": {} } }, - "EventPattern": { - "target": "com.amazonaws.eventbridge#EventPattern", - "traits": { - "smithy.api#documentation": "

                            An event pattern to use to filter events sent to the archive.

                            " - } - }, "EventSourceArn": { "target": "com.amazonaws.eventbridge#Arn", "traits": { @@ -642,6 +630,18 @@ "smithy.api#required": {} } }, + "Description": { + "target": "com.amazonaws.eventbridge#ArchiveDescription", + "traits": { + "smithy.api#documentation": "

                            A description for the archive.

                            " + } + }, + "EventPattern": { + "target": "com.amazonaws.eventbridge#EventPattern", + "traits": { + "smithy.api#documentation": "

                            An event pattern to use to filter events sent to the archive.

                            " + } + }, "RetentionDays": { "target": "com.amazonaws.eventbridge#RetentionDays", "traits": { @@ -653,28 +653,28 @@ "com.amazonaws.eventbridge#CreateArchiveResponse": { "type": "structure", "members": { - "CreationTime": { - "target": "com.amazonaws.eventbridge#Timestamp", - "traits": { - "smithy.api#documentation": "

                            The time at which the archive was created.

                            " - } - }, "ArchiveArn": { "target": "com.amazonaws.eventbridge#ArchiveArn", "traits": { "smithy.api#documentation": "

                            The ARN of the archive that was created.

                            " } }, + "State": { + "target": "com.amazonaws.eventbridge#ArchiveState", + "traits": { + "smithy.api#documentation": "

                            The state of the archive that was created.

                            " + } + }, "StateReason": { "target": "com.amazonaws.eventbridge#ArchiveStateReason", "traits": { "smithy.api#documentation": "

                            The reason that the archive is in the state.

                            " } }, - "State": { - "target": "com.amazonaws.eventbridge#ArchiveState", + "CreationTime": { + "target": "com.amazonaws.eventbridge#Timestamp", "traits": { - "smithy.api#documentation": "

                            The state of the archive that was created.

                            " + "smithy.api#documentation": "

                            The time at which the archive was created.

                            " } } } @@ -717,12 +717,6 @@ "com.amazonaws.eventbridge#CreateEventBusRequest": { "type": "structure", "members": { - "Tags": { - "target": "com.amazonaws.eventbridge#TagList", - "traits": { - "smithy.api#documentation": "

                            Tags to associate with the event bus.

                            " - } - }, "Name": { "target": "com.amazonaws.eventbridge#EventBusName", "traits": { @@ -735,6 +729,12 @@ "traits": { "smithy.api#documentation": "

                            If you are creating a partner event bus, this specifies the partner event source that\n the new event bus will be matched with.

                            " } + }, + "Tags": { + "target": "com.amazonaws.eventbridge#TagList", + "traits": { + "smithy.api#documentation": "

                            Tags to associate with the event bus.

                            " + } } } }, @@ -808,6 +808,15 @@ } } }, + "com.amazonaws.eventbridge#CreatedBy": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + } + } + }, "com.amazonaws.eventbridge#Database": { "type": "string", "traits": { @@ -971,17 +980,17 @@ "com.amazonaws.eventbridge#DeletePartnerEventSourceRequest": { "type": "structure", "members": { - "Account": { - "target": "com.amazonaws.eventbridge#AccountId", + "Name": { + "target": "com.amazonaws.eventbridge#EventSourceName", "traits": { - "smithy.api#documentation": "

                            The AWS account ID of the AWS customer that the event source was created for.

                            ", + "smithy.api#documentation": "

                            The name of the event source to delete.

                            ", "smithy.api#required": {} } }, - "Name": { - "target": "com.amazonaws.eventbridge#EventSourceName", + "Account": { + "target": "com.amazonaws.eventbridge#AccountId", "traits": { - "smithy.api#documentation": "

                            The name of the event source to delete.

                            ", + "smithy.api#documentation": "

                            The AWS account ID of the AWS customer that the event source was created for.

                            ", "smithy.api#required": {} } } @@ -1013,23 +1022,23 @@ "com.amazonaws.eventbridge#DeleteRuleRequest": { "type": "structure", "members": { - "Force": { - "target": "com.amazonaws.eventbridge#Boolean", + "Name": { + "target": "com.amazonaws.eventbridge#RuleName", "traits": { - "smithy.api#documentation": "

                            If this is a managed rule, created by an AWS service on your behalf, you must specify\n Force as True to delete the rule. This parameter is\n ignored for rules that are not managed rules. You can check whether a rule is a managed\n rule by using DescribeRule or ListRules and checking the\n ManagedBy field of the response.

                            " + "smithy.api#documentation": "

                            The name of the rule.

                            ", + "smithy.api#required": {} } }, "EventBusName": { - "target": "com.amazonaws.eventbridge#EventBusName", + "target": "com.amazonaws.eventbridge#EventBusNameOrArn", "traits": { - "smithy.api#documentation": "

                            The event bus associated with the rule. If you omit this, the default event bus is\n used.

                            " + "smithy.api#documentation": "

                            The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is\n used.

                            " } }, - "Name": { - "target": "com.amazonaws.eventbridge#RuleName", + "Force": { + "target": "com.amazonaws.eventbridge#Boolean", "traits": { - "smithy.api#documentation": "

                            The name of the rule.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            If this is a managed rule, created by an AWS service on your behalf, you must specify\n Force as True to delete the rule. This parameter is\n ignored for rules that are not managed rules. You can check whether a rule is a managed\n rule by using DescribeRule or ListRules and checking the\n ManagedBy field of the response.

                            " } } } @@ -1072,40 +1081,46 @@ "com.amazonaws.eventbridge#DescribeArchiveResponse": { "type": "structure", "members": { + "ArchiveArn": { + "target": "com.amazonaws.eventbridge#ArchiveArn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the archive.

                            " + } + }, "ArchiveName": { "target": "com.amazonaws.eventbridge#ArchiveName", "traits": { "smithy.api#documentation": "

                            The name of the archive.

                            " } }, - "CreationTime": { - "target": "com.amazonaws.eventbridge#Timestamp", + "EventSourceArn": { + "target": "com.amazonaws.eventbridge#Arn", "traits": { - "smithy.api#documentation": "

                            The time at which the archive was created.

                            " + "smithy.api#documentation": "

                            The ARN of the event source associated with the archive.

                            " } }, - "ArchiveArn": { - "target": "com.amazonaws.eventbridge#ArchiveArn", + "Description": { + "target": "com.amazonaws.eventbridge#ArchiveDescription", "traits": { - "smithy.api#documentation": "

                            The ARN of the archive.

                            " + "smithy.api#documentation": "

                            The description of the archive.

                            " } }, - "State": { - "target": "com.amazonaws.eventbridge#ArchiveState", + "EventPattern": { + "target": "com.amazonaws.eventbridge#EventPattern", "traits": { - "smithy.api#documentation": "

                            The state of the archive.

                            " + "smithy.api#documentation": "

                            The event pattern used to filter events sent to the archive.

                            " } }, - "SizeBytes": { - "target": "com.amazonaws.eventbridge#Long", + "State": { + "target": "com.amazonaws.eventbridge#ArchiveState", "traits": { - "smithy.api#documentation": "

                            The size of the archive in bytes.

                            " + "smithy.api#documentation": "

                            The state of the archive.

                            " } }, - "EventCount": { - "target": "com.amazonaws.eventbridge#Long", + "StateReason": { + "target": "com.amazonaws.eventbridge#ArchiveStateReason", "traits": { - "smithy.api#documentation": "

                            The number of events in the archive.

                            " + "smithy.api#documentation": "

                            The reason that the archive is in the state.

                            " } }, "RetentionDays": { @@ -1114,28 +1129,22 @@ "smithy.api#documentation": "

                            The number of days to retain events for in the archive.

                            " } }, - "EventPattern": { - "target": "com.amazonaws.eventbridge#EventPattern", - "traits": { - "smithy.api#documentation": "

                            The event pattern used to filter events sent to the archive.

                            " - } - }, - "StateReason": { - "target": "com.amazonaws.eventbridge#ArchiveStateReason", + "SizeBytes": { + "target": "com.amazonaws.eventbridge#Long", "traits": { - "smithy.api#documentation": "

                            The reason that the archive is in the state.

                            " + "smithy.api#documentation": "

                            The size of the archive in bytes.

                            " } }, - "Description": { - "target": "com.amazonaws.eventbridge#ArchiveDescription", + "EventCount": { + "target": "com.amazonaws.eventbridge#Long", "traits": { - "smithy.api#documentation": "

                            The description of the archive.

                            " + "smithy.api#documentation": "

                            The number of events in the archive.

                            " } }, - "EventSourceArn": { - "target": "com.amazonaws.eventbridge#Arn", + "CreationTime": { + "target": "com.amazonaws.eventbridge#Timestamp", "traits": { - "smithy.api#documentation": "

                            The ARN of the event source associated with the archive.

                            " + "smithy.api#documentation": "

                            The time at which the archive was created.

                            " } } } @@ -1164,9 +1173,9 @@ "type": "structure", "members": { "Name": { - "target": "com.amazonaws.eventbridge#EventBusName", + "target": "com.amazonaws.eventbridge#EventBusNameOrArn", "traits": { - "smithy.api#documentation": "

                            The name of the event bus to show details for. If you omit this, the default event bus\n is displayed.

                            " + "smithy.api#documentation": "

                            The name or ARN of the event bus to show details for. If you omit this, the default event bus\n is displayed.

                            " } } } @@ -1180,16 +1189,16 @@ "smithy.api#documentation": "

                            The name of the event bus. Currently, this is always\n default.

                            " } }, - "Policy": { + "Arn": { "target": "com.amazonaws.eventbridge#String", "traits": { - "smithy.api#documentation": "

                            The policy that enables the external account to send events to your\n account.

                            " + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the account permitted to write events to the\n current account.

                            " } }, - "Arn": { + "Policy": { "target": "com.amazonaws.eventbridge#String", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the account permitted to write events to the\n current account.

                            " + "smithy.api#documentation": "

                            The policy that enables the external account to send events to your\n account.

                            " } } } @@ -1232,16 +1241,16 @@ "com.amazonaws.eventbridge#DescribeEventSourceResponse": { "type": "structure", "members": { - "State": { - "target": "com.amazonaws.eventbridge#EventSourceState", + "Arn": { + "target": "com.amazonaws.eventbridge#String", "traits": { - "smithy.api#documentation": "

                            The state of the event source. If it is ACTIVE, you have already created a matching\n event bus for this event source, and that event bus is active. If it is PENDING, either\n you haven't yet created a matching event bus, or that event bus is deactivated. If it is\n DELETED, you have created a matching event bus, but the event source has since been\n deleted.

                            " + "smithy.api#documentation": "

                            The ARN of the partner event source.

                            " } }, - "Name": { + "CreatedBy": { "target": "com.amazonaws.eventbridge#String", "traits": { - "smithy.api#documentation": "

                            The name of the partner event source.

                            " + "smithy.api#documentation": "

                            The name of the SaaS partner that created the event source.

                            " } }, "CreationTime": { @@ -1250,22 +1259,22 @@ "smithy.api#documentation": "

                            The date and time that the event source was created.

                            " } }, - "Arn": { - "target": "com.amazonaws.eventbridge#String", + "ExpirationTime": { + "target": "com.amazonaws.eventbridge#Timestamp", "traits": { - "smithy.api#documentation": "

                            The ARN of the partner event source.

                            " + "smithy.api#documentation": "

                            The date and time that the event source will expire if you do not create a matching\n event bus.

                            " } }, - "CreatedBy": { + "Name": { "target": "com.amazonaws.eventbridge#String", "traits": { - "smithy.api#documentation": "

                            The name of the SaaS partner that created the event source.

                            " + "smithy.api#documentation": "

                            The name of the partner event source.

                            " } }, - "ExpirationTime": { - "target": "com.amazonaws.eventbridge#Timestamp", + "State": { + "target": "com.amazonaws.eventbridge#EventSourceState", "traits": { - "smithy.api#documentation": "

                            The date and time that the event source will expire if you do not create a matching\n event bus.

                            " + "smithy.api#documentation": "

                            The state of the event source. If it is ACTIVE, you have already created a matching\n event bus for this event source, and that event bus is active. If it is PENDING, either\n you haven't yet created a matching event bus, or that event bus is deactivated. If it is\n DELETED, you have created a matching event bus, but the event source has since been\n deleted.

                            " } } } @@ -1357,22 +1366,22 @@ "com.amazonaws.eventbridge#DescribeReplayResponse": { "type": "structure", "members": { - "StateReason": { - "target": "com.amazonaws.eventbridge#ReplayStateReason", + "ReplayName": { + "target": "com.amazonaws.eventbridge#ReplayName", "traits": { - "smithy.api#documentation": "

                            The reason that the replay is in the current state.

                            " + "smithy.api#documentation": "

                            The name of the replay.

                            " } }, - "ReplayEndTime": { - "target": "com.amazonaws.eventbridge#Timestamp", + "ReplayArn": { + "target": "com.amazonaws.eventbridge#ReplayArn", "traits": { - "smithy.api#documentation": "

                            A time stamp for the time that the replay stopped.

                            " + "smithy.api#documentation": "

                            The ARN of the replay.

                            " } }, - "ReplayName": { - "target": "com.amazonaws.eventbridge#ReplayName", + "Description": { + "target": "com.amazonaws.eventbridge#ReplayDescription", "traits": { - "smithy.api#documentation": "

                            The name of the replay.

                            " + "smithy.api#documentation": "

                            The description of the replay.

                            " } }, "State": { @@ -1381,52 +1390,52 @@ "smithy.api#documentation": "

                            The current state of the replay.

                            " } }, - "EventLastReplayedTime": { - "target": "com.amazonaws.eventbridge#Timestamp", + "StateReason": { + "target": "com.amazonaws.eventbridge#ReplayStateReason", "traits": { - "smithy.api#documentation": "

                            The time that the event was last replayed.

                            " + "smithy.api#documentation": "

                            The reason that the replay is in the current state.

                            " } }, - "EventEndTime": { - "target": "com.amazonaws.eventbridge#Timestamp", + "EventSourceArn": { + "target": "com.amazonaws.eventbridge#Arn", "traits": { - "smithy.api#documentation": "

                            The time stamp for the last event that was replayed from the archive.

                            " + "smithy.api#documentation": "

                            The ARN of the archive events were replayed from.

                            " } }, - "ReplayStartTime": { - "target": "com.amazonaws.eventbridge#Timestamp", + "Destination": { + "target": "com.amazonaws.eventbridge#ReplayDestination", "traits": { - "smithy.api#documentation": "

                            A time stamp for the time that the replay started.

                            " + "smithy.api#documentation": "

                            A ReplayDestination object that contains details about the replay.

                            " } }, - "Description": { - "target": "com.amazonaws.eventbridge#ReplayDescription", + "EventStartTime": { + "target": "com.amazonaws.eventbridge#Timestamp", "traits": { - "smithy.api#documentation": "

                            The description of the replay.

                            " + "smithy.api#documentation": "

                            The time stamp of the first event that was last replayed from the archive.

                            " } }, - "Destination": { - "target": "com.amazonaws.eventbridge#ReplayDestination", + "EventEndTime": { + "target": "com.amazonaws.eventbridge#Timestamp", "traits": { - "smithy.api#documentation": "

                            A ReplayDestination object that contains details about the replay.

                            " + "smithy.api#documentation": "

                            The time stamp for the last event that was replayed from the archive.

                            " } }, - "ReplayArn": { - "target": "com.amazonaws.eventbridge#ReplayArn", + "EventLastReplayedTime": { + "target": "com.amazonaws.eventbridge#Timestamp", "traits": { - "smithy.api#documentation": "

                            The ARN of the replay.

                            " + "smithy.api#documentation": "

                            The time that the event was last replayed.

                            " } }, - "EventSourceArn": { - "target": "com.amazonaws.eventbridge#Arn", + "ReplayStartTime": { + "target": "com.amazonaws.eventbridge#Timestamp", "traits": { - "smithy.api#documentation": "

                            The ARN of the archive events were replayed from.

                            " + "smithy.api#documentation": "

                            A time stamp for the time that the replay started.

                            " } }, - "EventStartTime": { + "ReplayEndTime": { "target": "com.amazonaws.eventbridge#Timestamp", "traits": { - "smithy.api#documentation": "

                            The time stamp of the first event that was last replayed from the archive.

                            " + "smithy.api#documentation": "

                            A time stamp for the time that the replay stopped.

                            " } } } @@ -1454,28 +1463,34 @@ "com.amazonaws.eventbridge#DescribeRuleRequest": { "type": "structure", "members": { - "EventBusName": { - "target": "com.amazonaws.eventbridge#EventBusName", - "traits": { - "smithy.api#documentation": "

                            The event bus associated with the rule. If you omit this, the default event bus is\n used.

                            " - } - }, "Name": { "target": "com.amazonaws.eventbridge#RuleName", "traits": { "smithy.api#documentation": "

                            The name of the rule.

                            ", "smithy.api#required": {} } + }, + "EventBusName": { + "target": "com.amazonaws.eventbridge#EventBusNameOrArn", + "traits": { + "smithy.api#documentation": "

                            The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is\n used.

                            " + } } } }, "com.amazonaws.eventbridge#DescribeRuleResponse": { "type": "structure", "members": { - "ManagedBy": { - "target": "com.amazonaws.eventbridge#ManagedBy", + "Name": { + "target": "com.amazonaws.eventbridge#RuleName", "traits": { - "smithy.api#documentation": "

                            If this is a managed rule, created by an AWS service on your behalf, this field\n displays the principal name of the AWS service that created the rule.

                            " + "smithy.api#documentation": "

                            The name of the rule.

                            " + } + }, + "Arn": { + "target": "com.amazonaws.eventbridge#RuleArn", + "traits": { + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the rule.

                            " } }, "EventPattern": { @@ -1490,22 +1505,16 @@ "smithy.api#documentation": "

                            The scheduling expression. For example, \"cron(0 20 * * ? *)\", \"rate(5\n minutes)\".

                            " } }, - "Description": { - "target": "com.amazonaws.eventbridge#RuleDescription", - "traits": { - "smithy.api#documentation": "

                            The description of the rule.

                            " - } - }, "State": { "target": "com.amazonaws.eventbridge#RuleState", "traits": { "smithy.api#documentation": "

                            Specifies whether the rule is enabled or disabled.

                            " } }, - "Arn": { - "target": "com.amazonaws.eventbridge#RuleArn", + "Description": { + "target": "com.amazonaws.eventbridge#RuleDescription", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the rule.

                            " + "smithy.api#documentation": "

                            The description of the rule.

                            " } }, "RoleArn": { @@ -1514,16 +1523,22 @@ "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the IAM role associated with the rule.

                            " } }, - "Name": { - "target": "com.amazonaws.eventbridge#RuleName", + "ManagedBy": { + "target": "com.amazonaws.eventbridge#ManagedBy", "traits": { - "smithy.api#documentation": "

                            The name of the rule.

                            " + "smithy.api#documentation": "

                            If this is a managed rule, created by an AWS service on your behalf, this field\n displays the principal name of the AWS service that created the rule.

                            " } }, "EventBusName": { "target": "com.amazonaws.eventbridge#EventBusName", "traits": { - "smithy.api#documentation": "

                            The event bus associated with the rule.

                            " + "smithy.api#documentation": "

                            The name of the event bus associated with the rule.

                            " + } + }, + "CreatedBy": { + "target": "com.amazonaws.eventbridge#CreatedBy", + "traits": { + "smithy.api#documentation": "

                            The account ID of the user that created the rule. If you use PutRule \n to put a rule on an event bus in another account, the other account is the owner of the rule, and the rule ARN includes the account ID for that account. \n However, the value for CreatedBy is the account ID as the account that created the rule in the other account.

                            " } } } @@ -1554,34 +1569,35 @@ "com.amazonaws.eventbridge#DisableRuleRequest": { "type": "structure", "members": { - "EventBusName": { - "target": "com.amazonaws.eventbridge#EventBusName", - "traits": { - "smithy.api#documentation": "

                            The event bus associated with the rule. If you omit this, the default event bus is\n used.

                            " - } - }, "Name": { "target": "com.amazonaws.eventbridge#RuleName", "traits": { "smithy.api#documentation": "

                            The name of the rule.

                            ", "smithy.api#required": {} } + }, + "EventBusName": { + "target": "com.amazonaws.eventbridge#EventBusNameOrArn", + "traits": { + "smithy.api#documentation": "

                            The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is\n used.

                            " + } } } }, "com.amazonaws.eventbridge#EcsParameters": { "type": "structure", "members": { - "PlatformVersion": { - "target": "com.amazonaws.eventbridge#String", + "TaskDefinitionArn": { + "target": "com.amazonaws.eventbridge#Arn", "traits": { - "smithy.api#documentation": "

                            Specifies the platform version for the task. Specify only the numeric portion of the\n platform version, such as 1.1.0.

                            \n

                            This structure is used only if LaunchType is FARGATE. For\n more information about valid platform versions, see AWS Fargate Platform\n Versions in the Amazon Elastic Container Service Developer\n Guide.

                            " + "smithy.api#documentation": "

                            The ARN of the task definition to use if the event target is an Amazon ECS task.\n

                            ", + "smithy.api#required": {} } }, - "Group": { - "target": "com.amazonaws.eventbridge#String", + "TaskCount": { + "target": "com.amazonaws.eventbridge#LimitMin1", "traits": { - "smithy.api#documentation": "

                            Specifies an ECS task group for the task. The maximum length is 255 characters.

                            " + "smithy.api#documentation": "

                            The number of tasks to create based on TaskDefinition. The default is\n 1.

                            " } }, "LaunchType": { @@ -1590,23 +1606,22 @@ "smithy.api#documentation": "

                            Specifies the launch type on which your task is running. The launch type that you\n specify here must match one of the launch type (compatibilities) of the target task. The\n FARGATE value is supported only in the Regions where AWS Fargate with\n Amazon ECS is supported. For more information, see AWS Fargate on Amazon\n ECS in the Amazon Elastic Container Service Developer\n Guide.

                            " } }, - "TaskDefinitionArn": { - "target": "com.amazonaws.eventbridge#Arn", - "traits": { - "smithy.api#documentation": "

                            The ARN of the task definition to use if the event target is an Amazon ECS task.\n

                            ", - "smithy.api#required": {} - } - }, "NetworkConfiguration": { "target": "com.amazonaws.eventbridge#NetworkConfiguration", "traits": { "smithy.api#documentation": "

                            Use this structure if the ECS task uses the awsvpc network mode. This\n structure specifies the VPC subnets and security groups associated with the task, and\n whether a public IP address is to be used. This structure is required if\n LaunchType is FARGATE because the awsvpc mode\n is required for Fargate tasks.

                            \n

                            If you specify NetworkConfiguration when the target ECS task does not use\n the awsvpc network mode, the task fails.

                            " } }, - "TaskCount": { - "target": "com.amazonaws.eventbridge#LimitMin1", + "PlatformVersion": { + "target": "com.amazonaws.eventbridge#String", "traits": { - "smithy.api#documentation": "

                            The number of tasks to create based on TaskDefinition. The default is\n 1.

                            " + "smithy.api#documentation": "

                            Specifies the platform version for the task. Specify only the numeric portion of the\n platform version, such as 1.1.0.

                            \n

                            This structure is used only if LaunchType is FARGATE. For\n more information about valid platform versions, see AWS Fargate Platform\n Versions in the Amazon Elastic Container Service Developer\n Guide.

                            " + } + }, + "Group": { + "target": "com.amazonaws.eventbridge#String", + "traits": { + "smithy.api#documentation": "

                            Specifies an ECS task group for the task. The maximum length is 255 characters.

                            " } } }, @@ -1640,18 +1655,18 @@ "com.amazonaws.eventbridge#EnableRuleRequest": { "type": "structure", "members": { - "EventBusName": { - "target": "com.amazonaws.eventbridge#EventBusName", - "traits": { - "smithy.api#documentation": "

                            The event bus associated with the rule. If you omit this, the default event bus is\n used.

                            " - } - }, "Name": { "target": "com.amazonaws.eventbridge#RuleName", "traits": { "smithy.api#documentation": "

                            The name of the rule.

                            ", "smithy.api#required": {} } + }, + "EventBusName": { + "target": "com.amazonaws.eventbridge#EventBusNameOrArn", + "traits": { + "smithy.api#documentation": "

                            The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is\n used.

                            " + } } } }, @@ -1664,22 +1679,22 @@ "com.amazonaws.eventbridge#EventBus": { "type": "structure", "members": { - "Arn": { + "Name": { "target": "com.amazonaws.eventbridge#String", "traits": { - "smithy.api#documentation": "

                            The ARN of the event bus.

                            " + "smithy.api#documentation": "

                            The name of the event bus.

                            " } }, - "Policy": { + "Arn": { "target": "com.amazonaws.eventbridge#String", "traits": { - "smithy.api#documentation": "

                            The permissions policy of the event bus, describing which other AWS accounts can write\n events to this event bus.

                            " + "smithy.api#documentation": "

                            The ARN of the event bus.

                            " } }, - "Name": { + "Policy": { "target": "com.amazonaws.eventbridge#String", "traits": { - "smithy.api#documentation": "

                            The name of the event bus.

                            " + "smithy.api#documentation": "

                            The permissions policy of the event bus, describing which other AWS accounts can write\n events to this event bus.

                            " } } }, @@ -1703,6 +1718,16 @@ "smithy.api#pattern": "[/\\.\\-_A-Za-z0-9]+" } }, + "com.amazonaws.eventbridge#EventBusNameOrArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1600 + }, + "smithy.api#pattern": "(arn:aws[\\w-]*:events:[a-z]{2}-[a-z]+-[\\w-]+:[0-9]{12}:event-bus\\/)?[/\\.\\-_A-Za-z0-9]+" + } + }, "com.amazonaws.eventbridge#EventId": { "type": "string" }, @@ -1721,16 +1746,10 @@ "com.amazonaws.eventbridge#EventSource": { "type": "structure", "members": { - "CreationTime": { - "target": "com.amazonaws.eventbridge#Timestamp", - "traits": { - "smithy.api#documentation": "

                            The date and time the event source was created.

                            " - } - }, - "Name": { + "Arn": { "target": "com.amazonaws.eventbridge#String", "traits": { - "smithy.api#documentation": "

                            The name of the event source.

                            " + "smithy.api#documentation": "

                            The ARN of the event source.

                            " } }, "CreatedBy": { @@ -1739,16 +1758,22 @@ "smithy.api#documentation": "

                            The name of the partner that created the event source.

                            " } }, + "CreationTime": { + "target": "com.amazonaws.eventbridge#Timestamp", + "traits": { + "smithy.api#documentation": "

                            The date and time the event source was created.

                            " + } + }, "ExpirationTime": { "target": "com.amazonaws.eventbridge#Timestamp", "traits": { "smithy.api#documentation": "

                            The date and time that the event source will expire, if the AWS account doesn't create\n a matching event bus for it.

                            " } }, - "Arn": { + "Name": { "target": "com.amazonaws.eventbridge#String", "traits": { - "smithy.api#documentation": "

                            The ARN of the event source.

                            " + "smithy.api#documentation": "

                            The name of the event source.

                            " } }, "State": { @@ -1842,10 +1867,10 @@ "com.amazonaws.eventbridge#HttpParameters": { "type": "structure", "members": { - "QueryStringParameters": { - "target": "com.amazonaws.eventbridge#QueryStringParametersMap", + "PathParameterValues": { + "target": "com.amazonaws.eventbridge#PathParameterList", "traits": { - "smithy.api#documentation": "

                            The query string keys/values that need to be sent as part of request invoking the API\n Gateway REST API.

                            " + "smithy.api#documentation": "

                            The path parameter values to be used to populate API Gateway REST API path wildcards\n (\"*\").

                            " } }, "HeaderParameters": { @@ -1854,10 +1879,10 @@ "smithy.api#documentation": "

                            The headers that need to be sent as part of request invoking the API Gateway REST\n API.

                            " } }, - "PathParameterValues": { - "target": "com.amazonaws.eventbridge#PathParameterList", + "QueryStringParameters": { + "target": "com.amazonaws.eventbridge#QueryStringParametersMap", "traits": { - "smithy.api#documentation": "

                            The path parameter values to be used to populate API Gateway REST API path wildcards\n (\"*\").

                            " + "smithy.api#documentation": "

                            The query string keys/values that need to be sent as part of request invoking the API\n Gateway REST API.

                            " } } }, @@ -1880,18 +1905,18 @@ "com.amazonaws.eventbridge#InputTransformer": { "type": "structure", "members": { + "InputPathsMap": { + "target": "com.amazonaws.eventbridge#TransformerPaths", + "traits": { + "smithy.api#documentation": "

                            Map of JSON paths to be extracted from the event. You can then insert these in the\n template in InputTemplate to produce the output you want to be sent to the\n target.

                            \n

                            \n InputPathsMap is an array key-value pairs, where each value is a valid\n JSON path. You can have as many as 10 key-value pairs. You must use JSON dot notation,\n not bracket notation.

                            \n

                            The keys cannot start with \"AWS.\"

                            " + } + }, "InputTemplate": { "target": "com.amazonaws.eventbridge#TransformerInput", "traits": { "smithy.api#documentation": "

                            Input template where you specify placeholders that will be filled with the values\n of the keys from InputPathsMap to customize the data sent to the target.\n Enclose each InputPathsMaps value in brackets:\n <value> The InputTemplate must be valid JSON.

                            \n\n

                            If InputTemplate is a JSON object (surrounded by curly braces), the\n following restrictions apply:

                            \n
                              \n
                            • \n

                              The placeholder cannot be used as an object key.

                              \n
                            • \n
                            • \n

                              Object values cannot include quote marks.

                              \n
                            • \n
                            \n

                            The following example shows the syntax for using InputPathsMap and\n InputTemplate.

                            \n

                            \n \"InputTransformer\":\n

                            \n

                            \n {\n

                            \n

                            \n \"InputPathsMap\": {\"instance\": \"$.detail.instance\",\"status\":\n \"$.detail.status\"},\n

                            \n

                            \n \"InputTemplate\": \" is in state\n \"\n

                            \n

                            \n }\n

                            \n

                            To have the InputTemplate include quote marks within a JSON string,\n escape each quote marks with a slash, as in the following example:

                            \n

                            \n \"InputTransformer\":\n

                            \n

                            \n {\n

                            \n

                            \n \"InputPathsMap\": {\"instance\": \"$.detail.instance\",\"status\":\n \"$.detail.status\"},\n

                            \n

                            \n \"InputTemplate\": \" is in state\n \\\"\\\"\"\n

                            \n

                            \n }\n

                            ", "smithy.api#required": {} } - }, - "InputPathsMap": { - "target": "com.amazonaws.eventbridge#TransformerPaths", - "traits": { - "smithy.api#documentation": "

                            Map of JSON paths to be extracted from the event. You can then insert these in the\n template in InputTemplate to produce the output you want to be sent to the\n target.

                            \n

                            \n InputPathsMap is an array key-value pairs, where each value is a valid\n JSON path. You can have as many as 10 key-value pairs. You must use JSON dot notation,\n not bracket notation.

                            \n

                            The keys cannot start with \"AWS.\"

                            " - } } }, "traits": { @@ -2031,6 +2056,18 @@ "com.amazonaws.eventbridge#ListArchivesRequest": { "type": "structure", "members": { + "NamePrefix": { + "target": "com.amazonaws.eventbridge#ArchiveName", + "traits": { + "smithy.api#documentation": "

                            A name prefix to filter the archives returned. Only archives with name that match the\n prefix are returned.

                            " + } + }, + "EventSourceArn": { + "target": "com.amazonaws.eventbridge#Arn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the event source associated with the archive.

                            " + } + }, "State": { "target": "com.amazonaws.eventbridge#ArchiveState", "traits": { @@ -2043,23 +2080,11 @@ "smithy.api#documentation": "

                            The token returned by a previous call to retrieve the next set of results.

                            " } }, - "EventSourceArn": { - "target": "com.amazonaws.eventbridge#Arn", - "traits": { - "smithy.api#documentation": "

                            The ARN of the event source associated with the archive.

                            " - } - }, "Limit": { "target": "com.amazonaws.eventbridge#LimitMax100", "traits": { "smithy.api#documentation": "

                            The maximum number of results to return.

                            " } - }, - "NamePrefix": { - "target": "com.amazonaws.eventbridge#ArchiveName", - "traits": { - "smithy.api#documentation": "

                            A name prefix to filter the archives returned. Only archives with name that match the\n prefix are returned.

                            " - } } } }, @@ -2106,17 +2131,17 @@ "smithy.api#documentation": "

                            Specifying this limits the results to only those event buses with names that start\n with the specified prefix.

                            " } }, - "Limit": { - "target": "com.amazonaws.eventbridge#LimitMax100", - "traits": { - "smithy.api#documentation": "

                            Specifying this limits the number of results returned by this operation. The operation\n also returns a NextToken which you can use in a subsequent operation to retrieve the\n next set of results.

                            " - } - }, "NextToken": { "target": "com.amazonaws.eventbridge#NextToken", "traits": { "smithy.api#documentation": "

                            The token returned by a previous call to retrieve the next set of results.

                            " } + }, + "Limit": { + "target": "com.amazonaws.eventbridge#LimitMax100", + "traits": { + "smithy.api#documentation": "

                            Specifying this limits the number of results returned by this operation. The operation\n also returns a NextToken which you can use in a subsequent operation to retrieve the\n next set of results.

                            " + } } } }, @@ -2160,12 +2185,6 @@ "com.amazonaws.eventbridge#ListEventSourcesRequest": { "type": "structure", "members": { - "Limit": { - "target": "com.amazonaws.eventbridge#LimitMax100", - "traits": { - "smithy.api#documentation": "

                            Specifying this limits the number of results returned by this operation. The operation\n also returns a NextToken which you can use in a subsequent operation to retrieve the\n next set of results.

                            " - } - }, "NamePrefix": { "target": "com.amazonaws.eventbridge#EventSourceNamePrefix", "traits": { @@ -2177,23 +2196,29 @@ "traits": { "smithy.api#documentation": "

                            The token returned by a previous call to retrieve the next set of results.

                            " } + }, + "Limit": { + "target": "com.amazonaws.eventbridge#LimitMax100", + "traits": { + "smithy.api#documentation": "

                            Specifying this limits the number of results returned by this operation. The operation\n also returns a NextToken which you can use in a subsequent operation to retrieve the\n next set of results.

                            " + } } } }, "com.amazonaws.eventbridge#ListEventSourcesResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.eventbridge#NextToken", - "traits": { - "smithy.api#documentation": "

                            A token you can use in a subsequent operation to retrieve the next set of\n results.

                            " - } - }, "EventSources": { "target": "com.amazonaws.eventbridge#EventSourceList", "traits": { "smithy.api#documentation": "

                            The list of event sources.

                            " } + }, + "NextToken": { + "target": "com.amazonaws.eventbridge#NextToken", + "traits": { + "smithy.api#documentation": "

                            A token you can use in a subsequent operation to retrieve the next set of\n results.

                            " + } } } }, @@ -2223,10 +2248,11 @@ "com.amazonaws.eventbridge#ListPartnerEventSourceAccountsRequest": { "type": "structure", "members": { - "Limit": { - "target": "com.amazonaws.eventbridge#LimitMax100", + "EventSourceName": { + "target": "com.amazonaws.eventbridge#EventSourceName", "traits": { - "smithy.api#documentation": "

                            Specifying this limits the number of results returned by this operation. The operation\n also returns a NextToken which you can use in a subsequent operation to retrieve the\n next set of results.

                            " + "smithy.api#documentation": "

                            The name of the partner event source to display account information about.

                            ", + "smithy.api#required": {} } }, "NextToken": { @@ -2235,11 +2261,10 @@ "smithy.api#documentation": "

                            The token returned by a previous call to this operation. Specifying this retrieves the\n next set of results.

                            " } }, - "EventSourceName": { - "target": "com.amazonaws.eventbridge#EventSourceName", + "Limit": { + "target": "com.amazonaws.eventbridge#LimitMax100", "traits": { - "smithy.api#documentation": "

                            The name of the partner event source to display account information about.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            Specifying this limits the number of results returned by this operation. The operation\n also returns a NextToken which you can use in a subsequent operation to retrieve the\n next set of results.

                            " } } } @@ -2247,17 +2272,17 @@ "com.amazonaws.eventbridge#ListPartnerEventSourceAccountsResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.eventbridge#NextToken", - "traits": { - "smithy.api#documentation": "

                            A token you can use in a subsequent operation to retrieve the next set of\n results.

                            " - } - }, "PartnerEventSourceAccounts": { "target": "com.amazonaws.eventbridge#PartnerEventSourceAccountList", "traits": { "smithy.api#documentation": "

                            The list of partner event sources returned by the operation.

                            " } + }, + "NextToken": { + "target": "com.amazonaws.eventbridge#NextToken", + "traits": { + "smithy.api#documentation": "

                            A token you can use in a subsequent operation to retrieve the next set of\n results.

                            " + } } } }, @@ -2284,12 +2309,6 @@ "com.amazonaws.eventbridge#ListPartnerEventSourcesRequest": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.eventbridge#NextToken", - "traits": { - "smithy.api#documentation": "

                            The token returned by a previous call to this operation. Specifying this retrieves the\n next set of results.

                            " - } - }, "NamePrefix": { "target": "com.amazonaws.eventbridge#PartnerEventSourceNamePrefix", "traits": { @@ -2297,6 +2316,12 @@ "smithy.api#required": {} } }, + "NextToken": { + "target": "com.amazonaws.eventbridge#NextToken", + "traits": { + "smithy.api#documentation": "

                            The token returned by a previous call to this operation. Specifying this retrieves the\n next set of results.

                            " + } + }, "Limit": { "target": "com.amazonaws.eventbridge#LimitMax100", "traits": { @@ -2345,13 +2370,13 @@ "NamePrefix": { "target": "com.amazonaws.eventbridge#ReplayName", "traits": { - "smithy.api#documentation": "

                            A name prefix to filter the archives returned. Only archives with name that match the\n prefix are returned.

                            " + "smithy.api#documentation": "

                            A name prefix to filter the replays returned. Only replays with name that match the\n prefix are returned.

                            " } }, - "NextToken": { - "target": "com.amazonaws.eventbridge#NextToken", + "State": { + "target": "com.amazonaws.eventbridge#ReplayState", "traits": { - "smithy.api#documentation": "

                            The token returned by a previous call to retrieve the next set of results.

                            " + "smithy.api#documentation": "

                            The state of the replay.

                            " } }, "EventSourceArn": { @@ -2360,16 +2385,16 @@ "smithy.api#documentation": "

                            The ARN of the event source associated with the replay.

                            " } }, - "Limit": { - "target": "com.amazonaws.eventbridge#LimitMax100", + "NextToken": { + "target": "com.amazonaws.eventbridge#NextToken", "traits": { - "smithy.api#documentation": "

                            The maximum number of replays to retrieve.

                            " + "smithy.api#documentation": "

                            The token returned by a previous call to retrieve the next set of results.

                            " } }, - "State": { - "target": "com.amazonaws.eventbridge#ReplayState", + "Limit": { + "target": "com.amazonaws.eventbridge#LimitMax100", "traits": { - "smithy.api#documentation": "

                            The state of the replay.

                            " + "smithy.api#documentation": "

                            The maximum number of replays to retrieve.

                            " } } } @@ -2377,17 +2402,17 @@ "com.amazonaws.eventbridge#ListReplaysResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.eventbridge#NextToken", - "traits": { - "smithy.api#documentation": "

                            The token returned by a previous call to retrieve the next set of results.

                            " - } - }, "Replays": { "target": "com.amazonaws.eventbridge#ReplayList", "traits": { "smithy.api#documentation": "

                            An array of Replay objects that contain information about the\n replay.

                            " } + }, + "NextToken": { + "target": "com.amazonaws.eventbridge#NextToken", + "traits": { + "smithy.api#documentation": "

                            The token returned by a previous call to retrieve the next set of results.

                            " + } } } }, @@ -2414,12 +2439,6 @@ "com.amazonaws.eventbridge#ListRuleNamesByTargetRequest": { "type": "structure", "members": { - "Limit": { - "target": "com.amazonaws.eventbridge#LimitMax100", - "traits": { - "smithy.api#documentation": "

                            The maximum number of results to return.

                            " - } - }, "TargetArn": { "target": "com.amazonaws.eventbridge#TargetArn", "traits": { @@ -2427,16 +2446,22 @@ "smithy.api#required": {} } }, + "EventBusName": { + "target": "com.amazonaws.eventbridge#EventBusNameOrArn", + "traits": { + "smithy.api#documentation": "

                            The name or ARN of the event bus to list rules for. If you omit this, the default event bus is\n used.

                            " + } + }, "NextToken": { "target": "com.amazonaws.eventbridge#NextToken", "traits": { "smithy.api#documentation": "

                            The token returned by a previous call to retrieve the next set of\n results.

                            " } }, - "EventBusName": { - "target": "com.amazonaws.eventbridge#EventBusName", + "Limit": { + "target": "com.amazonaws.eventbridge#LimitMax100", "traits": { - "smithy.api#documentation": "

                            Limits the results to show only the rules associated with the specified event\n bus.

                            " + "smithy.api#documentation": "

                            The maximum number of results to return.

                            " } } } @@ -2481,28 +2506,28 @@ "com.amazonaws.eventbridge#ListRulesRequest": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.eventbridge#NextToken", + "NamePrefix": { + "target": "com.amazonaws.eventbridge#RuleName", "traits": { - "smithy.api#documentation": "

                            The token returned by a previous call to retrieve the next set of\n results.

                            " + "smithy.api#documentation": "

                            The prefix matching the rule name.

                            " } }, - "Limit": { - "target": "com.amazonaws.eventbridge#LimitMax100", + "EventBusName": { + "target": "com.amazonaws.eventbridge#EventBusNameOrArn", "traits": { - "smithy.api#documentation": "

                            The maximum number of results to return.

                            " + "smithy.api#documentation": "

                            The name or ARN of the event bus to list the rules for. If you omit this, the default event bus is\n used.

                            " } }, - "NamePrefix": { - "target": "com.amazonaws.eventbridge#RuleName", + "NextToken": { + "target": "com.amazonaws.eventbridge#NextToken", "traits": { - "smithy.api#documentation": "

                            The prefix matching the rule name.

                            " + "smithy.api#documentation": "

                            The token returned by a previous call to retrieve the next set of\n results.

                            " } }, - "EventBusName": { - "target": "com.amazonaws.eventbridge#EventBusName", + "Limit": { + "target": "com.amazonaws.eventbridge#LimitMax100", "traits": { - "smithy.api#documentation": "

                            Limits the results to show only the rules associated with the specified event\n bus.

                            " + "smithy.api#documentation": "

                            The maximum number of results to return.

                            " } } } @@ -2510,17 +2535,17 @@ "com.amazonaws.eventbridge#ListRulesResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.eventbridge#NextToken", - "traits": { - "smithy.api#documentation": "

                            Indicates whether there are additional results to retrieve. If there are no more\n results, the value is null.

                            " - } - }, "Rules": { "target": "com.amazonaws.eventbridge#RuleResponseList", "traits": { "smithy.api#documentation": "

                            The rules that match the specified criteria.

                            " } + }, + "NextToken": { + "target": "com.amazonaws.eventbridge#NextToken", + "traits": { + "smithy.api#documentation": "

                            Indicates whether there are additional results to retrieve. If there are no more\n results, the value is null.

                            " + } } } }, @@ -2590,10 +2615,17 @@ "com.amazonaws.eventbridge#ListTargetsByRuleRequest": { "type": "structure", "members": { + "Rule": { + "target": "com.amazonaws.eventbridge#RuleName", + "traits": { + "smithy.api#documentation": "

                            The name of the rule.

                            ", + "smithy.api#required": {} + } + }, "EventBusName": { - "target": "com.amazonaws.eventbridge#EventBusName", + "target": "com.amazonaws.eventbridge#EventBusNameOrArn", "traits": { - "smithy.api#documentation": "

                            The event bus associated with the rule. If you omit this, the default event bus is\n used.

                            " + "smithy.api#documentation": "

                            The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is\n used.

                            " } }, "NextToken": { @@ -2607,13 +2639,6 @@ "traits": { "smithy.api#documentation": "

                            The maximum number of results to return.

                            " } - }, - "Rule": { - "target": "com.amazonaws.eventbridge#RuleName", - "traits": { - "smithy.api#documentation": "

                            The name of the rule.

                            ", - "smithy.api#required": {} - } } } }, @@ -2714,6 +2739,16 @@ "smithy.api#pattern": "[\\.\\-_A-Za-z0-9]+" } }, + "com.amazonaws.eventbridge#NonPartnerEventBusNameOrArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1600 + }, + "smithy.api#pattern": "(arn:aws[\\w-]*:events:[a-z]{2}-[a-z]+-[\\w-]+:[0-9]{12}:event-bus\\/)?[\\.\\-_A-Za-z0-9]+" + } + }, "com.amazonaws.eventbridge#OperationDisabledException": { "type": "structure", "members": { @@ -2729,16 +2764,16 @@ "com.amazonaws.eventbridge#PartnerEventSource": { "type": "structure", "members": { - "Name": { + "Arn": { "target": "com.amazonaws.eventbridge#String", "traits": { - "smithy.api#documentation": "

                            The name of the partner event source.

                            " + "smithy.api#documentation": "

                            The ARN of the partner event source.

                            " } }, - "Arn": { + "Name": { "target": "com.amazonaws.eventbridge#String", "traits": { - "smithy.api#documentation": "

                            The ARN of the partner event source.

                            " + "smithy.api#documentation": "

                            The name of the partner event source.

                            " } } }, @@ -2755,10 +2790,10 @@ "smithy.api#documentation": "

                            The AWS account ID that the partner event source was offered to.

                            " } }, - "State": { - "target": "com.amazonaws.eventbridge#EventSourceState", + "CreationTime": { + "target": "com.amazonaws.eventbridge#Timestamp", "traits": { - "smithy.api#documentation": "

                            The state of the event source. If it is ACTIVE, you have already created a matching\n event bus for this event source, and that event bus is active. If it is PENDING, either\n you haven't yet created a matching event bus, or that event bus is deactivated. If it is\n DELETED, you have created a matching event bus, but the event source has since been\n deleted.

                            " + "smithy.api#documentation": "

                            The date and time the event source was created.

                            " } }, "ExpirationTime": { @@ -2767,10 +2802,10 @@ "smithy.api#documentation": "

                            The date and time that the event source will expire, if the AWS account doesn't create\n a matching event bus for it.

                            " } }, - "CreationTime": { - "target": "com.amazonaws.eventbridge#Timestamp", + "State": { + "target": "com.amazonaws.eventbridge#EventSourceState", "traits": { - "smithy.api#documentation": "

                            The date and time the event source was created.

                            " + "smithy.api#documentation": "

                            The state of the event source. If it is ACTIVE, you have already created a matching\n event bus for this event source, and that event bus is active. If it is PENDING, either\n you haven't yet created a matching event bus, or that event bus is deactivated. If it is\n DELETED, you have created a matching event bus, but the event source has since been\n deleted.

                            " } } }, @@ -2866,28 +2901,28 @@ "com.amazonaws.eventbridge#PutEventsRequestEntry": { "type": "structure", "members": { - "Resources": { - "target": "com.amazonaws.eventbridge#EventResourceList", - "traits": { - "smithy.api#documentation": "

                            AWS resources, identified by Amazon Resource Name (ARN), which the event primarily\n concerns. Any number, including zero, may be present.

                            " - } - }, "Time": { "target": "com.amazonaws.eventbridge#EventTime", "traits": { "smithy.api#documentation": "

                            The time stamp of the event, per RFC3339. If no time stamp\n is provided, the time stamp of the PutEvents call is used.

                            " } }, - "EventBusName": { - "target": "com.amazonaws.eventbridge#NonPartnerEventBusName", + "Source": { + "target": "com.amazonaws.eventbridge#String", "traits": { - "smithy.api#documentation": "

                            The event bus that will receive the event. Only the rules that are associated with\n this event bus will be able to match the event.

                            " + "smithy.api#documentation": "

                            The source of the event.

                            " } }, - "Source": { + "Resources": { + "target": "com.amazonaws.eventbridge#EventResourceList", + "traits": { + "smithy.api#documentation": "

                            AWS resources, identified by Amazon Resource Name (ARN), which the event primarily\n concerns. Any number, including zero, may be present.

                            " + } + }, + "DetailType": { "target": "com.amazonaws.eventbridge#String", "traits": { - "smithy.api#documentation": "

                            The source of the event.

                            " + "smithy.api#documentation": "

                            Free-form string used to decide what fields to expect in the event\n detail.

                            " } }, "Detail": { @@ -2896,10 +2931,10 @@ "smithy.api#documentation": "

                            A valid JSON string. There is no other schema imposed. The JSON string may contain\n fields and nested subobjects.

                            " } }, - "DetailType": { - "target": "com.amazonaws.eventbridge#String", + "EventBusName": { + "target": "com.amazonaws.eventbridge#NonPartnerEventBusNameOrArn", "traits": { - "smithy.api#documentation": "

                            Free-form string used to decide what fields to expect in the event\n detail.

                            " + "smithy.api#documentation": "

                            The name or ARN of the event bus to receive the event. Only the rules that are associated with\n this event bus are used to match the event. If you omit this, the default event bus is\n used.

                            " } } }, @@ -2939,12 +2974,6 @@ "com.amazonaws.eventbridge#PutEventsResultEntry": { "type": "structure", "members": { - "ErrorMessage": { - "target": "com.amazonaws.eventbridge#ErrorMessage", - "traits": { - "smithy.api#documentation": "

                            The error message that explains why the event submission failed.

                            " - } - }, "EventId": { "target": "com.amazonaws.eventbridge#EventId", "traits": { @@ -2956,6 +2985,12 @@ "traits": { "smithy.api#documentation": "

                            The error code that indicates why the event submission failed.

                            " } + }, + "ErrorMessage": { + "target": "com.amazonaws.eventbridge#ErrorMessage", + "traits": { + "smithy.api#documentation": "

                            The error message that explains why the event submission failed.

                            " + } } }, "traits": { @@ -3003,16 +3038,10 @@ "com.amazonaws.eventbridge#PutPartnerEventsRequestEntry": { "type": "structure", "members": { - "DetailType": { - "target": "com.amazonaws.eventbridge#String", - "traits": { - "smithy.api#documentation": "

                            A free-form string used to decide what fields to expect in the event detail.

                            " - } - }, - "Detail": { - "target": "com.amazonaws.eventbridge#String", + "Time": { + "target": "com.amazonaws.eventbridge#EventTime", "traits": { - "smithy.api#documentation": "

                            A valid JSON string. There is no other schema imposed. The JSON string may contain\n fields and nested subobjects.

                            " + "smithy.api#documentation": "

                            The date and time of the event.

                            " } }, "Source": { @@ -3027,10 +3056,16 @@ "smithy.api#documentation": "

                            AWS resources, identified by Amazon Resource Name (ARN), which the event primarily\n concerns. Any number, including zero, may be present.

                            " } }, - "Time": { - "target": "com.amazonaws.eventbridge#EventTime", + "DetailType": { + "target": "com.amazonaws.eventbridge#String", "traits": { - "smithy.api#documentation": "

                            The date and time of the event.

                            " + "smithy.api#documentation": "

                            A free-form string used to decide what fields to expect in the event detail.

                            " + } + }, + "Detail": { + "target": "com.amazonaws.eventbridge#String", + "traits": { + "smithy.api#documentation": "

                            A valid JSON string. There is no other schema imposed. The JSON string may contain\n fields and nested subobjects.

                            " } } }, @@ -3070,6 +3105,12 @@ "com.amazonaws.eventbridge#PutPartnerEventsResultEntry": { "type": "structure", "members": { + "EventId": { + "target": "com.amazonaws.eventbridge#EventId", + "traits": { + "smithy.api#documentation": "

                            The ID of the event.

                            " + } + }, "ErrorCode": { "target": "com.amazonaws.eventbridge#ErrorCode", "traits": { @@ -3081,12 +3122,6 @@ "traits": { "smithy.api#documentation": "

                            The error message that explains why the event submission failed.

                            " } - }, - "EventId": { - "target": "com.amazonaws.eventbridge#EventId", - "traits": { - "smithy.api#documentation": "

                            The ID of the event.

                            " - } } }, "traits": { @@ -3111,6 +3146,9 @@ { "target": "com.amazonaws.eventbridge#InternalException" }, + { + "target": "com.amazonaws.eventbridge#OperationDisabledException" + }, { "target": "com.amazonaws.eventbridge#PolicyLengthExceededException" }, @@ -3128,34 +3166,37 @@ "EventBusName": { "target": "com.amazonaws.eventbridge#NonPartnerEventBusName", "traits": { - "smithy.api#documentation": "

                            The event bus associated with the rule. If you omit this, the default event bus is\n used.

                            " + "smithy.api#documentation": "

                            The name of the event bus associated with the rule. If you omit this, the default event bus is\n used.

                            " } }, "Action": { "target": "com.amazonaws.eventbridge#Action", "traits": { - "smithy.api#documentation": "

                            The action that you are enabling the other account to perform. Currently, this must\n be events:PutEvents.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The action that you are enabling the other account to perform. Currently, this must\n be events:PutEvents.

                            " } }, - "Condition": { - "target": "com.amazonaws.eventbridge#Condition", + "Principal": { + "target": "com.amazonaws.eventbridge#Principal", "traits": { - "smithy.api#documentation": "

                            This parameter enables you to limit the permission to accounts that fulfill a certain\n condition, such as being a member of a certain AWS organization. For more information\n about AWS Organizations, see What Is AWS\n Organizations in the AWS Organizations User\n Guide.

                            \n

                            If you specify Condition with an AWS organization ID, and specify \"*\" as\n the value for Principal, you grant permission to all the accounts in the\n named organization.

                            \n\n

                            The Condition is a JSON string which must contain Type,\n Key, and Value fields.

                            " + "smithy.api#documentation": "

                            The 12-digit AWS account ID that you are permitting to put events to your default\n event bus. Specify \"*\" to permit any account to put events to your default event\n bus.

                            \n\n

                            If you specify \"*\" without specifying Condition, avoid creating rules\n that may match undesirable events. To create more secure rules, make sure that the event\n pattern for each rule contains an account field with a specific account ID\n from which to receive events. Rules with an account field do not match any events sent\n from other accounts.

                            " } }, "StatementId": { "target": "com.amazonaws.eventbridge#StatementId", "traits": { - "smithy.api#documentation": "

                            An identifier string for the external account that you are granting permissions to.\n If you later want to revoke the permission for this external account, specify this\n StatementId when you run RemovePermission.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            An identifier string for the external account that you are granting permissions to.\n If you later want to revoke the permission for this external account, specify this\n StatementId when you run RemovePermission.

                            " } }, - "Principal": { - "target": "com.amazonaws.eventbridge#Principal", + "Condition": { + "target": "com.amazonaws.eventbridge#Condition", "traits": { - "smithy.api#documentation": "

                            The 12-digit AWS account ID that you are permitting to put events to your default\n event bus. Specify \"*\" to permit any account to put events to your default event\n bus.

                            \n\n

                            If you specify \"*\" without specifying Condition, avoid creating rules\n that may match undesirable events. To create more secure rules, make sure that the event\n pattern for each rule contains an account field with a specific account ID\n from which to receive events. Rules with an account field do not match any events sent\n from other accounts.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            This parameter enables you to limit the permission to accounts that fulfill a certain\n condition, such as being a member of a certain AWS organization. For more information\n about AWS Organizations, see What Is AWS\n Organizations in the AWS Organizations User\n Guide.

                            \n

                            If you specify Condition with an AWS organization ID, and specify \"*\" as\n the value for Principal, you grant permission to all the accounts in the\n named organization.

                            \n\n

                            The Condition is a JSON string which must contain Type,\n Key, and Value fields.

                            " + } + }, + "Policy": { + "target": "com.amazonaws.eventbridge#String", + "traits": { + "smithy.api#documentation": "

                            A JSON string that describes the permission policy statement. You can include a Policy parameter \n in the request instead of using the StatementId, Action, Principal, or Condition parameters.

                            " } } } @@ -3195,10 +3236,11 @@ "com.amazonaws.eventbridge#PutRuleRequest": { "type": "structure", "members": { - "EventPattern": { - "target": "com.amazonaws.eventbridge#EventPattern", + "Name": { + "target": "com.amazonaws.eventbridge#RuleName", "traits": { - "smithy.api#documentation": "

                            The event pattern. For more information, see Events and\n Event Patterns in the Amazon EventBridge User\n Guide.

                            " + "smithy.api#documentation": "

                            The name of the rule that you are creating or updating.

                            ", + "smithy.api#required": {} } }, "ScheduleExpression": { @@ -3207,41 +3249,40 @@ "smithy.api#documentation": "

                            The scheduling expression. For example, \"cron(0 20 * * ? *)\" or \"rate(5\n minutes)\".

                            " } }, - "EventBusName": { - "target": "com.amazonaws.eventbridge#EventBusName", + "EventPattern": { + "target": "com.amazonaws.eventbridge#EventPattern", "traits": { - "smithy.api#documentation": "

                            The event bus to associate with this rule. If you omit this, the default event bus is\n used.

                            " + "smithy.api#documentation": "

                            The event pattern. For more information, see Events and\n Event Patterns in the Amazon EventBridge User\n Guide.

                            " } }, - "Tags": { - "target": "com.amazonaws.eventbridge#TagList", + "State": { + "target": "com.amazonaws.eventbridge#RuleState", "traits": { - "smithy.api#documentation": "

                            The list of key-value pairs to associate with the rule.

                            " + "smithy.api#documentation": "

                            Indicates whether the rule is enabled or disabled.

                            " } }, - "RoleArn": { - "target": "com.amazonaws.eventbridge#RoleArn", + "Description": { + "target": "com.amazonaws.eventbridge#RuleDescription", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the IAM role associated with the rule.

                            " + "smithy.api#documentation": "

                            A description of the rule.

                            " } }, - "Name": { - "target": "com.amazonaws.eventbridge#RuleName", + "RoleArn": { + "target": "com.amazonaws.eventbridge#RoleArn", "traits": { - "smithy.api#documentation": "

                            The name of the rule that you are creating or updating.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the IAM role associated with the rule.

                            " } }, - "Description": { - "target": "com.amazonaws.eventbridge#RuleDescription", + "Tags": { + "target": "com.amazonaws.eventbridge#TagList", "traits": { - "smithy.api#documentation": "

                            A description of the rule.

                            " + "smithy.api#documentation": "

                            The list of key-value pairs to associate with the rule.

                            " } }, - "State": { - "target": "com.amazonaws.eventbridge#RuleState", + "EventBusName": { + "target": "com.amazonaws.eventbridge#EventBusNameOrArn", "traits": { - "smithy.api#documentation": "

                            Indicates whether the rule is enabled or disabled.

                            " + "smithy.api#documentation": "

                            The name or ARN of the event bus to associate with this rule. If you omit this, the default event bus is\n used.

                            " } } } @@ -3283,29 +3324,29 @@ } ], "traits": { - "smithy.api#documentation": "

                            Adds the specified targets to the specified rule, or updates the targets if they\n are already associated with the rule.

                            \n

                            Targets are the resources that are invoked when a rule is triggered.

                            \n

                            You can configure the following as targets for Events:

                            \n\n
                              \n
                            • \n

                              EC2 instances

                              \n
                            • \n
                            • \n

                              SSM Run Command

                              \n
                            • \n
                            • \n

                              SSM Automation

                              \n
                            • \n
                            • \n

                              AWS Lambda functions

                              \n
                            • \n
                            • \n

                              Data streams in Amazon Kinesis Data Streams

                              \n
                            • \n
                            • \n

                              Data delivery streams in Amazon Kinesis Data Firehose

                              \n
                            • \n
                            • \n

                              Amazon ECS tasks

                              \n
                            • \n
                            • \n

                              AWS Step Functions state machines

                              \n
                            • \n
                            • \n

                              AWS Batch jobs

                              \n
                            • \n
                            • \n

                              AWS CodeBuild projects

                              \n
                            • \n
                            • \n

                              Pipelines in AWS CodePipeline

                              \n
                            • \n
                            • \n

                              Amazon Inspector assessment templates

                              \n
                            • \n
                            • \n

                              Amazon SNS topics

                              \n
                            • \n
                            • \n

                              Amazon SQS queues, including FIFO queues

                              \n
                            • \n
                            • \n

                              The default event bus of another AWS account

                              \n
                            • \n
                            • \n

                              Amazon API Gateway REST APIs

                              \n
                            • \n
                            • \n

                              Redshift Clusters to invoke Data API ExecuteStatement on

                              \n
                            • \n
                            \n\n\n\n

                            Creating rules with built-in targets is supported only in the AWS Management\n Console. The built-in targets are EC2 CreateSnapshot API call, EC2\n RebootInstances API call, EC2 StopInstances API call, and\n EC2 TerminateInstances API call.

                            \n\n

                            For some target types, PutTargets provides target-specific parameters.\n If the target is a Kinesis data stream, you can optionally specify which shard the event\n goes to by using the KinesisParameters argument. To invoke a command on\n multiple EC2 instances with one rule, you can use the RunCommandParameters\n field.

                            \n

                            To be able to make API calls against the resources that you own, Amazon EventBridge\n (CloudWatch Events) needs the appropriate permissions. For AWS Lambda and Amazon SNS\n resources, EventBridge relies on resource-based policies. For EC2 instances, Kinesis\n data streams, AWS Step Functions state machines and API Gateway REST APIs, EventBridge\n relies on IAM roles that you specify in the RoleARN argument in\n PutTargets. For more information, see Authentication and Access Control in the Amazon EventBridge User\n Guide.

                            \n\n

                            If another AWS account is in the same region and has granted you permission (using\n PutPermission), you can send events to that account. Set that account's\n event bus as a target of the rules in your account. To send the matched events to the\n other account, specify that account's event bus as the Arn value when you\n run PutTargets. If your account sends events to another account, your\n account is charged for each sent event. Each event sent to another account is charged as\n a custom event. The account receiving the event is not charged. For more information,\n see Amazon EventBridge\n (CloudWatch Events) Pricing.

                            \n\n \n

                            \n Input, InputPath, and InputTransformer are\n not available with PutTarget if the target is an event bus of a\n different AWS account.

                            \n
                            \n\n

                            If you are setting the event bus of another account as the target, and that account\n granted permission to your account through an organization instead of directly by the\n account ID, then you must specify a RoleArn with proper permissions in the\n Target structure. For more information, see Sending and Receiving Events Between AWS Accounts in the Amazon\n EventBridge User Guide.

                            \n\n

                            For more information about enabling cross-account events, see PutPermission.

                            \n\n

                            \n Input, InputPath, and\n InputTransformer are mutually exclusive and\n optional parameters of a target. When a rule is triggered due to a matched\n event:

                            \n\n
                              \n
                            • \n

                              If none of the following arguments are specified for a target, then the\n entire event is passed to the target in JSON format (unless the target is Amazon\n EC2 Run Command or Amazon ECS task, in which case nothing from the event is\n passed to the target).

                              \n
                            • \n
                            • \n

                              If Input is specified in the form of valid\n JSON, then the matched event is overridden with this constant.

                              \n
                            • \n
                            • \n

                              If InputPath is specified in the form of\n JSONPath (for example, $.detail), then only the part of the event\n specified in the path is passed to the target (for example, only the detail part\n of the event is passed).

                              \n
                            • \n
                            • \n

                              If InputTransformer is specified, then one\n or more specified JSONPaths are extracted from the event and used as values in a\n template that you specify as the input to the target.

                              \n
                            • \n
                            \n\n

                            When you specify InputPath or InputTransformer, you must\n use JSON dot notation, not bracket notation.

                            \n\n

                            When you add targets to a rule and the associated rule triggers soon after, new or\n updated targets might not be immediately invoked. Allow a short period of time for\n changes to take effect.

                            \n\n

                            This action can partially fail if too many requests are made at the same time. If\n that happens, FailedEntryCount is non-zero in the response and each entry\n in FailedEntries provides the ID of the failed target and the error\n code.

                            " + "smithy.api#documentation": "

                            Adds the specified targets to the specified rule, or updates the targets if they\n are already associated with the rule.

                            \n

                            Targets are the resources that are invoked when a rule is triggered.

                            \n

                            You can configure the following as targets for Events:

                            \n\n
                              \n
                            • \n

                              EC2 instances

                              \n
                            • \n
                            • \n

                              SSM Run Command

                              \n
                            • \n
                            • \n

                              SSM Automation

                              \n
                            • \n
                            • \n

                              AWS Lambda functions

                              \n
                            • \n
                            • \n

                              Data streams in Amazon Kinesis Data Streams

                              \n
                            • \n
                            • \n

                              Data delivery streams in Amazon Kinesis Data Firehose

                              \n
                            • \n
                            • \n

                              Amazon ECS tasks

                              \n
                            • \n
                            • \n

                              AWS Step Functions state machines

                              \n
                            • \n
                            • \n

                              AWS Batch jobs

                              \n
                            • \n
                            • \n

                              AWS CodeBuild projects

                              \n
                            • \n
                            • \n

                              Pipelines in AWS CodePipeline

                              \n
                            • \n
                            • \n

                              Amazon Inspector assessment templates

                              \n
                            • \n
                            • \n

                              Amazon SNS topics

                              \n
                            • \n
                            • \n

                              Amazon SQS queues, including FIFO queues

                              \n
                            • \n
                            • \n

                              The default event bus of another AWS account

                              \n
                            • \n
                            • \n

                              Amazon API Gateway REST APIs

                              \n
                            • \n
                            • \n

                              Redshift Clusters to invoke Data API ExecuteStatement on

                              \n
                            • \n
                            \n\n\n\n

                            Creating rules with built-in targets is supported only in the AWS Management\n Console. The built-in targets are EC2 CreateSnapshot API call, EC2\n RebootInstances API call, EC2 StopInstances API call, and\n EC2 TerminateInstances API call.

                            \n\n

                            For some target types, PutTargets provides target-specific parameters.\n If the target is a Kinesis data stream, you can optionally specify which shard the event\n goes to by using the KinesisParameters argument. To invoke a command on\n multiple EC2 instances with one rule, you can use the RunCommandParameters\n field.

                            \n\n

                            To be able to make API calls against the resources that you own, Amazon EventBridge \n (CloudWatch Events) needs the appropriate permissions. For AWS Lambda and Amazon SNS resources,\n EventBridge relies on resource-based policies. For EC2 instances, Kinesis data\n streams, AWS Step Functions state machines and API Gateway REST APIs, EventBridge relies on IAM roles\n that you specify in the RoleARN argument in PutTargets. For more information, \n see Authentication and Access Control in the Amazon EventBridge User\n Guide.

                            \n\n

                            If another AWS account is in the same region and has granted you permission (using\n PutPermission), you can send events to that account. Set that account's\n event bus as a target of the rules in your account. To send the matched events to the\n other account, specify that account's event bus as the Arn value when you\n run PutTargets. If your account sends events to another account, your\n account is charged for each sent event. Each event sent to another account is charged as\n a custom event. The account receiving the event is not charged. For more information,\n see Amazon EventBridge (CloudWatch Events)\n Pricing.

                            \n\n \n

                            \n Input, InputPath, and InputTransformer are\n not available with PutTarget if the target is an event bus of a\n different AWS account.

                            \n
                            \n\n

                            If you are setting the event bus of another account as the target, and that account\n granted permission to your account through an organization instead of directly by the\n account ID, then you must specify a RoleArn with proper permissions in the\n Target structure. For more information, see Sending and Receiving Events Between AWS Accounts in the Amazon\n EventBridge User Guide.

                            \n\n

                            For more information about enabling cross-account events, see PutPermission.

                            \n\n

                            \n Input, InputPath, and\n InputTransformer are mutually exclusive and\n optional parameters of a target. When a rule is triggered due to a matched\n event:

                            \n\n
                              \n
                            • \n

                              If none of the following arguments are specified for a target, then the\n entire event is passed to the target in JSON format (unless the target is Amazon\n EC2 Run Command or Amazon ECS task, in which case nothing from the event is\n passed to the target).

                              \n
                            • \n
                            • \n

                              If Input is specified in the form of valid\n JSON, then the matched event is overridden with this constant.

                              \n
                            • \n
                            • \n

                              If InputPath is specified in the form of\n JSONPath (for example, $.detail), then only the part of the event\n specified in the path is passed to the target (for example, only the detail part\n of the event is passed).

                              \n
                            • \n
                            • \n

                              If InputTransformer is specified, then one\n or more specified JSONPaths are extracted from the event and used as values in a\n template that you specify as the input to the target.

                              \n
                            • \n
                            \n\n

                            When you specify InputPath or InputTransformer, you must\n use JSON dot notation, not bracket notation.

                            \n\n

                            When you add targets to a rule and the associated rule triggers soon after, new or\n updated targets might not be immediately invoked. Allow a short period of time for\n changes to take effect.

                            \n\n

                            This action can partially fail if too many requests are made at the same time. If\n that happens, FailedEntryCount is non-zero in the response and each entry\n in FailedEntries provides the ID of the failed target and the error\n code.

                            " } }, "com.amazonaws.eventbridge#PutTargetsRequest": { "type": "structure", "members": { - "Targets": { - "target": "com.amazonaws.eventbridge#TargetList", + "Rule": { + "target": "com.amazonaws.eventbridge#RuleName", "traits": { - "smithy.api#documentation": "

                            The targets to update or add to the rule.

                            ", + "smithy.api#documentation": "

                            The name of the rule.

                            ", "smithy.api#required": {} } }, "EventBusName": { - "target": "com.amazonaws.eventbridge#EventBusName", + "target": "com.amazonaws.eventbridge#EventBusNameOrArn", "traits": { - "smithy.api#documentation": "

                            The name of the event bus associated with the rule. If you omit this, the default\n event bus is used.

                            " + "smithy.api#documentation": "

                            The name or ARN of the event bus associated with the rule. If you omit this, the default\n event bus is used.

                            " } }, - "Rule": { - "target": "com.amazonaws.eventbridge#RuleName", + "Targets": { + "target": "com.amazonaws.eventbridge#TargetList", "traits": { - "smithy.api#documentation": "

                            The name of the rule.

                            ", + "smithy.api#documentation": "

                            The targets to update or add to the rule.

                            ", "smithy.api#required": {} } } @@ -3331,12 +3372,6 @@ "com.amazonaws.eventbridge#PutTargetsResultEntry": { "type": "structure", "members": { - "ErrorMessage": { - "target": "com.amazonaws.eventbridge#ErrorMessage", - "traits": { - "smithy.api#documentation": "

                            The error message that explains why the target addition failed.

                            " - } - }, "TargetId": { "target": "com.amazonaws.eventbridge#TargetId", "traits": { @@ -3348,6 +3383,12 @@ "traits": { "smithy.api#documentation": "

                            The error code that indicates why the target addition failed. If the value is\n ConcurrentModificationException, too many requests were made at the\n same time.

                            " } + }, + "ErrorMessage": { + "target": "com.amazonaws.eventbridge#ErrorMessage", + "traits": { + "smithy.api#documentation": "

                            The error message that explains why the target addition failed.

                            " + } } }, "traits": { @@ -3392,16 +3433,16 @@ "com.amazonaws.eventbridge#RedshiftDataParameters": { "type": "structure", "members": { - "StatementName": { - "target": "com.amazonaws.eventbridge#StatementName", + "SecretManagerArn": { + "target": "com.amazonaws.eventbridge#RedshiftSecretManagerArn", "traits": { - "smithy.api#documentation": "

                            The name of the SQL statement. You can name the SQL statement when you create it to\n identify the query.

                            " + "smithy.api#documentation": "

                            The name or ARN of the secret that enables access to the database. Required when\n authenticating using AWS Secrets Manager.

                            " } }, - "Sql": { - "target": "com.amazonaws.eventbridge#Sql", + "Database": { + "target": "com.amazonaws.eventbridge#Database", "traits": { - "smithy.api#documentation": "

                            The SQL statement text to run.

                            ", + "smithy.api#documentation": "

                            The name of the database. Required when authenticating using temporary\n credentials.

                            ", "smithy.api#required": {} } }, @@ -3411,23 +3452,23 @@ "smithy.api#documentation": "

                            The database user name. Required when authenticating using temporary\n credentials.

                            " } }, - "WithEvent": { - "target": "com.amazonaws.eventbridge#Boolean", + "Sql": { + "target": "com.amazonaws.eventbridge#Sql", "traits": { - "smithy.api#documentation": "

                            Indicates whether to send an event back to EventBridge after the SQL statement\n runs.

                            " + "smithy.api#documentation": "

                            The SQL statement text to run.

                            ", + "smithy.api#required": {} } }, - "Database": { - "target": "com.amazonaws.eventbridge#Database", + "StatementName": { + "target": "com.amazonaws.eventbridge#StatementName", "traits": { - "smithy.api#documentation": "

                            The name of the database. Required when authenticating using temporary\n credentials.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The name of the SQL statement. You can name the SQL statement when you create it to\n identify the query.

                            " } }, - "SecretManagerArn": { - "target": "com.amazonaws.eventbridge#RedshiftSecretManagerArn", + "WithEvent": { + "target": "com.amazonaws.eventbridge#Boolean", "traits": { - "smithy.api#documentation": "

                            The name or ARN of the secret that enables access to the database. Required when\n authenticating using AWS Secrets Manager.

                            " + "smithy.api#documentation": "

                            Indicates whether to send an event back to EventBridge after the SQL statement\n runs.

                            " } } }, @@ -3457,6 +3498,9 @@ { "target": "com.amazonaws.eventbridge#InternalException" }, + { + "target": "com.amazonaws.eventbridge#OperationDisabledException" + }, { "target": "com.amazonaws.eventbridge#ResourceNotFoundException" } @@ -3471,8 +3515,13 @@ "StatementId": { "target": "com.amazonaws.eventbridge#StatementId", "traits": { - "smithy.api#documentation": "

                            The statement ID corresponding to the account that is no longer allowed to put\n events to the default event bus.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The statement ID corresponding to the account that is no longer allowed to put\n events to the default event bus.

                            " + } + }, + "RemoveAllPermissions": { + "target": "com.amazonaws.eventbridge#Boolean", + "traits": { + "smithy.api#documentation": "

                            Specifies whether to remove all permissions.

                            " } }, "EventBusName": { @@ -3512,12 +3561,6 @@ "com.amazonaws.eventbridge#RemoveTargetsRequest": { "type": "structure", "members": { - "Force": { - "target": "com.amazonaws.eventbridge#Boolean", - "traits": { - "smithy.api#documentation": "

                            If this is a managed rule, created by an AWS service on your behalf, you must specify\n Force as True to remove targets. This parameter is ignored\n for rules that are not managed rules. You can check whether a rule is a managed rule by\n using DescribeRule or ListRules and checking the\n ManagedBy field of the response.

                            " - } - }, "Rule": { "target": "com.amazonaws.eventbridge#RuleName", "traits": { @@ -3526,9 +3569,9 @@ } }, "EventBusName": { - "target": "com.amazonaws.eventbridge#EventBusName", + "target": "com.amazonaws.eventbridge#EventBusNameOrArn", "traits": { - "smithy.api#documentation": "

                            The name of the event bus associated with the rule.

                            " + "smithy.api#documentation": "

                            The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is\n used.

                            " } }, "Ids": { @@ -3537,35 +3580,35 @@ "smithy.api#documentation": "

                            The IDs of the targets to remove from the rule.

                            ", "smithy.api#required": {} } + }, + "Force": { + "target": "com.amazonaws.eventbridge#Boolean", + "traits": { + "smithy.api#documentation": "

                            If this is a managed rule, created by an AWS service on your behalf, you must specify\n Force as True to remove targets. This parameter is ignored\n for rules that are not managed rules. You can check whether a rule is a managed rule by\n using DescribeRule or ListRules and checking the\n ManagedBy field of the response.

                            " + } } } }, "com.amazonaws.eventbridge#RemoveTargetsResponse": { "type": "structure", "members": { - "FailedEntries": { - "target": "com.amazonaws.eventbridge#RemoveTargetsResultEntryList", - "traits": { - "smithy.api#documentation": "

                            The failed target entries.

                            " - } - }, "FailedEntryCount": { "target": "com.amazonaws.eventbridge#Integer", "traits": { "smithy.api#documentation": "

                            The number of failed entries.

                            " } + }, + "FailedEntries": { + "target": "com.amazonaws.eventbridge#RemoveTargetsResultEntryList", + "traits": { + "smithy.api#documentation": "

                            The failed target entries.

                            " + } } } }, "com.amazonaws.eventbridge#RemoveTargetsResultEntry": { "type": "structure", "members": { - "ErrorMessage": { - "target": "com.amazonaws.eventbridge#ErrorMessage", - "traits": { - "smithy.api#documentation": "

                            The error message that explains why the target removal failed.

                            " - } - }, "TargetId": { "target": "com.amazonaws.eventbridge#TargetId", "traits": { @@ -3577,6 +3620,12 @@ "traits": { "smithy.api#documentation": "

                            The error code that indicates why the target removal failed. If the value is\n ConcurrentModificationException, too many requests were made at the\n same time.

                            " } + }, + "ErrorMessage": { + "target": "com.amazonaws.eventbridge#ErrorMessage", + "traits": { + "smithy.api#documentation": "

                            The error message that explains why the target removal failed.

                            " + } } }, "traits": { @@ -3592,22 +3641,16 @@ "com.amazonaws.eventbridge#Replay": { "type": "structure", "members": { - "EventLastReplayedTime": { - "target": "com.amazonaws.eventbridge#Timestamp", - "traits": { - "smithy.api#documentation": "

                            A time stamp for the time that the last event was replayed.

                            " - } - }, - "ReplayStartTime": { - "target": "com.amazonaws.eventbridge#Timestamp", + "ReplayName": { + "target": "com.amazonaws.eventbridge#ReplayName", "traits": { - "smithy.api#documentation": "

                            A time stamp for the time that the replay started.

                            " + "smithy.api#documentation": "

                            The name of the replay.

                            " } }, - "StateReason": { - "target": "com.amazonaws.eventbridge#ReplayStateReason", + "EventSourceArn": { + "target": "com.amazonaws.eventbridge#Arn", "traits": { - "smithy.api#documentation": "

                            A description of why the replay is in the current state.

                            " + "smithy.api#documentation": "

                            The ARN of the archive to replay event from.

                            " } }, "State": { @@ -3616,34 +3659,40 @@ "smithy.api#documentation": "

                            The current state of the replay.

                            " } }, + "StateReason": { + "target": "com.amazonaws.eventbridge#ReplayStateReason", + "traits": { + "smithy.api#documentation": "

                            A description of why the replay is in the current state.

                            " + } + }, "EventStartTime": { "target": "com.amazonaws.eventbridge#Timestamp", "traits": { "smithy.api#documentation": "

                            A time stamp for the time to start replaying events. This is determined by the time in\n the event as described in Time.

                            " } }, - "ReplayEndTime": { + "EventEndTime": { "target": "com.amazonaws.eventbridge#Timestamp", "traits": { - "smithy.api#documentation": "

                            A time stamp for the time that the replay completed.

                            " + "smithy.api#documentation": "

                            A time stamp for the time to start replaying events. Any event with a creation time\n prior to the EventEndTime specified is replayed.

                            " } }, - "ReplayName": { - "target": "com.amazonaws.eventbridge#ReplayName", + "EventLastReplayedTime": { + "target": "com.amazonaws.eventbridge#Timestamp", "traits": { - "smithy.api#documentation": "

                            The name of the replay.

                            " + "smithy.api#documentation": "

                            A time stamp for the time that the last event was replayed.

                            " } }, - "EventSourceArn": { - "target": "com.amazonaws.eventbridge#Arn", + "ReplayStartTime": { + "target": "com.amazonaws.eventbridge#Timestamp", "traits": { - "smithy.api#documentation": "

                            The ARN of the archive to replay event from.

                            " + "smithy.api#documentation": "

                            A time stamp for the time that the replay started.

                            " } }, - "EventEndTime": { + "ReplayEndTime": { "target": "com.amazonaws.eventbridge#Timestamp", "traits": { - "smithy.api#documentation": "

                            A time stamp for the time to start replaying events. Any event with a creation time\n prior to the EventEndTime specified is replayed.

                            " + "smithy.api#documentation": "

                            A time stamp for the time that the replay completed.

                            " } } }, @@ -3835,16 +3884,10 @@ "smithy.api#documentation": "

                            The name of the rule.

                            " } }, - "ManagedBy": { - "target": "com.amazonaws.eventbridge#ManagedBy", - "traits": { - "smithy.api#documentation": "

                            If the rule was created on behalf of your account by an AWS service, this field\n displays the principal name of the service that created the rule.

                            " - } - }, - "ScheduleExpression": { - "target": "com.amazonaws.eventbridge#ScheduleExpression", + "Arn": { + "target": "com.amazonaws.eventbridge#RuleArn", "traits": { - "smithy.api#documentation": "

                            The scheduling expression. For example, \"cron(0 20 * * ? *)\", \"rate(5\n minutes)\".

                            " + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the rule.

                            " } }, "EventPattern": { @@ -3853,10 +3896,10 @@ "smithy.api#documentation": "

                            The event pattern of the rule. For more information, see Events and\n Event Patterns in the Amazon EventBridge User\n Guide.

                            " } }, - "Arn": { - "target": "com.amazonaws.eventbridge#RuleArn", + "State": { + "target": "com.amazonaws.eventbridge#RuleState", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the rule.

                            " + "smithy.api#documentation": "

                            The state of the rule.

                            " } }, "Description": { @@ -3865,22 +3908,28 @@ "smithy.api#documentation": "

                            The description of the rule.

                            " } }, + "ScheduleExpression": { + "target": "com.amazonaws.eventbridge#ScheduleExpression", + "traits": { + "smithy.api#documentation": "

                            The scheduling expression. For example, \"cron(0 20 * * ? *)\", \"rate(5\n minutes)\".

                            " + } + }, "RoleArn": { "target": "com.amazonaws.eventbridge#RoleArn", "traits": { "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the role that is used for target\n invocation.

                            " } }, - "EventBusName": { - "target": "com.amazonaws.eventbridge#EventBusName", + "ManagedBy": { + "target": "com.amazonaws.eventbridge#ManagedBy", "traits": { - "smithy.api#documentation": "

                            The event bus associated with the rule.

                            " + "smithy.api#documentation": "

                            If the rule was created on behalf of your account by an AWS service, this field\n displays the principal name of the service that created the rule.

                            " } }, - "State": { - "target": "com.amazonaws.eventbridge#RuleState", + "EventBusName": { + "target": "com.amazonaws.eventbridge#EventBusName", "traits": { - "smithy.api#documentation": "

                            The state of the rule.

                            " + "smithy.api#documentation": "

                            The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is\n used.

                            " } } }, @@ -4094,30 +4143,30 @@ "smithy.api#required": {} } }, - "EventStartTime": { - "target": "com.amazonaws.eventbridge#Timestamp", - "traits": { - "smithy.api#documentation": "

                            A time stamp for the time to start replaying events. Only events that occurred between\n the EventStartTime and EventEndTime are replayed.

                            ", - "smithy.api#required": {} - } - }, "Description": { "target": "com.amazonaws.eventbridge#ReplayDescription", "traits": { "smithy.api#documentation": "

                            A description for the replay to start.

                            " } }, - "EventEndTime": { + "EventSourceArn": { + "target": "com.amazonaws.eventbridge#Arn", + "traits": { + "smithy.api#documentation": "

                            The ARN of the archive to replay events from.

                            ", + "smithy.api#required": {} + } + }, + "EventStartTime": { "target": "com.amazonaws.eventbridge#Timestamp", "traits": { - "smithy.api#documentation": "

                            A time stamp for the time to stop replaying events. Only events that occurred between\n the EventStartTime and EventEndTime are replayed.

                            ", + "smithy.api#documentation": "

                            A time stamp for the time to start replaying events. Only events that occurred between\n the EventStartTime and EventEndTime are replayed.

                            ", "smithy.api#required": {} } }, - "EventSourceArn": { - "target": "com.amazonaws.eventbridge#Arn", + "EventEndTime": { + "target": "com.amazonaws.eventbridge#Timestamp", "traits": { - "smithy.api#documentation": "

                            The ARN of the archive to replay events from.

                            ", + "smithy.api#documentation": "

                            A time stamp for the time to stop replaying events. Only events that occurred between\n the EventStartTime and EventEndTime are replayed.

                            ", "smithy.api#required": {} } }, @@ -4133,10 +4182,10 @@ "com.amazonaws.eventbridge#StartReplayResponse": { "type": "structure", "members": { - "StateReason": { - "target": "com.amazonaws.eventbridge#ReplayStateReason", + "ReplayArn": { + "target": "com.amazonaws.eventbridge#ReplayArn", "traits": { - "smithy.api#documentation": "

                            The reason that the replay is in the state.

                            " + "smithy.api#documentation": "

                            The ARN of the replay.

                            " } }, "State": { @@ -4145,16 +4194,16 @@ "smithy.api#documentation": "

                            The state of the replay.

                            " } }, - "ReplayStartTime": { - "target": "com.amazonaws.eventbridge#Timestamp", + "StateReason": { + "target": "com.amazonaws.eventbridge#ReplayStateReason", "traits": { - "smithy.api#documentation": "

                            The time at which the replay started.

                            " + "smithy.api#documentation": "

                            The reason that the replay is in the state.

                            " } }, - "ReplayArn": { - "target": "com.amazonaws.eventbridge#ReplayArn", + "ReplayStartTime": { + "target": "com.amazonaws.eventbridge#Timestamp", "traits": { - "smithy.api#documentation": "

                            The ARN of the replay.

                            " + "smithy.api#documentation": "

                            The time at which the replay started.

                            " } } } @@ -4291,30 +4340,6 @@ "com.amazonaws.eventbridge#Target": { "type": "structure", "members": { - "Input": { - "target": "com.amazonaws.eventbridge#TargetInput", - "traits": { - "smithy.api#documentation": "

                            Valid JSON text passed to the target. In this case, nothing from the event itself\n is passed to the target. For more information, see The JavaScript Object Notation\n (JSON) Data Interchange Format.

                            " - } - }, - "RetryPolicy": { - "target": "com.amazonaws.eventbridge#RetryPolicy", - "traits": { - "smithy.api#documentation": "

                            The RetryPolicy object that contains the retry policy configuration to\n use for the dead-letter queue.

                            " - } - }, - "EcsParameters": { - "target": "com.amazonaws.eventbridge#EcsParameters", - "traits": { - "smithy.api#documentation": "

                            Contains the Amazon ECS task definition and task count to be used, if the event\n target is an Amazon ECS task. For more information about Amazon ECS tasks, see Task\n Definitions in the Amazon EC2 Container Service Developer\n Guide.

                            " - } - }, - "SqsParameters": { - "target": "com.amazonaws.eventbridge#SqsParameters", - "traits": { - "smithy.api#documentation": "

                            Contains the message group ID to use when the target is a FIFO queue.

                            \n

                            If you specify an SQS FIFO queue as a target, the queue must have content-based\n deduplication enabled.

                            " - } - }, "Id": { "target": "com.amazonaws.eventbridge#TargetId", "traits": { @@ -4322,12 +4347,6 @@ "smithy.api#required": {} } }, - "BatchParameters": { - "target": "com.amazonaws.eventbridge#BatchParameters", - "traits": { - "smithy.api#documentation": "

                            If the event target is an AWS Batch job, this contains the job definition, job\n name, and other parameters. For more information, see Jobs in the AWS Batch User\n Guide.

                            " - } - }, "Arn": { "target": "com.amazonaws.eventbridge#TargetArn", "traits": { @@ -4335,10 +4354,16 @@ "smithy.api#required": {} } }, - "DeadLetterConfig": { - "target": "com.amazonaws.eventbridge#DeadLetterConfig", + "RoleArn": { + "target": "com.amazonaws.eventbridge#RoleArn", "traits": { - "smithy.api#documentation": "

                            The DeadLetterConfig that defines the target queue to send dead-letter\n queue events to.

                            " + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the IAM role to be used for this target when the\n rule is triggered. If one rule triggers multiple targets, you can use a different IAM\n role for each target.

                            " + } + }, + "Input": { + "target": "com.amazonaws.eventbridge#TargetInput", + "traits": { + "smithy.api#documentation": "

                            Valid JSON text passed to the target. In this case, nothing from the event itself\n is passed to the target. For more information, see The JavaScript Object Notation\n (JSON) Data Interchange Format.

                            " } }, "InputPath": { @@ -4347,10 +4372,16 @@ "smithy.api#documentation": "

                            The value of the JSONPath that is used for extracting part of the matched event\n when passing it to the target. You must use JSON dot notation, not bracket notation. For\n more information about JSON paths, see JSONPath.

                            " } }, - "HttpParameters": { - "target": "com.amazonaws.eventbridge#HttpParameters", + "InputTransformer": { + "target": "com.amazonaws.eventbridge#InputTransformer", "traits": { - "smithy.api#documentation": "

                            Contains the HTTP parameters to use when the target is a API Gateway REST\n endpoint.

                            \n

                            If you specify an API Gateway REST API as a target, you can use this parameter to\n specify headers, path parameter, query string keys/values as part of your target\n invoking request.

                            " + "smithy.api#documentation": "

                            Settings to enable you to provide custom input to a target based on certain event\n data. You can extract one or more key-value pairs from the event and then use that data\n to send customized input to the target.

                            " + } + }, + "KinesisParameters": { + "target": "com.amazonaws.eventbridge#KinesisParameters", + "traits": { + "smithy.api#documentation": "

                            The custom parameter you can use to control the shard assignment, when the target\n is a Kinesis data stream. If you do not include this parameter, the default is to use\n the eventId as the partition key.

                            " } }, "RunCommandParameters": { @@ -4359,16 +4390,28 @@ "smithy.api#documentation": "

                            Parameters used when you are using the rule to invoke Amazon EC2 Run\n Command.

                            " } }, - "InputTransformer": { - "target": "com.amazonaws.eventbridge#InputTransformer", + "EcsParameters": { + "target": "com.amazonaws.eventbridge#EcsParameters", "traits": { - "smithy.api#documentation": "

                            Settings to enable you to provide custom input to a target based on certain event\n data. You can extract one or more key-value pairs from the event and then use that data\n to send customized input to the target.

                            " + "smithy.api#documentation": "

                            Contains the Amazon ECS task definition and task count to be used, if the event\n target is an Amazon ECS task. For more information about Amazon ECS tasks, see Task\n Definitions in the Amazon EC2 Container Service Developer\n Guide.

                            " } }, - "RoleArn": { - "target": "com.amazonaws.eventbridge#RoleArn", + "BatchParameters": { + "target": "com.amazonaws.eventbridge#BatchParameters", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the IAM role to be used for this target when the\n rule is triggered. If one rule triggers multiple targets, you can use a different IAM\n role for each target.

                            " + "smithy.api#documentation": "

                            If the event target is an AWS Batch job, this contains the job definition, job\n name, and other parameters. For more information, see Jobs in the AWS Batch User\n Guide.

                            " + } + }, + "SqsParameters": { + "target": "com.amazonaws.eventbridge#SqsParameters", + "traits": { + "smithy.api#documentation": "

                            Contains the message group ID to use when the target is a FIFO queue.

                            \n

                            If you specify an SQS FIFO queue as a target, the queue must have content-based\n deduplication enabled.

                            " + } + }, + "HttpParameters": { + "target": "com.amazonaws.eventbridge#HttpParameters", + "traits": { + "smithy.api#documentation": "

                            Contains the HTTP parameters to use when the target is a API Gateway REST\n endpoint.

                            \n

                            If you specify an API Gateway REST API as a target, you can use this parameter to\n specify headers, path parameter, query string keys/values as part of your target\n invoking request.

                            " } }, "RedshiftDataParameters": { @@ -4377,10 +4420,16 @@ "smithy.api#documentation": "

                            Contains the Redshift Data API parameters to use when the target is a Redshift\n cluster.

                            \n

                            If you specify a Redshift Cluster as a Target, you can use this to specify\n parameters to invoke the Redshift Data API ExecuteStatement based on EventBridge\n events.

                            " } }, - "KinesisParameters": { - "target": "com.amazonaws.eventbridge#KinesisParameters", + "DeadLetterConfig": { + "target": "com.amazonaws.eventbridge#DeadLetterConfig", "traits": { - "smithy.api#documentation": "

                            The custom parameter you can use to control the shard assignment, when the target\n is a Kinesis data stream. If you do not include this parameter, the default is to use\n the eventId as the partition key.

                            " + "smithy.api#documentation": "

                            The DeadLetterConfig that defines the target queue to send dead-letter\n queue events to.

                            " + } + }, + "RetryPolicy": { + "target": "com.amazonaws.eventbridge#RetryPolicy", + "traits": { + "smithy.api#documentation": "

                            The RetryPolicy object that contains the retry policy configuration to\n use for the dead-letter queue.

                            " } } }, @@ -4481,17 +4530,17 @@ "com.amazonaws.eventbridge#TestEventPatternRequest": { "type": "structure", "members": { - "Event": { - "target": "com.amazonaws.eventbridge#String", + "EventPattern": { + "target": "com.amazonaws.eventbridge#EventPattern", "traits": { - "smithy.api#documentation": "

                            The event, in JSON format, to test against the event pattern.

                            ", + "smithy.api#documentation": "

                            The event pattern. For more information, see Events and\n Event Patterns in the Amazon EventBridge User\n Guide.

                            ", "smithy.api#required": {} } }, - "EventPattern": { - "target": "com.amazonaws.eventbridge#EventPattern", + "Event": { + "target": "com.amazonaws.eventbridge#String", "traits": { - "smithy.api#documentation": "

                            The event pattern. For more information, see Events and\n Event Patterns in the Amazon EventBridge User\n Guide.

                            ", + "smithy.api#documentation": "

                            The event, in JSON format, to test against the event pattern.

                            ", "smithy.api#required": {} } } @@ -4564,17 +4613,17 @@ "com.amazonaws.eventbridge#UntagResourceRequest": { "type": "structure", "members": { - "TagKeys": { - "target": "com.amazonaws.eventbridge#TagKeyList", + "ResourceARN": { + "target": "com.amazonaws.eventbridge#Arn", "traits": { - "smithy.api#documentation": "

                            The list of tag keys to remove from the resource.

                            ", + "smithy.api#documentation": "

                            The ARN of the EventBridge resource from which you are removing tags.

                            ", "smithy.api#required": {} } }, - "ResourceARN": { - "target": "com.amazonaws.eventbridge#Arn", + "TagKeys": { + "target": "com.amazonaws.eventbridge#TagKeyList", "traits": { - "smithy.api#documentation": "

                            The ARN of the EventBridge resource from which you are removing tags.

                            ", + "smithy.api#documentation": "

                            The list of tag keys to remove from the resource.

                            ", "smithy.api#required": {} } } @@ -4616,10 +4665,11 @@ "com.amazonaws.eventbridge#UpdateArchiveRequest": { "type": "structure", "members": { - "EventPattern": { - "target": "com.amazonaws.eventbridge#EventPattern", + "ArchiveName": { + "target": "com.amazonaws.eventbridge#ArchiveName", "traits": { - "smithy.api#documentation": "

                            The event pattern to use to filter events sent to the archive.

                            " + "smithy.api#documentation": "

                            The name of the archive to update.

                            ", + "smithy.api#required": {} } }, "Description": { @@ -4628,11 +4678,10 @@ "smithy.api#documentation": "

                            The description for the archive.

                            " } }, - "ArchiveName": { - "target": "com.amazonaws.eventbridge#ArchiveName", + "EventPattern": { + "target": "com.amazonaws.eventbridge#EventPattern", "traits": { - "smithy.api#documentation": "

                            The name of the archive to update.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The event pattern to use to filter events sent to the archive.

                            " } }, "RetentionDays": { @@ -4646,10 +4695,10 @@ "com.amazonaws.eventbridge#UpdateArchiveResponse": { "type": "structure", "members": { - "StateReason": { - "target": "com.amazonaws.eventbridge#ArchiveStateReason", + "ArchiveArn": { + "target": "com.amazonaws.eventbridge#ArchiveArn", "traits": { - "smithy.api#documentation": "

                            The reason that the archive is in the current state.

                            " + "smithy.api#documentation": "

                            The ARN of the archive.

                            " } }, "State": { @@ -4658,16 +4707,16 @@ "smithy.api#documentation": "

                            The state of the archive.

                            " } }, - "CreationTime": { - "target": "com.amazonaws.eventbridge#Timestamp", + "StateReason": { + "target": "com.amazonaws.eventbridge#ArchiveStateReason", "traits": { - "smithy.api#documentation": "

                            The time at which the archive was updated.

                            " + "smithy.api#documentation": "

                            The reason that the archive is in the current state.

                            " } }, - "ArchiveArn": { - "target": "com.amazonaws.eventbridge#ArchiveArn", + "CreationTime": { + "target": "com.amazonaws.eventbridge#Timestamp", "traits": { - "smithy.api#documentation": "

                            The ARN of the archive.

                            " + "smithy.api#documentation": "

                            The time at which the archive was updated.

                            " } } } diff --git a/codegen/sdk-codegen/aws-models/glue.2017-03-31.json b/codegen/sdk-codegen/aws-models/glue.2017-03-31.json index 3f9cb1a0b046..7556ad4dd4ce 100644 --- a/codegen/sdk-codegen/aws-models/glue.2017-03-31.json +++ b/codegen/sdk-codegen/aws-models/glue.2017-03-31.json @@ -75,6 +75,9 @@ { "target": "com.amazonaws.glue#CancelMLTaskRun" }, + { + "target": "com.amazonaws.glue#CheckSchemaVersionValidity" + }, { "target": "com.amazonaws.glue#CreateClassifier" }, @@ -99,6 +102,12 @@ { "target": "com.amazonaws.glue#CreatePartition" }, + { + "target": "com.amazonaws.glue#CreateRegistry" + }, + { + "target": "com.amazonaws.glue#CreateSchema" + }, { "target": "com.amazonaws.glue#CreateScript" }, @@ -147,9 +156,18 @@ { "target": "com.amazonaws.glue#DeletePartition" }, + { + "target": "com.amazonaws.glue#DeleteRegistry" + }, { "target": "com.amazonaws.glue#DeleteResourcePolicy" }, + { + "target": "com.amazonaws.glue#DeleteSchema" + }, + { + "target": "com.amazonaws.glue#DeleteSchemaVersions" + }, { "target": "com.amazonaws.glue#DeleteSecurityConfiguration" }, @@ -258,12 +276,27 @@ { "target": "com.amazonaws.glue#GetPlan" }, + { + "target": "com.amazonaws.glue#GetRegistry" + }, { "target": "com.amazonaws.glue#GetResourcePolicies" }, { "target": "com.amazonaws.glue#GetResourcePolicy" }, + { + "target": "com.amazonaws.glue#GetSchema" + }, + { + "target": "com.amazonaws.glue#GetSchemaByDefinition" + }, + { + "target": "com.amazonaws.glue#GetSchemaVersion" + }, + { + "target": "com.amazonaws.glue#GetSchemaVersionsDiff" + }, { "target": "com.amazonaws.glue#GetSecurityConfiguration" }, @@ -324,6 +357,15 @@ { "target": "com.amazonaws.glue#ListMLTransforms" }, + { + "target": "com.amazonaws.glue#ListRegistries" + }, + { + "target": "com.amazonaws.glue#ListSchemas" + }, + { + "target": "com.amazonaws.glue#ListSchemaVersions" + }, { "target": "com.amazonaws.glue#ListTriggers" }, @@ -336,9 +378,21 @@ { "target": "com.amazonaws.glue#PutResourcePolicy" }, + { + "target": "com.amazonaws.glue#PutSchemaVersionMetadata" + }, { "target": "com.amazonaws.glue#PutWorkflowRunProperties" }, + { + "target": "com.amazonaws.glue#QuerySchemaVersionMetadata" + }, + { + "target": "com.amazonaws.glue#RegisterSchemaVersion" + }, + { + "target": "com.amazonaws.glue#RemoveSchemaVersionMetadata" + }, { "target": "com.amazonaws.glue#ResetJobBookmark" }, @@ -426,6 +480,12 @@ { "target": "com.amazonaws.glue#UpdatePartition" }, + { + "target": "com.amazonaws.glue#UpdateRegistry" + }, + { + "target": "com.amazonaws.glue#UpdateSchema" + }, { "target": "com.amazonaws.glue#UpdateTable" }, @@ -472,22 +532,28 @@ "com.amazonaws.glue#Action": { "type": "structure", "members": { + "JobName": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

                            The name of a job to be executed.

                            " + } + }, "Arguments": { "target": "com.amazonaws.glue#GenericMap", "traits": { "smithy.api#documentation": "

                            The job arguments used when this trigger fires. For this job run, they replace the default arguments set in the job definition itself.

                            \n

                            You can specify arguments here that your own job-execution script\n consumes, as well as arguments that AWS Glue itself consumes.

                            \n

                            For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

                            \n

                            For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

                            " } }, - "SecurityConfiguration": { - "target": "com.amazonaws.glue#NameString", + "Timeout": { + "target": "com.amazonaws.glue#Timeout", "traits": { - "smithy.api#documentation": "

                            The name of the SecurityConfiguration structure to be used with this\n action.

                            " + "smithy.api#documentation": "

                            The JobRun timeout in minutes. This is the maximum time that a job run can\n consume resources before it is terminated and enters TIMEOUT status. The default\n is 2,880 minutes (48 hours). This overrides the timeout value set in the parent job.

                            " } }, - "CrawlerName": { + "SecurityConfiguration": { "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The name of the crawler to be used with this action.

                            " + "smithy.api#documentation": "

                            The name of the SecurityConfiguration structure to be used with this\n action.

                            " } }, "NotificationProperty": { @@ -496,16 +562,10 @@ "smithy.api#documentation": "

                            Specifies configuration properties of a job run notification.

                            " } }, - "Timeout": { - "target": "com.amazonaws.glue#Timeout", - "traits": { - "smithy.api#documentation": "

                            The JobRun timeout in minutes. This is the maximum time that a job run can\n consume resources before it is terminated and enters TIMEOUT status. The default\n is 2,880 minutes (48 hours). This overrides the timeout value set in the parent job.

                            " - } - }, - "JobName": { + "CrawlerName": { "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The name of a job to be executed.

                            " + "smithy.api#documentation": "

                            The name of the crawler to be used with this action.

                            " } } }, @@ -584,6 +644,12 @@ "com.amazonaws.glue#BatchCreatePartitionRequest": { "type": "structure", "members": { + "CatalogId": { + "target": "com.amazonaws.glue#CatalogIdString", + "traits": { + "smithy.api#documentation": "

                            The ID of the catalog in which the partition is to be created. Currently, this should be\n the AWS account ID.

                            " + } + }, "DatabaseName": { "target": "com.amazonaws.glue#NameString", "traits": { @@ -604,12 +670,6 @@ "smithy.api#documentation": "

                            A list of PartitionInput structures that define\n the partitions to be created.

                            ", "smithy.api#required": {} } - }, - "CatalogId": { - "target": "com.amazonaws.glue#CatalogIdString", - "traits": { - "smithy.api#documentation": "

                            The ID of the catalog in which the partition is to be created. Currently, this should be\n the AWS account ID.

                            " - } } } }, @@ -647,35 +707,35 @@ "com.amazonaws.glue#BatchDeleteConnectionRequest": { "type": "structure", "members": { + "CatalogId": { + "target": "com.amazonaws.glue#CatalogIdString", + "traits": { + "smithy.api#documentation": "

                            The ID of the Data Catalog in which the connections reside. If none is provided, the AWS\n account ID is used by default.

                            " + } + }, "ConnectionNameList": { "target": "com.amazonaws.glue#DeleteConnectionNameList", "traits": { "smithy.api#documentation": "

                            A list of names of the connections to delete.

                            ", "smithy.api#required": {} } - }, - "CatalogId": { - "target": "com.amazonaws.glue#CatalogIdString", - "traits": { - "smithy.api#documentation": "

                            The ID of the Data Catalog in which the connections reside. If none is provided, the AWS\n account ID is used by default.

                            " - } } } }, "com.amazonaws.glue#BatchDeleteConnectionResponse": { "type": "structure", "members": { - "Errors": { - "target": "com.amazonaws.glue#ErrorByName", - "traits": { - "smithy.api#documentation": "

                            A map of the names of connections that were not successfully\n deleted to error details.

                            " - } - }, "Succeeded": { "target": "com.amazonaws.glue#NameStringList", "traits": { "smithy.api#documentation": "

                            A list of names of the connection definitions that were\n successfully deleted.

                            " } + }, + "Errors": { + "target": "com.amazonaws.glue#ErrorByName", + "traits": { + "smithy.api#documentation": "

                            A map of the names of connections that were not successfully\n deleted to error details.

                            " + } } } }, @@ -708,17 +768,16 @@ "com.amazonaws.glue#BatchDeletePartitionRequest": { "type": "structure", "members": { - "DatabaseName": { - "target": "com.amazonaws.glue#NameString", + "CatalogId": { + "target": "com.amazonaws.glue#CatalogIdString", "traits": { - "smithy.api#documentation": "

                            The name of the catalog database in which the table in question\n resides.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The ID of the Data Catalog where the partition to be deleted resides. If none is provided,\n the AWS account ID is used by default.

                            " } }, - "PartitionsToDelete": { - "target": "com.amazonaws.glue#BatchDeletePartitionValueList", + "DatabaseName": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            A list of PartitionInput structures that define\n the partitions to be deleted.

                            ", + "smithy.api#documentation": "

                            The name of the catalog database in which the table in question\n resides.

                            ", "smithy.api#required": {} } }, @@ -729,10 +788,11 @@ "smithy.api#required": {} } }, - "CatalogId": { - "target": "com.amazonaws.glue#CatalogIdString", + "PartitionsToDelete": { + "target": "com.amazonaws.glue#BatchDeletePartitionValueList", "traits": { - "smithy.api#documentation": "

                            The ID of the Data Catalog where the partition to be deleted resides. If none is provided,\n the AWS account ID is used by default.

                            " + "smithy.api#documentation": "

                            A list of PartitionInput structures that define\n the partitions to be deleted.

                            ", + "smithy.api#required": {} } } } @@ -807,17 +867,17 @@ "smithy.api#documentation": "

                            The ID of the Data Catalog where the table resides. If none is provided, the AWS account\n ID is used by default.

                            " } }, - "TablesToDelete": { - "target": "com.amazonaws.glue#BatchDeleteTableNameList", + "DatabaseName": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            A list of the table to delete.

                            ", + "smithy.api#documentation": "

                            The name of the catalog database in which the tables to delete reside. For Hive\n compatibility, this name is entirely lowercase.

                            ", "smithy.api#required": {} } }, - "DatabaseName": { - "target": "com.amazonaws.glue#NameString", + "TablesToDelete": { + "target": "com.amazonaws.glue#BatchDeleteTableNameList", "traits": { - "smithy.api#documentation": "

                            The name of the catalog database in which the tables to delete reside. For Hive\n compatibility, this name is entirely lowercase.

                            ", + "smithy.api#documentation": "

                            A list of the table to delete.

                            ", "smithy.api#required": {} } } @@ -875,19 +935,19 @@ "com.amazonaws.glue#BatchDeleteTableVersionRequest": { "type": "structure", "members": { - "VersionIds": { - "target": "com.amazonaws.glue#BatchDeleteTableVersionList", - "traits": { - "smithy.api#documentation": "

                            A list of the IDs of versions to be deleted. A VersionId is a string representation of an integer. Each version is incremented by 1.

                            ", - "smithy.api#required": {} - } - }, "CatalogId": { "target": "com.amazonaws.glue#CatalogIdString", "traits": { "smithy.api#documentation": "

                            The ID of the Data Catalog where the tables reside. If none is provided, the AWS account\n ID is used by default.

                            " } }, + "DatabaseName": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

                            The database in the catalog in which the table resides. For Hive\n compatibility, this name is entirely lowercase.

                            ", + "smithy.api#required": {} + } + }, "TableName": { "target": "com.amazonaws.glue#NameString", "traits": { @@ -895,10 +955,10 @@ "smithy.api#required": {} } }, - "DatabaseName": { - "target": "com.amazonaws.glue#NameString", + "VersionIds": { + "target": "com.amazonaws.glue#BatchDeleteTableVersionList", "traits": { - "smithy.api#documentation": "

                            The database in the catalog in which the table resides. For Hive\n compatibility, this name is entirely lowercase.

                            ", + "smithy.api#documentation": "

                            A list of the IDs of versions to be deleted. A VersionId is a string representation of an integer. Each version is incremented by 1.

                            ", "smithy.api#required": {} } } @@ -950,17 +1010,17 @@ "com.amazonaws.glue#BatchGetCrawlersResponse": { "type": "structure", "members": { - "CrawlersNotFound": { - "target": "com.amazonaws.glue#CrawlerNameList", - "traits": { - "smithy.api#documentation": "

                            A list of names of crawlers that were not found.

                            " - } - }, "Crawlers": { "target": "com.amazonaws.glue#CrawlerList", "traits": { "smithy.api#documentation": "

                            A list of crawler definitions.

                            " } + }, + "CrawlersNotFound": { + "target": "com.amazonaws.glue#CrawlerNameList", + "traits": { + "smithy.api#documentation": "

                            A list of names of crawlers that were not found.

                            " + } } } }, @@ -1057,17 +1117,17 @@ "com.amazonaws.glue#BatchGetJobsResponse": { "type": "structure", "members": { - "JobsNotFound": { - "target": "com.amazonaws.glue#JobNameList", - "traits": { - "smithy.api#documentation": "

                            A list of names of jobs not found.

                            " - } - }, "Jobs": { "target": "com.amazonaws.glue#JobList", "traits": { "smithy.api#documentation": "

                            A list of job definitions.

                            " } + }, + "JobsNotFound": { + "target": "com.amazonaws.glue#JobNameList", + "traits": { + "smithy.api#documentation": "

                            A list of names of jobs not found.

                            " + } } } }, @@ -1103,6 +1163,12 @@ "com.amazonaws.glue#BatchGetPartitionRequest": { "type": "structure", "members": { + "CatalogId": { + "target": "com.amazonaws.glue#CatalogIdString", + "traits": { + "smithy.api#documentation": "

                            The ID of the Data Catalog where the partitions in question reside.\n If none is supplied, the AWS account ID is used by default.

                            " + } + }, "DatabaseName": { "target": "com.amazonaws.glue#NameString", "traits": { @@ -1110,23 +1176,17 @@ "smithy.api#required": {} } }, - "PartitionsToGet": { - "target": "com.amazonaws.glue#BatchGetPartitionValueList", + "TableName": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            A list of partition values identifying the partitions to retrieve.

                            ", + "smithy.api#documentation": "

                            The name of the partitions' table.

                            ", "smithy.api#required": {} } }, - "CatalogId": { - "target": "com.amazonaws.glue#CatalogIdString", - "traits": { - "smithy.api#documentation": "

                            The ID of the Data Catalog where the partitions in question reside.\n If none is supplied, the AWS account ID is used by default.

                            " - } - }, - "TableName": { - "target": "com.amazonaws.glue#NameString", + "PartitionsToGet": { + "target": "com.amazonaws.glue#BatchGetPartitionValueList", "traits": { - "smithy.api#documentation": "

                            The name of the partitions' table.

                            ", + "smithy.api#documentation": "

                            A list of partition values identifying the partitions to retrieve.

                            ", "smithy.api#required": {} } } @@ -1135,17 +1195,17 @@ "com.amazonaws.glue#BatchGetPartitionResponse": { "type": "structure", "members": { - "UnprocessedKeys": { - "target": "com.amazonaws.glue#BatchGetPartitionValueList", - "traits": { - "smithy.api#documentation": "

                            A list of the partition values in the request for which partitions were not\n returned.

                            " - } - }, "Partitions": { "target": "com.amazonaws.glue#PartitionList", "traits": { "smithy.api#documentation": "

                            A list of the requested partitions.

                            " } + }, + "UnprocessedKeys": { + "target": "com.amazonaws.glue#BatchGetPartitionValueList", + "traits": { + "smithy.api#documentation": "

                            A list of the partition values in the request for which partitions were not\n returned.

                            " + } } } }, @@ -1199,17 +1259,17 @@ "com.amazonaws.glue#BatchGetTriggersResponse": { "type": "structure", "members": { - "TriggersNotFound": { - "target": "com.amazonaws.glue#TriggerNameList", - "traits": { - "smithy.api#documentation": "

                            A list of names of triggers not found.

                            " - } - }, "Triggers": { "target": "com.amazonaws.glue#TriggerList", "traits": { "smithy.api#documentation": "

                            A list of trigger definitions.

                            " } + }, + "TriggersNotFound": { + "target": "com.amazonaws.glue#TriggerNameList", + "traits": { + "smithy.api#documentation": "

                            A list of names of triggers not found.

                            " + } } } }, @@ -1239,18 +1299,18 @@ "com.amazonaws.glue#BatchGetWorkflowsRequest": { "type": "structure", "members": { - "IncludeGraph": { - "target": "com.amazonaws.glue#NullableBoolean", - "traits": { - "smithy.api#documentation": "

                            Specifies whether to include a graph when returning the workflow resource metadata.

                            " - } - }, "Names": { "target": "com.amazonaws.glue#WorkflowNames", "traits": { "smithy.api#documentation": "

                            A list of workflow names, which may be the names returned from the ListWorkflows operation.

                            ", "smithy.api#required": {} } + }, + "IncludeGraph": { + "target": "com.amazonaws.glue#NullableBoolean", + "traits": { + "smithy.api#documentation": "

                            Specifies whether to include a graph when returning the workflow resource metadata.

                            " + } } } }, @@ -1297,12 +1357,6 @@ "com.amazonaws.glue#BatchStopJobRunError": { "type": "structure", "members": { - "ErrorDetail": { - "target": "com.amazonaws.glue#ErrorDetail", - "traits": { - "smithy.api#documentation": "

                            Specifies details about the error that was encountered.

                            " - } - }, "JobName": { "target": "com.amazonaws.glue#NameString", "traits": { @@ -1314,6 +1368,12 @@ "traits": { "smithy.api#documentation": "

                            The JobRunId of the job run in question.

                            " } + }, + "ErrorDetail": { + "target": "com.amazonaws.glue#ErrorDetail", + "traits": { + "smithy.api#documentation": "

                            Specifies details about the error that was encountered.

                            " + } } }, "traits": { @@ -1341,17 +1401,17 @@ "com.amazonaws.glue#BatchStopJobRunRequest": { "type": "structure", "members": { - "JobRunIds": { - "target": "com.amazonaws.glue#BatchStopJobRunJobRunIdList", + "JobName": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            A list of the JobRunIds that should be stopped for that job\n definition.

                            ", + "smithy.api#documentation": "

                            The name of the job definition for which to stop job runs.

                            ", "smithy.api#required": {} } }, - "JobName": { - "target": "com.amazonaws.glue#NameString", + "JobRunIds": { + "target": "com.amazonaws.glue#BatchStopJobRunJobRunIdList", "traits": { - "smithy.api#documentation": "

                            The name of the job definition for which to stop job runs.

                            ", + "smithy.api#documentation": "

                            A list of the JobRunIds that should be stopped for that job\n definition.

                            ", "smithy.api#required": {} } } @@ -1377,17 +1437,17 @@ "com.amazonaws.glue#BatchStopJobRunSuccessfulSubmission": { "type": "structure", "members": { - "JobRunId": { - "target": "com.amazonaws.glue#IdString", - "traits": { - "smithy.api#documentation": "

                            The JobRunId of the job run that was stopped.

                            " - } - }, "JobName": { "target": "com.amazonaws.glue#NameString", "traits": { "smithy.api#documentation": "

                            The name of the job definition used in the job run that was stopped.

                            " } + }, + "JobRunId": { + "target": "com.amazonaws.glue#IdString", + "traits": { + "smithy.api#documentation": "

                            The JobRunId of the job run that was stopped.

                            " + } } }, "traits": { @@ -1458,13 +1518,6 @@ "com.amazonaws.glue#BatchUpdatePartitionRequest": { "type": "structure", "members": { - "TableName": { - "target": "com.amazonaws.glue#NameString", - "traits": { - "smithy.api#documentation": "

                            The name of the metadata table in which the partition is to be updated.

                            ", - "smithy.api#required": {} - } - }, "CatalogId": { "target": "com.amazonaws.glue#CatalogIdString", "traits": { @@ -1478,6 +1531,13 @@ "smithy.api#required": {} } }, + "TableName": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

                            The name of the metadata table in which the partition is to be updated.

                            ", + "smithy.api#required": {} + } + }, "Entries": { "target": "com.amazonaws.glue#BatchUpdatePartitionRequestEntryList", "traits": { @@ -1535,6 +1595,13 @@ "com.amazonaws.glue#BinaryColumnStatisticsData": { "type": "structure", "members": { + "MaximumLength": { + "target": "com.amazonaws.glue#NonNegativeLong", + "traits": { + "smithy.api#documentation": "

                            The size of the longest bit sequence in the column.

                            ", + "smithy.api#required": {} + } + }, "AverageLength": { "target": "com.amazonaws.glue#NonNegativeDouble", "traits": { @@ -1548,13 +1615,6 @@ "smithy.api#documentation": "

                            The number of null values in the column.

                            ", "smithy.api#required": {} } - }, - "MaximumLength": { - "target": "com.amazonaws.glue#NonNegativeLong", - "traits": { - "smithy.api#documentation": "

                            The size of the longest bit sequence in the column.

                            ", - "smithy.api#required": {} - } } }, "traits": { @@ -1570,17 +1630,17 @@ "com.amazonaws.glue#BooleanColumnStatisticsData": { "type": "structure", "members": { - "NumberOfFalses": { + "NumberOfTrues": { "target": "com.amazonaws.glue#NonNegativeLong", "traits": { - "smithy.api#documentation": "

                            The number of false values in the column.

                            ", + "smithy.api#documentation": "

                            The number of true values in the column.

                            ", "smithy.api#required": {} } }, - "NumberOfTrues": { + "NumberOfFalses": { "target": "com.amazonaws.glue#NonNegativeLong", "traits": { - "smithy.api#documentation": "

                            The number of true values in the column.

                            ", + "smithy.api#documentation": "

                            The number of false values in the column.

                            ", "smithy.api#required": {} } }, @@ -1665,10 +1725,10 @@ "com.amazonaws.glue#CancelMLTaskRunResponse": { "type": "structure", "members": { - "Status": { - "target": "com.amazonaws.glue#TaskStatusType", + "TransformId": { + "target": "com.amazonaws.glue#HashString", "traits": { - "smithy.api#documentation": "

                            The status for this run.

                            " + "smithy.api#documentation": "

                            The unique identifier of the machine learning transform.

                            " } }, "TaskRunId": { @@ -1677,10 +1737,10 @@ "smithy.api#documentation": "

                            The unique identifier for the task run.

                            " } }, - "TransformId": { - "target": "com.amazonaws.glue#HashString", + "Status": { + "target": "com.amazonaws.glue#TaskStatusType", "traits": { - "smithy.api#documentation": "

                            The unique identifier of the machine learning transform.

                            " + "smithy.api#documentation": "

                            The status for this run.

                            " } } } @@ -1747,17 +1807,17 @@ "smithy.api#documentation": "

                            \n True if the migration has completed, or False otherwise.

                            " } }, - "ImportedBy": { - "target": "com.amazonaws.glue#NameString", - "traits": { - "smithy.api#documentation": "

                            The name of the person who initiated the migration.

                            " - } - }, "ImportTime": { "target": "com.amazonaws.glue#Timestamp", "traits": { "smithy.api#documentation": "

                            The time that the migration was started.

                            " } + }, + "ImportedBy": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

                            The name of the person who initiated the migration.

                            " + } } }, "traits": { @@ -1803,22 +1863,81 @@ "target": "com.amazonaws.glue#CatalogTarget" } }, + "com.amazonaws.glue#CheckSchemaVersionValidity": { + "type": "operation", + "input": { + "target": "com.amazonaws.glue#CheckSchemaVersionValidityInput" + }, + "output": { + "target": "com.amazonaws.glue#CheckSchemaVersionValidityResponse" + }, + "errors": [ + { + "target": "com.amazonaws.glue#AccessDeniedException" + }, + { + "target": "com.amazonaws.glue#InternalServiceException" + }, + { + "target": "com.amazonaws.glue#InvalidInputException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Validates the supplied schema. This call has no side effects, it simply validates using the supplied schema using DataFormat as the format. Since it does not take a schema set name, no compatibility checks are performed.

                            " + } + }, + "com.amazonaws.glue#CheckSchemaVersionValidityInput": { + "type": "structure", + "members": { + "DataFormat": { + "target": "com.amazonaws.glue#DataFormat", + "traits": { + "smithy.api#documentation": "

                            The data format of the schema definition. Currently only AVRO is supported.

                            ", + "smithy.api#required": {} + } + }, + "SchemaDefinition": { + "target": "com.amazonaws.glue#SchemaDefinitionString", + "traits": { + "smithy.api#documentation": "

                            The definition of the schema that has to be validated.

                            ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.glue#CheckSchemaVersionValidityResponse": { + "type": "structure", + "members": { + "Valid": { + "target": "com.amazonaws.glue#IsVersionValid", + "traits": { + "smithy.api#documentation": "

                            Return true, if the schema is valid and false otherwise.

                            " + } + }, + "Error": { + "target": "com.amazonaws.glue#SchemaValidationError", + "traits": { + "smithy.api#documentation": "

                            A validation failure error message.

                            " + } + } + } + }, "com.amazonaws.glue#Classification": { "type": "string" }, "com.amazonaws.glue#Classifier": { "type": "structure", "members": { - "XMLClassifier": { - "target": "com.amazonaws.glue#XMLClassifier", + "GrokClassifier": { + "target": "com.amazonaws.glue#GrokClassifier", "traits": { - "smithy.api#documentation": "

                            A classifier for XML content.

                            " + "smithy.api#documentation": "

                            A classifier that uses grok.

                            " } }, - "CsvClassifier": { - "target": "com.amazonaws.glue#CsvClassifier", + "XMLClassifier": { + "target": "com.amazonaws.glue#XMLClassifier", "traits": { - "smithy.api#documentation": "

                            A classifier for comma-separated values (CSV).

                            " + "smithy.api#documentation": "

                            A classifier for XML content.

                            " } }, "JsonClassifier": { @@ -1827,10 +1946,10 @@ "smithy.api#documentation": "

                            A classifier for JSON content.

                            " } }, - "GrokClassifier": { - "target": "com.amazonaws.glue#GrokClassifier", + "CsvClassifier": { + "target": "com.amazonaws.glue#CsvClassifier", "traits": { - "smithy.api#documentation": "

                            A classifier that uses grok.

                            " + "smithy.api#documentation": "

                            A classifier for comma-separated values (CSV).

                            " } } }, @@ -1932,19 +2051,6 @@ "com.amazonaws.glue#CodeGenNode": { "type": "structure", "members": { - "Args": { - "target": "com.amazonaws.glue#CodeGenNodeArgs", - "traits": { - "smithy.api#documentation": "

                            Properties of the node, in the form of name-value pairs.

                            ", - "smithy.api#required": {} - } - }, - "LineNumber": { - "target": "com.amazonaws.glue#Integer", - "traits": { - "smithy.api#documentation": "

                            The line number of the node.

                            " - } - }, "Id": { "target": "com.amazonaws.glue#CodeGenIdentifier", "traits": { @@ -1958,6 +2064,19 @@ "smithy.api#documentation": "

                            The type of node that this is.

                            ", "smithy.api#required": {} } + }, + "Args": { + "target": "com.amazonaws.glue#CodeGenNodeArgs", + "traits": { + "smithy.api#documentation": "

                            Properties of the node, in the form of name-value pairs.

                            ", + "smithy.api#required": {} + } + }, + "LineNumber": { + "target": "com.amazonaws.glue#Integer", + "traits": { + "smithy.api#documentation": "

                            The line number of the node.

                            " + } } }, "traits": { @@ -1974,18 +2093,18 @@ "smithy.api#required": {} } }, - "Param": { - "target": "com.amazonaws.glue#Boolean", - "traits": { - "smithy.api#documentation": "

                            True if the value is used as a parameter.

                            " - } - }, "Value": { "target": "com.amazonaws.glue#CodeGenArgValue", "traits": { "smithy.api#documentation": "

                            The value of the argument or property.

                            ", "smithy.api#required": {} } + }, + "Param": { + "target": "com.amazonaws.glue#Boolean", + "traits": { + "smithy.api#documentation": "

                            True if the value is used as a parameter.

                            " + } } }, "traits": { @@ -2010,16 +2129,17 @@ "com.amazonaws.glue#Column": { "type": "structure", "members": { - "Type": { - "target": "com.amazonaws.glue#ColumnTypeString", + "Name": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The data type of the Column.

                            " + "smithy.api#documentation": "

                            The name of the Column.

                            ", + "smithy.api#required": {} } }, - "Parameters": { - "target": "com.amazonaws.glue#ParametersMap", + "Type": { + "target": "com.amazonaws.glue#ColumnTypeString", "traits": { - "smithy.api#documentation": "

                            These key-value pairs define properties associated with the column.

                            " + "smithy.api#documentation": "

                            The data type of the Column.

                            " } }, "Comment": { @@ -2028,11 +2148,10 @@ "smithy.api#documentation": "

                            A free-form text comment.

                            " } }, - "Name": { - "target": "com.amazonaws.glue#NameString", + "Parameters": { + "target": "com.amazonaws.glue#ParametersMap", "traits": { - "smithy.api#documentation": "

                            The name of the Column.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            These key-value pairs define properties associated with the column.

                            " } } }, @@ -2092,10 +2211,10 @@ "smithy.api#required": {} } }, - "StatisticsData": { - "target": "com.amazonaws.glue#ColumnStatisticsData", + "ColumnType": { + "target": "com.amazonaws.glue#TypeString", "traits": { - "smithy.api#documentation": "

                            A ColumnStatisticData object that contains the statistics data values.

                            ", + "smithy.api#documentation": "

                            The data type of the column.

                            ", "smithy.api#required": {} } }, @@ -2106,10 +2225,10 @@ "smithy.api#required": {} } }, - "ColumnType": { - "target": "com.amazonaws.glue#TypeString", + "StatisticsData": { + "target": "com.amazonaws.glue#ColumnStatisticsData", "traits": { - "smithy.api#documentation": "

                            The data type of the column.

                            ", + "smithy.api#documentation": "

                            A ColumnStatisticData object that contains the statistics data values.

                            ", "smithy.api#required": {} } } @@ -2121,22 +2240,29 @@ "com.amazonaws.glue#ColumnStatisticsData": { "type": "structure", "members": { + "Type": { + "target": "com.amazonaws.glue#ColumnStatisticsType", + "traits": { + "smithy.api#documentation": "

                            The type of column statistics data.

                            ", + "smithy.api#required": {} + } + }, "BooleanColumnStatisticsData": { "target": "com.amazonaws.glue#BooleanColumnStatisticsData", "traits": { "smithy.api#documentation": "

                            Boolean column statistics data.

                            " } }, - "DecimalColumnStatisticsData": { - "target": "com.amazonaws.glue#DecimalColumnStatisticsData", + "DateColumnStatisticsData": { + "target": "com.amazonaws.glue#DateColumnStatisticsData", "traits": { - "smithy.api#documentation": "

                            Decimal column statistics data.

                            " + "smithy.api#documentation": "

                            Date column statistics data.

                            " } }, - "BinaryColumnStatisticsData": { - "target": "com.amazonaws.glue#BinaryColumnStatisticsData", + "DecimalColumnStatisticsData": { + "target": "com.amazonaws.glue#DecimalColumnStatisticsData", "traits": { - "smithy.api#documentation": "

                            Binary column statistics data.

                            " + "smithy.api#documentation": "

                            Decimal column statistics data.

                            " } }, "DoubleColumnStatisticsData": { @@ -2151,23 +2277,16 @@ "smithy.api#documentation": "

                            Long column statistics data.

                            " } }, - "Type": { - "target": "com.amazonaws.glue#ColumnStatisticsType", - "traits": { - "smithy.api#documentation": "

                            The type of column statistics data.

                            ", - "smithy.api#required": {} - } - }, "StringColumnStatisticsData": { "target": "com.amazonaws.glue#StringColumnStatisticsData", "traits": { "smithy.api#documentation": "

                            String column statistics data.

                            " } }, - "DateColumnStatisticsData": { - "target": "com.amazonaws.glue#DateColumnStatisticsData", + "BinaryColumnStatisticsData": { + "target": "com.amazonaws.glue#BinaryColumnStatisticsData", "traits": { - "smithy.api#documentation": "

                            Date column statistics data.

                            " + "smithy.api#documentation": "

                            Binary column statistics data.

                            " } } }, @@ -2178,17 +2297,17 @@ "com.amazonaws.glue#ColumnStatisticsError": { "type": "structure", "members": { - "Error": { - "target": "com.amazonaws.glue#ErrorDetail", - "traits": { - "smithy.api#documentation": "

                            An error message with the reason for the failure of an operation.

                            " - } - }, "ColumnStatistics": { "target": "com.amazonaws.glue#ColumnStatistics", "traits": { "smithy.api#documentation": "

                            The ColumnStatistics of the column.

                            " } + }, + "Error": { + "target": "com.amazonaws.glue#ErrorDetail", + "traits": { + "smithy.api#documentation": "

                            An error message with the reason for the failure of an operation.

                            " + } } }, "traits": { @@ -2298,10 +2417,49 @@ ] } }, - "com.amazonaws.glue#ConcurrentModificationException": { - "type": "structure", - "members": { - "Message": { + "com.amazonaws.glue#Compatibility": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "NONE", + "name": "NONE" + }, + { + "value": "DISABLED", + "name": "DISABLED" + }, + { + "value": "BACKWARD", + "name": "BACKWARD" + }, + { + "value": "BACKWARD_ALL", + "name": "BACKWARD_ALL" + }, + { + "value": "FORWARD", + "name": "FORWARD" + }, + { + "value": "FORWARD_ALL", + "name": "FORWARD_ALL" + }, + { + "value": "FULL", + "name": "FULL" + }, + { + "value": "FULL_ALL", + "name": "FULL_ALL" + } + ] + } + }, + "com.amazonaws.glue#ConcurrentModificationException": { + "type": "structure", + "members": { + "Message": { "target": "com.amazonaws.glue#MessageString", "traits": { "smithy.api#documentation": "

                            A message describing the problem.

                            " @@ -2331,18 +2489,24 @@ "com.amazonaws.glue#Condition": { "type": "structure", "members": { - "State": { - "target": "com.amazonaws.glue#JobRunState", - "traits": { - "smithy.api#documentation": "

                            The condition state. Currently, the only job states that a trigger can listen for are SUCCEEDED, STOPPED, FAILED, and TIMEOUT. The only crawler states that a trigger can listen for are SUCCEEDED, FAILED, and CANCELLED.

                            " - } - }, "LogicalOperator": { "target": "com.amazonaws.glue#LogicalOperator", "traits": { "smithy.api#documentation": "

                            A logical operator.

                            " } }, + "JobName": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

                            The name of the job whose JobRuns this condition applies to, and on which\n this trigger waits.

                            " + } + }, + "State": { + "target": "com.amazonaws.glue#JobRunState", + "traits": { + "smithy.api#documentation": "

                            The condition state. Currently, the only job states that a trigger can listen for are SUCCEEDED, STOPPED, FAILED, and TIMEOUT. The only crawler states that a trigger can listen for are SUCCEEDED, FAILED, and CANCELLED.

                            " + } + }, "CrawlerName": { "target": "com.amazonaws.glue#NameString", "traits": { @@ -2354,12 +2518,6 @@ "traits": { "smithy.api#documentation": "

                            The state of the crawler to which this condition applies.

                            " } - }, - "JobName": { - "target": "com.amazonaws.glue#NameString", - "traits": { - "smithy.api#documentation": "

                            The name of the job whose JobRuns this condition applies to, and on which\n this trigger waits.

                            " - } } }, "traits": { @@ -2405,10 +2563,10 @@ "com.amazonaws.glue#ConfusionMatrix": { "type": "structure", "members": { - "NumTrueNegatives": { + "NumTruePositives": { "target": "com.amazonaws.glue#RecordsCount", "traits": { - "smithy.api#documentation": "

                            The number of nonmatches in the data that the transform correctly rejected, in the\n confusion matrix for your transform.

                            " + "smithy.api#documentation": "

                            The number of matches in the data that the transform correctly found, in the confusion matrix for your transform.

                            " } }, "NumFalsePositives": { @@ -2417,10 +2575,10 @@ "smithy.api#documentation": "

                            The number of nonmatches in the data that the transform incorrectly classified as a match,\n in the confusion matrix for your transform.

                            " } }, - "NumTruePositives": { + "NumTrueNegatives": { "target": "com.amazonaws.glue#RecordsCount", "traits": { - "smithy.api#documentation": "

                            The number of matches in the data that the transform correctly found, in the confusion matrix for your transform.

                            " + "smithy.api#documentation": "

                            The number of nonmatches in the data that the transform correctly rejected, in the\n confusion matrix for your transform.

                            " } }, "NumFalseNegatives": { @@ -2437,16 +2595,16 @@ "com.amazonaws.glue#Connection": { "type": "structure", "members": { - "LastUpdatedBy": { + "Name": { "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The user, group, or role that last updated this connection definition.

                            " + "smithy.api#documentation": "

                            The name of the connection definition.

                            " } }, - "PhysicalConnectionRequirements": { - "target": "com.amazonaws.glue#PhysicalConnectionRequirements", + "Description": { + "target": "com.amazonaws.glue#DescriptionString", "traits": { - "smithy.api#documentation": "

                            A map of physical connection requirements, such as virtual private cloud (VPC) and\n SecurityGroup, that are needed to make this connection successfully.

                            " + "smithy.api#documentation": "

                            The description of the connection.

                            " } }, "ConnectionType": { @@ -2461,6 +2619,18 @@ "smithy.api#documentation": "

                            A list of criteria that can be used in selecting this connection.

                            " } }, + "ConnectionProperties": { + "target": "com.amazonaws.glue#ConnectionProperties", + "traits": { + "smithy.api#documentation": "

                            These key-value pairs define parameters for the connection:

                            \n
                              \n
                            • \n

                              \n HOST - The host URI: either the\n fully qualified domain name (FQDN) or the IPv4 address of\n the database host.

                              \n
                            • \n
                            • \n

                              \n PORT - The port number, between\n 1024 and 65535, of the port on which the database host is\n listening for database connections.

                              \n
                            • \n
                            • \n

                              \n USER_NAME - The name under which\n to log in to the database. The value string for USER_NAME is \"USERNAME\".

                              \n
                            • \n
                            • \n

                              \n PASSWORD - A password,\n if one is used, for the user name.

                              \n
                            • \n
                            • \n

                              \n ENCRYPTED_PASSWORD - When you enable connection password protection by setting ConnectionPasswordEncryption in the Data Catalog encryption settings, this field stores the encrypted password.

                              \n
                            • \n
                            • \n

                              \n JDBC_DRIVER_JAR_URI - The Amazon Simple Storage Service (Amazon S3) path of the\n JAR file that contains the JDBC driver to use.

                              \n
                            • \n
                            • \n

                              \n JDBC_DRIVER_CLASS_NAME - The class name of the JDBC driver to use.

                              \n
                            • \n
                            • \n

                              \n JDBC_ENGINE - The name of the JDBC engine to use.

                              \n
                            • \n
                            • \n

                              \n JDBC_ENGINE_VERSION - The version of the JDBC engine to use.

                              \n
                            • \n
                            • \n

                              \n CONFIG_FILES - (Reserved for future use.)

                              \n
                            • \n
                            • \n

                              \n INSTANCE_ID - The instance ID to use.

                              \n
                            • \n
                            • \n

                              \n JDBC_CONNECTION_URL - The URL for connecting to a JDBC data source.

                              \n
                            • \n
                            • \n

                              \n JDBC_ENFORCE_SSL - A Boolean string (true, false) specifying whether Secure\n Sockets Layer (SSL) with hostname matching is enforced for the JDBC connection on the\n client. The default is false.

                              \n
                            • \n
                            • \n

                              \n CUSTOM_JDBC_CERT - An Amazon S3 location specifying the customer's root certificate. AWS Glue uses this root certificate to validate the customer’s certificate when connecting to the customer database. AWS Glue only handles X.509 certificates. The certificate provided must be DER-encoded and supplied in Base64 encoding PEM format.

                              \n
                            • \n
                            • \n

                              \n SKIP_CUSTOM_JDBC_CERT_VALIDATION - By default, this is false. AWS Glue validates the Signature algorithm and Subject Public Key Algorithm for the customer certificate. The only permitted algorithms for the Signature algorithm are SHA256withRSA, SHA384withRSA or SHA512withRSA. For the Subject Public Key Algorithm, the key length must be at least 2048. You can set the value of this property to true to skip AWS Glue’s validation of the customer certificate.

                              \n
                            • \n
                            • \n

                              \n CUSTOM_JDBC_CERT_STRING - A custom JDBC certificate string which is used for domain match or distinguished name match to prevent a man-in-the-middle attack. In Oracle database, this is used as the SSL_SERVER_CERT_DN; in Microsoft SQL Server, this is used as the hostNameInCertificate.

                              \n
                            • \n
                            • \n

                              \n CONNECTION_URL - The URL for connecting to a general (non-JDBC) data source.

                              \n
                            • \n
                            • \n

                              \n KAFKA_BOOTSTRAP_SERVERS - A comma-separated list of host and port pairs that are the addresses of the Apache Kafka brokers in a Kafka cluster to which a Kafka client will connect to and bootstrap itself.

                              \n
                            • \n
                            • \n

                              \n KAFKA_SSL_ENABLED - Whether to enable or disable SSL on an Apache Kafka connection. Default value is \"true\".

                              \n
                            • \n
                            • \n

                              \n KAFKA_CUSTOM_CERT - The Amazon S3 URL for the private CA cert file (.pem format). The default is an empty string.

                              \n
                            • \n
                            • \n

                              \n KAFKA_SKIP_CUSTOM_CERT_VALIDATION - Whether to skip the validation of the CA cert file or not. AWS Glue validates for three algorithms: SHA256withRSA, SHA384withRSA and SHA512withRSA. Default value is \"false\".

                              \n
                            • \n
                            " + } + }, + "PhysicalConnectionRequirements": { + "target": "com.amazonaws.glue#PhysicalConnectionRequirements", + "traits": { + "smithy.api#documentation": "

                            A map of physical connection requirements, such as virtual private cloud (VPC) and\n SecurityGroup, that are needed to make this connection successfully.

                            " + } + }, "CreationTime": { "target": "com.amazonaws.glue#Timestamp", "traits": { @@ -2473,22 +2643,10 @@ "smithy.api#documentation": "

                            The last time that this connection definition was updated.

                            " } }, - "Name": { + "LastUpdatedBy": { "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The name of the connection definition.

                            " - } - }, - "ConnectionProperties": { - "target": "com.amazonaws.glue#ConnectionProperties", - "traits": { - "smithy.api#documentation": "

                            These key-value pairs define parameters for the connection:

                            \n
                              \n
                            • \n

                              \n HOST - The host URI: either the\n fully qualified domain name (FQDN) or the IPv4 address of\n the database host.

                              \n
                            • \n
                            • \n

                              \n PORT - The port number, between\n 1024 and 65535, of the port on which the database host is\n listening for database connections.

                              \n
                            • \n
                            • \n

                              \n USER_NAME - The name under which\n to log in to the database. The value string for USER_NAME is \"USERNAME\".

                              \n
                            • \n
                            • \n

                              \n PASSWORD - A password,\n if one is used, for the user name.

                              \n
                            • \n
                            • \n

                              \n ENCRYPTED_PASSWORD - When you enable connection password protection by setting ConnectionPasswordEncryption in the Data Catalog encryption settings, this field stores the encrypted password.

                              \n
                            • \n
                            • \n

                              \n JDBC_DRIVER_JAR_URI - The Amazon Simple Storage Service (Amazon S3) path of the\n JAR file that contains the JDBC driver to use.

                              \n
                            • \n
                            • \n

                              \n JDBC_DRIVER_CLASS_NAME - The class name of the JDBC driver to use.

                              \n
                            • \n
                            • \n

                              \n JDBC_ENGINE - The name of the JDBC engine to use.

                              \n
                            • \n
                            • \n

                              \n JDBC_ENGINE_VERSION - The version of the JDBC engine to use.

                              \n
                            • \n
                            • \n

                              \n CONFIG_FILES - (Reserved for future use.)

                              \n
                            • \n
                            • \n

                              \n INSTANCE_ID - The instance ID to use.

                              \n
                            • \n
                            • \n

                              \n JDBC_CONNECTION_URL - The URL for connecting to a JDBC data source.

                              \n
                            • \n
                            • \n

                              \n JDBC_ENFORCE_SSL - A Boolean string (true, false) specifying whether Secure\n Sockets Layer (SSL) with hostname matching is enforced for the JDBC connection on the\n client. The default is false.

                              \n
                            • \n
                            • \n

                              \n CUSTOM_JDBC_CERT - An Amazon S3 location specifying the customer's root certificate. AWS Glue uses this root certificate to validate the customer’s certificate when connecting to the customer database. AWS Glue only handles X.509 certificates. The certificate provided must be DER-encoded and supplied in Base64 encoding PEM format.

                              \n
                            • \n
                            • \n

                              \n SKIP_CUSTOM_JDBC_CERT_VALIDATION - By default, this is false. AWS Glue validates the Signature algorithm and Subject Public Key Algorithm for the customer certificate. The only permitted algorithms for the Signature algorithm are SHA256withRSA, SHA384withRSA or SHA512withRSA. For the Subject Public Key Algorithm, the key length must be at least 2048. You can set the value of this property to true to skip AWS Glue’s validation of the customer certificate.

                              \n
                            • \n
                            • \n

                              \n CUSTOM_JDBC_CERT_STRING - A custom JDBC certificate string which is used for domain match or distinguished name match to prevent a man-in-the-middle attack. In Oracle database, this is used as the SSL_SERVER_CERT_DN; in Microsoft SQL Server, this is used as the hostNameInCertificate.

                              \n
                            • \n
                            • \n

                              \n CONNECTION_URL - The URL for connecting to a general (non-JDBC) data source.

                              \n
                            • \n
                            • \n

                              \n KAFKA_BOOTSTRAP_SERVERS - A comma-separated list of host and port pairs that are the addresses of the Apache Kafka brokers in a Kafka cluster to which a Kafka client will connect to and bootstrap itself.

                              \n
                            • \n
                            • \n

                              \n KAFKA_SSL_ENABLED - Whether to enable or disable SSL on an Apache Kafka connection. Default value is \"true\".

                              \n
                            • \n
                            • \n

                              \n KAFKA_CUSTOM_CERT - The Amazon S3 URL for the private CA cert file (.pem format). The default is an empty string.

                              \n
                            • \n
                            • \n

                              \n KAFKA_SKIP_CUSTOM_CERT_VALIDATION - Whether to skip the validation of the CA cert file or not. AWS Glue validates for three algorithms: SHA256withRSA, SHA384withRSA and SHA512withRSA. Default value is \"false\".

                              \n
                            • \n
                            " - } - }, - "Description": { - "target": "com.amazonaws.glue#DescriptionString", - "traits": { - "smithy.api#documentation": "

                            The description of the connection.

                            " + "smithy.api#documentation": "

                            The user, group, or role that last updated this connection definition.

                            " } } }, @@ -2499,18 +2657,6 @@ "com.amazonaws.glue#ConnectionInput": { "type": "structure", "members": { - "MatchCriteria": { - "target": "com.amazonaws.glue#MatchCriteria", - "traits": { - "smithy.api#documentation": "

                            A list of criteria that can be used in selecting this connection.

                            " - } - }, - "PhysicalConnectionRequirements": { - "target": "com.amazonaws.glue#PhysicalConnectionRequirements", - "traits": { - "smithy.api#documentation": "

                            A map of physical connection requirements, such as virtual private cloud (VPC) and\n SecurityGroup, that are needed to successfully make this connection.

                            " - } - }, "Name": { "target": "com.amazonaws.glue#NameString", "traits": { @@ -2518,6 +2664,12 @@ "smithy.api#required": {} } }, + "Description": { + "target": "com.amazonaws.glue#DescriptionString", + "traits": { + "smithy.api#documentation": "

                            The description of the connection.

                            " + } + }, "ConnectionType": { "target": "com.amazonaws.glue#ConnectionType", "traits": { @@ -2525,6 +2677,12 @@ "smithy.api#required": {} } }, + "MatchCriteria": { + "target": "com.amazonaws.glue#MatchCriteria", + "traits": { + "smithy.api#documentation": "

                            A list of criteria that can be used in selecting this connection.

                            " + } + }, "ConnectionProperties": { "target": "com.amazonaws.glue#ConnectionProperties", "traits": { @@ -2532,10 +2690,10 @@ "smithy.api#required": {} } }, - "Description": { - "target": "com.amazonaws.glue#DescriptionString", + "PhysicalConnectionRequirements": { + "target": "com.amazonaws.glue#PhysicalConnectionRequirements", "traits": { - "smithy.api#documentation": "

                            The description of the connection.

                            " + "smithy.api#documentation": "

                            A map of physical connection requirements, such as virtual private cloud (VPC) and\n SecurityGroup, that are needed to successfully make this connection.

                            " } } }, @@ -2555,18 +2713,18 @@ "com.amazonaws.glue#ConnectionPasswordEncryption": { "type": "structure", "members": { - "AwsKmsKeyId": { - "target": "com.amazonaws.glue#NameString", - "traits": { - "smithy.api#documentation": "

                            An AWS KMS key that is used to encrypt the connection password.

                            \n\t\n

                            If connection password protection is enabled, the caller of CreateConnection\n and UpdateConnection needs at least kms:Encrypt permission on the\n specified AWS KMS key, to encrypt passwords before storing them in the Data Catalog.

                            \n \n\t

                            You can set the decrypt permission to enable or restrict access on the password key according to your security requirements.

                            " - } - }, "ReturnConnectionPasswordEncrypted": { "target": "com.amazonaws.glue#Boolean", "traits": { "smithy.api#documentation": "

                            When the ReturnConnectionPasswordEncrypted flag is set to \"true\", passwords remain encrypted in the responses of GetConnection and GetConnections. This encryption takes effect independently from catalog encryption.

                            ", "smithy.api#required": {} } + }, + "AwsKmsKeyId": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

                            An AWS KMS key that is used to encrypt the connection password.

                            \n\t\n

                            If connection password protection is enabled, the caller of CreateConnection\n and UpdateConnection needs at least kms:Encrypt permission on the\n specified AWS KMS key, to encrypt passwords before storing them in the Data Catalog.

                            \n \n\t

                            You can set the decrypt permission to enable or restrict access on the password key according to your security requirements.

                            " + } } }, "traits": { @@ -2723,22 +2881,22 @@ "com.amazonaws.glue#Crawl": { "type": "structure", "members": { - "LogStream": { - "target": "com.amazonaws.glue#LogStream", + "State": { + "target": "com.amazonaws.glue#CrawlState", "traits": { - "smithy.api#documentation": "

                            The log stream associated with the crawl.

                            " + "smithy.api#documentation": "

                            The state of the crawler.

                            " } }, - "CompletedOn": { + "StartedOn": { "target": "com.amazonaws.glue#TimestampValue", "traits": { - "smithy.api#documentation": "

                            The date and time on which the crawl completed.

                            " + "smithy.api#documentation": "

                            The date and time on which the crawl started.

                            " } }, - "StartedOn": { + "CompletedOn": { "target": "com.amazonaws.glue#TimestampValue", "traits": { - "smithy.api#documentation": "

                            The date and time on which the crawl started.

                            " + "smithy.api#documentation": "

                            The date and time on which the crawl completed.

                            " } }, "ErrorMessage": { @@ -2753,10 +2911,10 @@ "smithy.api#documentation": "

                            The log group associated with the crawl.

                            " } }, - "State": { - "target": "com.amazonaws.glue#CrawlState", + "LogStream": { + "target": "com.amazonaws.glue#LogStream", "traits": { - "smithy.api#documentation": "

                            The state of the crawler.

                            " + "smithy.api#documentation": "

                            The log stream associated with the crawl.

                            " } } }, @@ -2806,34 +2964,28 @@ "smithy.api#documentation": "

                            The name of the crawler.

                            " } }, - "LastUpdated": { - "target": "com.amazonaws.glue#Timestamp", - "traits": { - "smithy.api#documentation": "

                            The time that the crawler was last updated.

                            " - } - }, - "RecrawlPolicy": { - "target": "com.amazonaws.glue#RecrawlPolicy", + "Role": { + "target": "com.amazonaws.glue#Role", "traits": { - "smithy.api#documentation": "

                            A policy that specifies whether to crawl the entire dataset again, or to crawl only folders that were added since the last crawler run.

                            " + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of an IAM role that's used to access customer resources,\n such as Amazon Simple Storage Service (Amazon S3) data.

                            " } }, - "LastCrawl": { - "target": "com.amazonaws.glue#LastCrawlInfo", + "Targets": { + "target": "com.amazonaws.glue#CrawlerTargets", "traits": { - "smithy.api#documentation": "

                            The status of the last crawl, and potentially error information if\n an error occurred.

                            " + "smithy.api#documentation": "

                            A collection of targets to crawl.

                            " } }, - "State": { - "target": "com.amazonaws.glue#CrawlerState", + "DatabaseName": { + "target": "com.amazonaws.glue#DatabaseName", "traits": { - "smithy.api#documentation": "

                            Indicates whether the crawler is running, or whether a run is pending.

                            " + "smithy.api#documentation": "

                            The name of the database in which the crawler's output is stored.

                            " } }, - "Configuration": { - "target": "com.amazonaws.glue#CrawlerConfiguration", + "Description": { + "target": "com.amazonaws.glue#DescriptionString", "traits": { - "smithy.api#documentation": "

                            Crawler configuration information. This versioned JSON string allows users\n to specify aspects of a crawler's behavior.\n For more information, see Configuring a Crawler.

                            " + "smithy.api#documentation": "

                            A description of the crawler.

                            " } }, "Classifiers": { @@ -2842,28 +2994,28 @@ "smithy.api#documentation": "

                            A list of UTF-8 strings that specify the custom classifiers that are associated \n with the crawler.

                            " } }, - "Role": { - "target": "com.amazonaws.glue#Role", + "RecrawlPolicy": { + "target": "com.amazonaws.glue#RecrawlPolicy", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of an IAM role that's used to access customer resources,\n such as Amazon Simple Storage Service (Amazon S3) data.

                            " + "smithy.api#documentation": "

                            A policy that specifies whether to crawl the entire dataset again, or to crawl only folders that were added since the last crawler run.

                            " } }, - "CrawlElapsedTime": { - "target": "com.amazonaws.glue#MillisecondsCount", + "SchemaChangePolicy": { + "target": "com.amazonaws.glue#SchemaChangePolicy", "traits": { - "smithy.api#documentation": "

                            If the crawler is running, contains the total time elapsed since the last crawl\n began.

                            " + "smithy.api#documentation": "

                            The policy that specifies update and delete behaviors for the crawler.

                            " } }, - "TablePrefix": { - "target": "com.amazonaws.glue#TablePrefix", + "State": { + "target": "com.amazonaws.glue#CrawlerState", "traits": { - "smithy.api#documentation": "

                            The prefix added to the names of tables that are created.

                            " + "smithy.api#documentation": "

                            Indicates whether the crawler is running, or whether a run is pending.

                            " } }, - "Version": { - "target": "com.amazonaws.glue#VersionId", + "TablePrefix": { + "target": "com.amazonaws.glue#TablePrefix", "traits": { - "smithy.api#documentation": "

                            The version of the crawler.

                            " + "smithy.api#documentation": "

                            The prefix added to the names of tables that are created.

                            " } }, "Schedule": { @@ -2872,40 +3024,46 @@ "smithy.api#documentation": "

                            For scheduled crawlers, the schedule when the crawler runs.

                            " } }, + "CrawlElapsedTime": { + "target": "com.amazonaws.glue#MillisecondsCount", + "traits": { + "smithy.api#documentation": "

                            If the crawler is running, contains the total time elapsed since the last crawl\n began.

                            " + } + }, "CreationTime": { "target": "com.amazonaws.glue#Timestamp", "traits": { "smithy.api#documentation": "

                            The time that the crawler was created.

                            " } }, - "SchemaChangePolicy": { - "target": "com.amazonaws.glue#SchemaChangePolicy", + "LastUpdated": { + "target": "com.amazonaws.glue#Timestamp", "traits": { - "smithy.api#documentation": "

                            The policy that specifies update and delete behaviors for the crawler.

                            " + "smithy.api#documentation": "

                            The time that the crawler was last updated.

                            " } }, - "Description": { - "target": "com.amazonaws.glue#DescriptionString", + "LastCrawl": { + "target": "com.amazonaws.glue#LastCrawlInfo", "traits": { - "smithy.api#documentation": "

                            A description of the crawler.

                            " + "smithy.api#documentation": "

                            The status of the last crawl, and potentially error information if\n an error occurred.

                            " } }, - "Targets": { - "target": "com.amazonaws.glue#CrawlerTargets", + "Version": { + "target": "com.amazonaws.glue#VersionId", "traits": { - "smithy.api#documentation": "

                            A collection of targets to crawl.

                            " + "smithy.api#documentation": "

                            The version of the crawler.

                            " } }, - "CrawlerSecurityConfiguration": { - "target": "com.amazonaws.glue#CrawlerSecurityConfiguration", + "Configuration": { + "target": "com.amazonaws.glue#CrawlerConfiguration", "traits": { - "smithy.api#documentation": "

                            The name of the SecurityConfiguration structure to be used by this\n crawler.

                            " + "smithy.api#documentation": "

                            Crawler configuration information. This versioned JSON string allows users\n to specify aspects of a crawler's behavior.\n For more information, see Configuring a Crawler.

                            " } }, - "DatabaseName": { - "target": "com.amazonaws.glue#DatabaseName", + "CrawlerSecurityConfiguration": { + "target": "com.amazonaws.glue#CrawlerSecurityConfiguration", "traits": { - "smithy.api#documentation": "

                            The name of the database in which the crawler's output is stored.

                            " + "smithy.api#documentation": "

                            The name of the SecurityConfiguration structure to be used by this\n crawler.

                            " } } }, @@ -2925,28 +3083,16 @@ "com.amazonaws.glue#CrawlerMetrics": { "type": "structure", "members": { - "TimeLeftSeconds": { - "target": "com.amazonaws.glue#NonNegativeDouble", + "CrawlerName": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The estimated time left to complete a running crawl.

                            " + "smithy.api#documentation": "

                            The name of the crawler.

                            " } }, - "MedianRuntimeSeconds": { + "TimeLeftSeconds": { "target": "com.amazonaws.glue#NonNegativeDouble", "traits": { - "smithy.api#documentation": "

                            The median duration of this crawler's runs, in seconds.

                            " - } - }, - "TablesDeleted": { - "target": "com.amazonaws.glue#NonNegativeInteger", - "traits": { - "smithy.api#documentation": "

                            The number of tables deleted by this crawler.

                            " - } - }, - "TablesCreated": { - "target": "com.amazonaws.glue#NonNegativeInteger", - "traits": { - "smithy.api#documentation": "

                            The number of tables created by this crawler.

                            " + "smithy.api#documentation": "

                            The estimated time left to complete a running crawl.

                            " } }, "StillEstimating": { @@ -2961,16 +3107,28 @@ "smithy.api#documentation": "

                            The duration of the crawler's most recent run, in seconds.

                            " } }, + "MedianRuntimeSeconds": { + "target": "com.amazonaws.glue#NonNegativeDouble", + "traits": { + "smithy.api#documentation": "

                            The median duration of this crawler's runs, in seconds.

                            " + } + }, + "TablesCreated": { + "target": "com.amazonaws.glue#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                            The number of tables created by this crawler.

                            " + } + }, "TablesUpdated": { "target": "com.amazonaws.glue#NonNegativeInteger", "traits": { "smithy.api#documentation": "

                            The number of tables updated by this crawler.

                            " } }, - "CrawlerName": { - "target": "com.amazonaws.glue#NameString", + "TablesDeleted": { + "target": "com.amazonaws.glue#NonNegativeInteger", "traits": { - "smithy.api#documentation": "

                            The name of the crawler.

                            " + "smithy.api#documentation": "

                            The number of tables deleted by this crawler.

                            " } } }, @@ -3086,16 +3244,22 @@ "com.amazonaws.glue#CrawlerTargets": { "type": "structure", "members": { + "S3Targets": { + "target": "com.amazonaws.glue#S3TargetList", + "traits": { + "smithy.api#documentation": "

                            Specifies Amazon Simple Storage Service (Amazon S3) targets.

                            " + } + }, "JdbcTargets": { "target": "com.amazonaws.glue#JdbcTargetList", "traits": { "smithy.api#documentation": "

                            Specifies JDBC targets.

                            " } }, - "S3Targets": { - "target": "com.amazonaws.glue#S3TargetList", + "MongoDBTargets": { + "target": "com.amazonaws.glue#MongoDBTargetList", "traits": { - "smithy.api#documentation": "

                            Specifies Amazon Simple Storage Service (Amazon S3) targets.

                            " + "smithy.api#documentation": "

                            Specifies Amazon DocumentDB or MongoDB targets.

                            " } }, "DynamoDBTargets": { @@ -3109,12 +3273,6 @@ "traits": { "smithy.api#documentation": "

                            Specifies AWS Glue Data Catalog targets.

                            " } - }, - "MongoDBTargets": { - "target": "com.amazonaws.glue#MongoDBTargetList", - "traits": { - "smithy.api#documentation": "

                            Specifies Amazon DocumentDB or MongoDB targets.

                            " - } } }, "traits": { @@ -3159,17 +3317,17 @@ "smithy.api#documentation": "

                            An XMLClassifier object specifying the classifier\n to create.

                            " } }, - "CsvClassifier": { - "target": "com.amazonaws.glue#CreateCsvClassifierRequest", - "traits": { - "smithy.api#documentation": "

                            A CsvClassifier object specifying the classifier\n to create.

                            " - } - }, "JsonClassifier": { "target": "com.amazonaws.glue#CreateJsonClassifierRequest", "traits": { "smithy.api#documentation": "

                            A JsonClassifier object specifying the classifier\n to create.

                            " } + }, + "CsvClassifier": { + "target": "com.amazonaws.glue#CreateCsvClassifierRequest", + "traits": { + "smithy.api#documentation": "

                            A CsvClassifier object specifying the classifier\n to create.

                            " + } } } }, @@ -3257,19 +3415,6 @@ "com.amazonaws.glue#CreateCrawlerRequest": { "type": "structure", "members": { - "Role": { - "target": "com.amazonaws.glue#Role", - "traits": { - "smithy.api#documentation": "

                            The IAM role or Amazon Resource Name (ARN) of an IAM role used by the new crawler to\n access customer resources.

                            ", - "smithy.api#required": {} - } - }, - "Tags": { - "target": "com.amazonaws.glue#TagsMap", - "traits": { - "smithy.api#documentation": "

                            The tags to use with this crawler request. You may use tags to limit access to the\n crawler. For more information about tags in AWS Glue, see AWS Tags in AWS Glue in the developer\n guide.

                            " - } - }, "Name": { "target": "com.amazonaws.glue#NameString", "traits": { @@ -3277,22 +3422,23 @@ "smithy.api#required": {} } }, - "CrawlerSecurityConfiguration": { - "target": "com.amazonaws.glue#CrawlerSecurityConfiguration", + "Role": { + "target": "com.amazonaws.glue#Role", "traits": { - "smithy.api#documentation": "

                            The name of the SecurityConfiguration structure to be used by this\n crawler.

                            " + "smithy.api#documentation": "

                            The IAM role or Amazon Resource Name (ARN) of an IAM role used by the new crawler to\n access customer resources.

                            ", + "smithy.api#required": {} } }, - "Schedule": { - "target": "com.amazonaws.glue#CronExpression", + "DatabaseName": { + "target": "com.amazonaws.glue#DatabaseName", "traits": { - "smithy.api#documentation": "

                            A cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run\n something every day at 12:15 UTC, you would specify:\n cron(15 12 * * ? *).

                            " + "smithy.api#documentation": "

                            The AWS Glue database where results are written, such as:\n arn:aws:daylight:us-east-1::database/sometable/*.

                            " } }, - "SchemaChangePolicy": { - "target": "com.amazonaws.glue#SchemaChangePolicy", + "Description": { + "target": "com.amazonaws.glue#DescriptionString", "traits": { - "smithy.api#documentation": "

                            The policy for the crawler's update and deletion behavior.

                            " + "smithy.api#documentation": "

                            A description of the new crawler.

                            " } }, "Targets": { @@ -3302,16 +3448,16 @@ "smithy.api#required": {} } }, - "Description": { - "target": "com.amazonaws.glue#DescriptionString", + "Schedule": { + "target": "com.amazonaws.glue#CronExpression", "traits": { - "smithy.api#documentation": "

                            A description of the new crawler.

                            " + "smithy.api#documentation": "

                            A cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run\n something every day at 12:15 UTC, you would specify:\n cron(15 12 * * ? *).

                            " } }, - "DatabaseName": { - "target": "com.amazonaws.glue#DatabaseName", + "Classifiers": { + "target": "com.amazonaws.glue#ClassifierNameList", "traits": { - "smithy.api#documentation": "

                            The AWS Glue database where results are written, such as:\n arn:aws:daylight:us-east-1::database/sometable/*.

                            " + "smithy.api#documentation": "

                            A list of custom classifiers that the user has registered. By default, all built-in\n classifiers are included in a crawl, but these custom classifiers always override the default\n classifiers for a given classification.

                            " } }, "TablePrefix": { @@ -3320,22 +3466,34 @@ "smithy.api#documentation": "

                            The table prefix used for catalog tables that are created.

                            " } }, + "SchemaChangePolicy": { + "target": "com.amazonaws.glue#SchemaChangePolicy", + "traits": { + "smithy.api#documentation": "

                            The policy for the crawler's update and deletion behavior.

                            " + } + }, + "RecrawlPolicy": { + "target": "com.amazonaws.glue#RecrawlPolicy", + "traits": { + "smithy.api#documentation": "

                            A policy that specifies whether to crawl the entire dataset again, or to crawl only folders that were added since the last crawler run.

                            " + } + }, "Configuration": { "target": "com.amazonaws.glue#CrawlerConfiguration", "traits": { "smithy.api#documentation": "

                            Crawler configuration information. This versioned JSON\n string allows users to specify aspects of a crawler's behavior.\n For more information, see Configuring a Crawler.

                            " } }, - "Classifiers": { - "target": "com.amazonaws.glue#ClassifierNameList", + "CrawlerSecurityConfiguration": { + "target": "com.amazonaws.glue#CrawlerSecurityConfiguration", "traits": { - "smithy.api#documentation": "

                            A list of custom classifiers that the user has registered. By default, all built-in\n classifiers are included in a crawl, but these custom classifiers always override the default\n classifiers for a given classification.

                            " + "smithy.api#documentation": "

                            The name of the SecurityConfiguration structure to be used by this\n crawler.

                            " } }, - "RecrawlPolicy": { - "target": "com.amazonaws.glue#RecrawlPolicy", + "Tags": { + "target": "com.amazonaws.glue#TagsMap", "traits": { - "smithy.api#documentation": "

                            A policy that specifies whether to crawl the entire dataset again, or to crawl only folders that were added since the last crawler run.

                            " + "smithy.api#documentation": "

                            The tags to use with this crawler request. You may use tags to limit access to the\n crawler. For more information about tags in AWS Glue, see AWS Tags in AWS Glue in the developer\n guide.

                            " } } } @@ -3347,18 +3505,6 @@ "com.amazonaws.glue#CreateCsvClassifierRequest": { "type": "structure", "members": { - "Delimiter": { - "target": "com.amazonaws.glue#CsvColumnDelimiter", - "traits": { - "smithy.api#documentation": "

                            A custom symbol to denote what separates each column entry in the row.

                            " - } - }, - "AllowSingleColumn": { - "target": "com.amazonaws.glue#NullableBoolean", - "traits": { - "smithy.api#documentation": "

                            Enables the processing of files that contain only one column.

                            " - } - }, "Name": { "target": "com.amazonaws.glue#NameString", "traits": { @@ -3366,16 +3512,10 @@ "smithy.api#required": {} } }, - "DisableValueTrimming": { - "target": "com.amazonaws.glue#NullableBoolean", - "traits": { - "smithy.api#documentation": "

                            Specifies not to trim values before identifying the type of column values. The default value is true.

                            " - } - }, - "ContainsHeader": { - "target": "com.amazonaws.glue#CsvHeaderOption", + "Delimiter": { + "target": "com.amazonaws.glue#CsvColumnDelimiter", "traits": { - "smithy.api#documentation": "

                            Indicates whether the CSV file contains a header.

                            " + "smithy.api#documentation": "

                            A custom symbol to denote what separates each column entry in the row.

                            " } }, "QuoteSymbol": { @@ -3384,11 +3524,29 @@ "smithy.api#documentation": "

                            A custom symbol to denote what combines content into a single column value. Must be different from the column delimiter.

                            " } }, + "ContainsHeader": { + "target": "com.amazonaws.glue#CsvHeaderOption", + "traits": { + "smithy.api#documentation": "

                            Indicates whether the CSV file contains a header.

                            " + } + }, "Header": { "target": "com.amazonaws.glue#CsvHeader", "traits": { "smithy.api#documentation": "

                            A list of strings representing column names.

                            " } + }, + "DisableValueTrimming": { + "target": "com.amazonaws.glue#NullableBoolean", + "traits": { + "smithy.api#documentation": "

                            Specifies not to trim values before identifying the type of column values. The default value is true.

                            " + } + }, + "AllowSingleColumn": { + "target": "com.amazonaws.glue#NullableBoolean", + "traits": { + "smithy.api#documentation": "

                            Enables the processing of files that contain only one column.

                            " + } } }, "traits": { @@ -3490,6 +3648,13 @@ "com.amazonaws.glue#CreateDevEndpointRequest": { "type": "structure", "members": { + "EndpointName": { + "target": "com.amazonaws.glue#GenericString", + "traits": { + "smithy.api#documentation": "

                            The name to be assigned to the new DevEndpoint.

                            ", + "smithy.api#required": {} + } + }, "RoleArn": { "target": "com.amazonaws.glue#RoleArn", "traits": { @@ -3497,40 +3662,40 @@ "smithy.api#required": {} } }, - "Arguments": { - "target": "com.amazonaws.glue#MapValue", + "SecurityGroupIds": { + "target": "com.amazonaws.glue#StringList", "traits": { - "smithy.api#documentation": "

                            A map of arguments used to configure the DevEndpoint.

                            " + "smithy.api#documentation": "

                            Security group IDs for the security groups to be used by the new\n DevEndpoint.

                            " } }, - "ExtraPythonLibsS3Path": { + "SubnetId": { "target": "com.amazonaws.glue#GenericString", "traits": { - "smithy.api#documentation": "

                            The paths to one or more Python libraries in an Amazon S3 bucket that should be loaded in\n your DevEndpoint. Multiple values must be complete paths separated by a\n comma.

                            \n \n

                            You can only use pure Python libraries with a DevEndpoint. Libraries that rely on\n C extensions, such as the pandas Python data\n analysis library, are not yet supported.

                            \n
                            " + "smithy.api#documentation": "

                            The subnet ID for the new DevEndpoint to use.

                            " } }, - "ExtraJarsS3Path": { + "PublicKey": { "target": "com.amazonaws.glue#GenericString", "traits": { - "smithy.api#documentation": "

                            The path to one or more Java .jar files in an S3 bucket that should be loaded\n in your DevEndpoint.

                            " + "smithy.api#documentation": "

                            The public key to be used by this DevEndpoint for authentication. This\n attribute is provided for backward compatibility because the recommended attribute to use is\n public keys.

                            " } }, - "WorkerType": { - "target": "com.amazonaws.glue#WorkerType", + "PublicKeys": { + "target": "com.amazonaws.glue#PublicKeysList", "traits": { - "smithy.api#documentation": "

                            The type of predefined worker that is allocated to the development endpoint. Accepts a value of Standard, G.1X, or G.2X.

                            \n\t
                              \n
                            • \n

                              For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

                              \n
                            • \n
                            • \n

                              For the G.1X worker type, each worker maps to 1 DPU (4 vCPU, 16 GB of memory, 64 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

                              \n
                            • \n
                            • \n

                              For the G.2X worker type, each worker maps to 2 DPU (8 vCPU, 32 GB of memory, 128 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

                              \n
                            • \n
                            \n\t

                            Known issue: when a development endpoint is created with the G.2X \n WorkerType configuration, the Spark drivers for the development endpoint will run on 4 vCPU, 16 GB of memory, and a 64 GB disk.

                            " + "smithy.api#documentation": "

                            A list of public keys to be used by the development endpoints for authentication. The use\n of this attribute is preferred over a single public key because the public keys allow you to\n have a different private key per client.

                            \n \n \n

                            If you previously created an endpoint with a public key, you must remove that key to be able\n to set a list of public keys. Call the UpdateDevEndpoint API with the public\n key content in the deletePublicKeys attribute, and the list of new keys in the\n addPublicKeys attribute.

                            \n
                            " } }, - "NumberOfWorkers": { - "target": "com.amazonaws.glue#NullableInteger", + "NumberOfNodes": { + "target": "com.amazonaws.glue#IntegerValue", "traits": { - "smithy.api#documentation": "

                            The number of workers of a defined workerType that are allocated to the development endpoint.

                            \n\t\n\t

                            The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

                            " + "smithy.api#documentation": "

                            The number of AWS Glue Data Processing Units (DPUs) to allocate to this\n DevEndpoint.

                            " } }, - "PublicKeys": { - "target": "com.amazonaws.glue#PublicKeysList", + "WorkerType": { + "target": "com.amazonaws.glue#WorkerType", "traits": { - "smithy.api#documentation": "

                            A list of public keys to be used by the development endpoints for authentication. The use\n of this attribute is preferred over a single public key because the public keys allow you to\n have a different private key per client.

                            \n \n \n

                            If you previously created an endpoint with a public key, you must remove that key to be able\n to set a list of public keys. Call the UpdateDevEndpoint API with the public\n key content in the deletePublicKeys attribute, and the list of new keys in the\n addPublicKeys attribute.

                            \n
                            " + "smithy.api#documentation": "

                            The type of predefined worker that is allocated to the development endpoint. Accepts a value of Standard, G.1X, or G.2X.

                            \n\t
                              \n
                            • \n

                              For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

                              \n
                            • \n
                            • \n

                              For the G.1X worker type, each worker maps to 1 DPU (4 vCPU, 16 GB of memory, 64 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

                              \n
                            • \n
                            • \n

                              For the G.2X worker type, each worker maps to 2 DPU (8 vCPU, 32 GB of memory, 128 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

                              \n
                            • \n
                            \n\t

                            Known issue: when a development endpoint is created with the G.2X \n WorkerType configuration, the Spark drivers for the development endpoint will run on 4 vCPU, 16 GB of memory, and a 64 GB disk.

                            " } }, "GlueVersion": { @@ -3539,47 +3704,40 @@ "smithy.api#documentation": "

                            Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for running your ETL scripts on development endpoints.

                            \n \n

                            For more information about the available AWS Glue versions and corresponding Spark and Python versions, see Glue version in the developer guide.

                            \n\t \n\t

                            Development endpoints that are created without specifying a Glue version default to Glue 0.9.

                            \n\t\n\t

                            You can specify a version of Python support for development endpoints by using the Arguments parameter in the CreateDevEndpoint or UpdateDevEndpoint APIs. If no arguments are provided, the version defaults to Python 2.

                            " } }, - "Tags": { - "target": "com.amazonaws.glue#TagsMap", + "NumberOfWorkers": { + "target": "com.amazonaws.glue#NullableInteger", "traits": { - "smithy.api#documentation": "

                            The tags to use with this DevEndpoint. You may use tags to limit access to the DevEndpoint. For more information about tags in AWS Glue, see AWS Tags in AWS Glue in the developer guide.

                            " + "smithy.api#documentation": "

                            The number of workers of a defined workerType that are allocated to the development endpoint.

                            \n\t\n\t

                            The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

                            " } }, - "EndpointName": { + "ExtraPythonLibsS3Path": { "target": "com.amazonaws.glue#GenericString", "traits": { - "smithy.api#documentation": "

                            The name to be assigned to the new DevEndpoint.

                            ", - "smithy.api#required": {} - } - }, - "SecurityConfiguration": { - "target": "com.amazonaws.glue#NameString", - "traits": { - "smithy.api#documentation": "

                            The name of the SecurityConfiguration structure to be used with this\n DevEndpoint.

                            " + "smithy.api#documentation": "

                            The paths to one or more Python libraries in an Amazon S3 bucket that should be loaded in\n your DevEndpoint. Multiple values must be complete paths separated by a\n comma.

                            \n \n

                            You can only use pure Python libraries with a DevEndpoint. Libraries that rely on\n C extensions, such as the pandas Python data\n analysis library, are not yet supported.

                            \n
                            " } }, - "PublicKey": { + "ExtraJarsS3Path": { "target": "com.amazonaws.glue#GenericString", "traits": { - "smithy.api#documentation": "

                            The public key to be used by this DevEndpoint for authentication. This\n attribute is provided for backward compatibility because the recommended attribute to use is\n public keys.

                            " + "smithy.api#documentation": "

                            The path to one or more Java .jar files in an S3 bucket that should be loaded\n in your DevEndpoint.

                            " } }, - "SecurityGroupIds": { - "target": "com.amazonaws.glue#StringList", + "SecurityConfiguration": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            Security group IDs for the security groups to be used by the new\n DevEndpoint.

                            " + "smithy.api#documentation": "

                            The name of the SecurityConfiguration structure to be used with this\n DevEndpoint.

                            " } }, - "NumberOfNodes": { - "target": "com.amazonaws.glue#IntegerValue", + "Tags": { + "target": "com.amazonaws.glue#TagsMap", "traits": { - "smithy.api#documentation": "

                            The number of AWS Glue Data Processing Units (DPUs) to allocate to this\n DevEndpoint.

                            " + "smithy.api#documentation": "

                            The tags to use with this DevEndpoint. You may use tags to limit access to the DevEndpoint. For more information about tags in AWS Glue, see AWS Tags in AWS Glue in the developer guide.

                            " } }, - "SubnetId": { - "target": "com.amazonaws.glue#GenericString", + "Arguments": { + "target": "com.amazonaws.glue#MapValue", "traits": { - "smithy.api#documentation": "

                            The subnet ID for the new DevEndpoint to use.

                            " + "smithy.api#documentation": "

                            A map of arguments used to configure the DevEndpoint.

                            " } } } @@ -3587,46 +3745,46 @@ "com.amazonaws.glue#CreateDevEndpointResponse": { "type": "structure", "members": { - "VpcId": { + "EndpointName": { "target": "com.amazonaws.glue#GenericString", "traits": { - "smithy.api#documentation": "

                            The ID of the virtual private cloud (VPC) used by this DevEndpoint.

                            " + "smithy.api#documentation": "

                            The name assigned to the new DevEndpoint.

                            " } }, - "FailureReason": { + "Status": { "target": "com.amazonaws.glue#GenericString", "traits": { - "smithy.api#documentation": "

                            The reason for a current failure in this DevEndpoint.

                            " + "smithy.api#documentation": "

                            The current status of the new DevEndpoint.

                            " } }, - "ZeppelinRemoteSparkInterpreterPort": { - "target": "com.amazonaws.glue#IntegerValue", + "SecurityGroupIds": { + "target": "com.amazonaws.glue#StringList", "traits": { - "smithy.api#documentation": "

                            The Apache Zeppelin port for the remote Apache Spark interpreter.

                            " + "smithy.api#documentation": "

                            The security groups assigned to the new DevEndpoint.

                            " } }, - "Arguments": { - "target": "com.amazonaws.glue#MapValue", + "SubnetId": { + "target": "com.amazonaws.glue#GenericString", "traits": { - "smithy.api#documentation": "

                            The map of arguments used to configure this DevEndpoint.

                            \n\t\n\t

                            Valid arguments are:

                            \n\t
                              \n
                            • \n

                              \n \"--enable-glue-datacatalog\": \"\"\n

                              \n
                            • \n
                            • \n

                              \n \"GLUE_PYTHON_VERSION\": \"3\"\n

                              \n
                            • \n
                            • \n

                              \n \"GLUE_PYTHON_VERSION\": \"2\"\n

                              \n
                            • \n
                            \n\t\n

                            You can specify a version of Python support for development endpoints by using the Arguments parameter in the CreateDevEndpoint or UpdateDevEndpoint APIs. If no arguments are provided, the version defaults to Python 2.

                            " + "smithy.api#documentation": "

                            The subnet ID assigned to the new DevEndpoint.

                            " } }, - "WorkerType": { - "target": "com.amazonaws.glue#WorkerType", + "RoleArn": { + "target": "com.amazonaws.glue#RoleArn", "traits": { - "smithy.api#documentation": "

                            The type of predefined worker that is allocated to the development endpoint. May be a value of Standard, G.1X, or G.2X.

                            " + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the role assigned to the new\n DevEndpoint.

                            " } }, - "ExtraPythonLibsS3Path": { + "YarnEndpointAddress": { "target": "com.amazonaws.glue#GenericString", "traits": { - "smithy.api#documentation": "

                            The paths to one or more Python libraries in an S3 bucket that will be loaded in your\n DevEndpoint.

                            " + "smithy.api#documentation": "

                            The address of the YARN endpoint used by this DevEndpoint.

                            " } }, - "SubnetId": { - "target": "com.amazonaws.glue#GenericString", + "ZeppelinRemoteSparkInterpreterPort": { + "target": "com.amazonaws.glue#IntegerValue", "traits": { - "smithy.api#documentation": "

                            The subnet ID assigned to the new DevEndpoint.

                            " + "smithy.api#documentation": "

                            The Apache Zeppelin port for the remote Apache Spark interpreter.

                            " } }, "NumberOfNodes": { @@ -3635,64 +3793,58 @@ "smithy.api#documentation": "

                            The number of AWS Glue Data Processing Units (DPUs) allocated to this DevEndpoint.

                            " } }, - "SecurityGroupIds": { - "target": "com.amazonaws.glue#StringList", - "traits": { - "smithy.api#documentation": "

                            The security groups assigned to the new DevEndpoint.

                            " - } - }, - "Status": { - "target": "com.amazonaws.glue#GenericString", + "WorkerType": { + "target": "com.amazonaws.glue#WorkerType", "traits": { - "smithy.api#documentation": "

                            The current status of the new DevEndpoint.

                            " + "smithy.api#documentation": "

                            The type of predefined worker that is allocated to the development endpoint. May be a value of Standard, G.1X, or G.2X.

                            " } }, - "YarnEndpointAddress": { - "target": "com.amazonaws.glue#GenericString", + "GlueVersion": { + "target": "com.amazonaws.glue#GlueVersionString", "traits": { - "smithy.api#documentation": "

                            The address of the YARN endpoint used by this DevEndpoint.

                            " + "smithy.api#documentation": "

                            Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for running your ETL scripts on development endpoints.

                            " } }, - "SecurityConfiguration": { - "target": "com.amazonaws.glue#NameString", + "NumberOfWorkers": { + "target": "com.amazonaws.glue#NullableInteger", "traits": { - "smithy.api#documentation": "

                            The name of the SecurityConfiguration structure being used with this\n DevEndpoint.

                            " + "smithy.api#documentation": "

                            The number of workers of a defined workerType that are allocated to the development endpoint.

                            " } }, - "RoleArn": { - "target": "com.amazonaws.glue#RoleArn", + "AvailabilityZone": { + "target": "com.amazonaws.glue#GenericString", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the role assigned to the new\n DevEndpoint.

                            " + "smithy.api#documentation": "

                            The AWS Availability Zone where this DevEndpoint is located.

                            " } }, - "EndpointName": { + "VpcId": { "target": "com.amazonaws.glue#GenericString", "traits": { - "smithy.api#documentation": "

                            The name assigned to the new DevEndpoint.

                            " + "smithy.api#documentation": "

                            The ID of the virtual private cloud (VPC) used by this DevEndpoint.

                            " } }, - "NumberOfWorkers": { - "target": "com.amazonaws.glue#NullableInteger", + "ExtraPythonLibsS3Path": { + "target": "com.amazonaws.glue#GenericString", "traits": { - "smithy.api#documentation": "

                            The number of workers of a defined workerType that are allocated to the development endpoint.

                            " + "smithy.api#documentation": "

                            The paths to one or more Python libraries in an S3 bucket that will be loaded in your\n DevEndpoint.

                            " } }, - "AvailabilityZone": { + "ExtraJarsS3Path": { "target": "com.amazonaws.glue#GenericString", "traits": { - "smithy.api#documentation": "

                            The AWS Availability Zone where this DevEndpoint is located.

                            " + "smithy.api#documentation": "

                            Path to one or more Java .jar files in an S3 bucket that will be loaded in\n your DevEndpoint.

                            " } }, - "GlueVersion": { - "target": "com.amazonaws.glue#GlueVersionString", + "FailureReason": { + "target": "com.amazonaws.glue#GenericString", "traits": { - "smithy.api#documentation": "

                            Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for running your ETL scripts on development endpoints.

                            " + "smithy.api#documentation": "

                            The reason for a current failure in this DevEndpoint.

                            " } }, - "ExtraJarsS3Path": { - "target": "com.amazonaws.glue#GenericString", + "SecurityConfiguration": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            Path to one or more Java .jar files in an S3 bucket that will be loaded in\n your DevEndpoint.

                            " + "smithy.api#documentation": "

                            The name of the SecurityConfiguration structure being used with this\n DevEndpoint.

                            " } }, "CreatedTimestamp": { @@ -3700,6 +3852,12 @@ "traits": { "smithy.api#documentation": "

                            The point in time at which this DevEndpoint was created.

                            " } + }, + "Arguments": { + "target": "com.amazonaws.glue#MapValue", + "traits": { + "smithy.api#documentation": "

                            The map of arguments used to configure this DevEndpoint.

                            \n\t\n\t

                            Valid arguments are:

                            \n\t
                              \n
                            • \n

                              \n \"--enable-glue-datacatalog\": \"\"\n

                              \n
                            • \n
                            • \n

                              \n \"GLUE_PYTHON_VERSION\": \"3\"\n

                              \n
                            • \n
                            • \n

                              \n \"GLUE_PYTHON_VERSION\": \"2\"\n

                              \n
                            • \n
                            \n\t\n

                            You can specify a version of Python support for development endpoints by using the Arguments parameter in the CreateDevEndpoint or UpdateDevEndpoint APIs. If no arguments are provided, the version defaults to Python 2.

                            " + } } } }, @@ -3720,18 +3878,18 @@ "smithy.api#required": {} } }, - "CustomPatterns": { - "target": "com.amazonaws.glue#CustomPatterns", - "traits": { - "smithy.api#documentation": "

                            Optional custom grok patterns used by this classifier.

                            " - } - }, "GrokPattern": { "target": "com.amazonaws.glue#GrokPattern", "traits": { "smithy.api#documentation": "

                            The grok pattern used by this classifier.

                            ", "smithy.api#required": {} } + }, + "CustomPatterns": { + "target": "com.amazonaws.glue#CustomPatterns", + "traits": { + "smithy.api#documentation": "

                            Optional custom grok patterns used by this classifier.

                            " + } } }, "traits": { @@ -3776,16 +3934,23 @@ "com.amazonaws.glue#CreateJobRequest": { "type": "structure", "members": { - "LogUri": { - "target": "com.amazonaws.glue#UriString", + "Name": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            This field is reserved for future use.

                            " + "smithy.api#documentation": "

                            The name you assign to this job definition. It must be unique in your account.

                            ", + "smithy.api#required": {} } }, - "NumberOfWorkers": { - "target": "com.amazonaws.glue#NullableInteger", + "Description": { + "target": "com.amazonaws.glue#DescriptionString", "traits": { - "smithy.api#documentation": "

                            The number of workers of a defined workerType that are allocated when a job runs.

                            \n\t\n\t

                            The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

                            " + "smithy.api#documentation": "

                            Description of the job being defined.

                            " + } + }, + "LogUri": { + "target": "com.amazonaws.glue#UriString", + "traits": { + "smithy.api#documentation": "

                            This field is reserved for future use.

                            " } }, "Role": { @@ -3795,16 +3960,10 @@ "smithy.api#required": {} } }, - "DefaultArguments": { - "target": "com.amazonaws.glue#GenericMap", - "traits": { - "smithy.api#documentation": "

                            The default arguments for this job.

                            \n

                            You can specify arguments here that your own job-execution script\n consumes, as well as arguments that AWS Glue itself consumes.

                            \n

                            For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

                            \n

                            For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

                            " - } - }, - "GlueVersion": { - "target": "com.amazonaws.glue#GlueVersionString", + "ExecutionProperty": { + "target": "com.amazonaws.glue#ExecutionProperty", "traits": { - "smithy.api#documentation": "

                            Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for jobs of type Spark.

                            \n \n

                            For more information about the available AWS Glue versions and corresponding Spark and Python versions, see Glue version in the developer guide.

                            \n\t \n\t

                            Jobs that are created without specifying a Glue version default to Glue 0.9.

                            " + "smithy.api#documentation": "

                            An ExecutionProperty specifying the maximum number of concurrent runs allowed\n for this job.

                            " } }, "Command": { @@ -3814,29 +3973,16 @@ "smithy.api#required": {} } }, - "NotificationProperty": { - "target": "com.amazonaws.glue#NotificationProperty", - "traits": { - "smithy.api#documentation": "

                            Specifies configuration properties of a job notification.

                            " - } - }, - "Name": { - "target": "com.amazonaws.glue#NameString", - "traits": { - "smithy.api#documentation": "

                            The name you assign to this job definition. It must be unique in your account.

                            ", - "smithy.api#required": {} - } - }, - "MaxCapacity": { - "target": "com.amazonaws.glue#NullableDouble", + "DefaultArguments": { + "target": "com.amazonaws.glue#GenericMap", "traits": { - "smithy.api#documentation": "

                            The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure\n of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory.\n For more information, see the AWS Glue\n pricing page.

                            \n\t\t \n\t

                            Do not set Max Capacity if using WorkerType and NumberOfWorkers.

                            \n \n

                            The value that can be allocated for MaxCapacity depends on whether you are\n running a Python shell job or an Apache Spark ETL job:

                            \n
                              \n
                            • \n

                              When you specify a Python shell job (JobCommand.Name=\"pythonshell\"), you can\n allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.

                              \n
                            • \n
                            • \n

                              When you specify an Apache Spark ETL job (JobCommand.Name=\"glueetl\") or Apache \n Spark streaming ETL job (JobCommand.Name=\"gluestreaming\"), you can allocate from 2 to 100 DPUs. \n The default is 10 DPUs. This job type cannot have a fractional DPU allocation.

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            The default arguments for this job.

                            \n

                            You can specify arguments here that your own job-execution script\n consumes, as well as arguments that AWS Glue itself consumes.

                            \n

                            For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

                            \n

                            For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

                            " } }, - "Description": { - "target": "com.amazonaws.glue#DescriptionString", + "NonOverridableArguments": { + "target": "com.amazonaws.glue#GenericMap", "traits": { - "smithy.api#documentation": "

                            Description of the job being defined.

                            " + "smithy.api#documentation": "

                            Non-overridable arguments for this job, specified as name-value pairs.

                            " } }, "Connections": { @@ -3845,6 +3991,12 @@ "smithy.api#documentation": "

                            The connections used for this job.

                            " } }, + "MaxRetries": { + "target": "com.amazonaws.glue#MaxRetries", + "traits": { + "smithy.api#documentation": "

                            The maximum number of times to retry this job if it fails.

                            " + } + }, "AllocatedCapacity": { "target": "com.amazonaws.glue#IntegerValue", "traits": { @@ -3860,22 +4012,10 @@ "smithy.api#documentation": "

                            The job timeout in minutes. This is the maximum time that a job run\n can consume resources before it is terminated and enters TIMEOUT\n status. The default is 2,880 minutes (48 hours).

                            " } }, - "NonOverridableArguments": { - "target": "com.amazonaws.glue#GenericMap", - "traits": { - "smithy.api#documentation": "

                            Non-overridable arguments for this job, specified as name-value pairs.

                            " - } - }, - "MaxRetries": { - "target": "com.amazonaws.glue#MaxRetries", - "traits": { - "smithy.api#documentation": "

                            The maximum number of times to retry this job if it fails.

                            " - } - }, - "ExecutionProperty": { - "target": "com.amazonaws.glue#ExecutionProperty", + "MaxCapacity": { + "target": "com.amazonaws.glue#NullableDouble", "traits": { - "smithy.api#documentation": "

                            An ExecutionProperty specifying the maximum number of concurrent runs allowed\n for this job.

                            " + "smithy.api#documentation": "

                            The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure\n of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory.\n For more information, see the AWS Glue\n pricing page.

                            \n\t\t \n\t

                            Do not set Max Capacity if using WorkerType and NumberOfWorkers.

                            \n \n

                            The value that can be allocated for MaxCapacity depends on whether you are\n running a Python shell job or an Apache Spark ETL job:

                            \n
                              \n
                            • \n

                              When you specify a Python shell job (JobCommand.Name=\"pythonshell\"), you can\n allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.

                              \n
                            • \n
                            • \n

                              When you specify an Apache Spark ETL job (JobCommand.Name=\"glueetl\") or Apache \n Spark streaming ETL job (JobCommand.Name=\"gluestreaming\"), you can allocate from 2 to 100 DPUs. \n The default is 10 DPUs. This job type cannot have a fractional DPU allocation.

                              \n
                            • \n
                            " } }, "SecurityConfiguration": { @@ -3890,6 +4030,24 @@ "smithy.api#documentation": "

                            The tags to use with this job. You may use tags to limit access to the job. For more information about tags in AWS Glue, see AWS Tags in AWS Glue in the developer guide.

                            " } }, + "NotificationProperty": { + "target": "com.amazonaws.glue#NotificationProperty", + "traits": { + "smithy.api#documentation": "

                            Specifies configuration properties of a job notification.

                            " + } + }, + "GlueVersion": { + "target": "com.amazonaws.glue#GlueVersionString", + "traits": { + "smithy.api#documentation": "

                            Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for jobs of type Spark.

                            \n \n

                            For more information about the available AWS Glue versions and corresponding Spark and Python versions, see Glue version in the developer guide.

                            \n\t \n\t

                            Jobs that are created without specifying a Glue version default to Glue 0.9.

                            " + } + }, + "NumberOfWorkers": { + "target": "com.amazonaws.glue#NullableInteger", + "traits": { + "smithy.api#documentation": "

                            The number of workers of a defined workerType that are allocated when a job runs.

                            \n\t\n\t

                            The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

                            " + } + }, "WorkerType": { "target": "com.amazonaws.glue#WorkerType", "traits": { @@ -3976,23 +4134,17 @@ "smithy.api#required": {} } }, - "Role": { - "target": "com.amazonaws.glue#RoleString", - "traits": { - "smithy.api#documentation": "

                            The name or Amazon Resource Name (ARN) of the IAM role with the required permissions. The required permissions include both AWS Glue service role permissions to AWS Glue resources, and Amazon S3 permissions required by the transform.

                            \n\n\t\t
                              \n
                            • \n

                              This role needs AWS Glue service role permissions to allow access to resources in AWS Glue. See Attach a Policy to IAM Users That Access AWS Glue.

                              \n
                            • \n
                            • \n

                              This role needs permission to your Amazon Simple Storage Service (Amazon S3) sources, targets, temporary directory, scripts, and any libraries used by the task run for this transform.

                              \n
                            • \n
                            ", - "smithy.api#required": {} - } - }, - "NumberOfWorkers": { - "target": "com.amazonaws.glue#NullableInteger", + "Description": { + "target": "com.amazonaws.glue#DescriptionString", "traits": { - "smithy.api#documentation": "

                            The number of workers of a defined workerType that are allocated when this task runs.

                            \n\t\n\t\t

                            If WorkerType is set, then NumberOfWorkers is required (and vice versa).

                            " + "smithy.api#documentation": "

                            A description of the machine learning transform that is being defined. The default is an\n empty string.

                            " } }, - "TransformEncryption": { - "target": "com.amazonaws.glue#TransformEncryption", + "InputRecordTables": { + "target": "com.amazonaws.glue#GlueTables", "traits": { - "smithy.api#documentation": "

                            The encryption-at-rest settings of the transform that apply to accessing user data. Machine learning transforms can access user data encrypted in Amazon S3 using KMS.

                            " + "smithy.api#documentation": "

                            A list of AWS Glue table definitions used by the transform.

                            ", + "smithy.api#required": {} } }, "Parameters": { @@ -4002,22 +4154,17 @@ "smithy.api#required": {} } }, - "GlueVersion": { - "target": "com.amazonaws.glue#GlueVersionString", - "traits": { - "smithy.api#documentation": "

                            This value determines which version of AWS Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see AWS Glue Versions in the developer guide.

                            " - } - }, - "Timeout": { - "target": "com.amazonaws.glue#Timeout", + "Role": { + "target": "com.amazonaws.glue#RoleString", "traits": { - "smithy.api#documentation": "

                            The timeout of the task run for this transform in minutes. This is the maximum time that a task run for this transform can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

                            " + "smithy.api#documentation": "

                            The name or Amazon Resource Name (ARN) of the IAM role with the required permissions. The required permissions include both AWS Glue service role permissions to AWS Glue resources, and Amazon S3 permissions required by the transform.

                            \n\n\t\t
                              \n
                            • \n

                              This role needs AWS Glue service role permissions to allow access to resources in AWS Glue. See Attach a Policy to IAM Users That Access AWS Glue.

                              \n
                            • \n
                            • \n

                              This role needs permission to your Amazon Simple Storage Service (Amazon S3) sources, targets, temporary directory, scripts, and any libraries used by the task run for this transform.

                              \n
                            • \n
                            ", + "smithy.api#required": {} } }, - "Description": { - "target": "com.amazonaws.glue#DescriptionString", + "GlueVersion": { + "target": "com.amazonaws.glue#GlueVersionString", "traits": { - "smithy.api#documentation": "

                            A description of the machine learning transform that is being defined. The default is an\n empty string.

                            " + "smithy.api#documentation": "

                            This value determines which version of AWS Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see AWS Glue Versions in the developer guide.

                            " } }, "MaxCapacity": { @@ -4026,23 +4173,22 @@ "smithy.api#documentation": "

                            The number of AWS Glue data processing units (DPUs) that are allocated to task runs for this transform. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of\n processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more\n information, see the AWS Glue pricing\n page.

                            \n\t\t\n\t\t\t

                            \n MaxCapacity is a mutually exclusive option with NumberOfWorkers and WorkerType.

                            \n
                              \n
                            • \n

                              If either NumberOfWorkers or WorkerType is set, then MaxCapacity cannot be set.

                              \n
                            • \n
                            • \n

                              If MaxCapacity is set then neither NumberOfWorkers or WorkerType can be set.

                              \n
                            • \n
                            • \n

                              If WorkerType is set, then NumberOfWorkers is required (and vice versa).

                              \n
                            • \n
                            • \n

                              \n MaxCapacity and NumberOfWorkers must both be at least 1.

                              \n
                            • \n
                            \n\t\t\n\t

                            When the WorkerType field is set to a value other than Standard, the MaxCapacity field is set automatically and becomes read-only.

                            \t \n \n\t\t\n

                            When the WorkerType field is set to a value other than Standard, the MaxCapacity field is set automatically and becomes read-only.

                            " } }, - "Tags": { - "target": "com.amazonaws.glue#TagsMap", + "WorkerType": { + "target": "com.amazonaws.glue#WorkerType", "traits": { - "smithy.api#documentation": "

                            The tags to use with this machine learning transform. You may use tags to limit access to the machine learning transform. For more information about tags in AWS Glue, see AWS Tags in AWS Glue in the developer guide.

                            " + "smithy.api#documentation": "

                            The type of predefined worker that is allocated when this task runs. Accepts a value of Standard, G.1X, or G.2X.

                            \n\t
                              \n
                            • \n

                              For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

                              \n
                            • \n
                            • \n

                              For the G.1X worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker.

                              \n
                            • \n
                            • \n

                              For the G.2X worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker.

                              \n
                            • \n
                            \n\t\n\t

                            \n MaxCapacity is a mutually exclusive option with NumberOfWorkers and WorkerType.

                            \n
                              \n
                            • \n

                              If either NumberOfWorkers or WorkerType is set, then MaxCapacity cannot be set.

                              \n
                            • \n
                            • \n

                              If MaxCapacity is set then neither NumberOfWorkers or WorkerType can be set.

                              \n
                            • \n
                            • \n

                              If WorkerType is set, then NumberOfWorkers is required (and vice versa).

                              \n
                            • \n
                            • \n

                              \n MaxCapacity and NumberOfWorkers must both be at least 1.

                              \n
                            • \n
                            " } }, - "InputRecordTables": { - "target": "com.amazonaws.glue#GlueTables", + "NumberOfWorkers": { + "target": "com.amazonaws.glue#NullableInteger", "traits": { - "smithy.api#documentation": "

                            A list of AWS Glue table definitions used by the transform.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The number of workers of a defined workerType that are allocated when this task runs.

                            \n\t\n\t\t

                            If WorkerType is set, then NumberOfWorkers is required (and vice versa).

                            " } }, - "WorkerType": { - "target": "com.amazonaws.glue#WorkerType", + "Timeout": { + "target": "com.amazonaws.glue#Timeout", "traits": { - "smithy.api#documentation": "

                            The type of predefined worker that is allocated when this task runs. Accepts a value of Standard, G.1X, or G.2X.

                            \n\t
                              \n
                            • \n

                              For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

                              \n
                            • \n
                            • \n

                              For the G.1X worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker.

                              \n
                            • \n
                            • \n

                              For the G.2X worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker.

                              \n
                            • \n
                            \n\t\n\t

                            \n MaxCapacity is a mutually exclusive option with NumberOfWorkers and WorkerType.

                            \n
                              \n
                            • \n

                              If either NumberOfWorkers or WorkerType is set, then MaxCapacity cannot be set.

                              \n
                            • \n
                            • \n

                              If MaxCapacity is set then neither NumberOfWorkers or WorkerType can be set.

                              \n
                            • \n
                            • \n

                              If WorkerType is set, then NumberOfWorkers is required (and vice versa).

                              \n
                            • \n
                            • \n

                              \n MaxCapacity and NumberOfWorkers must both be at least 1.

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            The timeout of the task run for this transform in minutes. This is the maximum time that a task run for this transform can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

                            " } }, "MaxRetries": { @@ -4050,6 +4196,18 @@ "traits": { "smithy.api#documentation": "

                            The maximum number of times to retry a task for this transform after a task run fails.

                            " } + }, + "Tags": { + "target": "com.amazonaws.glue#TagsMap", + "traits": { + "smithy.api#documentation": "

                            The tags to use with this machine learning transform. You may use tags to limit access to the machine learning transform. For more information about tags in AWS Glue, see AWS Tags in AWS Glue in the developer guide.

                            " + } + }, + "TransformEncryption": { + "target": "com.amazonaws.glue#TransformEncryption", + "traits": { + "smithy.api#documentation": "

                            The encryption-at-rest settings of the transform that apply to accessing user data. Machine learning transforms can access user data encrypted in Amazon S3 using KMS.

                            " + } } } }, @@ -4102,6 +4260,12 @@ "com.amazonaws.glue#CreatePartitionRequest": { "type": "structure", "members": { + "CatalogId": { + "target": "com.amazonaws.glue#CatalogIdString", + "traits": { + "smithy.api#documentation": "

                            The AWS account ID of the catalog in which the partition is to be created.

                            " + } + }, "DatabaseName": { "target": "com.amazonaws.glue#NameString", "traits": { @@ -4122,18 +4286,264 @@ "smithy.api#documentation": "

                            A PartitionInput structure defining the partition\n to be created.

                            ", "smithy.api#required": {} } + } + } + }, + "com.amazonaws.glue#CreatePartitionResponse": { + "type": "structure", + "members": {} + }, + "com.amazonaws.glue#CreateRegistry": { + "type": "operation", + "input": { + "target": "com.amazonaws.glue#CreateRegistryInput" + }, + "output": { + "target": "com.amazonaws.glue#CreateRegistryResponse" + }, + "errors": [ + { + "target": "com.amazonaws.glue#AccessDeniedException" }, - "CatalogId": { - "target": "com.amazonaws.glue#CatalogIdString", + { + "target": "com.amazonaws.glue#AlreadyExistsException" + }, + { + "target": "com.amazonaws.glue#InternalServiceException" + }, + { + "target": "com.amazonaws.glue#InvalidInputException" + }, + { + "target": "com.amazonaws.glue#ResourceNumberLimitExceededException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Creates a new registry which may be used to hold a collection of schemas.

                            " + } + }, + "com.amazonaws.glue#CreateRegistryInput": { + "type": "structure", + "members": { + "RegistryName": { + "target": "com.amazonaws.glue#SchemaRegistryNameString", "traits": { - "smithy.api#documentation": "

                            The AWS account ID of the catalog in which the partition is to be created.

                            " + "smithy.api#documentation": "

                            Name of the registry to be created of max length of 255, and may only contain letters, numbers, hyphen, underscore, dollar sign, or hash mark. No whitespace.

                            ", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.glue#DescriptionString", + "traits": { + "smithy.api#documentation": "

                            A description of the registry. If description is not provided, there will not be any default value for this.

                            " + } + }, + "Tags": { + "target": "com.amazonaws.glue#TagsMap", + "traits": { + "smithy.api#documentation": "

                            AWS tags that contain a key value pair and may be searched by console, command line, or API.

                            " } } } }, - "com.amazonaws.glue#CreatePartitionResponse": { + "com.amazonaws.glue#CreateRegistryResponse": { "type": "structure", - "members": {} + "members": { + "RegistryArn": { + "target": "com.amazonaws.glue#GlueResourceArn", + "traits": { + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the newly created registry.

                            " + } + }, + "RegistryName": { + "target": "com.amazonaws.glue#SchemaRegistryNameString", + "traits": { + "smithy.api#documentation": "

                            The name of the registry.

                            " + } + }, + "Description": { + "target": "com.amazonaws.glue#DescriptionString", + "traits": { + "smithy.api#documentation": "

                            A description of the registry.

                            " + } + }, + "Tags": { + "target": "com.amazonaws.glue#TagsMap", + "traits": { + "smithy.api#documentation": "

                            The tags for the registry.

                            " + } + } + } + }, + "com.amazonaws.glue#CreateSchema": { + "type": "operation", + "input": { + "target": "com.amazonaws.glue#CreateSchemaInput" + }, + "output": { + "target": "com.amazonaws.glue#CreateSchemaResponse" + }, + "errors": [ + { + "target": "com.amazonaws.glue#AccessDeniedException" + }, + { + "target": "com.amazonaws.glue#AlreadyExistsException" + }, + { + "target": "com.amazonaws.glue#EntityNotFoundException" + }, + { + "target": "com.amazonaws.glue#InternalServiceException" + }, + { + "target": "com.amazonaws.glue#InvalidInputException" + }, + { + "target": "com.amazonaws.glue#ResourceNumberLimitExceededException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Creates a new schema set and registers the schema definition. Returns an error if the schema set already exists without actually registering the version.

                            \n

                            When the schema set is created, a version checkpoint will be set to the first version. Compatibility mode \"DISABLED\" restricts any additional schema versions from being added after the first schema version. For all other compatibility modes, validation of compatibility settings will be applied only from the second version onwards when the RegisterSchemaVersion API is used.

                            \n

                            When this API is called without a RegistryId, this will create an entry for a \"default-registry\" in the registry database tables, if it is not already present.

                            " + } + }, + "com.amazonaws.glue#CreateSchemaInput": { + "type": "structure", + "members": { + "RegistryId": { + "target": "com.amazonaws.glue#RegistryId", + "traits": { + "smithy.api#documentation": "

                            This is a wrapper shape to contain the registry identity fields. If this is not provided, the default registry will be used. The ARN format for the same will be: arn:aws:glue:us-east-2::registry/default-registry:random-5-letter-id.

                            " + } + }, + "SchemaName": { + "target": "com.amazonaws.glue#SchemaRegistryNameString", + "traits": { + "smithy.api#documentation": "

                            Name of the schema to be created of max length of 255, and may only contain letters, numbers, hyphen, underscore, dollar sign, or hash mark. No whitespace.

                            ", + "smithy.api#required": {} + } + }, + "DataFormat": { + "target": "com.amazonaws.glue#DataFormat", + "traits": { + "smithy.api#documentation": "

                            The data format of the schema definition. Currently only AVRO is supported.

                            ", + "smithy.api#required": {} + } + }, + "Compatibility": { + "target": "com.amazonaws.glue#Compatibility", + "traits": { + "smithy.api#documentation": "

                            The compatibility mode of the schema. The possible values are:

                            \n\t\n
                              \n
                            • \n

                              \n NONE: No compatibility mode applies. You can use this choice in development scenarios or if you do not know the compatibility mode that you want to apply to schemas. Any new version added will be accepted without undergoing a compatibility check.

                              \n
                            • \n
                            • \n

                              \n DISABLED: This compatibility choice prevents versioning for a particular schema. You can use this choice to prevent future versioning of a schema.

                              \n
                            • \n
                            • \n

                              \n BACKWARD: This compatibility choice is recommended as it allows data receivers to read both the current and one previous schema version. This means that for instance, a new schema version cannot drop data fields or change the type of these fields, so they can't be read by readers using the previous version.

                              \n
                            • \n
                            • \n

                              \n BACKWARD_ALL: This compatibility choice allows data receivers to read both the current and all previous schema versions. You can use this choice when you need to delete fields or add optional fields, and check compatibility against all previous schema versions.

                              \n
                            • \n
                            • \n

                              \n FORWARD: This compatibility choice allows data receivers to read both the current and one next schema version, but not necessarily later versions. You can use this choice when you need to add fields or delete optional fields, but only check compatibility against the last schema version.

                              \n
                            • \n
                            • \n

                              \n FORWARD_ALL: This compatibility choice allows data receivers to read written by producers of any new registered schema. You can use this choice when you need to add fields or delete optional fields, and check compatibility against all previous schema versions.

                              \n
                            • \n
                            • \n

                              \n FULL: This compatibility choice allows data receivers to read data written by producers using the previous or next version of the schema, but not necessarily earlier or later versions. You can use this choice when you need to add or remove optional fields, but only check compatibility against the last schema version.

                              \n
                            • \n
                            • \n

                              \n FULL_ALL: This compatibility choice allows data receivers to read data written by producers using all previous schema versions. You can use this choice when you need to add or remove optional fields, and check compatibility against all previous schema versions.

                              \n
                            • \n
                            " + } + }, + "Description": { + "target": "com.amazonaws.glue#DescriptionString", + "traits": { + "smithy.api#documentation": "

                            An optional description of the schema. If description is not provided, there will not be any automatic default value for this.

                            " + } + }, + "Tags": { + "target": "com.amazonaws.glue#TagsMap", + "traits": { + "smithy.api#documentation": "

                            AWS tags that contain a key value pair and may be searched by console, command line, or API. If specified, follows the AWS tags-on-create pattern.

                            " + } + }, + "SchemaDefinition": { + "target": "com.amazonaws.glue#SchemaDefinitionString", + "traits": { + "smithy.api#documentation": "

                            The schema definition using the DataFormat setting for SchemaName.

                            " + } + } + } + }, + "com.amazonaws.glue#CreateSchemaResponse": { + "type": "structure", + "members": { + "RegistryName": { + "target": "com.amazonaws.glue#SchemaRegistryNameString", + "traits": { + "smithy.api#documentation": "

                            The name of the registry.

                            " + } + }, + "RegistryArn": { + "target": "com.amazonaws.glue#GlueResourceArn", + "traits": { + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the registry.

                            " + } + }, + "SchemaName": { + "target": "com.amazonaws.glue#SchemaRegistryNameString", + "traits": { + "smithy.api#documentation": "

                            The name of the schema.

                            " + } + }, + "SchemaArn": { + "target": "com.amazonaws.glue#GlueResourceArn", + "traits": { + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the schema.

                            " + } + }, + "Description": { + "target": "com.amazonaws.glue#DescriptionString", + "traits": { + "smithy.api#documentation": "

                            A description of the schema if specified when created.

                            " + } + }, + "DataFormat": { + "target": "com.amazonaws.glue#DataFormat", + "traits": { + "smithy.api#documentation": "

                            The data format of the schema definition. Currently only AVRO is supported.

                            " + } + }, + "Compatibility": { + "target": "com.amazonaws.glue#Compatibility", + "traits": { + "smithy.api#documentation": "

                            The schema compatibility mode.

                            " + } + }, + "SchemaCheckpoint": { + "target": "com.amazonaws.glue#SchemaCheckpointNumber", + "traits": { + "smithy.api#documentation": "

                            The version number of the checkpoint (the last time the compatibility mode was changed).

                            " + } + }, + "LatestSchemaVersion": { + "target": "com.amazonaws.glue#VersionLongNumber", + "traits": { + "smithy.api#documentation": "

                            The latest version of the schema associated with the returned schema definition.

                            " + } + }, + "NextSchemaVersion": { + "target": "com.amazonaws.glue#VersionLongNumber", + "traits": { + "smithy.api#documentation": "

                            The next version of the schema associated with the returned schema definition.

                            " + } + }, + "SchemaStatus": { + "target": "com.amazonaws.glue#SchemaStatus", + "traits": { + "smithy.api#documentation": "

                            The status of the schema.

                            " + } + }, + "Tags": { + "target": "com.amazonaws.glue#TagsMap", + "traits": { + "smithy.api#documentation": "

                            The tags for the schema.

                            " + } + }, + "SchemaVersionId": { + "target": "com.amazonaws.glue#SchemaVersionIdString", + "traits": { + "smithy.api#documentation": "

                            The unique identifier of the first schema version.

                            " + } + }, + "SchemaVersionStatus": { + "target": "com.amazonaws.glue#SchemaVersionStatus", + "traits": { + "smithy.api#documentation": "

                            The status of the first schema version created.

                            " + } + } + } }, "com.amazonaws.glue#CreateScript": { "type": "operation", @@ -4230,17 +4640,17 @@ "com.amazonaws.glue#CreateSecurityConfigurationRequest": { "type": "structure", "members": { - "EncryptionConfiguration": { - "target": "com.amazonaws.glue#EncryptionConfiguration", + "Name": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The encryption configuration for the new security configuration.

                            ", + "smithy.api#documentation": "

                            The name for the new security configuration.

                            ", "smithy.api#required": {} } }, - "Name": { - "target": "com.amazonaws.glue#NameString", + "EncryptionConfiguration": { + "target": "com.amazonaws.glue#EncryptionConfiguration", "traits": { - "smithy.api#documentation": "

                            The name for the new security configuration.

                            ", + "smithy.api#documentation": "

                            The encryption configuration for the new security configuration.

                            ", "smithy.api#required": {} } } @@ -4301,6 +4711,12 @@ "com.amazonaws.glue#CreateTableRequest": { "type": "structure", "members": { + "CatalogId": { + "target": "com.amazonaws.glue#CatalogIdString", + "traits": { + "smithy.api#documentation": "

                            The ID of the Data Catalog in which to create the Table.\n If none is supplied, the AWS account ID is used by default.

                            " + } + }, "DatabaseName": { "target": "com.amazonaws.glue#NameString", "traits": { @@ -4308,12 +4724,6 @@ "smithy.api#required": {} } }, - "CatalogId": { - "target": "com.amazonaws.glue#CatalogIdString", - "traits": { - "smithy.api#documentation": "

                            The ID of the Data Catalog in which to create the Table.\n If none is supplied, the AWS account ID is used by default.

                            " - } - }, "TableInput": { "target": "com.amazonaws.glue#TableInput", "traits": { @@ -4381,10 +4791,10 @@ "smithy.api#required": {} } }, - "Schedule": { - "target": "com.amazonaws.glue#GenericString", + "WorkflowName": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            A cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run\n something every day at 12:15 UTC, you would specify:\n cron(15 12 * * ? *).

                            \n

                            This field is required when the trigger type is SCHEDULED.

                            " + "smithy.api#documentation": "

                            The name of the workflow associated with the trigger.

                            " } }, "Type": { @@ -4394,6 +4804,18 @@ "smithy.api#required": {} } }, + "Schedule": { + "target": "com.amazonaws.glue#GenericString", + "traits": { + "smithy.api#documentation": "

                            A cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run\n something every day at 12:15 UTC, you would specify:\n cron(15 12 * * ? *).

                            \n

                            This field is required when the trigger type is SCHEDULED.

                            " + } + }, + "Predicate": { + "target": "com.amazonaws.glue#Predicate", + "traits": { + "smithy.api#documentation": "

                            A predicate to specify when the new trigger should fire.

                            \n

                            This field is required when the trigger type is CONDITIONAL.

                            " + } + }, "Actions": { "target": "com.amazonaws.glue#ActionList", "traits": { @@ -4401,35 +4823,23 @@ "smithy.api#required": {} } }, + "Description": { + "target": "com.amazonaws.glue#DescriptionString", + "traits": { + "smithy.api#documentation": "

                            A description of the new trigger.

                            " + } + }, "StartOnCreation": { "target": "com.amazonaws.glue#BooleanValue", "traits": { "smithy.api#documentation": "

                            Set to true to start SCHEDULED and CONDITIONAL\n triggers when created. True is not supported for ON_DEMAND triggers.

                            " } }, - "WorkflowName": { - "target": "com.amazonaws.glue#NameString", - "traits": { - "smithy.api#documentation": "

                            The name of the workflow associated with the trigger.

                            " - } - }, "Tags": { "target": "com.amazonaws.glue#TagsMap", "traits": { "smithy.api#documentation": "

                            The tags to use with this trigger. You may use tags to limit access to the trigger.\n For more information about tags in AWS Glue, see\n AWS Tags in AWS\n Glue in the developer guide.

                            " } - }, - "Predicate": { - "target": "com.amazonaws.glue#Predicate", - "traits": { - "smithy.api#documentation": "

                            A predicate to specify when the new trigger should fire.

                            \n

                            This field is required when the trigger type is CONDITIONAL.

                            " - } - }, - "Description": { - "target": "com.amazonaws.glue#DescriptionString", - "traits": { - "smithy.api#documentation": "

                            A description of the new trigger.

                            " - } } } }, @@ -4482,11 +4892,10 @@ "com.amazonaws.glue#CreateUserDefinedFunctionRequest": { "type": "structure", "members": { - "FunctionInput": { - "target": "com.amazonaws.glue#UserDefinedFunctionInput", + "CatalogId": { + "target": "com.amazonaws.glue#CatalogIdString", "traits": { - "smithy.api#documentation": "

                            A FunctionInput object that defines the function\n to create in the Data Catalog.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The ID of the Data Catalog in which to create the function. If none is provided, the AWS\n account ID is used by default.

                            " } }, "DatabaseName": { @@ -4496,10 +4905,11 @@ "smithy.api#required": {} } }, - "CatalogId": { - "target": "com.amazonaws.glue#CatalogIdString", + "FunctionInput": { + "target": "com.amazonaws.glue#UserDefinedFunctionInput", "traits": { - "smithy.api#documentation": "

                            The ID of the Data Catalog in which to create the function. If none is provided, the AWS\n account ID is used by default.

                            " + "smithy.api#documentation": "

                            A FunctionInput object that defines the function\n to create in the Data Catalog.

                            ", + "smithy.api#required": {} } } } @@ -4543,12 +4953,6 @@ "com.amazonaws.glue#CreateWorkflowRequest": { "type": "structure", "members": { - "Description": { - "target": "com.amazonaws.glue#GenericString", - "traits": { - "smithy.api#documentation": "

                            A description of the workflow.

                            " - } - }, "Name": { "target": "com.amazonaws.glue#NameString", "traits": { @@ -4556,10 +4960,10 @@ "smithy.api#required": {} } }, - "MaxConcurrentRuns": { - "target": "com.amazonaws.glue#NullableInteger", + "Description": { + "target": "com.amazonaws.glue#GenericString", "traits": { - "smithy.api#documentation": "

                            You can use this parameter to prevent unwanted multiple updates to data, to control costs, or in some cases, to prevent exceeding the maximum number of concurrent runs of any of the component jobs. If you leave this parameter blank, there is no limit to the number of concurrent workflow runs.

                            " + "smithy.api#documentation": "

                            A description of the workflow.

                            " } }, "DefaultRunProperties": { @@ -4573,6 +4977,12 @@ "traits": { "smithy.api#documentation": "

                            The tags to be used with this workflow.

                            " } + }, + "MaxConcurrentRuns": { + "target": "com.amazonaws.glue#NullableInteger", + "traits": { + "smithy.api#documentation": "

                            You can use this parameter to prevent unwanted multiple updates to data, to control costs, or in some cases, to prevent exceeding the maximum number of concurrent runs of any of the component jobs. If you leave this parameter blank, there is no limit to the number of concurrent workflow runs.

                            " + } } } }, @@ -4590,10 +5000,11 @@ "com.amazonaws.glue#CreateXMLClassifierRequest": { "type": "structure", "members": { - "RowTag": { - "target": "com.amazonaws.glue#RowTag", + "Classification": { + "target": "com.amazonaws.glue#Classification", "traits": { - "smithy.api#documentation": "

                            The XML tag designating the element that contains each record in an XML document being\n parsed. This can't identify a self-closing element (closed by />). An empty\n row element that contains only attributes can be parsed as long as it ends with a closing tag\n (for example, is okay, but\n is not).

                            " + "smithy.api#documentation": "

                            An identifier of the data format that the classifier matches.

                            ", + "smithy.api#required": {} } }, "Name": { @@ -4603,11 +5014,10 @@ "smithy.api#required": {} } }, - "Classification": { - "target": "com.amazonaws.glue#Classification", + "RowTag": { + "target": "com.amazonaws.glue#RowTag", "traits": { - "smithy.api#documentation": "

                            An identifier of the data format that the classifier matches.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The XML tag designating the element that contains each record in an XML document being\n parsed. This can't identify a self-closing element (closed by />). An empty\n row element that contains only attributes can be parsed as long as it ends with a closing tag\n (for example, is okay, but\n is not).

                            " } } }, @@ -4615,22 +5025,26 @@ "smithy.api#documentation": "

                            Specifies an XML classifier for CreateClassifier to create.

                            " } }, + "com.amazonaws.glue#CreatedTimestamp": { + "type": "string" + }, "com.amazonaws.glue#CronExpression": { "type": "string" }, "com.amazonaws.glue#CsvClassifier": { "type": "structure", "members": { - "Delimiter": { - "target": "com.amazonaws.glue#CsvColumnDelimiter", + "Name": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            A custom symbol to denote what separates each column entry in the row.

                            " + "smithy.api#documentation": "

                            The name of the classifier.

                            ", + "smithy.api#required": {} } }, - "AllowSingleColumn": { - "target": "com.amazonaws.glue#NullableBoolean", + "CreationTime": { + "target": "com.amazonaws.glue#Timestamp", "traits": { - "smithy.api#documentation": "

                            Enables the processing of files that contain only one column.

                            " + "smithy.api#documentation": "

                            The time that this classifier was registered.

                            " } }, "LastUpdated": { @@ -4639,28 +5053,22 @@ "smithy.api#documentation": "

                            The time that this classifier was last updated.

                            " } }, - "QuoteSymbol": { - "target": "com.amazonaws.glue#CsvQuoteSymbol", - "traits": { - "smithy.api#documentation": "

                            A custom symbol to denote what combines content into a single column value. It must be\n different from the column delimiter.

                            " - } - }, "Version": { "target": "com.amazonaws.glue#VersionId", "traits": { "smithy.api#documentation": "

                            The version of this classifier.

                            " } }, - "DisableValueTrimming": { - "target": "com.amazonaws.glue#NullableBoolean", + "Delimiter": { + "target": "com.amazonaws.glue#CsvColumnDelimiter", "traits": { - "smithy.api#documentation": "

                            Specifies not to trim values before identifying the type of column values. The default\n value is true.

                            " + "smithy.api#documentation": "

                            A custom symbol to denote what separates each column entry in the row.

                            " } }, - "Header": { - "target": "com.amazonaws.glue#CsvHeader", + "QuoteSymbol": { + "target": "com.amazonaws.glue#CsvQuoteSymbol", "traits": { - "smithy.api#documentation": "

                            A list of strings representing column names.

                            " + "smithy.api#documentation": "

                            A custom symbol to denote what combines content into a single column value. It must be\n different from the column delimiter.

                            " } }, "ContainsHeader": { @@ -4669,17 +5077,22 @@ "smithy.api#documentation": "

                            Indicates whether the CSV file contains a header.

                            " } }, - "CreationTime": { - "target": "com.amazonaws.glue#Timestamp", + "Header": { + "target": "com.amazonaws.glue#CsvHeader", "traits": { - "smithy.api#documentation": "

                            The time that this classifier was registered.

                            " + "smithy.api#documentation": "

                            A list of strings representing column names.

                            " } }, - "Name": { - "target": "com.amazonaws.glue#NameString", + "DisableValueTrimming": { + "target": "com.amazonaws.glue#NullableBoolean", "traits": { - "smithy.api#documentation": "

                            The name of the classifier.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            Specifies not to trim values before identifying the type of column values. The default\n value is true.

                            " + } + }, + "AllowSingleColumn": { + "target": "com.amazonaws.glue#NullableBoolean", + "traits": { + "smithy.api#documentation": "

                            Enables the processing of files that contain only one column.

                            " } } }, @@ -4757,23 +5170,34 @@ "com.amazonaws.glue#DataCatalogEncryptionSettings": { "type": "structure", "members": { - "ConnectionPasswordEncryption": { - "target": "com.amazonaws.glue#ConnectionPasswordEncryption", - "traits": { - "smithy.api#documentation": "

                            When connection password protection is enabled, the Data Catalog uses a customer-provided\n key to encrypt the password as part of CreateConnection or\n UpdateConnection and store it in the ENCRYPTED_PASSWORD field in\n the connection properties. You can enable catalog encryption or only password\n encryption.

                            " - } - }, "EncryptionAtRest": { "target": "com.amazonaws.glue#EncryptionAtRest", "traits": { "smithy.api#documentation": "

                            Specifies the encryption-at-rest configuration for the Data Catalog.

                            " } + }, + "ConnectionPasswordEncryption": { + "target": "com.amazonaws.glue#ConnectionPasswordEncryption", + "traits": { + "smithy.api#documentation": "

                            When connection password protection is enabled, the Data Catalog uses a customer-provided\n key to encrypt the password as part of CreateConnection or\n UpdateConnection and store it in the ENCRYPTED_PASSWORD field in\n the connection properties. You can enable catalog encryption or only password\n encryption.

                            " + } } }, "traits": { "smithy.api#documentation": "

                            Contains configuration information for maintaining Data Catalog security.

                            " } }, + "com.amazonaws.glue#DataFormat": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "AVRO", + "name": "AVRO" + } + ] + } + }, "com.amazonaws.glue#DataLakePrincipal": { "type": "structure", "members": { @@ -4800,16 +5224,23 @@ "com.amazonaws.glue#Database": { "type": "structure", "members": { - "LocationUri": { - "target": "com.amazonaws.glue#URI", + "Name": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The location of the database (for example, an HDFS path).

                            " + "smithy.api#documentation": "

                            The name of the database. For Hive compatibility, this is folded to lowercase when it is\n stored.

                            ", + "smithy.api#required": {} } }, - "TargetDatabase": { - "target": "com.amazonaws.glue#DatabaseIdentifier", + "Description": { + "target": "com.amazonaws.glue#DescriptionString", "traits": { - "smithy.api#documentation": "

                            A DatabaseIdentifier structure that describes a target database for resource linking.

                            " + "smithy.api#documentation": "

                            A description of the database.

                            " + } + }, + "LocationUri": { + "target": "com.amazonaws.glue#URI", + "traits": { + "smithy.api#documentation": "

                            The location of the database (for example, an HDFS path).

                            " } }, "Parameters": { @@ -4824,29 +5255,22 @@ "smithy.api#documentation": "

                            The time at which the metadata database was created in the catalog.

                            " } }, - "CatalogId": { - "target": "com.amazonaws.glue#CatalogIdString", - "traits": { - "smithy.api#documentation": "

                            The ID of the Data Catalog in which the database resides.

                            " - } - }, - "Description": { - "target": "com.amazonaws.glue#DescriptionString", - "traits": { - "smithy.api#documentation": "

                            A description of the database.

                            " - } - }, "CreateTableDefaultPermissions": { "target": "com.amazonaws.glue#PrincipalPermissionsList", "traits": { "smithy.api#documentation": "

                            Creates a set of default permissions on the table for principals.

                            " } }, - "Name": { - "target": "com.amazonaws.glue#NameString", + "TargetDatabase": { + "target": "com.amazonaws.glue#DatabaseIdentifier", "traits": { - "smithy.api#documentation": "

                            The name of the database. For Hive compatibility, this is folded to lowercase when it is\n stored.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            A DatabaseIdentifier structure that describes a target database for resource linking.

                            " + } + }, + "CatalogId": { + "target": "com.amazonaws.glue#CatalogIdString", + "traits": { + "smithy.api#documentation": "

                            The ID of the Data Catalog in which the database resides.

                            " } } }, @@ -4857,17 +5281,17 @@ "com.amazonaws.glue#DatabaseIdentifier": { "type": "structure", "members": { - "DatabaseName": { - "target": "com.amazonaws.glue#NameString", - "traits": { - "smithy.api#documentation": "

                            The name of the catalog database.

                            " - } - }, "CatalogId": { "target": "com.amazonaws.glue#CatalogIdString", "traits": { "smithy.api#documentation": "

                            The ID of the Data Catalog in which the database resides.

                            " } + }, + "DatabaseName": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

                            The name of the catalog database.

                            " + } } }, "traits": { @@ -4877,29 +5301,29 @@ "com.amazonaws.glue#DatabaseInput": { "type": "structure", "members": { - "Description": { - "target": "com.amazonaws.glue#DescriptionString", + "Name": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            A description of the database.

                            " + "smithy.api#documentation": "

                            The name of the database. For Hive compatibility, this is folded to lowercase when it is\n stored.

                            ", + "smithy.api#required": {} } }, - "Parameters": { - "target": "com.amazonaws.glue#ParametersMap", + "Description": { + "target": "com.amazonaws.glue#DescriptionString", "traits": { - "smithy.api#documentation": "

                            These key-value pairs define parameters and properties\n of the database.

                            \n

                            These key-value pairs define parameters and properties of the database.

                            " + "smithy.api#documentation": "

                            A description of the database.

                            " } }, - "TargetDatabase": { - "target": "com.amazonaws.glue#DatabaseIdentifier", + "LocationUri": { + "target": "com.amazonaws.glue#URI", "traits": { - "smithy.api#documentation": "

                            A DatabaseIdentifier structure that describes a target database for resource linking.

                            " + "smithy.api#documentation": "

                            The location of the database (for example, an HDFS path).

                            " } }, - "Name": { - "target": "com.amazonaws.glue#NameString", + "Parameters": { + "target": "com.amazonaws.glue#ParametersMap", "traits": { - "smithy.api#documentation": "

                            The name of the database. For Hive compatibility, this is folded to lowercase when it is\n stored.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            These key-value pairs define parameters and properties\n of the database.

                            \n

                            These key-value pairs define parameters and properties of the database.

                            " } }, "CreateTableDefaultPermissions": { @@ -4908,10 +5332,10 @@ "smithy.api#documentation": "

                            Creates a set of default permissions on the table for principals.

                            " } }, - "LocationUri": { - "target": "com.amazonaws.glue#URI", + "TargetDatabase": { + "target": "com.amazonaws.glue#DatabaseIdentifier", "traits": { - "smithy.api#documentation": "

                            The location of the database (for example, an HDFS path).

                            " + "smithy.api#documentation": "

                            A DatabaseIdentifier structure that describes a target database for resource linking.

                            " } } }, @@ -4931,13 +5355,6 @@ "com.amazonaws.glue#DateColumnStatisticsData": { "type": "structure", "members": { - "NumberOfDistinctValues": { - "target": "com.amazonaws.glue#NonNegativeLong", - "traits": { - "smithy.api#documentation": "

                            The number of distinct values in a column.

                            ", - "smithy.api#required": {} - } - }, "MinimumValue": { "target": "com.amazonaws.glue#Timestamp", "traits": { @@ -4956,6 +5373,13 @@ "smithy.api#documentation": "

                            The number of null values in the column.

                            ", "smithy.api#required": {} } + }, + "NumberOfDistinctValues": { + "target": "com.amazonaws.glue#NonNegativeLong", + "traits": { + "smithy.api#documentation": "

                            The number of distinct values in a column.

                            ", + "smithy.api#required": {} + } } }, "traits": { @@ -4965,16 +5389,16 @@ "com.amazonaws.glue#DecimalColumnStatisticsData": { "type": "structure", "members": { - "MaximumValue": { + "MinimumValue": { "target": "com.amazonaws.glue#DecimalNumber", "traits": { - "smithy.api#documentation": "

                            The highest value in the column.

                            " + "smithy.api#documentation": "

                            The lowest value in the column.

                            " } }, - "MinimumValue": { + "MaximumValue": { "target": "com.amazonaws.glue#DecimalNumber", "traits": { - "smithy.api#documentation": "

                            The lowest value in the column.

                            " + "smithy.api#documentation": "

                            The highest value in the column.

                            " } }, "NumberOfNulls": { @@ -5105,11 +5529,10 @@ "com.amazonaws.glue#DeleteColumnStatisticsForPartitionRequest": { "type": "structure", "members": { - "PartitionValues": { - "target": "com.amazonaws.glue#ValueStringList", + "CatalogId": { + "target": "com.amazonaws.glue#CatalogIdString", "traits": { - "smithy.api#documentation": "

                            A list of partition values identifying the partition.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The ID of the Data Catalog where the partitions in question reside.\n If none is supplied, the AWS account ID is used by default.

                            " } }, "DatabaseName": { @@ -5119,23 +5542,24 @@ "smithy.api#required": {} } }, - "CatalogId": { - "target": "com.amazonaws.glue#CatalogIdString", + "TableName": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The ID of the Data Catalog where the partitions in question reside.\n If none is supplied, the AWS account ID is used by default.

                            " - } + "smithy.api#documentation": "

                            The name of the partitions' table.

                            ", + "smithy.api#required": {} + } }, - "ColumnName": { - "target": "com.amazonaws.glue#NameString", + "PartitionValues": { + "target": "com.amazonaws.glue#ValueStringList", "traits": { - "smithy.api#documentation": "

                            Name of the column.

                            ", + "smithy.api#documentation": "

                            A list of partition values identifying the partition.

                            ", "smithy.api#required": {} } }, - "TableName": { + "ColumnName": { "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The name of the partitions' table.

                            ", + "smithy.api#documentation": "

                            Name of the column.

                            ", "smithy.api#required": {} } } @@ -5183,24 +5607,24 @@ "smithy.api#documentation": "

                            The ID of the Data Catalog where the partitions in question reside.\n If none is supplied, the AWS account ID is used by default.

                            " } }, - "TableName": { + "DatabaseName": { "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The name of the partitions' table.

                            ", + "smithy.api#documentation": "

                            The name of the catalog database where the partitions reside.

                            ", "smithy.api#required": {} } }, - "ColumnName": { + "TableName": { "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The name of the column.

                            ", + "smithy.api#documentation": "

                            The name of the partitions' table.

                            ", "smithy.api#required": {} } }, - "DatabaseName": { + "ColumnName": { "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The name of the catalog database where the partitions reside.

                            ", + "smithy.api#documentation": "

                            The name of the column.

                            ", "smithy.api#required": {} } } @@ -5526,13 +5950,6 @@ "smithy.api#documentation": "

                            The ID of the Data Catalog where the partition to be deleted resides. If none is provided,\n the AWS account ID is used by default.

                            " } }, - "PartitionValues": { - "target": "com.amazonaws.glue#ValueStringList", - "traits": { - "smithy.api#documentation": "

                            The values that define the partition.

                            ", - "smithy.api#required": {} - } - }, "DatabaseName": { "target": "com.amazonaws.glue#NameString", "traits": { @@ -5546,6 +5963,13 @@ "smithy.api#documentation": "

                            The name of the table that contains the partition to be deleted.

                            ", "smithy.api#required": {} } + }, + "PartitionValues": { + "target": "com.amazonaws.glue#ValueStringList", + "traits": { + "smithy.api#documentation": "

                            The values that define the partition.

                            ", + "smithy.api#required": {} + } } } }, @@ -5553,6 +5977,67 @@ "type": "structure", "members": {} }, + "com.amazonaws.glue#DeleteRegistry": { + "type": "operation", + "input": { + "target": "com.amazonaws.glue#DeleteRegistryInput" + }, + "output": { + "target": "com.amazonaws.glue#DeleteRegistryResponse" + }, + "errors": [ + { + "target": "com.amazonaws.glue#AccessDeniedException" + }, + { + "target": "com.amazonaws.glue#ConcurrentModificationException" + }, + { + "target": "com.amazonaws.glue#EntityNotFoundException" + }, + { + "target": "com.amazonaws.glue#InvalidInputException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Delete the entire registry including schema and all of its versions. To get the status of the delete operation, you can call the GetRegistry API after the asynchronous call. Deleting a registry will disable all online operations for the registry such as the UpdateRegistry, CreateSchema, UpdateSchema, and RegisterSchemaVersion APIs.

                            " + } + }, + "com.amazonaws.glue#DeleteRegistryInput": { + "type": "structure", + "members": { + "RegistryId": { + "target": "com.amazonaws.glue#RegistryId", + "traits": { + "smithy.api#documentation": "

                            This is a wrapper structure that may contain the registry name and Amazon Resource Name (ARN).

                            ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.glue#DeleteRegistryResponse": { + "type": "structure", + "members": { + "RegistryName": { + "target": "com.amazonaws.glue#SchemaRegistryNameString", + "traits": { + "smithy.api#documentation": "

                            The name of the registry being deleted.

                            " + } + }, + "RegistryArn": { + "target": "com.amazonaws.glue#GlueResourceArn", + "traits": { + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the registry being deleted.

                            " + } + }, + "Status": { + "target": "com.amazonaws.glue#RegistryStatus", + "traits": { + "smithy.api#documentation": "

                            The status of the registry. A successful operation will return the Deleting status.

                            " + } + } + } + }, "com.amazonaws.glue#DeleteResourcePolicy": { "type": "operation", "input": { @@ -5603,6 +6088,123 @@ "type": "structure", "members": {} }, + "com.amazonaws.glue#DeleteSchema": { + "type": "operation", + "input": { + "target": "com.amazonaws.glue#DeleteSchemaInput" + }, + "output": { + "target": "com.amazonaws.glue#DeleteSchemaResponse" + }, + "errors": [ + { + "target": "com.amazonaws.glue#AccessDeniedException" + }, + { + "target": "com.amazonaws.glue#ConcurrentModificationException" + }, + { + "target": "com.amazonaws.glue#EntityNotFoundException" + }, + { + "target": "com.amazonaws.glue#InvalidInputException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Deletes the entire schema set, including the schema set and all of its versions. To get the status of the delete operation, you can call GetSchema API after the asynchronous call. Deleting a registry will disable all online operations for the schema, such as the GetSchemaByDefinition, and RegisterSchemaVersion APIs.

                            " + } + }, + "com.amazonaws.glue#DeleteSchemaInput": { + "type": "structure", + "members": { + "SchemaId": { + "target": "com.amazonaws.glue#SchemaId", + "traits": { + "smithy.api#documentation": "

                            This is a wrapper structure that may contain the schema name and Amazon Resource Name (ARN).

                            ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.glue#DeleteSchemaResponse": { + "type": "structure", + "members": { + "SchemaArn": { + "target": "com.amazonaws.glue#GlueResourceArn", + "traits": { + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the schema being deleted.

                            " + } + }, + "SchemaName": { + "target": "com.amazonaws.glue#SchemaRegistryNameString", + "traits": { + "smithy.api#documentation": "

                            The name of the schema being deleted.

                            " + } + }, + "Status": { + "target": "com.amazonaws.glue#SchemaStatus", + "traits": { + "smithy.api#documentation": "

                            The status of the schema.

                            " + } + } + } + }, + "com.amazonaws.glue#DeleteSchemaVersions": { + "type": "operation", + "input": { + "target": "com.amazonaws.glue#DeleteSchemaVersionsInput" + }, + "output": { + "target": "com.amazonaws.glue#DeleteSchemaVersionsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.glue#AccessDeniedException" + }, + { + "target": "com.amazonaws.glue#ConcurrentModificationException" + }, + { + "target": "com.amazonaws.glue#EntityNotFoundException" + }, + { + "target": "com.amazonaws.glue#InvalidInputException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Remove versions from the specified schema. A version number or range may be supplied. If the compatibility mode forbids deleting of a version that is necessary, such as BACKWARDS_FULL, an error is returned. Calling the GetSchemaVersions API after this call will list the status of the deleted versions.

                            \n

                            When the range of version numbers contain check pointed version, the API will return a 409 conflict and will not proceed with the deletion. You have to remove the checkpoint first using the DeleteSchemaCheckpoint API before using this API.

                            \n

                            You cannot use the DeleteSchemaVersions API to delete the first schema version in the schema set. The first schema version can only be deleted by the DeleteSchema API. This operation will also delete the attached SchemaVersionMetadata under the schema versions. Hard deletes will be enforced on the database.

                            \n

                            If the compatibility mode forbids deleting of a version that is necessary, such as BACKWARDS_FULL, an error is returned.

                            " + } + }, + "com.amazonaws.glue#DeleteSchemaVersionsInput": { + "type": "structure", + "members": { + "SchemaId": { + "target": "com.amazonaws.glue#SchemaId", + "traits": { + "smithy.api#documentation": "

                            This is a wrapper structure that may contain the schema name and Amazon Resource Name (ARN).

                            ", + "smithy.api#required": {} + } + }, + "Versions": { + "target": "com.amazonaws.glue#VersionsString", + "traits": { + "smithy.api#documentation": "

                            A version range may be supplied which may be of the format:

                            \n\t
                              \n
                            • \n

                              a single version number, 5

                              \n
                            • \n
                            • \n

                              a range, 5-8 : deletes versions 5, 6, 7, 8

                              \n
                            • \n
                            ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.glue#DeleteSchemaVersionsResponse": { + "type": "structure", + "members": { + "SchemaVersionErrors": { + "target": "com.amazonaws.glue#SchemaVersionErrorList", + "traits": { + "smithy.api#documentation": "

                            A list of SchemaVersionErrorItem objects, each containing an error and schema version.

                            " + } + } + } + }, "com.amazonaws.glue#DeleteSecurityConfiguration": { "type": "operation", "input": { @@ -5680,17 +6282,17 @@ "smithy.api#documentation": "

                            The ID of the Data Catalog where the table resides. If none is provided, the AWS account\n ID is used by default.

                            " } }, - "Name": { + "DatabaseName": { "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The name of the table to be deleted. For Hive\n compatibility, this name is entirely lowercase.

                            ", + "smithy.api#documentation": "

                            The name of the catalog database in which the table resides. For Hive\n compatibility, this name is entirely lowercase.

                            ", "smithy.api#required": {} } }, - "DatabaseName": { + "Name": { "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The name of the catalog database in which the table resides. For Hive\n compatibility, this name is entirely lowercase.

                            ", + "smithy.api#documentation": "

                            The name of the table to be deleted. For Hive\n compatibility, this name is entirely lowercase.

                            ", "smithy.api#required": {} } } @@ -5729,13 +6331,6 @@ "com.amazonaws.glue#DeleteTableVersionRequest": { "type": "structure", "members": { - "TableName": { - "target": "com.amazonaws.glue#NameString", - "traits": { - "smithy.api#documentation": "

                            The name of the table. For Hive compatibility, \n this name is entirely lowercase.

                            ", - "smithy.api#required": {} - } - }, "CatalogId": { "target": "com.amazonaws.glue#CatalogIdString", "traits": { @@ -5749,6 +6344,13 @@ "smithy.api#required": {} } }, + "TableName": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

                            The name of the table. For Hive compatibility, \n this name is entirely lowercase.

                            ", + "smithy.api#required": {} + } + }, "VersionId": { "target": "com.amazonaws.glue#VersionString", "traits": { @@ -5840,11 +6442,10 @@ "com.amazonaws.glue#DeleteUserDefinedFunctionRequest": { "type": "structure", "members": { - "FunctionName": { - "target": "com.amazonaws.glue#NameString", + "CatalogId": { + "target": "com.amazonaws.glue#CatalogIdString", "traits": { - "smithy.api#documentation": "

                            The name of the function definition to be deleted.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The ID of the Data Catalog where the function to be deleted is\n located. If none is supplied, the AWS account ID is used by default.

                            " } }, "DatabaseName": { @@ -5854,10 +6455,11 @@ "smithy.api#required": {} } }, - "CatalogId": { - "target": "com.amazonaws.glue#CatalogIdString", + "FunctionName": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The ID of the Data Catalog where the function to be deleted is\n located. If none is supplied, the AWS account ID is used by default.

                            " + "smithy.api#documentation": "

                            The name of the function definition to be deleted.

                            ", + "smithy.api#required": {} } } } @@ -5938,22 +6540,16 @@ "com.amazonaws.glue#DevEndpoint": { "type": "structure", "members": { - "RoleArn": { - "target": "com.amazonaws.glue#RoleArn", - "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the IAM role used in this\n DevEndpoint.

                            " - } - }, - "YarnEndpointAddress": { + "EndpointName": { "target": "com.amazonaws.glue#GenericString", "traits": { - "smithy.api#documentation": "

                            The YARN endpoint address used by this DevEndpoint.

                            " + "smithy.api#documentation": "

                            The name of the DevEndpoint.

                            " } }, - "ExtraJarsS3Path": { - "target": "com.amazonaws.glue#GenericString", + "RoleArn": { + "target": "com.amazonaws.glue#RoleArn", "traits": { - "smithy.api#documentation": "

                            The path to one or more Java .jar files in an S3 bucket that should be loaded\n in your DevEndpoint.

                            \n \n

                            You can only use pure Java/Scala libraries with a DevEndpoint.

                            \n
                            " + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the IAM role used in this\n DevEndpoint.

                            " } }, "SecurityGroupIds": { @@ -5962,34 +6558,34 @@ "smithy.api#documentation": "

                            A list of security group identifiers used in this DevEndpoint.

                            " } }, - "PrivateAddress": { + "SubnetId": { "target": "com.amazonaws.glue#GenericString", "traits": { - "smithy.api#documentation": "

                            A private IP address to access the DevEndpoint within a VPC if the\n DevEndpoint is created within one. The PrivateAddress field is\n present only when you create the DevEndpoint within your VPC.

                            " + "smithy.api#documentation": "

                            The subnet ID for this DevEndpoint.

                            " } }, - "SecurityConfiguration": { - "target": "com.amazonaws.glue#NameString", + "YarnEndpointAddress": { + "target": "com.amazonaws.glue#GenericString", "traits": { - "smithy.api#documentation": "

                            The name of the SecurityConfiguration structure to be used with this\n DevEndpoint.

                            " + "smithy.api#documentation": "

                            The YARN endpoint address used by this DevEndpoint.

                            " } }, - "ExtraPythonLibsS3Path": { + "PrivateAddress": { "target": "com.amazonaws.glue#GenericString", "traits": { - "smithy.api#documentation": "

                            The paths to one or more Python libraries in an Amazon S3 bucket that should be loaded in\n your DevEndpoint. Multiple values must be complete paths separated by a\n comma.

                            \n \n \n

                            You can only use pure Python libraries with a DevEndpoint. Libraries that rely on\n C extensions, such as the pandas Python data\n analysis library, are not currently supported.

                            \n
                            " + "smithy.api#documentation": "

                            A private IP address to access the DevEndpoint within a VPC if the\n DevEndpoint is created within one. The PrivateAddress field is\n present only when you create the DevEndpoint within your VPC.

                            " } }, - "PublicKey": { - "target": "com.amazonaws.glue#GenericString", + "ZeppelinRemoteSparkInterpreterPort": { + "target": "com.amazonaws.glue#IntegerValue", "traits": { - "smithy.api#documentation": "

                            The public key to be used by this DevEndpoint for authentication. This\n attribute is provided for backward compatibility because the recommended attribute to use is\n public keys.

                            " + "smithy.api#documentation": "

                            The Apache Zeppelin port for the remote Apache Spark interpreter.

                            " } }, - "FailureReason": { + "PublicAddress": { "target": "com.amazonaws.glue#GenericString", "traits": { - "smithy.api#documentation": "

                            The reason for a current failure in this DevEndpoint.

                            " + "smithy.api#documentation": "

                            The public IP address used by this DevEndpoint. The\n PublicAddress field is present only when you create a non-virtual private cloud\n (VPC) DevEndpoint.

                            " } }, "Status": { @@ -5998,10 +6594,10 @@ "smithy.api#documentation": "

                            The current status of this DevEndpoint.

                            " } }, - "PublicKeys": { - "target": "com.amazonaws.glue#PublicKeysList", + "WorkerType": { + "target": "com.amazonaws.glue#WorkerType", "traits": { - "smithy.api#documentation": "

                            A list of public keys to be used by the DevEndpoints for authentication.\n Using this attribute is preferred over a single public key because the public keys allow you\n to have a different private key per client.

                            \n \n

                            If you previously created an endpoint with a public key, you must remove that key to be\n able to set a list of public keys. Call the UpdateDevEndpoint API operation\n with the public key content in the deletePublicKeys attribute, and the list of\n new keys in the addPublicKeys attribute.

                            \n
                            " + "smithy.api#documentation": "

                            The type of predefined worker that is allocated to the development endpoint. Accepts a value of Standard, G.1X, or G.2X.

                            \n\t
                              \n
                            • \n

                              For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

                              \n
                            • \n
                            • \n

                              For the G.1X worker type, each worker maps to 1 DPU (4 vCPU, 16 GB of memory, 64 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

                              \n
                            • \n
                            • \n

                              For the G.2X worker type, each worker maps to 2 DPU (8 vCPU, 32 GB of memory, 128 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

                              \n
                            • \n
                            \n\t\n\t

                            Known issue: when a development endpoint is created with the G.2X \n WorkerType configuration, the Spark drivers for the development endpoint will run on 4 vCPU, 16 GB of memory, and a 64 GB disk.

                            " } }, "GlueVersion": { @@ -6010,16 +6606,22 @@ "smithy.api#documentation": "

                            Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for running your ETL scripts on development endpoints.

                            \n \n

                            For more information about the available AWS Glue versions and corresponding Spark and Python versions, see Glue version in the developer guide.

                            \n\t \n\t

                            Development endpoints that are created without specifying a Glue version default to Glue 0.9.

                            \n\t\n\t

                            You can specify a version of Python support for development endpoints by using the Arguments parameter in the CreateDevEndpoint or UpdateDevEndpoint APIs. If no arguments are provided, the version defaults to Python 2.

                            " } }, - "AvailabilityZone": { - "target": "com.amazonaws.glue#GenericString", + "NumberOfWorkers": { + "target": "com.amazonaws.glue#NullableInteger", "traits": { - "smithy.api#documentation": "

                            The AWS Availability Zone where this DevEndpoint is located.

                            " + "smithy.api#documentation": "

                            The number of workers of a defined workerType that are allocated to the development endpoint.

                            \n\t\n\t\t

                            The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

                            " } }, - "EndpointName": { + "NumberOfNodes": { + "target": "com.amazonaws.glue#IntegerValue", + "traits": { + "smithy.api#documentation": "

                            The number of AWS Glue Data Processing Units (DPUs) allocated to this\n DevEndpoint.

                            " + } + }, + "AvailabilityZone": { "target": "com.amazonaws.glue#GenericString", "traits": { - "smithy.api#documentation": "

                            The name of the DevEndpoint.

                            " + "smithy.api#documentation": "

                            The AWS Availability Zone where this DevEndpoint is located.

                            " } }, "VpcId": { @@ -6028,58 +6630,58 @@ "smithy.api#documentation": "

                            The ID of the virtual private cloud (VPC) used by this DevEndpoint.

                            " } }, - "CreatedTimestamp": { - "target": "com.amazonaws.glue#TimestampValue", + "ExtraPythonLibsS3Path": { + "target": "com.amazonaws.glue#GenericString", "traits": { - "smithy.api#documentation": "

                            The point in time at which this DevEndpoint was created.

                            " + "smithy.api#documentation": "

                            The paths to one or more Python libraries in an Amazon S3 bucket that should be loaded in\n your DevEndpoint. Multiple values must be complete paths separated by a\n comma.

                            \n \n \n

                            You can only use pure Python libraries with a DevEndpoint. Libraries that rely on\n C extensions, such as the pandas Python data\n analysis library, are not currently supported.

                            \n
                            " } }, - "LastUpdateStatus": { + "ExtraJarsS3Path": { "target": "com.amazonaws.glue#GenericString", "traits": { - "smithy.api#documentation": "

                            The status of the last update.

                            " + "smithy.api#documentation": "

                            The path to one or more Java .jar files in an S3 bucket that should be loaded\n in your DevEndpoint.

                            \n \n

                            You can only use pure Java/Scala libraries with a DevEndpoint.

                            \n
                            " } }, - "SubnetId": { + "FailureReason": { "target": "com.amazonaws.glue#GenericString", "traits": { - "smithy.api#documentation": "

                            The subnet ID for this DevEndpoint.

                            " + "smithy.api#documentation": "

                            The reason for a current failure in this DevEndpoint.

                            " } }, - "PublicAddress": { + "LastUpdateStatus": { "target": "com.amazonaws.glue#GenericString", "traits": { - "smithy.api#documentation": "

                            The public IP address used by this DevEndpoint. The\n PublicAddress field is present only when you create a non-virtual private cloud\n (VPC) DevEndpoint.

                            " + "smithy.api#documentation": "

                            The status of the last update.

                            " } }, - "NumberOfNodes": { - "target": "com.amazonaws.glue#IntegerValue", + "CreatedTimestamp": { + "target": "com.amazonaws.glue#TimestampValue", "traits": { - "smithy.api#documentation": "

                            The number of AWS Glue Data Processing Units (DPUs) allocated to this\n DevEndpoint.

                            " + "smithy.api#documentation": "

                            The point in time at which this DevEndpoint was created.

                            " } }, - "WorkerType": { - "target": "com.amazonaws.glue#WorkerType", + "LastModifiedTimestamp": { + "target": "com.amazonaws.glue#TimestampValue", "traits": { - "smithy.api#documentation": "

                            The type of predefined worker that is allocated to the development endpoint. Accepts a value of Standard, G.1X, or G.2X.

                            \n\t
                              \n
                            • \n

                              For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

                              \n
                            • \n
                            • \n

                              For the G.1X worker type, each worker maps to 1 DPU (4 vCPU, 16 GB of memory, 64 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

                              \n
                            • \n
                            • \n

                              For the G.2X worker type, each worker maps to 2 DPU (8 vCPU, 32 GB of memory, 128 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

                              \n
                            • \n
                            \n\t\n\t

                            Known issue: when a development endpoint is created with the G.2X \n WorkerType configuration, the Spark drivers for the development endpoint will run on 4 vCPU, 16 GB of memory, and a 64 GB disk.

                            " + "smithy.api#documentation": "

                            The point in time at which this DevEndpoint was last modified.

                            " } }, - "ZeppelinRemoteSparkInterpreterPort": { - "target": "com.amazonaws.glue#IntegerValue", + "PublicKey": { + "target": "com.amazonaws.glue#GenericString", "traits": { - "smithy.api#documentation": "

                            The Apache Zeppelin port for the remote Apache Spark interpreter.

                            " + "smithy.api#documentation": "

                            The public key to be used by this DevEndpoint for authentication. This\n attribute is provided for backward compatibility because the recommended attribute to use is\n public keys.

                            " } }, - "NumberOfWorkers": { - "target": "com.amazonaws.glue#NullableInteger", + "PublicKeys": { + "target": "com.amazonaws.glue#PublicKeysList", "traits": { - "smithy.api#documentation": "

                            The number of workers of a defined workerType that are allocated to the development endpoint.

                            \n\t\n\t\t

                            The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

                            " + "smithy.api#documentation": "

                            A list of public keys to be used by the DevEndpoints for authentication.\n Using this attribute is preferred over a single public key because the public keys allow you\n to have a different private key per client.

                            \n \n

                            If you previously created an endpoint with a public key, you must remove that key to be\n able to set a list of public keys. Call the UpdateDevEndpoint API operation\n with the public key content in the deletePublicKeys attribute, and the list of\n new keys in the addPublicKeys attribute.

                            \n
                            " } }, - "LastModifiedTimestamp": { - "target": "com.amazonaws.glue#TimestampValue", + "SecurityConfiguration": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The point in time at which this DevEndpoint was last modified.

                            " + "smithy.api#documentation": "

                            The name of the SecurityConfiguration structure to be used with this\n DevEndpoint.

                            " } }, "Arguments": { @@ -6096,16 +6698,16 @@ "com.amazonaws.glue#DevEndpointCustomLibraries": { "type": "structure", "members": { - "ExtraJarsS3Path": { + "ExtraPythonLibsS3Path": { "target": "com.amazonaws.glue#GenericString", "traits": { - "smithy.api#documentation": "

                            The path to one or more Java .jar files in an S3 bucket that should be loaded\n in your DevEndpoint.

                            \n \n

                            You can only use pure Java/Scala libraries with a DevEndpoint.

                            \n
                            " + "smithy.api#documentation": "

                            The paths to one or more Python libraries in an Amazon Simple Storage Service (Amazon S3)\n bucket that should be loaded in your DevEndpoint. Multiple values must be\n complete paths separated by a comma.

                            \n \n

                            You can only use pure Python libraries with a DevEndpoint. Libraries that rely on\n C extensions, such as the pandas Python data\n analysis library, are not currently supported.

                            \n
                            " } }, - "ExtraPythonLibsS3Path": { + "ExtraJarsS3Path": { "target": "com.amazonaws.glue#GenericString", "traits": { - "smithy.api#documentation": "

                            The paths to one or more Python libraries in an Amazon Simple Storage Service (Amazon S3)\n bucket that should be loaded in your DevEndpoint. Multiple values must be\n complete paths separated by a comma.

                            \n \n

                            You can only use pure Python libraries with a DevEndpoint. Libraries that rely on\n C extensions, such as the pandas Python data\n analysis library, are not currently supported.

                            \n
                            " + "smithy.api#documentation": "

                            The path to one or more Java .jar files in an S3 bucket that should be loaded\n in your DevEndpoint.

                            \n \n

                            You can only use pure Java/Scala libraries with a DevEndpoint.

                            \n
                            " } } }, @@ -6143,11 +6745,16 @@ "com.amazonaws.glue#DoubleColumnStatisticsData": { "type": "structure", "members": { - "NumberOfDistinctValues": { - "target": "com.amazonaws.glue#NonNegativeLong", + "MinimumValue": { + "target": "com.amazonaws.glue#Double", "traits": { - "smithy.api#documentation": "

                            The number of distinct values in a column.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The lowest value in the column.

                            " + } + }, + "MaximumValue": { + "target": "com.amazonaws.glue#Double", + "traits": { + "smithy.api#documentation": "

                            The highest value in the column.

                            " } }, "NumberOfNulls": { @@ -6157,16 +6764,11 @@ "smithy.api#required": {} } }, - "MaximumValue": { - "target": "com.amazonaws.glue#Double", - "traits": { - "smithy.api#documentation": "

                            The highest value in the column.

                            " - } - }, - "MinimumValue": { - "target": "com.amazonaws.glue#Double", + "NumberOfDistinctValues": { + "target": "com.amazonaws.glue#NonNegativeLong", "traits": { - "smithy.api#documentation": "

                            The lowest value in the column.

                            " + "smithy.api#documentation": "

                            The number of distinct values in a column.

                            ", + "smithy.api#required": {} } } }, @@ -6177,18 +6779,18 @@ "com.amazonaws.glue#DynamoDBTarget": { "type": "structure", "members": { - "scanAll": { - "target": "com.amazonaws.glue#NullableBoolean", - "traits": { - "smithy.api#documentation": "

                            Indicates whether to scan all the records, or to sample rows from the table. Scanning all the records can take a long time when the table is not a high throughput table.

                            \n\t\n\t

                            A value of true means to scan all records, while a value of false means to sample the records. If no value is specified, the value defaults to true.

                            " - } - }, "Path": { "target": "com.amazonaws.glue#Path", "traits": { "smithy.api#documentation": "

                            The name of the DynamoDB table to crawl.

                            " } }, + "scanAll": { + "target": "com.amazonaws.glue#NullableBoolean", + "traits": { + "smithy.api#documentation": "

                            Indicates whether to scan all the records, or to sample rows from the table. Scanning all the records can take a long time when the table is not a high throughput table.

                            \n\t\n\t

                            A value of true means to scan all records, while a value of false means to sample the records. If no value is specified, the value defaults to true.

                            " + } + }, "scanRate": { "target": "com.amazonaws.glue#NullableDouble", "traits": { @@ -6271,6 +6873,12 @@ "com.amazonaws.glue#EncryptionConfiguration": { "type": "structure", "members": { + "S3Encryption": { + "target": "com.amazonaws.glue#S3EncryptionList", + "traits": { + "smithy.api#documentation": "

                            The encryption configuration for Amazon Simple Storage Service (Amazon S3) data.

                            " + } + }, "CloudWatchEncryption": { "target": "com.amazonaws.glue#CloudWatchEncryption", "traits": { @@ -6282,12 +6890,6 @@ "traits": { "smithy.api#documentation": "

                            The encryption configuration for job bookmarks.

                            " } - }, - "S3Encryption": { - "target": "com.amazonaws.glue#S3EncryptionList", - "traits": { - "smithy.api#documentation": "

                            The encryption configuration for Amazon Simple Storage Service (Amazon S3) data.

                            " - } } }, "traits": { @@ -6318,44 +6920,70 @@ "target": "com.amazonaws.glue#ErrorDetail" } }, + "com.amazonaws.glue#ErrorCodeString": { + "type": "string" + }, "com.amazonaws.glue#ErrorDetail": { "type": "structure", "members": { + "ErrorCode": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

                            The code associated with this error.

                            " + } + }, "ErrorMessage": { "target": "com.amazonaws.glue#DescriptionString", "traits": { "smithy.api#documentation": "

                            A message describing the error.

                            " } - }, + } + }, + "traits": { + "smithy.api#documentation": "

                            Contains details about an error.

                            " + } + }, + "com.amazonaws.glue#ErrorDetails": { + "type": "structure", + "members": { "ErrorCode": { - "target": "com.amazonaws.glue#NameString", + "target": "com.amazonaws.glue#ErrorCodeString", "traits": { - "smithy.api#documentation": "

                            The code associated with this error.

                            " + "smithy.api#documentation": "

                            The error code for an error.

                            " + } + }, + "ErrorMessage": { + "target": "com.amazonaws.glue#ErrorMessageString", + "traits": { + "smithy.api#documentation": "

                            The error message for an error.

                            " } } }, "traits": { - "smithy.api#documentation": "

                            Contains details about an error.

                            " + "smithy.api#documentation": "

                            An object containing error details.

                            " } }, + "com.amazonaws.glue#ErrorMessageString": { + "type": "string" + }, "com.amazonaws.glue#ErrorString": { "type": "string" }, "com.amazonaws.glue#EvaluationMetrics": { "type": "structure", "members": { - "FindMatchesMetrics": { - "target": "com.amazonaws.glue#FindMatchesMetrics", - "traits": { - "smithy.api#documentation": "

                            The evaluation metrics for the find matches algorithm.

                            " - } - }, "TransformType": { "target": "com.amazonaws.glue#TransformType", "traits": { "smithy.api#documentation": "

                            The type of machine learning transform.

                            ", "smithy.api#required": {} } + }, + "FindMatchesMetrics": { + "target": "com.amazonaws.glue#FindMatchesMetrics", + "traits": { + "smithy.api#documentation": "

                            The evaluation metrics for the find matches algorithm.

                            " + } } }, "traits": { @@ -6434,16 +7062,16 @@ "smithy.api#documentation": "

                            The area under the precision/recall curve (AUPRC) is a single number measuring the overall\n quality of the transform, that is independent of the choice made for precision vs. recall.\n Higher values indicate that you have a more attractive precision vs. recall tradeoff.

                            \n\t

                            For more information, see Precision and recall in Wikipedia.

                            " } }, - "Recall": { + "Precision": { "target": "com.amazonaws.glue#GenericBoundedDouble", "traits": { - "smithy.api#documentation": "

                            The recall metric indicates that for an actual match, how often your transform predicts\n the match. Specifically, it measures how well the transform finds true positives from the\n total records in the source data.

                            \n

                            For more information, see Precision and recall in Wikipedia.

                            " + "smithy.api#documentation": "

                            The precision metric indicates when often your transform is correct when it predicts a match. Specifically, it measures how well the transform finds true positives from the total true positives possible.

                            \n

                            For more information, see Precision and recall in Wikipedia.

                            " } }, - "Precision": { + "Recall": { "target": "com.amazonaws.glue#GenericBoundedDouble", "traits": { - "smithy.api#documentation": "

                            The precision metric indicates when often your transform is correct when it predicts a match. Specifically, it measures how well the transform finds true positives from the total true positives possible.

                            \n

                            For more information, see Precision and recall in Wikipedia.

                            " + "smithy.api#documentation": "

                            The recall metric indicates that for an actual match, how often your transform predicts\n the match. Specifically, it measures how well the transform finds true positives from the\n total records in the source data.

                            \n

                            For more information, see Precision and recall in Wikipedia.

                            " } }, "F1": { @@ -6498,10 +7126,10 @@ "com.amazonaws.glue#FindMatchesTaskRunProperties": { "type": "structure", "members": { - "JobRunId": { + "JobId": { "target": "com.amazonaws.glue#HashString", "traits": { - "smithy.api#documentation": "

                            The job run ID for the Find Matches task run.

                            " + "smithy.api#documentation": "

                            The job ID for the Find Matches task run.

                            " } }, "JobName": { @@ -6510,10 +7138,10 @@ "smithy.api#documentation": "

                            The name assigned to the job for the Find Matches task run.

                            " } }, - "JobId": { + "JobRunId": { "target": "com.amazonaws.glue#HashString", "traits": { - "smithy.api#documentation": "

                            The job ID for the Find Matches task run.

                            " + "smithy.api#documentation": "

                            The job run ID for the Find Matches task run.

                            " } } }, @@ -6680,17 +7308,17 @@ "com.amazonaws.glue#GetClassifiersResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.glue#Token", - "traits": { - "smithy.api#documentation": "

                            A continuation token.

                            " - } - }, "Classifiers": { "target": "com.amazonaws.glue#ClassifierList", "traits": { "smithy.api#documentation": "

                            The requested list of classifier\n objects.

                            " } + }, + "NextToken": { + "target": "com.amazonaws.glue#Token", + "traits": { + "smithy.api#documentation": "

                            A continuation token.

                            " + } } } }, @@ -6738,24 +7366,23 @@ "com.amazonaws.glue#GetColumnStatisticsForPartitionRequest": { "type": "structure", "members": { - "ColumnNames": { - "target": "com.amazonaws.glue#GetColumnNamesList", + "CatalogId": { + "target": "com.amazonaws.glue#CatalogIdString", "traits": { - "smithy.api#documentation": "

                            A list of the column names.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The ID of the Data Catalog where the partitions in question reside.\n If none is supplied, the AWS account ID is used by default.

                            " } }, - "TableName": { + "DatabaseName": { "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The name of the partitions' table.

                            ", + "smithy.api#documentation": "

                            The name of the catalog database where the partitions reside.

                            ", "smithy.api#required": {} } }, - "DatabaseName": { + "TableName": { "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The name of the catalog database where the partitions reside.

                            ", + "smithy.api#documentation": "

                            The name of the partitions' table.

                            ", "smithy.api#required": {} } }, @@ -6766,10 +7393,11 @@ "smithy.api#required": {} } }, - "CatalogId": { - "target": "com.amazonaws.glue#CatalogIdString", + "ColumnNames": { + "target": "com.amazonaws.glue#GetColumnNamesList", "traits": { - "smithy.api#documentation": "

                            The ID of the Data Catalog where the partitions in question reside.\n If none is supplied, the AWS account ID is used by default.

                            " + "smithy.api#documentation": "

                            A list of the column names.

                            ", + "smithy.api#required": {} } } } @@ -6777,17 +7405,17 @@ "com.amazonaws.glue#GetColumnStatisticsForPartitionResponse": { "type": "structure", "members": { - "Errors": { - "target": "com.amazonaws.glue#ColumnErrors", - "traits": { - "smithy.api#documentation": "

                            Error occurred during retrieving column statistics data.

                            " - } - }, "ColumnStatisticsList": { "target": "com.amazonaws.glue#ColumnStatisticsList", "traits": { "smithy.api#documentation": "

                            List of ColumnStatistics that failed to be retrieved.

                            " } + }, + "Errors": { + "target": "com.amazonaws.glue#ColumnErrors", + "traits": { + "smithy.api#documentation": "

                            Error occurred during retrieving column statistics data.

                            " + } } } }, @@ -6855,14 +7483,14 @@ "com.amazonaws.glue#GetColumnStatisticsForTableResponse": { "type": "structure", "members": { - "Errors": { - "target": "com.amazonaws.glue#ColumnErrors", + "ColumnStatisticsList": { + "target": "com.amazonaws.glue#ColumnStatisticsList", "traits": { "smithy.api#documentation": "

                            List of ColumnStatistics that failed to be retrieved.

                            " } }, - "ColumnStatisticsList": { - "target": "com.amazonaws.glue#ColumnStatisticsList", + "Errors": { + "target": "com.amazonaws.glue#ColumnErrors", "traits": { "smithy.api#documentation": "

                            List of ColumnStatistics that failed to be retrieved.

                            " } @@ -6990,22 +7618,16 @@ "smithy.api#documentation": "

                            The ID of the Data Catalog in which the connections reside. If none is provided, the AWS\n account ID is used by default.

                            " } }, - "HidePassword": { - "target": "com.amazonaws.glue#Boolean", - "traits": { - "smithy.api#documentation": "

                            Allows you to retrieve the connection metadata without returning the password. For\n instance, the AWS Glue console uses this flag to retrieve the connection, and does not display\n the password. Set this parameter when the caller might not have permission to use the AWS KMS\n key to decrypt the password, but it does have permission to access the rest of the connection\n properties.

                            " - } - }, "Filter": { "target": "com.amazonaws.glue#GetConnectionsFilter", "traits": { "smithy.api#documentation": "

                            A filter that controls which connections are returned.

                            " } }, - "MaxResults": { - "target": "com.amazonaws.glue#PageSize", + "HidePassword": { + "target": "com.amazonaws.glue#Boolean", "traits": { - "smithy.api#documentation": "

                            The maximum number of connections to return in one response.

                            " + "smithy.api#documentation": "

                            Allows you to retrieve the connection metadata without returning the password. For\n instance, the AWS Glue console uses this flag to retrieve the connection, and does not display\n the password. Set this parameter when the caller might not have permission to use the AWS KMS\n key to decrypt the password, but it does have permission to access the rest of the connection\n properties.

                            " } }, "NextToken": { @@ -7013,6 +7635,12 @@ "traits": { "smithy.api#documentation": "

                            A continuation token, if this is a continuation call.

                            " } + }, + "MaxResults": { + "target": "com.amazonaws.glue#PageSize", + "traits": { + "smithy.api#documentation": "

                            The maximum number of connections to return in one response.

                            " + } } } }, @@ -7078,6 +7706,12 @@ "com.amazonaws.glue#GetCrawlerMetricsRequest": { "type": "structure", "members": { + "CrawlerNameList": { + "target": "com.amazonaws.glue#CrawlerNameList", + "traits": { + "smithy.api#documentation": "

                            A list of the names of crawlers about which to retrieve metrics.

                            " + } + }, "MaxResults": { "target": "com.amazonaws.glue#PageSize", "traits": { @@ -7089,29 +7723,23 @@ "traits": { "smithy.api#documentation": "

                            A continuation token, if this is a continuation call.

                            " } - }, - "CrawlerNameList": { - "target": "com.amazonaws.glue#CrawlerNameList", - "traits": { - "smithy.api#documentation": "

                            A list of the names of crawlers about which to retrieve metrics.

                            " - } } } }, "com.amazonaws.glue#GetCrawlerMetricsResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.glue#Token", - "traits": { - "smithy.api#documentation": "

                            A continuation token, if the returned list does not contain the\n last metric available.

                            " - } - }, "CrawlerMetricsList": { "target": "com.amazonaws.glue#CrawlerMetricsList", "traits": { "smithy.api#documentation": "

                            A list of metrics for the specified crawler.

                            " } + }, + "NextToken": { + "target": "com.amazonaws.glue#Token", + "traits": { + "smithy.api#documentation": "

                            A continuation token, if the returned list does not contain the\n last metric available.

                            " + } } } }, @@ -7163,34 +7791,34 @@ "com.amazonaws.glue#GetCrawlersRequest": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.glue#Token", - "traits": { - "smithy.api#documentation": "

                            A continuation token, if this is a continuation request.

                            " - } - }, "MaxResults": { "target": "com.amazonaws.glue#PageSize", "traits": { "smithy.api#documentation": "

                            The number of crawlers to return on each call.

                            " } + }, + "NextToken": { + "target": "com.amazonaws.glue#Token", + "traits": { + "smithy.api#documentation": "

                            A continuation token, if this is a continuation request.

                            " + } } } }, "com.amazonaws.glue#GetCrawlersResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.glue#Token", - "traits": { - "smithy.api#documentation": "

                            A continuation token, if the returned list has not reached the end\n of those defined in this customer account.

                            " - } - }, "Crawlers": { "target": "com.amazonaws.glue#CrawlerList", "traits": { "smithy.api#documentation": "

                            A list of crawler metadata.

                            " } + }, + "NextToken": { + "target": "com.amazonaws.glue#Token", + "traits": { + "smithy.api#documentation": "

                            A continuation token, if the returned list has not reached the end\n of those defined in this customer account.

                            " + } } } }, @@ -7331,10 +7959,10 @@ "com.amazonaws.glue#GetDatabasesRequest": { "type": "structure", "members": { - "ResourceShareType": { - "target": "com.amazonaws.glue#ResourceShareType", + "CatalogId": { + "target": "com.amazonaws.glue#CatalogIdString", "traits": { - "smithy.api#documentation": "

                            Allows you to specify that you want to list the databases shared with your account. The allowable values are FOREIGN or ALL.

                            \n\t\n\t
                              \n
                            • \n

                              If set to FOREIGN, will list the databases shared with your account.

                              \n
                            • \n
                            • \n

                              If set to ALL, will list the databases shared with your account, as well as the databases in yor local account.

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            The ID of the Data Catalog from which to retrieve Databases. If none is\n provided, the AWS account ID is used by default.

                            " } }, "NextToken": { @@ -7349,10 +7977,10 @@ "smithy.api#documentation": "

                            The maximum number of databases to return in one response.

                            " } }, - "CatalogId": { - "target": "com.amazonaws.glue#CatalogIdString", + "ResourceShareType": { + "target": "com.amazonaws.glue#ResourceShareType", "traits": { - "smithy.api#documentation": "

                            The ID of the Data Catalog from which to retrieve Databases. If none is\n provided, the AWS account ID is used by default.

                            " + "smithy.api#documentation": "

                            Allows you to specify that you want to list the databases shared with your account. The allowable values are FOREIGN or ALL.

                            \n\t\n\t
                              \n
                            • \n

                              If set to FOREIGN, will list the databases shared with your account.

                              \n
                            • \n
                            • \n

                              If set to ALL, will list the databases shared with your account, as well as the databases in yor local account.

                              \n
                            • \n
                            " } } } @@ -7360,18 +7988,18 @@ "com.amazonaws.glue#GetDatabasesResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.glue#Token", - "traits": { - "smithy.api#documentation": "

                            A continuation token for paginating the returned list of tokens,\n returned if the current segment of the list is not the last.

                            " - } - }, "DatabaseList": { "target": "com.amazonaws.glue#DatabaseList", "traits": { "smithy.api#documentation": "

                            A list of Database objects from the specified catalog.

                            ", "smithy.api#required": {} } + }, + "NextToken": { + "target": "com.amazonaws.glue#Token", + "traits": { + "smithy.api#documentation": "

                            A continuation token for paginating the returned list of tokens,\n returned if the current segment of the list is not the last.

                            " + } } } }, @@ -7412,17 +8040,17 @@ "com.amazonaws.glue#GetDataflowGraphResponse": { "type": "structure", "members": { - "DagEdges": { - "target": "com.amazonaws.glue#DagEdges", - "traits": { - "smithy.api#documentation": "

                            A list of the edges in the resulting DAG.

                            " - } - }, "DagNodes": { "target": "com.amazonaws.glue#DagNodes", "traits": { "smithy.api#documentation": "

                            A list of the nodes in the resulting DAG.

                            " } + }, + "DagEdges": { + "target": "com.amazonaws.glue#DagEdges", + "traits": { + "smithy.api#documentation": "

                            A list of the edges in the resulting DAG.

                            " + } } } }, @@ -7676,6 +8304,13 @@ "com.amazonaws.glue#GetJobRunRequest": { "type": "structure", "members": { + "JobName": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

                            Name of the job definition being run.

                            ", + "smithy.api#required": {} + } + }, "RunId": { "target": "com.amazonaws.glue#IdString", "traits": { @@ -7688,13 +8323,6 @@ "traits": { "smithy.api#documentation": "

                            True if a list of predecessor runs should be returned.

                            " } - }, - "JobName": { - "target": "com.amazonaws.glue#NameString", - "traits": { - "smithy.api#documentation": "

                            Name of the job definition being run.

                            ", - "smithy.api#required": {} - } } } }, @@ -7743,12 +8371,6 @@ "com.amazonaws.glue#GetJobRunsRequest": { "type": "structure", "members": { - "MaxResults": { - "target": "com.amazonaws.glue#PageSize", - "traits": { - "smithy.api#documentation": "

                            The maximum size of the response.

                            " - } - }, "JobName": { "target": "com.amazonaws.glue#NameString", "traits": { @@ -7761,23 +8383,29 @@ "traits": { "smithy.api#documentation": "

                            A continuation token, if this is a continuation call.

                            " } + }, + "MaxResults": { + "target": "com.amazonaws.glue#PageSize", + "traits": { + "smithy.api#documentation": "

                            The maximum size of the response.

                            " + } } } }, "com.amazonaws.glue#GetJobRunsResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.glue#GenericString", - "traits": { - "smithy.api#documentation": "

                            A continuation token, if not all requested job runs have been returned.

                            " - } - }, "JobRuns": { "target": "com.amazonaws.glue#JobRunList", "traits": { "smithy.api#documentation": "

                            A list of job-run metadata objects.

                            " } + }, + "NextToken": { + "target": "com.amazonaws.glue#GenericString", + "traits": { + "smithy.api#documentation": "

                            A continuation token, if not all requested job runs have been returned.

                            " + } } } }, @@ -7815,34 +8443,34 @@ "com.amazonaws.glue#GetJobsRequest": { "type": "structure", "members": { - "MaxResults": { - "target": "com.amazonaws.glue#PageSize", - "traits": { - "smithy.api#documentation": "

                            The maximum size of the response.

                            " - } - }, "NextToken": { "target": "com.amazonaws.glue#GenericString", "traits": { "smithy.api#documentation": "

                            A continuation token, if this is a continuation call.

                            " } + }, + "MaxResults": { + "target": "com.amazonaws.glue#PageSize", + "traits": { + "smithy.api#documentation": "

                            The maximum size of the response.

                            " + } } } }, "com.amazonaws.glue#GetJobsResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.glue#GenericString", - "traits": { - "smithy.api#documentation": "

                            A continuation token, if not all job definitions have yet been returned.

                            " - } - }, "Jobs": { "target": "com.amazonaws.glue#JobList", "traits": { "smithy.api#documentation": "

                            A list of job definitions.

                            " } + }, + "NextToken": { + "target": "com.amazonaws.glue#GenericString", + "traits": { + "smithy.api#documentation": "

                            A continuation token, if not all job definitions have yet been returned.

                            " + } } } }, @@ -7900,34 +8528,22 @@ "smithy.api#documentation": "

                            The unique identifier of the task run.

                            " } }, - "LastModifiedOn": { - "target": "com.amazonaws.glue#Timestamp", - "traits": { - "smithy.api#documentation": "

                            The date and time when this task run was last modified.

                            " - } - }, "TaskRunId": { "target": "com.amazonaws.glue#HashString", "traits": { "smithy.api#documentation": "

                            The unique run identifier associated with this run.

                            " } }, - "LogGroupName": { - "target": "com.amazonaws.glue#GenericString", - "traits": { - "smithy.api#documentation": "

                            The names of the log groups that are associated with the task run.

                            " - } - }, "Status": { "target": "com.amazonaws.glue#TaskStatusType", "traits": { "smithy.api#documentation": "

                            The status for this task run.

                            " } }, - "ErrorString": { + "LogGroupName": { "target": "com.amazonaws.glue#GenericString", "traits": { - "smithy.api#documentation": "

                            The error strings that are associated with the task run.

                            " + "smithy.api#documentation": "

                            The names of the log groups that are associated with the task run.

                            " } }, "Properties": { @@ -7936,16 +8552,22 @@ "smithy.api#documentation": "

                            The list of properties that are associated with the task run.

                            " } }, + "ErrorString": { + "target": "com.amazonaws.glue#GenericString", + "traits": { + "smithy.api#documentation": "

                            The error strings that are associated with the task run.

                            " + } + }, "StartedOn": { "target": "com.amazonaws.glue#Timestamp", "traits": { "smithy.api#documentation": "

                            The date and time when this task run started.

                            " } }, - "ExecutionTime": { - "target": "com.amazonaws.glue#ExecutionTime", + "LastModifiedOn": { + "target": "com.amazonaws.glue#Timestamp", "traits": { - "smithy.api#documentation": "

                            The amount of time (in seconds) that the task run consumed resources.

                            " + "smithy.api#documentation": "

                            The date and time when this task run was last modified.

                            " } }, "CompletedOn": { @@ -7953,6 +8575,12 @@ "traits": { "smithy.api#documentation": "

                            The date and time when this task run was completed.

                            " } + }, + "ExecutionTime": { + "target": "com.amazonaws.glue#ExecutionTime", + "traits": { + "smithy.api#documentation": "

                            The amount of time (in seconds) that the task run consumed resources.

                            " + } } } }, @@ -7990,10 +8618,11 @@ "com.amazonaws.glue#GetMLTaskRunsRequest": { "type": "structure", "members": { - "MaxResults": { - "target": "com.amazonaws.glue#PageSize", + "TransformId": { + "target": "com.amazonaws.glue#HashString", "traits": { - "smithy.api#documentation": "

                            The maximum number of results to return.

                            " + "smithy.api#documentation": "

                            The unique identifier of the machine learning transform.

                            ", + "smithy.api#required": {} } }, "NextToken": { @@ -8002,10 +8631,10 @@ "smithy.api#documentation": "

                            A token for pagination of the results. The default is empty.

                            " } }, - "Sort": { - "target": "com.amazonaws.glue#TaskRunSortCriteria", + "MaxResults": { + "target": "com.amazonaws.glue#PageSize", "traits": { - "smithy.api#documentation": "

                            The sorting criteria, in the TaskRunSortCriteria structure, for the task run.

                            " + "smithy.api#documentation": "

                            The maximum number of results to return.

                            " } }, "Filter": { @@ -8014,11 +8643,10 @@ "smithy.api#documentation": "

                            The filter criteria, in the TaskRunFilterCriteria structure, for the task run.

                            " } }, - "TransformId": { - "target": "com.amazonaws.glue#HashString", + "Sort": { + "target": "com.amazonaws.glue#TaskRunSortCriteria", "traits": { - "smithy.api#documentation": "

                            The unique identifier of the machine learning transform.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The sorting criteria, in the TaskRunSortCriteria structure, for the task run.

                            " } } } @@ -8081,16 +8709,22 @@ "com.amazonaws.glue#GetMLTransformResponse": { "type": "structure", "members": { - "Parameters": { - "target": "com.amazonaws.glue#TransformParameters", + "TransformId": { + "target": "com.amazonaws.glue#HashString", "traits": { - "smithy.api#documentation": "

                            The configuration parameters that are specific to the algorithm used.

                            " + "smithy.api#documentation": "

                            The unique identifier of the transform, generated at the time that the transform was\n created.

                            " } }, - "MaxRetries": { - "target": "com.amazonaws.glue#NullableInteger", + "Name": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The maximum number of times to retry a task for this transform after a task run fails.

                            " + "smithy.api#documentation": "

                            The unique name given to the transform when it was created.

                            " + } + }, + "Description": { + "target": "com.amazonaws.glue#DescriptionString", + "traits": { + "smithy.api#documentation": "

                            A description of the transform.

                            " } }, "Status": { @@ -8099,16 +8733,28 @@ "smithy.api#documentation": "

                            The last known status of the transform (to indicate whether it can be used or not). One of \"NOT_READY\", \"READY\", or \"DELETING\".

                            " } }, + "CreatedOn": { + "target": "com.amazonaws.glue#Timestamp", + "traits": { + "smithy.api#documentation": "

                            The date and time when the transform was created.

                            " + } + }, + "LastModifiedOn": { + "target": "com.amazonaws.glue#Timestamp", + "traits": { + "smithy.api#documentation": "

                            The date and time when the transform was last modified.

                            " + } + }, "InputRecordTables": { "target": "com.amazonaws.glue#GlueTables", "traits": { "smithy.api#documentation": "

                            A list of AWS Glue table definitions used by the transform.

                            " } }, - "MaxCapacity": { - "target": "com.amazonaws.glue#NullableDouble", + "Parameters": { + "target": "com.amazonaws.glue#TransformParameters", "traits": { - "smithy.api#documentation": "

                            The number of AWS Glue data processing units (DPUs) that are allocated to task runs for this transform. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of\n processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more\n information, see the AWS Glue pricing\n page.

                            \n\t\t\n

                            When the WorkerType field is set to a value other than Standard, the MaxCapacity field is set automatically and becomes read-only.

                            " + "smithy.api#documentation": "

                            The configuration parameters that are specific to the algorithm used.

                            " } }, "EvaluationMetrics": { @@ -8117,10 +8763,10 @@ "smithy.api#documentation": "

                            The latest evaluation metrics.

                            " } }, - "Timeout": { - "target": "com.amazonaws.glue#Timeout", + "LabelCount": { + "target": "com.amazonaws.glue#LabelCount", "traits": { - "smithy.api#documentation": "

                            The timeout for a task run for this transform in minutes. This is the maximum time that a task run for this transform can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

                            " + "smithy.api#documentation": "

                            The number of labels available for this transform.

                            " } }, "Schema": { @@ -8129,18 +8775,6 @@ "smithy.api#documentation": "

                            The Map object that represents the schema that this\n transform accepts. Has an upper bound of 100 columns.

                            " } }, - "Name": { - "target": "com.amazonaws.glue#NameString", - "traits": { - "smithy.api#documentation": "

                            The unique name given to the transform when it was created.

                            " - } - }, - "LabelCount": { - "target": "com.amazonaws.glue#LabelCount", - "traits": { - "smithy.api#documentation": "

                            The number of labels available for this transform.

                            " - } - }, "Role": { "target": "com.amazonaws.glue#RoleString", "traits": { @@ -8153,16 +8787,10 @@ "smithy.api#documentation": "

                            This value determines which version of AWS Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see AWS Glue Versions in the developer guide.

                            " } }, - "TransformId": { - "target": "com.amazonaws.glue#HashString", - "traits": { - "smithy.api#documentation": "

                            The unique identifier of the transform, generated at the time that the transform was\n created.

                            " - } - }, - "CreatedOn": { - "target": "com.amazonaws.glue#Timestamp", + "MaxCapacity": { + "target": "com.amazonaws.glue#NullableDouble", "traits": { - "smithy.api#documentation": "

                            The date and time when the transform was created.

                            " + "smithy.api#documentation": "

                            The number of AWS Glue data processing units (DPUs) that are allocated to task runs for this transform. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of\n processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more\n information, see the AWS Glue pricing\n page.

                            \n\t\t\n

                            When the WorkerType field is set to a value other than Standard, the MaxCapacity field is set automatically and becomes read-only.

                            " } }, "WorkerType": { @@ -8171,22 +8799,22 @@ "smithy.api#documentation": "

                            The type of predefined worker that is allocated when this task runs. Accepts a value of Standard, G.1X, or G.2X.

                            \n\t
                              \n
                            • \n

                              For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

                              \n
                            • \n
                            • \n

                              For the G.1X worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker.

                              \n
                            • \n
                            • \n

                              For the G.2X worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker.

                              \n
                            • \n
                            " } }, - "LastModifiedOn": { - "target": "com.amazonaws.glue#Timestamp", - "traits": { - "smithy.api#documentation": "

                            The date and time when the transform was last modified.

                            " - } - }, "NumberOfWorkers": { "target": "com.amazonaws.glue#NullableInteger", "traits": { "smithy.api#documentation": "

                            The number of workers of a defined workerType that are allocated when this task runs.

                            " } }, - "Description": { - "target": "com.amazonaws.glue#DescriptionString", + "Timeout": { + "target": "com.amazonaws.glue#Timeout", "traits": { - "smithy.api#documentation": "

                            A description of the transform.

                            " + "smithy.api#documentation": "

                            The timeout for a task run for this transform in minutes. This is the maximum time that a task run for this transform can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

                            " + } + }, + "MaxRetries": { + "target": "com.amazonaws.glue#NullableInteger", + "traits": { + "smithy.api#documentation": "

                            The maximum number of times to retry a task for this transform after a task run fails.

                            " } }, "TransformEncryption": { @@ -8231,18 +8859,6 @@ "com.amazonaws.glue#GetMLTransformsRequest": { "type": "structure", "members": { - "Sort": { - "target": "com.amazonaws.glue#TransformSortCriteria", - "traits": { - "smithy.api#documentation": "

                            The sorting criteria.

                            " - } - }, - "Filter": { - "target": "com.amazonaws.glue#TransformFilterCriteria", - "traits": { - "smithy.api#documentation": "

                            The filter transformation criteria.

                            " - } - }, "NextToken": { "target": "com.amazonaws.glue#PaginationToken", "traits": { @@ -8254,24 +8870,36 @@ "traits": { "smithy.api#documentation": "

                            The maximum number of results to return.

                            " } + }, + "Filter": { + "target": "com.amazonaws.glue#TransformFilterCriteria", + "traits": { + "smithy.api#documentation": "

                            The filter transformation criteria.

                            " + } + }, + "Sort": { + "target": "com.amazonaws.glue#TransformSortCriteria", + "traits": { + "smithy.api#documentation": "

                            The sorting criteria.

                            " + } } } }, "com.amazonaws.glue#GetMLTransformsResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.glue#PaginationToken", - "traits": { - "smithy.api#documentation": "

                            A pagination token, if more results are available.

                            " - } - }, "Transforms": { "target": "com.amazonaws.glue#TransformList", "traits": { "smithy.api#documentation": "

                            A list of machine learning transforms.

                            ", "smithy.api#required": {} } + }, + "NextToken": { + "target": "com.amazonaws.glue#PaginationToken", + "traits": { + "smithy.api#documentation": "

                            A pagination token, if more results are available.

                            " + } } } }, @@ -8304,12 +8932,6 @@ "com.amazonaws.glue#GetMappingRequest": { "type": "structure", "members": { - "Location": { - "target": "com.amazonaws.glue#Location", - "traits": { - "smithy.api#documentation": "

                            Parameters for the mapping.

                            " - } - }, "Source": { "target": "com.amazonaws.glue#CatalogEntry", "traits": { @@ -8322,6 +8944,12 @@ "traits": { "smithy.api#documentation": "

                            A list of target tables.

                            " } + }, + "Location": { + "target": "com.amazonaws.glue#Location", + "traits": { + "smithy.api#documentation": "

                            Parameters for the mapping.

                            " + } } } }, @@ -8403,30 +9031,30 @@ "com.amazonaws.glue#GetPartitionIndexesRequest": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.glue#Token", + "CatalogId": { + "target": "com.amazonaws.glue#CatalogIdString", "traits": { - "smithy.api#documentation": "

                            A continuation token, included if this is a continuation call.

                            " + "smithy.api#documentation": "

                            The catalog ID where the table resides.

                            " } }, - "TableName": { + "DatabaseName": { "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            Specifies the name of a table for which you want to retrieve the partition indexes.

                            ", + "smithy.api#documentation": "

                            Specifies the name of a database from which you want to retrieve partition indexes.

                            ", "smithy.api#required": {} } }, - "DatabaseName": { + "TableName": { "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            Specifies the name of a database from which you want to retrieve partition indexes.

                            ", + "smithy.api#documentation": "

                            Specifies the name of a table for which you want to retrieve the partition indexes.

                            ", "smithy.api#required": {} } }, - "CatalogId": { - "target": "com.amazonaws.glue#CatalogIdString", + "NextToken": { + "target": "com.amazonaws.glue#Token", "traits": { - "smithy.api#documentation": "

                            The catalog ID where the table resides.

                            " + "smithy.api#documentation": "

                            A continuation token, included if this is a continuation call.

                            " } } } @@ -8451,11 +9079,10 @@ "com.amazonaws.glue#GetPartitionRequest": { "type": "structure", "members": { - "TableName": { - "target": "com.amazonaws.glue#NameString", + "CatalogId": { + "target": "com.amazonaws.glue#CatalogIdString", "traits": { - "smithy.api#documentation": "

                            The name of the partition's table.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The ID of the Data Catalog where the partition in question resides. If none is provided,\n the AWS account ID is used by default.

                            " } }, "DatabaseName": { @@ -8465,17 +9092,18 @@ "smithy.api#required": {} } }, - "PartitionValues": { - "target": "com.amazonaws.glue#ValueStringList", + "TableName": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The values that define the partition.

                            ", + "smithy.api#documentation": "

                            The name of the partition's table.

                            ", "smithy.api#required": {} } }, - "CatalogId": { - "target": "com.amazonaws.glue#CatalogIdString", + "PartitionValues": { + "target": "com.amazonaws.glue#ValueStringList", "traits": { - "smithy.api#documentation": "

                            The ID of the Data Catalog where the partition in question resides. If none is provided,\n the AWS account ID is used by default.

                            " + "smithy.api#documentation": "

                            The values that define the partition.

                            ", + "smithy.api#required": {} } } } @@ -8534,23 +9162,17 @@ "smithy.api#documentation": "

                            The ID of the Data Catalog where the partitions in question reside. If none is provided,\n the AWS account ID is used by default.

                            " } }, - "TableName": { + "DatabaseName": { "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The name of the partitions' table.

                            ", + "smithy.api#documentation": "

                            The name of the catalog database where the partitions reside.

                            ", "smithy.api#required": {} } }, - "Segment": { - "target": "com.amazonaws.glue#Segment", - "traits": { - "smithy.api#documentation": "

                            The segment of the table's partitions to scan in this request.

                            " - } - }, - "DatabaseName": { + "TableName": { "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The name of the catalog database where the partitions reside.

                            ", + "smithy.api#documentation": "

                            The name of the partitions' table.

                            ", "smithy.api#required": {} } }, @@ -8560,34 +9182,40 @@ "smithy.api#documentation": "

                            An expression that filters the partitions to be returned.

                            \n

                            The expression uses SQL syntax similar to the SQL WHERE filter clause. The\n SQL statement parser JSQLParser parses the expression.

                            \n

                            \n Operators: The following are the operators that you can use in the\n Expression API call:

                            \n
                            \n
                            =
                            \n
                            \n

                            Checks whether the values of the two operands are equal; if yes, then the condition becomes\n true.

                            \n

                            Example: Assume 'variable a' holds 10 and 'variable b' holds 20.

                            \n

                            (a = b) is not true.

                            \n
                            \n
                            < >
                            \n
                            \n

                            Checks whether the values of two operands are equal; if the values are not equal,\n then the condition becomes true.

                            \n

                            Example: (a < > b) is true.

                            \n
                            \n
                            >
                            \n
                            \n

                            Checks whether the value of the left operand is greater than the value of the right\n operand; if yes, then the condition becomes true.

                            \n

                            Example: (a > b) is not true.

                            \n
                            \n
                            <
                            \n
                            \n

                            Checks whether the value of the left operand is less than the value of the right\n operand; if yes, then the condition becomes true.

                            \n

                            Example: (a < b) is true.

                            \n
                            \n
                            >=
                            \n
                            \n

                            Checks whether the value of the left operand is greater than or equal to the value\n of the right operand; if yes, then the condition becomes true.

                            \n

                            Example: (a >= b) is not true.

                            \n
                            \n
                            <=
                            \n
                            \n

                            Checks whether the value of the left operand is less than or equal to the value of\n the right operand; if yes, then the condition becomes true.

                            \n

                            Example: (a <= b) is true.

                            \n
                            \n
                            AND, OR, IN, BETWEEN, LIKE, NOT, IS NULL
                            \n
                            \n

                            Logical operators.

                            \n
                            \n
                            \n

                            \n Supported Partition Key Types: The following are the supported\n partition keys.

                            \n
                              \n
                            • \n

                              \n string\n

                              \n
                            • \n
                            • \n

                              \n date\n

                              \n
                            • \n
                            • \n

                              \n timestamp\n

                              \n
                            • \n
                            • \n

                              \n int\n

                              \n
                            • \n
                            • \n

                              \n bigint\n

                              \n
                            • \n
                            • \n

                              \n long\n

                              \n
                            • \n
                            • \n

                              \n tinyint\n

                              \n
                            • \n
                            • \n

                              \n smallint\n

                              \n
                            • \n
                            • \n

                              \n decimal\n

                              \n
                            • \n
                            \n

                            If an invalid type is encountered, an exception is thrown.

                            \n

                            The following list shows the valid operators on each type. When you define a crawler, the\n partitionKey type is created as a STRING, to be compatible with the catalog\n partitions.

                            \n \n

                            \n Sample API Call:

                            " } }, - "MaxResults": { - "target": "com.amazonaws.glue#PageSize", - "traits": { - "smithy.api#documentation": "

                            The maximum number of partitions to return in a single response.

                            " - } - }, "NextToken": { "target": "com.amazonaws.glue#Token", "traits": { "smithy.api#documentation": "

                            A continuation token, if this is not the first call to retrieve\n these partitions.

                            " } + }, + "Segment": { + "target": "com.amazonaws.glue#Segment", + "traits": { + "smithy.api#documentation": "

                            The segment of the table's partitions to scan in this request.

                            " + } + }, + "MaxResults": { + "target": "com.amazonaws.glue#PageSize", + "traits": { + "smithy.api#documentation": "

                            The maximum number of partitions to return in a single response.

                            " + } } } }, "com.amazonaws.glue#GetPartitionsResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.glue#Token", - "traits": { - "smithy.api#documentation": "

                            A continuation token, if the returned list of partitions does not include the last\n one.

                            " - } - }, "Partitions": { "target": "com.amazonaws.glue#PartitionList", "traits": { "smithy.api#documentation": "

                            A list of requested partitions.

                            " } + }, + "NextToken": { + "target": "com.amazonaws.glue#Token", + "traits": { + "smithy.api#documentation": "

                            A continuation token, if the returned list of partitions does not include the last\n one.

                            " + } } } }, @@ -8617,24 +9245,24 @@ "com.amazonaws.glue#GetPlanRequest": { "type": "structure", "members": { - "Source": { - "target": "com.amazonaws.glue#CatalogEntry", + "Mapping": { + "target": "com.amazonaws.glue#MappingList", "traits": { - "smithy.api#documentation": "

                            The source table.

                            ", + "smithy.api#documentation": "

                            The list of mappings from a source table to target tables.

                            ", "smithy.api#required": {} } }, - "Mapping": { - "target": "com.amazonaws.glue#MappingList", + "Source": { + "target": "com.amazonaws.glue#CatalogEntry", "traits": { - "smithy.api#documentation": "

                            The list of mappings from a source table to target tables.

                            ", + "smithy.api#documentation": "

                            The source table.

                            ", "smithy.api#required": {} } }, - "Language": { - "target": "com.amazonaws.glue#Language", + "Sinks": { + "target": "com.amazonaws.glue#CatalogEntries", "traits": { - "smithy.api#documentation": "

                            The programming language of the code to perform the mapping.

                            " + "smithy.api#documentation": "

                            The target tables.

                            " } }, "Location": { @@ -8643,10 +9271,10 @@ "smithy.api#documentation": "

                            The parameters for the mapping.

                            " } }, - "Sinks": { - "target": "com.amazonaws.glue#CatalogEntries", + "Language": { + "target": "com.amazonaws.glue#Language", "traits": { - "smithy.api#documentation": "

                            The target tables.

                            " + "smithy.api#documentation": "

                            The programming language of the code to perform the mapping.

                            " } }, "AdditionalPlanOptionsMap": { @@ -8660,16 +9288,95 @@ "com.amazonaws.glue#GetPlanResponse": { "type": "structure", "members": { + "PythonScript": { + "target": "com.amazonaws.glue#PythonScript", + "traits": { + "smithy.api#documentation": "

                            A Python script to perform the mapping.

                            " + } + }, "ScalaCode": { "target": "com.amazonaws.glue#ScalaCode", "traits": { "smithy.api#documentation": "

                            The Scala code to perform the mapping.

                            " } + } + } + }, + "com.amazonaws.glue#GetRegistry": { + "type": "operation", + "input": { + "target": "com.amazonaws.glue#GetRegistryInput" + }, + "output": { + "target": "com.amazonaws.glue#GetRegistryResponse" + }, + "errors": [ + { + "target": "com.amazonaws.glue#AccessDeniedException" }, - "PythonScript": { - "target": "com.amazonaws.glue#PythonScript", + { + "target": "com.amazonaws.glue#EntityNotFoundException" + }, + { + "target": "com.amazonaws.glue#InternalServiceException" + }, + { + "target": "com.amazonaws.glue#InvalidInputException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Describes the specified registry in detail.

                            " + } + }, + "com.amazonaws.glue#GetRegistryInput": { + "type": "structure", + "members": { + "RegistryId": { + "target": "com.amazonaws.glue#RegistryId", "traits": { - "smithy.api#documentation": "

                            A Python script to perform the mapping.

                            " + "smithy.api#documentation": "

                            This is a wrapper structure that may contain the registry name and Amazon Resource Name (ARN).

                            ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.glue#GetRegistryResponse": { + "type": "structure", + "members": { + "RegistryName": { + "target": "com.amazonaws.glue#SchemaRegistryNameString", + "traits": { + "smithy.api#documentation": "

                            The name of the registry.

                            " + } + }, + "RegistryArn": { + "target": "com.amazonaws.glue#GlueResourceArn", + "traits": { + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the registry.

                            " + } + }, + "Description": { + "target": "com.amazonaws.glue#DescriptionString", + "traits": { + "smithy.api#documentation": "

                            A description of the registry.

                            " + } + }, + "Status": { + "target": "com.amazonaws.glue#RegistryStatus", + "traits": { + "smithy.api#documentation": "

                            The status of the registry.

                            " + } + }, + "CreatedTime": { + "target": "com.amazonaws.glue#CreatedTimestamp", + "traits": { + "smithy.api#documentation": "

                            The date and time the registry was created.

                            " + } + }, + "UpdatedTime": { + "target": "com.amazonaws.glue#UpdatedTimestamp", + "traits": { + "smithy.api#documentation": "

                            The date and time the registry was updated.

                            " } } } @@ -8697,7 +9404,13 @@ } ], "traits": { - "smithy.api#documentation": "

                            Retrieves the security configurations for the resource policies set on individual resources, and also the account-level policy.

                            \n\t\n\t

                            This operation also returns the Data Catalog resource policy. However, if you enabled metadata encryption in Data Catalog settings, and you do not have permission on the AWS KMS key, the operation can't return the Data Catalog resource policy.

                            " + "smithy.api#documentation": "

                            Retrieves the security configurations for the resource policies set on individual resources, and also the account-level policy.

                            \n\t\n\t

                            This operation also returns the Data Catalog resource policy. However, if you enabled metadata encryption in Data Catalog settings, and you do not have permission on the AWS KMS key, the operation can't return the Data Catalog resource policy.

                            ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "GetResourcePoliciesResponseList", + "pageSize": "MaxResults" + } } }, "com.amazonaws.glue#GetResourcePoliciesRequest": { @@ -8720,17 +9433,17 @@ "com.amazonaws.glue#GetResourcePoliciesResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.glue#Token", - "traits": { - "smithy.api#documentation": "

                            A continuation token, if the returned list does not contain the last resource policy available.

                            " - } - }, "GetResourcePoliciesResponseList": { "target": "com.amazonaws.glue#GetResourcePoliciesResponseList", "traits": { "smithy.api#documentation": "

                            A list of the individual resource policies and the account-level resource policy.

                            " } + }, + "NextToken": { + "target": "com.amazonaws.glue#Token", + "traits": { + "smithy.api#documentation": "

                            A continuation token, if the returned list does not contain the last resource policy available.

                            " + } } } }, @@ -8780,14 +9493,8 @@ "com.amazonaws.glue#GetResourcePolicyResponse": { "type": "structure", "members": { - "CreateTime": { - "target": "com.amazonaws.glue#Timestamp", - "traits": { - "smithy.api#documentation": "

                            The date and time at which the policy was created.

                            " - } - }, - "PolicyInJson": { - "target": "com.amazonaws.glue#PolicyJsonString", + "PolicyInJson": { + "target": "com.amazonaws.glue#PolicyJsonString", "traits": { "smithy.api#documentation": "

                            Contains the requested policy document, in JSON format.

                            " } @@ -8798,6 +9505,12 @@ "smithy.api#documentation": "

                            Contains the hash value associated with this policy.

                            " } }, + "CreateTime": { + "target": "com.amazonaws.glue#Timestamp", + "traits": { + "smithy.api#documentation": "

                            The date and time at which the policy was created.

                            " + } + }, "UpdateTime": { "target": "com.amazonaws.glue#Timestamp", "traits": { @@ -8806,15 +9519,18 @@ } } }, - "com.amazonaws.glue#GetSecurityConfiguration": { + "com.amazonaws.glue#GetSchema": { "type": "operation", "input": { - "target": "com.amazonaws.glue#GetSecurityConfigurationRequest" + "target": "com.amazonaws.glue#GetSchemaInput" }, "output": { - "target": "com.amazonaws.glue#GetSecurityConfigurationResponse" + "target": "com.amazonaws.glue#GetSchemaResponse" }, "errors": [ + { + "target": "com.amazonaws.glue#AccessDeniedException" + }, { "target": "com.amazonaws.glue#EntityNotFoundException" }, @@ -8823,47 +9539,199 @@ }, { "target": "com.amazonaws.glue#InvalidInputException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Describes the specified schema in detail.

                            " + } + }, + "com.amazonaws.glue#GetSchemaByDefinition": { + "type": "operation", + "input": { + "target": "com.amazonaws.glue#GetSchemaByDefinitionInput" + }, + "output": { + "target": "com.amazonaws.glue#GetSchemaByDefinitionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.glue#AccessDeniedException" }, { - "target": "com.amazonaws.glue#OperationTimeoutException" + "target": "com.amazonaws.glue#EntityNotFoundException" + }, + { + "target": "com.amazonaws.glue#InternalServiceException" + }, + { + "target": "com.amazonaws.glue#InvalidInputException" } ], "traits": { - "smithy.api#documentation": "

                            Retrieves a specified security configuration.

                            " + "smithy.api#documentation": "

                            Retrieves a schema by the SchemaDefinition. The schema definition is sent to the Schema Registry, canonicalized, and hashed. If the hash is matched within the scope of the SchemaName or ARN (or the default registry, if none is supplied), that schema’s metadata is returned. Otherwise, a 404 or NotFound error is returned. Schema versions in Deleted statuses will not be included in the results.

                            " } }, - "com.amazonaws.glue#GetSecurityConfigurationRequest": { + "com.amazonaws.glue#GetSchemaByDefinitionInput": { "type": "structure", "members": { - "Name": { - "target": "com.amazonaws.glue#NameString", + "SchemaId": { + "target": "com.amazonaws.glue#SchemaId", "traits": { - "smithy.api#documentation": "

                            The name of the security configuration to retrieve.

                            ", + "smithy.api#documentation": "

                            This is a wrapper structure to contain schema identity fields. The structure contains:

                            \n\t
                              \n
                            • \n

                              SchemaId$SchemaArn: The Amazon Resource Name (ARN) of the schema. One of SchemaArn or SchemaName has to be provided.

                              \n
                            • \n
                            • \n

                              SchemaId$SchemaName: The name of the schema. One of SchemaArn or SchemaName has to be provided.

                              \n
                            • \n
                            ", + "smithy.api#required": {} + } + }, + "SchemaDefinition": { + "target": "com.amazonaws.glue#SchemaDefinitionString", + "traits": { + "smithy.api#documentation": "

                            The definition of the schema for which schema details are required.

                            ", "smithy.api#required": {} } } } }, - "com.amazonaws.glue#GetSecurityConfigurationResponse": { + "com.amazonaws.glue#GetSchemaByDefinitionResponse": { "type": "structure", "members": { - "SecurityConfiguration": { - "target": "com.amazonaws.glue#SecurityConfiguration", + "SchemaVersionId": { + "target": "com.amazonaws.glue#SchemaVersionIdString", "traits": { - "smithy.api#documentation": "

                            The requested security configuration.

                            " + "smithy.api#documentation": "

                            The schema ID of the schema version.

                            " + } + }, + "SchemaArn": { + "target": "com.amazonaws.glue#GlueResourceArn", + "traits": { + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the schema.

                            " + } + }, + "DataFormat": { + "target": "com.amazonaws.glue#DataFormat", + "traits": { + "smithy.api#documentation": "

                            The data format of the schema definition. Currently only AVRO is supported.

                            " + } + }, + "Status": { + "target": "com.amazonaws.glue#SchemaVersionStatus", + "traits": { + "smithy.api#documentation": "

                            The status of the schema version.

                            " + } + }, + "CreatedTime": { + "target": "com.amazonaws.glue#CreatedTimestamp", + "traits": { + "smithy.api#documentation": "

                            The date and time the schema was created.

                            " } } } }, - "com.amazonaws.glue#GetSecurityConfigurations": { + "com.amazonaws.glue#GetSchemaInput": { + "type": "structure", + "members": { + "SchemaId": { + "target": "com.amazonaws.glue#SchemaId", + "traits": { + "smithy.api#documentation": "

                            This is a wrapper structure to contain schema identity fields. The structure contains:

                            \n\t
                              \n
                            • \n

                              SchemaId$SchemaArn: The Amazon Resource Name (ARN) of the schema. Either SchemaArn or SchemaName and RegistryName has to be provided.

                              \n
                            • \n
                            • \n

                              SchemaId$SchemaName: The name of the schema. Either SchemaArn or SchemaName and RegistryName has to be provided.

                              \n
                            • \n
                            ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.glue#GetSchemaResponse": { + "type": "structure", + "members": { + "RegistryName": { + "target": "com.amazonaws.glue#SchemaRegistryNameString", + "traits": { + "smithy.api#documentation": "

                            The name of the registry.

                            " + } + }, + "RegistryArn": { + "target": "com.amazonaws.glue#GlueResourceArn", + "traits": { + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the registry.

                            " + } + }, + "SchemaName": { + "target": "com.amazonaws.glue#SchemaRegistryNameString", + "traits": { + "smithy.api#documentation": "

                            The name of the schema.

                            " + } + }, + "SchemaArn": { + "target": "com.amazonaws.glue#GlueResourceArn", + "traits": { + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the schema.

                            " + } + }, + "Description": { + "target": "com.amazonaws.glue#DescriptionString", + "traits": { + "smithy.api#documentation": "

                            A description of schema if specified when created

                            " + } + }, + "DataFormat": { + "target": "com.amazonaws.glue#DataFormat", + "traits": { + "smithy.api#documentation": "

                            The data format of the schema definition. Currently only AVRO is supported.

                            " + } + }, + "Compatibility": { + "target": "com.amazonaws.glue#Compatibility", + "traits": { + "smithy.api#documentation": "

                            The compatibility mode of the schema.

                            " + } + }, + "SchemaCheckpoint": { + "target": "com.amazonaws.glue#SchemaCheckpointNumber", + "traits": { + "smithy.api#documentation": "

                            The version number of the checkpoint (the last time the compatibility mode was changed).

                            " + } + }, + "LatestSchemaVersion": { + "target": "com.amazonaws.glue#VersionLongNumber", + "traits": { + "smithy.api#documentation": "

                            The latest version of the schema associated with the returned schema definition.

                            " + } + }, + "NextSchemaVersion": { + "target": "com.amazonaws.glue#VersionLongNumber", + "traits": { + "smithy.api#documentation": "

                            The next version of the schema associated with the returned schema definition.

                            " + } + }, + "SchemaStatus": { + "target": "com.amazonaws.glue#SchemaStatus", + "traits": { + "smithy.api#documentation": "

                            The status of the schema.

                            " + } + }, + "CreatedTime": { + "target": "com.amazonaws.glue#CreatedTimestamp", + "traits": { + "smithy.api#documentation": "

                            The date and time the schema was created.

                            " + } + }, + "UpdatedTime": { + "target": "com.amazonaws.glue#UpdatedTimestamp", + "traits": { + "smithy.api#documentation": "

                            The date and time the schema was updated.

                            " + } + } + } + }, + "com.amazonaws.glue#GetSchemaVersion": { "type": "operation", "input": { - "target": "com.amazonaws.glue#GetSecurityConfigurationsRequest" + "target": "com.amazonaws.glue#GetSchemaVersionInput" }, "output": { - "target": "com.amazonaws.glue#GetSecurityConfigurationsResponse" + "target": "com.amazonaws.glue#GetSchemaVersionResponse" }, "errors": [ + { + "target": "com.amazonaws.glue#AccessDeniedException" + }, { "target": "com.amazonaws.glue#EntityNotFoundException" }, @@ -8872,135 +9740,164 @@ }, { "target": "com.amazonaws.glue#InvalidInputException" - }, - { - "target": "com.amazonaws.glue#OperationTimeoutException" } ], "traits": { - "smithy.api#documentation": "

                            Retrieves a list of all security configurations.

                            ", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "SecurityConfigurations", - "pageSize": "MaxResults" - } + "smithy.api#documentation": "

                            Get the specified schema by its unique ID assigned when a version of the schema is created or registered. Schema versions in Deleted status will not be included in the results.

                            " } }, - "com.amazonaws.glue#GetSecurityConfigurationsRequest": { + "com.amazonaws.glue#GetSchemaVersionInput": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.glue#GenericString", + "SchemaId": { + "target": "com.amazonaws.glue#SchemaId", "traits": { - "smithy.api#documentation": "

                            A continuation token, if this is a continuation call.

                            " + "smithy.api#documentation": "

                            This is a wrapper structure to contain schema identity fields. The structure contains:

                            \n\t
                              \n
                            • \n

                              SchemaId$SchemaArn: The Amazon Resource Name (ARN) of the schema. Either SchemaArn or SchemaName and RegistryName has to be provided.

                              \n
                            • \n
                            • \n

                              SchemaId$SchemaName: The name of the schema. Either SchemaArn or SchemaName and RegistryName has to be provided.

                              \n
                            • \n
                            " } }, - "MaxResults": { - "target": "com.amazonaws.glue#PageSize", + "SchemaVersionId": { + "target": "com.amazonaws.glue#SchemaVersionIdString", "traits": { - "smithy.api#documentation": "

                            The maximum number of results to return.

                            " + "smithy.api#documentation": "

                            The SchemaVersionId of the schema version. This field is required for fetching by schema ID. Either this or the SchemaId wrapper has to be provided.

                            " + } + }, + "SchemaVersionNumber": { + "target": "com.amazonaws.glue#SchemaVersionNumber", + "traits": { + "smithy.api#documentation": "

                            The version number of the schema.

                            " } } } }, - "com.amazonaws.glue#GetSecurityConfigurationsResponse": { + "com.amazonaws.glue#GetSchemaVersionResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.glue#GenericString", + "SchemaVersionId": { + "target": "com.amazonaws.glue#SchemaVersionIdString", "traits": { - "smithy.api#documentation": "

                            A continuation token, if there are more security\n configurations to return.

                            " + "smithy.api#documentation": "

                            The SchemaVersionId of the schema version.

                            " } }, - "SecurityConfigurations": { - "target": "com.amazonaws.glue#SecurityConfigurationList", + "SchemaDefinition": { + "target": "com.amazonaws.glue#SchemaDefinitionString", "traits": { - "smithy.api#documentation": "

                            A list of security configurations.

                            " + "smithy.api#documentation": "

                            The schema definition for the schema ID.

                            " + } + }, + "DataFormat": { + "target": "com.amazonaws.glue#DataFormat", + "traits": { + "smithy.api#documentation": "

                            The data format of the schema definition. Currently only AVRO is supported.

                            " + } + }, + "SchemaArn": { + "target": "com.amazonaws.glue#GlueResourceArn", + "traits": { + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the schema.

                            " + } + }, + "VersionNumber": { + "target": "com.amazonaws.glue#VersionLongNumber", + "traits": { + "smithy.api#documentation": "

                            The version number of the schema.

                            " + } + }, + "Status": { + "target": "com.amazonaws.glue#SchemaVersionStatus", + "traits": { + "smithy.api#documentation": "

                            The status of the schema version.

                            " + } + }, + "CreatedTime": { + "target": "com.amazonaws.glue#CreatedTimestamp", + "traits": { + "smithy.api#documentation": "

                            The date and time the schema version was created.

                            " } } } }, - "com.amazonaws.glue#GetTable": { + "com.amazonaws.glue#GetSchemaVersionsDiff": { "type": "operation", "input": { - "target": "com.amazonaws.glue#GetTableRequest" + "target": "com.amazonaws.glue#GetSchemaVersionsDiffInput" }, "output": { - "target": "com.amazonaws.glue#GetTableResponse" + "target": "com.amazonaws.glue#GetSchemaVersionsDiffResponse" }, "errors": [ { - "target": "com.amazonaws.glue#EntityNotFoundException" + "target": "com.amazonaws.glue#AccessDeniedException" }, { - "target": "com.amazonaws.glue#GlueEncryptionException" + "target": "com.amazonaws.glue#EntityNotFoundException" }, { "target": "com.amazonaws.glue#InternalServiceException" }, { "target": "com.amazonaws.glue#InvalidInputException" - }, - { - "target": "com.amazonaws.glue#OperationTimeoutException" } ], "traits": { - "smithy.api#documentation": "

                            Retrieves the Table definition in a Data Catalog for\n a specified table.

                            " + "smithy.api#documentation": "

                            Fetches the schema version difference in the specified difference type between two stored schema versions in the Schema Registry.

                            \n

                            This API allows you to compare two schema versions between two schema definitions under the same schema.

                            " } }, - "com.amazonaws.glue#GetTableRequest": { + "com.amazonaws.glue#GetSchemaVersionsDiffInput": { "type": "structure", "members": { - "Name": { - "target": "com.amazonaws.glue#NameString", + "SchemaId": { + "target": "com.amazonaws.glue#SchemaId", "traits": { - "smithy.api#documentation": "

                            The name of the table for which to retrieve the definition. For Hive\n compatibility, this name is entirely lowercase.

                            ", + "smithy.api#documentation": "

                            This is a wrapper structure to contain schema identity fields. The structure contains:

                            \n\t
                              \n
                            • \n

                              SchemaId$SchemaArn: The Amazon Resource Name (ARN) of the schema. One of SchemaArn or SchemaName has to be provided.

                              \n
                            • \n
                            • \n

                              SchemaId$SchemaName: The name of the schema. One of SchemaArn or SchemaName has to be provided.

                              \n
                            • \n
                            ", "smithy.api#required": {} } }, - "DatabaseName": { - "target": "com.amazonaws.glue#NameString", + "FirstSchemaVersionNumber": { + "target": "com.amazonaws.glue#SchemaVersionNumber", "traits": { - "smithy.api#documentation": "

                            The name of the database in the catalog in which the table resides.\n For Hive compatibility, this name is entirely lowercase.

                            ", + "smithy.api#documentation": "

                            The first of the two schema versions to be compared.

                            ", "smithy.api#required": {} } }, - "CatalogId": { - "target": "com.amazonaws.glue#CatalogIdString", + "SecondSchemaVersionNumber": { + "target": "com.amazonaws.glue#SchemaVersionNumber", "traits": { - "smithy.api#documentation": "

                            The ID of the Data Catalog where the table resides. If none is provided, the AWS account\n ID is used by default.

                            " + "smithy.api#documentation": "

                            The second of the two schema versions to be compared.

                            ", + "smithy.api#required": {} + } + }, + "SchemaDiffType": { + "target": "com.amazonaws.glue#SchemaDiffType", + "traits": { + "smithy.api#documentation": "

                            Refers to SYNTAX_DIFF, which is the currently supported diff type.

                            ", + "smithy.api#required": {} } } } }, - "com.amazonaws.glue#GetTableResponse": { + "com.amazonaws.glue#GetSchemaVersionsDiffResponse": { "type": "structure", "members": { - "Table": { - "target": "com.amazonaws.glue#Table", + "Diff": { + "target": "com.amazonaws.glue#SchemaDefinitionDiff", "traits": { - "smithy.api#documentation": "

                            The Table object that defines the specified table.

                            " + "smithy.api#documentation": "

                            The difference between schemas as a string in JsonPatch format.

                            " } } } }, - "com.amazonaws.glue#GetTableVersion": { + "com.amazonaws.glue#GetSecurityConfiguration": { "type": "operation", "input": { - "target": "com.amazonaws.glue#GetTableVersionRequest" + "target": "com.amazonaws.glue#GetSecurityConfigurationRequest" }, "output": { - "target": "com.amazonaws.glue#GetTableVersionResponse" + "target": "com.amazonaws.glue#GetSecurityConfigurationResponse" }, "errors": [ { "target": "com.amazonaws.glue#EntityNotFoundException" }, - { - "target": "com.amazonaws.glue#GlueEncryptionException" - }, { "target": "com.amazonaws.glue#InternalServiceException" }, @@ -9012,66 +9909,44 @@ } ], "traits": { - "smithy.api#documentation": "

                            Retrieves a specified version of a table.

                            " + "smithy.api#documentation": "

                            Retrieves a specified security configuration.

                            " } }, - "com.amazonaws.glue#GetTableVersionRequest": { + "com.amazonaws.glue#GetSecurityConfigurationRequest": { "type": "structure", "members": { - "TableName": { - "target": "com.amazonaws.glue#NameString", - "traits": { - "smithy.api#documentation": "

                            The name of the table. For Hive compatibility,\n this name is entirely lowercase.

                            ", - "smithy.api#required": {} - } - }, - "VersionId": { - "target": "com.amazonaws.glue#VersionString", - "traits": { - "smithy.api#documentation": "

                            The ID value of the table version to be retrieved. A VersionID is a string representation of an integer. Each version is incremented by 1.

                            " - } - }, - "CatalogId": { - "target": "com.amazonaws.glue#CatalogIdString", - "traits": { - "smithy.api#documentation": "

                            The ID of the Data Catalog where the tables reside. If none is provided, the AWS account\n ID is used by default.

                            " - } - }, - "DatabaseName": { + "Name": { "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The database in the catalog in which the table resides. For Hive\n compatibility, this name is entirely lowercase.

                            ", + "smithy.api#documentation": "

                            The name of the security configuration to retrieve.

                            ", "smithy.api#required": {} } } } }, - "com.amazonaws.glue#GetTableVersionResponse": { + "com.amazonaws.glue#GetSecurityConfigurationResponse": { "type": "structure", "members": { - "TableVersion": { - "target": "com.amazonaws.glue#TableVersion", + "SecurityConfiguration": { + "target": "com.amazonaws.glue#SecurityConfiguration", "traits": { - "smithy.api#documentation": "

                            The requested table version.

                            " + "smithy.api#documentation": "

                            The requested security configuration.

                            " } } } }, - "com.amazonaws.glue#GetTableVersions": { + "com.amazonaws.glue#GetSecurityConfigurations": { "type": "operation", "input": { - "target": "com.amazonaws.glue#GetTableVersionsRequest" + "target": "com.amazonaws.glue#GetSecurityConfigurationsRequest" }, "output": { - "target": "com.amazonaws.glue#GetTableVersionsResponse" + "target": "com.amazonaws.glue#GetSecurityConfigurationsResponse" }, "errors": [ { "target": "com.amazonaws.glue#EntityNotFoundException" }, - { - "target": "com.amazonaws.glue#GlueEncryptionException" - }, { "target": "com.amazonaws.glue#InternalServiceException" }, @@ -9083,35 +9958,151 @@ } ], "traits": { - "smithy.api#documentation": "

                            Retrieves a list of strings that identify available versions of\n a specified table.

                            ", + "smithy.api#documentation": "

                            Retrieves a list of all security configurations.

                            ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", + "items": "SecurityConfigurations", "pageSize": "MaxResults" } } }, - "com.amazonaws.glue#GetTableVersionsList": { - "type": "list", - "member": { - "target": "com.amazonaws.glue#TableVersion" + "com.amazonaws.glue#GetSecurityConfigurationsRequest": { + "type": "structure", + "members": { + "MaxResults": { + "target": "com.amazonaws.glue#PageSize", + "traits": { + "smithy.api#documentation": "

                            The maximum number of results to return.

                            " + } + }, + "NextToken": { + "target": "com.amazonaws.glue#GenericString", + "traits": { + "smithy.api#documentation": "

                            A continuation token, if this is a continuation call.

                            " + } + } } }, - "com.amazonaws.glue#GetTableVersionsRequest": { + "com.amazonaws.glue#GetSecurityConfigurationsResponse": { "type": "structure", "members": { + "SecurityConfigurations": { + "target": "com.amazonaws.glue#SecurityConfigurationList", + "traits": { + "smithy.api#documentation": "

                            A list of security configurations.

                            " + } + }, "NextToken": { - "target": "com.amazonaws.glue#Token", + "target": "com.amazonaws.glue#GenericString", "traits": { - "smithy.api#documentation": "

                            A continuation token, if this is not the first call.

                            " + "smithy.api#documentation": "

                            A continuation token, if there are more security\n configurations to return.

                            " } + } + } + }, + "com.amazonaws.glue#GetTable": { + "type": "operation", + "input": { + "target": "com.amazonaws.glue#GetTableRequest" + }, + "output": { + "target": "com.amazonaws.glue#GetTableResponse" + }, + "errors": [ + { + "target": "com.amazonaws.glue#EntityNotFoundException" }, - "TableName": { + { + "target": "com.amazonaws.glue#GlueEncryptionException" + }, + { + "target": "com.amazonaws.glue#InternalServiceException" + }, + { + "target": "com.amazonaws.glue#InvalidInputException" + }, + { + "target": "com.amazonaws.glue#OperationTimeoutException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Retrieves the Table definition in a Data Catalog for\n a specified table.

                            " + } + }, + "com.amazonaws.glue#GetTableRequest": { + "type": "structure", + "members": { + "CatalogId": { + "target": "com.amazonaws.glue#CatalogIdString", + "traits": { + "smithy.api#documentation": "

                            The ID of the Data Catalog where the table resides. If none is provided, the AWS account\n ID is used by default.

                            " + } + }, + "DatabaseName": { "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The name of the table. For Hive\n compatibility, this name is entirely lowercase.

                            ", + "smithy.api#documentation": "

                            The name of the database in the catalog in which the table resides.\n For Hive compatibility, this name is entirely lowercase.

                            ", + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

                            The name of the table for which to retrieve the definition. For Hive\n compatibility, this name is entirely lowercase.

                            ", "smithy.api#required": {} } + } + } + }, + "com.amazonaws.glue#GetTableResponse": { + "type": "structure", + "members": { + "Table": { + "target": "com.amazonaws.glue#Table", + "traits": { + "smithy.api#documentation": "

                            The Table object that defines the specified table.

                            " + } + } + } + }, + "com.amazonaws.glue#GetTableVersion": { + "type": "operation", + "input": { + "target": "com.amazonaws.glue#GetTableVersionRequest" + }, + "output": { + "target": "com.amazonaws.glue#GetTableVersionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.glue#EntityNotFoundException" + }, + { + "target": "com.amazonaws.glue#GlueEncryptionException" + }, + { + "target": "com.amazonaws.glue#InternalServiceException" + }, + { + "target": "com.amazonaws.glue#InvalidInputException" + }, + { + "target": "com.amazonaws.glue#OperationTimeoutException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Retrieves a specified version of a table.

                            " + } + }, + "com.amazonaws.glue#GetTableVersionRequest": { + "type": "structure", + "members": { + "CatalogId": { + "target": "com.amazonaws.glue#CatalogIdString", + "traits": { + "smithy.api#documentation": "

                            The ID of the Data Catalog where the tables reside. If none is provided, the AWS account\n ID is used by default.

                            " + } }, "DatabaseName": { "target": "com.amazonaws.glue#NameString", @@ -9120,17 +10111,106 @@ "smithy.api#required": {} } }, - "MaxResults": { - "target": "com.amazonaws.glue#PageSize", + "TableName": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The maximum number of table versions to return in one response.

                            " + "smithy.api#documentation": "

                            The name of the table. For Hive compatibility,\n this name is entirely lowercase.

                            ", + "smithy.api#required": {} + } + }, + "VersionId": { + "target": "com.amazonaws.glue#VersionString", + "traits": { + "smithy.api#documentation": "

                            The ID value of the table version to be retrieved. A VersionID is a string representation of an integer. Each version is incremented by 1.

                            " + } + } + } + }, + "com.amazonaws.glue#GetTableVersionResponse": { + "type": "structure", + "members": { + "TableVersion": { + "target": "com.amazonaws.glue#TableVersion", + "traits": { + "smithy.api#documentation": "

                            The requested table version.

                            " } + } + } + }, + "com.amazonaws.glue#GetTableVersions": { + "type": "operation", + "input": { + "target": "com.amazonaws.glue#GetTableVersionsRequest" + }, + "output": { + "target": "com.amazonaws.glue#GetTableVersionsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.glue#EntityNotFoundException" + }, + { + "target": "com.amazonaws.glue#GlueEncryptionException" + }, + { + "target": "com.amazonaws.glue#InternalServiceException" + }, + { + "target": "com.amazonaws.glue#InvalidInputException" }, + { + "target": "com.amazonaws.glue#OperationTimeoutException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Retrieves a list of strings that identify available versions of\n a specified table.

                            ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.glue#GetTableVersionsList": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#TableVersion" + } + }, + "com.amazonaws.glue#GetTableVersionsRequest": { + "type": "structure", + "members": { "CatalogId": { "target": "com.amazonaws.glue#CatalogIdString", "traits": { "smithy.api#documentation": "

                            The ID of the Data Catalog where the tables reside. If none is provided, the AWS account\n ID is used by default.

                            " } + }, + "DatabaseName": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

                            The database in the catalog in which the table resides. For Hive\n compatibility, this name is entirely lowercase.

                            ", + "smithy.api#required": {} + } + }, + "TableName": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

                            The name of the table. For Hive\n compatibility, this name is entirely lowercase.

                            ", + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.glue#Token", + "traits": { + "smithy.api#documentation": "

                            A continuation token, if this is not the first call.

                            " + } + }, + "MaxResults": { + "target": "com.amazonaws.glue#PageSize", + "traits": { + "smithy.api#documentation": "

                            The maximum number of table versions to return in one response.

                            " + } } } }, @@ -9188,22 +10268,23 @@ "com.amazonaws.glue#GetTablesRequest": { "type": "structure", "members": { - "Expression": { - "target": "com.amazonaws.glue#FilterString", - "traits": { - "smithy.api#documentation": "

                            A regular expression pattern. If present, only those tables\n whose names match the pattern are returned.

                            " - } - }, "CatalogId": { "target": "com.amazonaws.glue#CatalogIdString", "traits": { "smithy.api#documentation": "

                            The ID of the Data Catalog where the tables reside. If none is provided, the AWS account\n ID is used by default.

                            " } }, - "MaxResults": { - "target": "com.amazonaws.glue#PageSize", + "DatabaseName": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The maximum number of tables to return in a single response.

                            " + "smithy.api#documentation": "

                            The database in the catalog whose tables to list. For Hive\n compatibility, this name is entirely lowercase.

                            ", + "smithy.api#required": {} + } + }, + "Expression": { + "target": "com.amazonaws.glue#FilterString", + "traits": { + "smithy.api#documentation": "

                            A regular expression pattern. If present, only those tables\n whose names match the pattern are returned.

                            " } }, "NextToken": { @@ -9212,11 +10293,10 @@ "smithy.api#documentation": "

                            A continuation token, included if this is a continuation call.

                            " } }, - "DatabaseName": { - "target": "com.amazonaws.glue#NameString", + "MaxResults": { + "target": "com.amazonaws.glue#PageSize", "traits": { - "smithy.api#documentation": "

                            The database in the catalog whose tables to list. For Hive\n compatibility, this name is entirely lowercase.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The maximum number of tables to return in a single response.

                            " } } } @@ -9370,8 +10450,14 @@ "com.amazonaws.glue#GetTriggersRequest": { "type": "structure", "members": { - "DependentJobName": { - "target": "com.amazonaws.glue#NameString", + "NextToken": { + "target": "com.amazonaws.glue#GenericString", + "traits": { + "smithy.api#documentation": "

                            A continuation token, if this is a continuation call.

                            " + } + }, + "DependentJobName": { + "target": "com.amazonaws.glue#NameString", "traits": { "smithy.api#documentation": "

                            The name of the job to retrieve triggers for. The trigger that can start this job is\n returned, and if there is no such trigger, all triggers are returned.

                            " } @@ -9381,29 +10467,23 @@ "traits": { "smithy.api#documentation": "

                            The maximum size of the response.

                            " } - }, - "NextToken": { - "target": "com.amazonaws.glue#GenericString", - "traits": { - "smithy.api#documentation": "

                            A continuation token, if this is a continuation call.

                            " - } } } }, "com.amazonaws.glue#GetTriggersResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.glue#GenericString", - "traits": { - "smithy.api#documentation": "

                            A continuation token, if not all the requested triggers\n have yet been returned.

                            " - } - }, "Triggers": { "target": "com.amazonaws.glue#TriggerList", "traits": { "smithy.api#documentation": "

                            A list of triggers for the specified job.

                            " } + }, + "NextToken": { + "target": "com.amazonaws.glue#GenericString", + "traits": { + "smithy.api#documentation": "

                            A continuation token, if not all the requested triggers\n have yet been returned.

                            " + } } } }, @@ -9439,11 +10519,10 @@ "com.amazonaws.glue#GetUserDefinedFunctionRequest": { "type": "structure", "members": { - "FunctionName": { - "target": "com.amazonaws.glue#NameString", + "CatalogId": { + "target": "com.amazonaws.glue#CatalogIdString", "traits": { - "smithy.api#documentation": "

                            The name of the function.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The ID of the Data Catalog where the function to be retrieved is located. If none is\n provided, the AWS account ID is used by default.

                            " } }, "DatabaseName": { @@ -9453,10 +10532,11 @@ "smithy.api#required": {} } }, - "CatalogId": { - "target": "com.amazonaws.glue#CatalogIdString", + "FunctionName": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The ID of the Data Catalog where the function to be retrieved is located. If none is\n provided, the AWS account ID is used by default.

                            " + "smithy.api#documentation": "

                            The name of the function.

                            ", + "smithy.api#required": {} } } } @@ -9509,6 +10589,18 @@ "com.amazonaws.glue#GetUserDefinedFunctionsRequest": { "type": "structure", "members": { + "CatalogId": { + "target": "com.amazonaws.glue#CatalogIdString", + "traits": { + "smithy.api#documentation": "

                            The ID of the Data Catalog where the functions to be retrieved are located. If none is\n provided, the AWS account ID is used by default.

                            " + } + }, + "DatabaseName": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

                            The name of the catalog database where the functions are located. If none is provided, functions from all the\n databases across the catalog will be returned.

                            " + } + }, "Pattern": { "target": "com.amazonaws.glue#NameString", "traits": { @@ -9527,35 +10619,23 @@ "traits": { "smithy.api#documentation": "

                            The maximum number of functions to return in one response.

                            " } - }, - "DatabaseName": { - "target": "com.amazonaws.glue#NameString", - "traits": { - "smithy.api#documentation": "

                            The name of the catalog database where the functions are located. If none is provided, functions from all the\n databases across the catalog will be returned.

                            " - } - }, - "CatalogId": { - "target": "com.amazonaws.glue#CatalogIdString", - "traits": { - "smithy.api#documentation": "

                            The ID of the Data Catalog where the functions to be retrieved are located. If none is\n provided, the AWS account ID is used by default.

                            " - } } } }, "com.amazonaws.glue#GetUserDefinedFunctionsResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.glue#Token", - "traits": { - "smithy.api#documentation": "

                            A continuation token, if the list of functions returned does\n not include the last requested function.

                            " - } - }, "UserDefinedFunctions": { "target": "com.amazonaws.glue#UserDefinedFunctionList", "traits": { "smithy.api#documentation": "

                            A list of requested function definitions.

                            " } + }, + "NextToken": { + "target": "com.amazonaws.glue#Token", + "traits": { + "smithy.api#documentation": "

                            A continuation token, if the list of functions returned does\n not include the last requested function.

                            " + } } } }, @@ -9588,18 +10668,18 @@ "com.amazonaws.glue#GetWorkflowRequest": { "type": "structure", "members": { - "IncludeGraph": { - "target": "com.amazonaws.glue#NullableBoolean", - "traits": { - "smithy.api#documentation": "

                            Specifies whether to include a graph when returning the workflow resource metadata.

                            " - } - }, "Name": { "target": "com.amazonaws.glue#NameString", "traits": { "smithy.api#documentation": "

                            The name of the workflow to retrieve.

                            ", "smithy.api#required": {} } + }, + "IncludeGraph": { + "target": "com.amazonaws.glue#NullableBoolean", + "traits": { + "smithy.api#documentation": "

                            Specifies whether to include a graph when returning the workflow resource metadata.

                            " + } } } }, @@ -9706,18 +10786,18 @@ "smithy.api#required": {} } }, - "IncludeGraph": { - "target": "com.amazonaws.glue#NullableBoolean", - "traits": { - "smithy.api#documentation": "

                            Specifies whether to include the workflow graph in response or not.

                            " - } - }, "RunId": { "target": "com.amazonaws.glue#IdString", "traits": { "smithy.api#documentation": "

                            The ID of the workflow run.

                            ", "smithy.api#required": {} } + }, + "IncludeGraph": { + "target": "com.amazonaws.glue#NullableBoolean", + "traits": { + "smithy.api#documentation": "

                            Specifies whether to include the workflow graph in response or not.

                            " + } } } }, @@ -9766,10 +10846,11 @@ "com.amazonaws.glue#GetWorkflowRunsRequest": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.glue#GenericString", + "Name": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The maximum size of the response.

                            " + "smithy.api#documentation": "

                            Name of the workflow whose metadata of runs should be returned.

                            ", + "smithy.api#required": {} } }, "IncludeGraph": { @@ -9778,17 +10859,16 @@ "smithy.api#documentation": "

                            Specifies whether to include the workflow graph in response or not.

                            " } }, - "MaxResults": { - "target": "com.amazonaws.glue#PageSize", + "NextToken": { + "target": "com.amazonaws.glue#GenericString", "traits": { - "smithy.api#documentation": "

                            The maximum number of workflow runs to be included in the response.

                            " + "smithy.api#documentation": "

                            The maximum size of the response.

                            " } }, - "Name": { - "target": "com.amazonaws.glue#NameString", + "MaxResults": { + "target": "com.amazonaws.glue#PageSize", "traits": { - "smithy.api#documentation": "

                            Name of the workflow whose metadata of runs should be returned.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The maximum number of workflow runs to be included in the response.

                            " } } } @@ -9796,17 +10876,17 @@ "com.amazonaws.glue#GetWorkflowRunsResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.glue#GenericString", - "traits": { - "smithy.api#documentation": "

                            A continuation token, if not all requested workflow runs have been returned.

                            " - } - }, "Runs": { "target": "com.amazonaws.glue#WorkflowRuns", "traits": { "smithy.api#documentation": "

                            A list of workflow run metadata objects.

                            " } + }, + "NextToken": { + "target": "com.amazonaws.glue#GenericString", + "traits": { + "smithy.api#documentation": "

                            A continuation token, if not all requested workflow runs have been returned.

                            " + } } } }, @@ -9834,18 +10914,18 @@ "smithy.api#documentation": "

                            Contains the requested policy document, in JSON format.

                            " } }, - "CreateTime": { - "target": "com.amazonaws.glue#Timestamp", - "traits": { - "smithy.api#documentation": "

                            The date and time at which the policy was created.

                            " - } - }, "PolicyHash": { "target": "com.amazonaws.glue#HashString", "traits": { "smithy.api#documentation": "

                            Contains the hash value associated with this policy.

                            " } }, + "CreateTime": { + "target": "com.amazonaws.glue#Timestamp", + "traits": { + "smithy.api#documentation": "

                            The date and time at which the policy was created.

                            " + } + }, "UpdateTime": { "target": "com.amazonaws.glue#Timestamp", "traits": { @@ -9870,17 +10950,18 @@ "com.amazonaws.glue#GlueTable": { "type": "structure", "members": { - "TableName": { + "DatabaseName": { "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            A table name in the AWS Glue Data Catalog.

                            ", + "smithy.api#documentation": "

                            A database name in the AWS Glue Data Catalog.

                            ", "smithy.api#required": {} } }, - "ConnectionName": { + "TableName": { "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The name of the connection to the AWS Glue Data Catalog.

                            " + "smithy.api#documentation": "

                            A table name in the AWS Glue Data Catalog.

                            ", + "smithy.api#required": {} } }, "CatalogId": { @@ -9889,11 +10970,10 @@ "smithy.api#documentation": "

                            A unique identifier for the AWS Glue Data Catalog.

                            " } }, - "DatabaseName": { + "ConnectionName": { "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            A database name in the AWS Glue Data Catalog.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The name of the connection to the AWS Glue Data Catalog.

                            " } } }, @@ -9926,12 +11006,6 @@ "com.amazonaws.glue#GrokClassifier": { "type": "structure", "members": { - "LastUpdated": { - "target": "com.amazonaws.glue#Timestamp", - "traits": { - "smithy.api#documentation": "

                            The time that this classifier was last updated.

                            " - } - }, "Name": { "target": "com.amazonaws.glue#NameString", "traits": { @@ -9939,17 +11013,23 @@ "smithy.api#required": {} } }, + "Classification": { + "target": "com.amazonaws.glue#Classification", + "traits": { + "smithy.api#documentation": "

                            An identifier of the data format that the classifier matches, such as Twitter, JSON, Omniture logs, and\n so on.

                            ", + "smithy.api#required": {} + } + }, "CreationTime": { "target": "com.amazonaws.glue#Timestamp", "traits": { "smithy.api#documentation": "

                            The time that this classifier was registered.

                            " } }, - "Classification": { - "target": "com.amazonaws.glue#Classification", + "LastUpdated": { + "target": "com.amazonaws.glue#Timestamp", "traits": { - "smithy.api#documentation": "

                            An identifier of the data format that the classifier matches, such as Twitter, JSON, Omniture logs, and\n so on.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The time that this classifier was last updated.

                            " } }, "Version": { @@ -10074,17 +11154,17 @@ "com.amazonaws.glue#ImportLabelsTaskRunProperties": { "type": "structure", "members": { - "Replace": { - "target": "com.amazonaws.glue#ReplaceBoolean", - "traits": { - "smithy.api#documentation": "

                            Indicates whether to overwrite your existing labels.

                            " - } - }, "InputS3Path": { "target": "com.amazonaws.glue#UriString", "traits": { "smithy.api#documentation": "

                            The Amazon Simple Storage Service (Amazon S3) path from where you will import the\n labels.

                            " } + }, + "Replace": { + "target": "com.amazonaws.glue#ReplaceBoolean", + "traits": { + "smithy.api#documentation": "

                            Indicates whether to overwrite your existing labels.

                            " + } } }, "traits": { @@ -10136,15 +11216,12 @@ "smithy.api#error": "client" } }, + "com.amazonaws.glue#IsVersionValid": { + "type": "boolean" + }, "com.amazonaws.glue#JdbcTarget": { "type": "structure", "members": { - "Exclusions": { - "target": "com.amazonaws.glue#PathList", - "traits": { - "smithy.api#documentation": "

                            A list of glob patterns used to exclude from the crawl.\n For more information, see Catalog Tables with a Crawler.

                            " - } - }, "ConnectionName": { "target": "com.amazonaws.glue#ConnectionName", "traits": { @@ -10156,6 +11233,12 @@ "traits": { "smithy.api#documentation": "

                            The path of the JDBC target.

                            " } + }, + "Exclusions": { + "target": "com.amazonaws.glue#PathList", + "traits": { + "smithy.api#documentation": "

                            A list of glob patterns used to exclude from the crawl.\n For more information, see Catalog Tables with a Crawler.

                            " + } } }, "traits": { @@ -10177,52 +11260,46 @@ "smithy.api#documentation": "

                            The name you assign to this job definition.

                            " } }, - "LastModifiedOn": { - "target": "com.amazonaws.glue#TimestampValue", - "traits": { - "smithy.api#documentation": "

                            The last point in time when this job definition was modified.

                            " - } - }, - "SecurityConfiguration": { - "target": "com.amazonaws.glue#NameString", + "Description": { + "target": "com.amazonaws.glue#DescriptionString", "traits": { - "smithy.api#documentation": "

                            The name of the SecurityConfiguration structure to be used with this\n job.

                            " + "smithy.api#documentation": "

                            A description of the job.

                            " } }, - "CreatedOn": { - "target": "com.amazonaws.glue#TimestampValue", + "LogUri": { + "target": "com.amazonaws.glue#UriString", "traits": { - "smithy.api#documentation": "

                            The time and date that this job definition was created.

                            " + "smithy.api#documentation": "

                            This field is reserved for future use.

                            " } }, - "NonOverridableArguments": { - "target": "com.amazonaws.glue#GenericMap", + "Role": { + "target": "com.amazonaws.glue#RoleString", "traits": { - "smithy.api#documentation": "

                            Non-overridable arguments for this job, specified as name-value pairs.

                            " + "smithy.api#documentation": "

                            The name or Amazon Resource Name (ARN) of the IAM role associated with this job.

                            " } }, - "GlueVersion": { - "target": "com.amazonaws.glue#GlueVersionString", + "CreatedOn": { + "target": "com.amazonaws.glue#TimestampValue", "traits": { - "smithy.api#documentation": "

                            Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for jobs of type Spark.

                            \n \n

                            For more information about the available AWS Glue versions and corresponding Spark and Python versions, see Glue version in the developer guide.

                            \n\t \n\t

                            Jobs that are created without specifying a Glue version default to Glue 0.9.

                            " + "smithy.api#documentation": "

                            The time and date that this job definition was created.

                            " } }, - "NotificationProperty": { - "target": "com.amazonaws.glue#NotificationProperty", + "LastModifiedOn": { + "target": "com.amazonaws.glue#TimestampValue", "traits": { - "smithy.api#documentation": "

                            Specifies configuration properties of a job notification.

                            " + "smithy.api#documentation": "

                            The last point in time when this job definition was modified.

                            " } }, - "Description": { - "target": "com.amazonaws.glue#DescriptionString", + "ExecutionProperty": { + "target": "com.amazonaws.glue#ExecutionProperty", "traits": { - "smithy.api#documentation": "

                            A description of the job.

                            " + "smithy.api#documentation": "

                            An ExecutionProperty specifying the maximum number of concurrent runs allowed\n for this job.

                            " } }, - "MaxCapacity": { - "target": "com.amazonaws.glue#NullableDouble", + "Command": { + "target": "com.amazonaws.glue#JobCommand", "traits": { - "smithy.api#documentation": "

                            The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure\n of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory.\n For more information, see the AWS Glue\n pricing page.

                            \n\t \n\t

                            Do not set Max Capacity if using WorkerType and NumberOfWorkers.

                            \n\t\n\t

                            The value that can be allocated for MaxCapacity depends on whether you are\n running a Python shell job, an Apache Spark ETL job, or an Apache Spark streaming ETL\n job:

                            \n
                              \n
                            • \n

                              When you specify a Python shell job (JobCommand.Name=\"pythonshell\"), you can\n allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.

                              \n
                            • \n
                            • \n

                              When you specify an Apache Spark ETL job (JobCommand.Name=\"glueetl\") or Apache \n Spark streaming ETL job (JobCommand.Name=\"gluestreaming\"), you can allocate from 2 to 100 DPUs. \n The default is 10 DPUs. This job type cannot have a fractional DPU allocation.

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            The JobCommand that executes this job.

                            " } }, "DefaultArguments": { @@ -10231,34 +11308,16 @@ "smithy.api#documentation": "

                            The default arguments for this job, specified as name-value pairs.

                            \n

                            You can specify arguments here that your own job-execution script\n consumes, as well as arguments that AWS Glue itself consumes.

                            \n

                            For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

                            \n

                            For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

                            " } }, - "NumberOfWorkers": { - "target": "com.amazonaws.glue#NullableInteger", + "NonOverridableArguments": { + "target": "com.amazonaws.glue#GenericMap", "traits": { - "smithy.api#documentation": "

                            The number of workers of a defined workerType that are allocated when a job runs.

                            \n\t\n\t\t

                            The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

                            " - } - }, - "Role": { - "target": "com.amazonaws.glue#RoleString", - "traits": { - "smithy.api#documentation": "

                            The name or Amazon Resource Name (ARN) of the IAM role associated with this job.

                            " - } - }, - "ExecutionProperty": { - "target": "com.amazonaws.glue#ExecutionProperty", - "traits": { - "smithy.api#documentation": "

                            An ExecutionProperty specifying the maximum number of concurrent runs allowed\n for this job.

                            " - } - }, - "WorkerType": { - "target": "com.amazonaws.glue#WorkerType", - "traits": { - "smithy.api#documentation": "

                            The type of predefined worker that is allocated when a job runs. Accepts a value of Standard, G.1X, or G.2X.

                            \n\t
                              \n
                            • \n

                              For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

                              \n
                            • \n
                            • \n

                              For the G.1X worker type, each worker maps to 1 DPU (4 vCPU, 16 GB of memory, 64 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

                              \n
                            • \n
                            • \n

                              For the G.2X worker type, each worker maps to 2 DPU (8 vCPU, 32 GB of memory, 128 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            Non-overridable arguments for this job, specified as name-value pairs.

                            " } }, - "LogUri": { - "target": "com.amazonaws.glue#UriString", + "Connections": { + "target": "com.amazonaws.glue#ConnectionsList", "traits": { - "smithy.api#documentation": "

                            This field is reserved for future use.

                            " + "smithy.api#documentation": "

                            The connections used for this job.

                            " } }, "MaxRetries": { @@ -10276,22 +11335,46 @@ "smithy.api#documentation": "

                            This field is deprecated. Use MaxCapacity instead.

                            \n\t \n

                            The number of AWS Glue data processing units (DPUs) allocated to runs of this job. You can\n allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of processing\n power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information,\n see the AWS Glue pricing\n page.

                            \n\t

                            " } }, - "Command": { - "target": "com.amazonaws.glue#JobCommand", + "Timeout": { + "target": "com.amazonaws.glue#Timeout", "traits": { - "smithy.api#documentation": "

                            The JobCommand that executes this job.

                            " + "smithy.api#documentation": "

                            The job timeout in minutes. This is the maximum time that a job run\n can consume resources before it is terminated and enters TIMEOUT\n status. The default is 2,880 minutes (48 hours).

                            " } }, - "Connections": { - "target": "com.amazonaws.glue#ConnectionsList", + "MaxCapacity": { + "target": "com.amazonaws.glue#NullableDouble", "traits": { - "smithy.api#documentation": "

                            The connections used for this job.

                            " + "smithy.api#documentation": "

                            The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure\n of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory.\n For more information, see the AWS Glue\n pricing page.

                            \n\t \n\t

                            Do not set Max Capacity if using WorkerType and NumberOfWorkers.

                            \n\t\n\t

                            The value that can be allocated for MaxCapacity depends on whether you are\n running a Python shell job, an Apache Spark ETL job, or an Apache Spark streaming ETL\n job:

                            \n
                              \n
                            • \n

                              When you specify a Python shell job (JobCommand.Name=\"pythonshell\"), you can\n allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.

                              \n
                            • \n
                            • \n

                              When you specify an Apache Spark ETL job (JobCommand.Name=\"glueetl\") or Apache \n Spark streaming ETL job (JobCommand.Name=\"gluestreaming\"), you can allocate from 2 to 100 DPUs. \n The default is 10 DPUs. This job type cannot have a fractional DPU allocation.

                              \n
                            • \n
                            " } }, - "Timeout": { - "target": "com.amazonaws.glue#Timeout", + "WorkerType": { + "target": "com.amazonaws.glue#WorkerType", "traits": { - "smithy.api#documentation": "

                            The job timeout in minutes. This is the maximum time that a job run\n can consume resources before it is terminated and enters TIMEOUT\n status. The default is 2,880 minutes (48 hours).

                            " + "smithy.api#documentation": "

                            The type of predefined worker that is allocated when a job runs. Accepts a value of Standard, G.1X, or G.2X.

                            \n\t
                              \n
                            • \n

                              For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

                              \n
                            • \n
                            • \n

                              For the G.1X worker type, each worker maps to 1 DPU (4 vCPU, 16 GB of memory, 64 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

                              \n
                            • \n
                            • \n

                              For the G.2X worker type, each worker maps to 2 DPU (8 vCPU, 32 GB of memory, 128 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

                              \n
                            • \n
                            " + } + }, + "NumberOfWorkers": { + "target": "com.amazonaws.glue#NullableInteger", + "traits": { + "smithy.api#documentation": "

                            The number of workers of a defined workerType that are allocated when a job runs.

                            \n\t\n\t\t

                            The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

                            " + } + }, + "SecurityConfiguration": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

                            The name of the SecurityConfiguration structure to be used with this\n job.

                            " + } + }, + "NotificationProperty": { + "target": "com.amazonaws.glue#NotificationProperty", + "traits": { + "smithy.api#documentation": "

                            Specifies configuration properties of a job notification.

                            " + } + }, + "GlueVersion": { + "target": "com.amazonaws.glue#GlueVersionString", + "traits": { + "smithy.api#documentation": "

                            Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for jobs of type Spark.

                            \n \n

                            For more information about the available AWS Glue versions and corresponding Spark and Python versions, see Glue version in the developer guide.

                            \n\t \n\t

                            Jobs that are created without specifying a Glue version default to Glue 0.9.

                            " } } }, @@ -10302,28 +11385,16 @@ "com.amazonaws.glue#JobBookmarkEntry": { "type": "structure", "members": { - "PreviousRunId": { - "target": "com.amazonaws.glue#RunId", - "traits": { - "smithy.api#documentation": "

                            The unique run identifier associated with the previous job run.

                            " - } - }, "JobName": { "target": "com.amazonaws.glue#JobName", "traits": { "smithy.api#documentation": "

                            The name of the job in question.

                            " } }, - "RunId": { - "target": "com.amazonaws.glue#RunId", - "traits": { - "smithy.api#documentation": "

                            The run ID number.

                            " - } - }, - "JobBookmark": { - "target": "com.amazonaws.glue#JsonValue", + "Version": { + "target": "com.amazonaws.glue#IntegerValue", "traits": { - "smithy.api#documentation": "

                            The bookmark itself.

                            " + "smithy.api#documentation": "

                            The version of the job.

                            " } }, "Run": { @@ -10338,10 +11409,22 @@ "smithy.api#documentation": "

                            The attempt ID number.

                            " } }, - "Version": { - "target": "com.amazonaws.glue#IntegerValue", + "PreviousRunId": { + "target": "com.amazonaws.glue#RunId", "traits": { - "smithy.api#documentation": "

                            The version of the job.

                            " + "smithy.api#documentation": "

                            The unique run identifier associated with the previous job run.

                            " + } + }, + "RunId": { + "target": "com.amazonaws.glue#RunId", + "traits": { + "smithy.api#documentation": "

                            The run ID number.

                            " + } + }, + "JobBookmark": { + "target": "com.amazonaws.glue#JsonValue", + "traits": { + "smithy.api#documentation": "

                            The bookmark itself.

                            " } } }, @@ -10352,17 +11435,17 @@ "com.amazonaws.glue#JobBookmarksEncryption": { "type": "structure", "members": { - "KmsKeyArn": { - "target": "com.amazonaws.glue#KmsKeyArn", - "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the KMS key to be used to encrypt the data.

                            " - } - }, "JobBookmarksEncryptionMode": { "target": "com.amazonaws.glue#JobBookmarksEncryptionMode", "traits": { "smithy.api#documentation": "

                            The encryption mode to use for job bookmarks data.

                            " } + }, + "KmsKeyArn": { + "target": "com.amazonaws.glue#KmsKeyArn", + "traits": { + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the KMS key to be used to encrypt the data.

                            " + } } }, "traits": { @@ -10387,12 +11470,6 @@ "com.amazonaws.glue#JobCommand": { "type": "structure", "members": { - "PythonVersion": { - "target": "com.amazonaws.glue#PythonVersionString", - "traits": { - "smithy.api#documentation": "

                            The Python version being used to execute a Python shell job. Allowed values are 2 or 3.

                            " - } - }, "Name": { "target": "com.amazonaws.glue#GenericString", "traits": { @@ -10404,6 +11481,12 @@ "traits": { "smithy.api#documentation": "

                            Specifies the Amazon Simple Storage Service (Amazon S3) path to a script that executes a\n job.

                            " } + }, + "PythonVersion": { + "target": "com.amazonaws.glue#PythonVersionString", + "traits": { + "smithy.api#documentation": "

                            The Python version being used to execute a Python shell job. Allowed values are 2 or 3.

                            " + } } }, "traits": { @@ -10442,16 +11525,16 @@ "com.amazonaws.glue#JobRun": { "type": "structure", "members": { - "NumberOfWorkers": { - "target": "com.amazonaws.glue#NullableInteger", + "Id": { + "target": "com.amazonaws.glue#IdString", "traits": { - "smithy.api#documentation": "

                            The number of workers of a defined workerType that are allocated when a job runs.

                            \n\n

                            The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

                            " + "smithy.api#documentation": "

                            The ID of this job run.

                            " } }, - "WorkerType": { - "target": "com.amazonaws.glue#WorkerType", + "Attempt": { + "target": "com.amazonaws.glue#AttemptCount", "traits": { - "smithy.api#documentation": "

                            The type of predefined worker that is allocated when a job runs. Accepts a value of Standard, G.1X, or G.2X.

                            \n
                              \n
                            • \n

                              For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

                              \n
                            • \n
                            • \n

                              For the G.1X worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker.

                              \n
                            • \n
                            • \n

                              For the G.2X worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker.

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            The number of the attempt to run this job.

                            " } }, "PreviousRunId": { @@ -10460,40 +11543,16 @@ "smithy.api#documentation": "

                            The ID of the previous run of this job. For example, the JobRunId specified\n in the StartJobRun action.

                            " } }, - "ExecutionTime": { - "target": "com.amazonaws.glue#ExecutionTime", - "traits": { - "smithy.api#documentation": "

                            The amount of time (in seconds) that the job run consumed resources.

                            " - } - }, - "GlueVersion": { - "target": "com.amazonaws.glue#GlueVersionString", - "traits": { - "smithy.api#documentation": "

                            Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for jobs of type Spark.

                            \n \n

                            For more information about the available AWS Glue versions and corresponding Spark and Python versions, see Glue version in the developer guide.

                            \n\t \n\t

                            Jobs that are created without specifying a Glue version default to Glue 0.9.

                            " - } - }, - "JobName": { - "target": "com.amazonaws.glue#NameString", - "traits": { - "smithy.api#documentation": "

                            The name of the job definition being used in this run.

                            " - } - }, - "LastModifiedOn": { - "target": "com.amazonaws.glue#TimestampValue", - "traits": { - "smithy.api#documentation": "

                            The last time that this job run was modified.

                            " - } - }, "TriggerName": { "target": "com.amazonaws.glue#NameString", "traits": { "smithy.api#documentation": "

                            The name of the trigger that started this job run.

                            " } }, - "Arguments": { - "target": "com.amazonaws.glue#GenericMap", + "JobName": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The job arguments associated with this run. For this job run, they replace the default arguments set in the job definition itself.

                            \n

                            You can specify arguments here that your own job-execution script\n consumes, as well as arguments that AWS Glue itself consumes.

                            \n

                            For information about how to specify and consume your own job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

                            \n

                            For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

                            " + "smithy.api#documentation": "

                            The name of the job definition being used in this run.

                            " } }, "StartedOn": { @@ -10502,10 +11561,10 @@ "smithy.api#documentation": "

                            The date and time at which this job run was started.

                            " } }, - "NotificationProperty": { - "target": "com.amazonaws.glue#NotificationProperty", + "LastModifiedOn": { + "target": "com.amazonaws.glue#TimestampValue", "traits": { - "smithy.api#documentation": "

                            Specifies configuration properties of a job run notification.

                            " + "smithy.api#documentation": "

                            The last time that this job run was modified.

                            " } }, "CompletedOn": { @@ -10514,10 +11573,16 @@ "smithy.api#documentation": "

                            The date and time that this job run completed.

                            " } }, - "MaxCapacity": { - "target": "com.amazonaws.glue#NullableDouble", + "JobRunState": { + "target": "com.amazonaws.glue#JobRunState", "traits": { - "smithy.api#documentation": "

                            The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure\n of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory.\n For more information, see the AWS Glue\n pricing page.

                            \n\n

                            Do not set Max Capacity if using WorkerType and NumberOfWorkers.

                            \n\n

                            The value that can be allocated for MaxCapacity depends on whether you are\n running a Python shell job or an Apache Spark ETL job:

                            \n
                              \n
                            • \n

                              When you specify a Python shell job (JobCommand.Name=\"pythonshell\"), you can\n allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.

                              \n
                            • \n
                            • \n

                              When you specify an Apache Spark ETL job (JobCommand.Name=\"glueetl\"), you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type cannot have a fractional DPU allocation.

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            The current state of the job run. For more information about the statuses of jobs that have terminated abnormally, see AWS Glue Job Run Statuses.

                            " + } + }, + "Arguments": { + "target": "com.amazonaws.glue#GenericMap", + "traits": { + "smithy.api#documentation": "

                            The job arguments associated with this run. For this job run, they replace the default arguments set in the job definition itself.

                            \n

                            You can specify arguments here that your own job-execution script\n consumes, as well as arguments that AWS Glue itself consumes.

                            \n

                            For information about how to specify and consume your own job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

                            \n

                            For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

                            " } }, "ErrorMessage": { @@ -10526,10 +11591,10 @@ "smithy.api#documentation": "

                            An error message associated with this job run.

                            " } }, - "Id": { - "target": "com.amazonaws.glue#IdString", + "PredecessorRuns": { + "target": "com.amazonaws.glue#PredecessorList", "traits": { - "smithy.api#documentation": "

                            The ID of this job run.

                            " + "smithy.api#documentation": "

                            A list of predecessors to this job run.

                            " } }, "AllocatedCapacity": { @@ -10541,10 +11606,10 @@ "smithy.api#documentation": "

                            This field is deprecated. Use MaxCapacity instead.

                            \n\n

                            The number of AWS Glue data processing units (DPUs) allocated to this JobRun.\n From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure\n of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory.\n For more information, see the AWS Glue\n pricing page.

                            " } }, - "PredecessorRuns": { - "target": "com.amazonaws.glue#PredecessorList", + "ExecutionTime": { + "target": "com.amazonaws.glue#ExecutionTime", "traits": { - "smithy.api#documentation": "

                            A list of predecessors to this job run.

                            " + "smithy.api#documentation": "

                            The amount of time (in seconds) that the job run consumed resources.

                            " } }, "Timeout": { @@ -10553,10 +11618,22 @@ "smithy.api#documentation": "

                            The JobRun timeout in minutes. This is the maximum time that a job run can\n consume resources before it is terminated and enters TIMEOUT status. The default\n is 2,880 minutes (48 hours). This overrides the timeout value set in the parent job.

                            " } }, - "Attempt": { - "target": "com.amazonaws.glue#AttemptCount", + "MaxCapacity": { + "target": "com.amazonaws.glue#NullableDouble", "traits": { - "smithy.api#documentation": "

                            The number of the attempt to run this job.

                            " + "smithy.api#documentation": "

                            The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure\n of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory.\n For more information, see the AWS Glue\n pricing page.

                            \n\n

                            Do not set Max Capacity if using WorkerType and NumberOfWorkers.

                            \n\n

                            The value that can be allocated for MaxCapacity depends on whether you are\n running a Python shell job or an Apache Spark ETL job:

                            \n
                              \n
                            • \n

                              When you specify a Python shell job (JobCommand.Name=\"pythonshell\"), you can\n allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.

                              \n
                            • \n
                            • \n

                              When you specify an Apache Spark ETL job (JobCommand.Name=\"glueetl\"), you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type cannot have a fractional DPU allocation.

                              \n
                            • \n
                            " + } + }, + "WorkerType": { + "target": "com.amazonaws.glue#WorkerType", + "traits": { + "smithy.api#documentation": "

                            The type of predefined worker that is allocated when a job runs. Accepts a value of Standard, G.1X, or G.2X.

                            \n
                              \n
                            • \n

                              For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

                              \n
                            • \n
                            • \n

                              For the G.1X worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker.

                              \n
                            • \n
                            • \n

                              For the G.2X worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker.

                              \n
                            • \n
                            " + } + }, + "NumberOfWorkers": { + "target": "com.amazonaws.glue#NullableInteger", + "traits": { + "smithy.api#documentation": "

                            The number of workers of a defined workerType that are allocated when a job runs.

                            \n\n

                            The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

                            " } }, "SecurityConfiguration": { @@ -10571,10 +11648,16 @@ "smithy.api#documentation": "

                            The name of the log group for secure logging that can be server-side encrypted in Amazon\n CloudWatch using AWS KMS. This name can be /aws-glue/jobs/, in which case the\n default encryption is NONE. If you add a role name and\n SecurityConfiguration name (in other words,\n /aws-glue/jobs-yourRoleName-yourSecurityConfigurationName/), then that security\n configuration is used to encrypt the log group.

                            " } }, - "JobRunState": { - "target": "com.amazonaws.glue#JobRunState", + "NotificationProperty": { + "target": "com.amazonaws.glue#NotificationProperty", "traits": { - "smithy.api#documentation": "

                            The current state of the job run. For more information about the statuses of jobs that have terminated abnormally, see AWS Glue Job Run Statuses.

                            " + "smithy.api#documentation": "

                            Specifies configuration properties of a job run notification.

                            " + } + }, + "GlueVersion": { + "target": "com.amazonaws.glue#GlueVersionString", + "traits": { + "smithy.api#documentation": "

                            Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for jobs of type Spark.

                            \n \n

                            For more information about the available AWS Glue versions and corresponding Spark and Python versions, see Glue version in the developer guide.

                            \n\t \n\t

                            Jobs that are created without specifying a Glue version default to Glue 0.9.

                            " } } }, @@ -10626,16 +11709,22 @@ "com.amazonaws.glue#JobUpdate": { "type": "structure", "members": { - "WorkerType": { - "target": "com.amazonaws.glue#WorkerType", + "Description": { + "target": "com.amazonaws.glue#DescriptionString", "traits": { - "smithy.api#documentation": "

                            The type of predefined worker that is allocated when a job runs. Accepts a value of Standard, G.1X, or G.2X.

                            \n\t
                              \n
                            • \n

                              For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

                              \n
                            • \n
                            • \n

                              For the G.1X worker type, each worker maps to 1 DPU (4 vCPU, 16 GB of memory, 64 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

                              \n
                            • \n
                            • \n

                              For the G.2X worker type, each worker maps to 2 DPU (8 vCPU, 32 GB of memory, 128 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            Description of the job being defined.

                            " } }, - "NotificationProperty": { - "target": "com.amazonaws.glue#NotificationProperty", + "LogUri": { + "target": "com.amazonaws.glue#UriString", "traits": { - "smithy.api#documentation": "

                            Specifies the configuration properties of a job notification.

                            " + "smithy.api#documentation": "

                            This field is reserved for future use.

                            " + } + }, + "Role": { + "target": "com.amazonaws.glue#RoleString", + "traits": { + "smithy.api#documentation": "

                            The name or Amazon Resource Name (ARN) of the IAM role associated with this job\n (required).

                            " } }, "ExecutionProperty": { @@ -10644,28 +11733,10 @@ "smithy.api#documentation": "

                            An ExecutionProperty specifying the maximum number of concurrent runs allowed\n for this job.

                            " } }, - "NumberOfWorkers": { - "target": "com.amazonaws.glue#NullableInteger", + "Command": { + "target": "com.amazonaws.glue#JobCommand", "traits": { - "smithy.api#documentation": "

                            The number of workers of a defined workerType that are allocated when a job runs.

                            \n\t\n

                            The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

                            " - } - }, - "MaxCapacity": { - "target": "com.amazonaws.glue#NullableDouble", - "traits": { - "smithy.api#documentation": "

                            The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure\n of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

                            \n \n\t

                            Do not set Max Capacity if using WorkerType and NumberOfWorkers.

                            \t \n\t \n

                            The value that can be allocated for MaxCapacity depends on whether you are\n running a Python shell job or an Apache Spark ETL job:

                            \n\n
                              \n
                            • \n

                              When you specify a Python shell job (JobCommand.Name=\"pythonshell\"), you can\n allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.

                              \n
                            • \n
                            • \n

                              When you specify an Apache Spark ETL job (JobCommand.Name=\"glueetl\") or Apache \n Spark streaming ETL job (JobCommand.Name=\"gluestreaming\"), you can allocate from 2 to 100 DPUs. \n The default is 10 DPUs. This job type cannot have a fractional DPU allocation.

                              \n
                            • \n
                            " - } - }, - "GlueVersion": { - "target": "com.amazonaws.glue#GlueVersionString", - "traits": { - "smithy.api#documentation": "

                            Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for jobs of type Spark.

                            \n \n

                            For more information about the available AWS Glue versions and corresponding Spark and Python versions, see Glue version in the developer guide.

                            " - } - }, - "Role": { - "target": "com.amazonaws.glue#RoleString", - "traits": { - "smithy.api#documentation": "

                            The name or Amazon Resource Name (ARN) of the IAM role associated with this job\n (required).

                            " + "smithy.api#documentation": "

                            The JobCommand that executes this job (required).

                            " } }, "DefaultArguments": { @@ -10674,28 +11745,22 @@ "smithy.api#documentation": "

                            The default arguments for this job.

                            \n

                            You can specify arguments here that your own job-execution script\n consumes, as well as arguments that AWS Glue itself consumes.

                            \n

                            For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

                            \n

                            For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

                            " } }, - "Description": { - "target": "com.amazonaws.glue#DescriptionString", - "traits": { - "smithy.api#documentation": "

                            Description of the job being defined.

                            " - } - }, "NonOverridableArguments": { "target": "com.amazonaws.glue#GenericMap", "traits": { "smithy.api#documentation": "

                            Non-overridable arguments for this job, specified as name-value pairs.

                            " } }, - "MaxRetries": { - "target": "com.amazonaws.glue#MaxRetries", + "Connections": { + "target": "com.amazonaws.glue#ConnectionsList", "traits": { - "smithy.api#documentation": "

                            The maximum number of times to retry this job if it fails.

                            " + "smithy.api#documentation": "

                            The connections used for this job.

                            " } }, - "SecurityConfiguration": { - "target": "com.amazonaws.glue#NameString", + "MaxRetries": { + "target": "com.amazonaws.glue#MaxRetries", "traits": { - "smithy.api#documentation": "

                            The name of the SecurityConfiguration structure to be used with this\n job.

                            " + "smithy.api#documentation": "

                            The maximum number of times to retry this job if it fails.

                            " } }, "AllocatedCapacity": { @@ -10707,28 +11772,46 @@ "smithy.api#documentation": "

                            This field is deprecated. Use MaxCapacity instead.

                            \n \n

                            The number of AWS Glue data processing units (DPUs) to allocate to this job. You can\n allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of processing\n power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information,\n see the AWS Glue pricing\n page.

                            " } }, - "LogUri": { - "target": "com.amazonaws.glue#UriString", - "traits": { - "smithy.api#documentation": "

                            This field is reserved for future use.

                            " - } - }, "Timeout": { "target": "com.amazonaws.glue#Timeout", "traits": { "smithy.api#documentation": "

                            The job timeout in minutes. This is the maximum time that a job run\n can consume resources before it is terminated and enters TIMEOUT\n status. The default is 2,880 minutes (48 hours).

                            " } }, - "Command": { - "target": "com.amazonaws.glue#JobCommand", + "MaxCapacity": { + "target": "com.amazonaws.glue#NullableDouble", "traits": { - "smithy.api#documentation": "

                            The JobCommand that executes this job (required).

                            " + "smithy.api#documentation": "

                            The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure\n of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

                            \n \n\t

                            Do not set Max Capacity if using WorkerType and NumberOfWorkers.

                            \t \n\t \n

                            The value that can be allocated for MaxCapacity depends on whether you are\n running a Python shell job or an Apache Spark ETL job:

                            \n\n
                              \n
                            • \n

                              When you specify a Python shell job (JobCommand.Name=\"pythonshell\"), you can\n allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.

                              \n
                            • \n
                            • \n

                              When you specify an Apache Spark ETL job (JobCommand.Name=\"glueetl\") or Apache \n Spark streaming ETL job (JobCommand.Name=\"gluestreaming\"), you can allocate from 2 to 100 DPUs. \n The default is 10 DPUs. This job type cannot have a fractional DPU allocation.

                              \n
                            • \n
                            " } }, - "Connections": { - "target": "com.amazonaws.glue#ConnectionsList", + "WorkerType": { + "target": "com.amazonaws.glue#WorkerType", "traits": { - "smithy.api#documentation": "

                            The connections used for this job.

                            " + "smithy.api#documentation": "

                            The type of predefined worker that is allocated when a job runs. Accepts a value of Standard, G.1X, or G.2X.

                            \n\t
                              \n
                            • \n

                              For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

                              \n
                            • \n
                            • \n

                              For the G.1X worker type, each worker maps to 1 DPU (4 vCPU, 16 GB of memory, 64 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

                              \n
                            • \n
                            • \n

                              For the G.2X worker type, each worker maps to 2 DPU (8 vCPU, 32 GB of memory, 128 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

                              \n
                            • \n
                            " + } + }, + "NumberOfWorkers": { + "target": "com.amazonaws.glue#NullableInteger", + "traits": { + "smithy.api#documentation": "

                            The number of workers of a defined workerType that are allocated when a job runs.

                            \n\t\n

                            The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

                            " + } + }, + "SecurityConfiguration": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

                            The name of the SecurityConfiguration structure to be used with this\n job.

                            " + } + }, + "NotificationProperty": { + "target": "com.amazonaws.glue#NotificationProperty", + "traits": { + "smithy.api#documentation": "

                            Specifies the configuration properties of a job notification.

                            " + } + }, + "GlueVersion": { + "target": "com.amazonaws.glue#GlueVersionString", + "traits": { + "smithy.api#documentation": "

                            Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for jobs of type Spark.

                            \n \n

                            For more information about the available AWS Glue versions and corresponding Spark and Python versions, see Glue version in the developer guide.

                            " } } }, @@ -10739,6 +11822,13 @@ "com.amazonaws.glue#JsonClassifier": { "type": "structure", "members": { + "Name": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

                            The name of the classifier.

                            ", + "smithy.api#required": {} + } + }, "CreationTime": { "target": "com.amazonaws.glue#Timestamp", "traits": { @@ -10751,11 +11841,10 @@ "smithy.api#documentation": "

                            The time that this classifier was last updated.

                            " } }, - "Name": { - "target": "com.amazonaws.glue#NameString", + "Version": { + "target": "com.amazonaws.glue#VersionId", "traits": { - "smithy.api#documentation": "

                            The name of the classifier.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The version of this classifier.

                            " } }, "JsonPath": { @@ -10764,12 +11853,6 @@ "smithy.api#documentation": "

                            A JsonPath string defining the JSON data for the classifier to classify.\n AWS Glue supports a subset of JsonPath, as described in Writing JsonPath Custom Classifiers.

                            ", "smithy.api#required": {} } - }, - "Version": { - "target": "com.amazonaws.glue#VersionId", - "traits": { - "smithy.api#documentation": "

                            The version of this classifier.

                            " - } } }, "traits": { @@ -10796,17 +11879,17 @@ "com.amazonaws.glue#KeySchemaElement": { "type": "structure", "members": { - "Type": { - "target": "com.amazonaws.glue#ColumnTypeString", + "Name": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The type of a partition key.

                            ", + "smithy.api#documentation": "

                            The name of a partition key.

                            ", "smithy.api#required": {} } }, - "Name": { - "target": "com.amazonaws.glue#NameString", + "Type": { + "target": "com.amazonaws.glue#ColumnTypeString", "traits": { - "smithy.api#documentation": "

                            The name of a partition key.

                            ", + "smithy.api#documentation": "

                            The type of a partition key.

                            ", "smithy.api#required": {} } } @@ -10877,28 +11960,16 @@ "com.amazonaws.glue#LastCrawlInfo": { "type": "structure", "members": { - "LogStream": { - "target": "com.amazonaws.glue#LogStream", - "traits": { - "smithy.api#documentation": "

                            The log stream for the last crawl.

                            " - } - }, "Status": { "target": "com.amazonaws.glue#LastCrawlStatus", "traits": { "smithy.api#documentation": "

                            Status of the last crawl.

                            " } }, - "MessagePrefix": { - "target": "com.amazonaws.glue#MessagePrefix", - "traits": { - "smithy.api#documentation": "

                            The prefix for a message about this crawl.

                            " - } - }, - "StartTime": { - "target": "com.amazonaws.glue#Timestamp", + "ErrorMessage": { + "target": "com.amazonaws.glue#DescriptionString", "traits": { - "smithy.api#documentation": "

                            The time at which the crawl started.

                            " + "smithy.api#documentation": "

                            If an error occurred, the error information about the last crawl.

                            " } }, "LogGroup": { @@ -10907,10 +11978,22 @@ "smithy.api#documentation": "

                            The log group for the last crawl.

                            " } }, - "ErrorMessage": { - "target": "com.amazonaws.glue#DescriptionString", + "LogStream": { + "target": "com.amazonaws.glue#LogStream", "traits": { - "smithy.api#documentation": "

                            If an error occurred, the error information about the last crawl.

                            " + "smithy.api#documentation": "

                            The log stream for the last crawl.

                            " + } + }, + "MessagePrefix": { + "target": "com.amazonaws.glue#MessagePrefix", + "traits": { + "smithy.api#documentation": "

                            The prefix for a message about this crawl.

                            " + } + }, + "StartTime": { + "target": "com.amazonaws.glue#Timestamp", + "traits": { + "smithy.api#documentation": "

                            The time at which the crawl started.

                            " } } }, @@ -10937,6 +12020,9 @@ ] } }, + "com.amazonaws.glue#LatestSchemaVersionBoolean": { + "type": "boolean" + }, "com.amazonaws.glue#ListCrawlers": { "type": "operation", "input": { @@ -10962,10 +12048,10 @@ "com.amazonaws.glue#ListCrawlersRequest": { "type": "structure", "members": { - "Tags": { - "target": "com.amazonaws.glue#TagsMap", + "MaxResults": { + "target": "com.amazonaws.glue#PageSize", "traits": { - "smithy.api#documentation": "

                            Specifies to return only these tagged resources.

                            " + "smithy.api#documentation": "

                            The maximum size of a list to return.

                            " } }, "NextToken": { @@ -10974,10 +12060,10 @@ "smithy.api#documentation": "

                            A continuation token, if this is a continuation request.

                            " } }, - "MaxResults": { - "target": "com.amazonaws.glue#PageSize", + "Tags": { + "target": "com.amazonaws.glue#TagsMap", "traits": { - "smithy.api#documentation": "

                            The maximum size of a list to return.

                            " + "smithy.api#documentation": "

                            Specifies to return only these tagged resources.

                            " } } } @@ -10985,17 +12071,17 @@ "com.amazonaws.glue#ListCrawlersResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.glue#Token", - "traits": { - "smithy.api#documentation": "

                            A continuation token, if the returned list does not contain the\n last metric available.

                            " - } - }, "CrawlerNames": { "target": "com.amazonaws.glue#CrawlerNameList", "traits": { "smithy.api#documentation": "

                            The names of all crawlers in the account, or the crawlers with the specified tags.

                            " } + }, + "NextToken": { + "target": "com.amazonaws.glue#Token", + "traits": { + "smithy.api#documentation": "

                            A continuation token, if the returned list does not contain the\n last metric available.

                            " + } } } }, @@ -11033,18 +12119,18 @@ "com.amazonaws.glue#ListDevEndpointsRequest": { "type": "structure", "members": { - "MaxResults": { - "target": "com.amazonaws.glue#PageSize", - "traits": { - "smithy.api#documentation": "

                            The maximum size of a list to return.

                            " - } - }, "NextToken": { "target": "com.amazonaws.glue#GenericString", "traits": { "smithy.api#documentation": "

                            A continuation token, if this is a continuation request.

                            " } }, + "MaxResults": { + "target": "com.amazonaws.glue#PageSize", + "traits": { + "smithy.api#documentation": "

                            The maximum size of a list to return.

                            " + } + }, "Tags": { "target": "com.amazonaws.glue#TagsMap", "traits": { @@ -11104,12 +12190,6 @@ "com.amazonaws.glue#ListJobsRequest": { "type": "structure", "members": { - "Tags": { - "target": "com.amazonaws.glue#TagsMap", - "traits": { - "smithy.api#documentation": "

                            Specifies to return only these tagged resources.

                            " - } - }, "NextToken": { "target": "com.amazonaws.glue#GenericString", "traits": { @@ -11121,6 +12201,12 @@ "traits": { "smithy.api#documentation": "

                            The maximum size of a list to return.

                            " } + }, + "Tags": { + "target": "com.amazonaws.glue#TagsMap", + "traits": { + "smithy.api#documentation": "

                            Specifies to return only these tagged resources.

                            " + } } } }, @@ -11181,12 +12267,6 @@ "smithy.api#documentation": "

                            A continuation token, if this is a continuation request.

                            " } }, - "Sort": { - "target": "com.amazonaws.glue#TransformSortCriteria", - "traits": { - "smithy.api#documentation": "

                            A TransformSortCriteria used to sort the machine learning transforms.

                            " - } - }, "MaxResults": { "target": "com.amazonaws.glue#PageSize", "traits": { @@ -11199,6 +12279,12 @@ "smithy.api#documentation": "

                            A TransformFilterCriteria used to filter the machine learning transforms.

                            " } }, + "Sort": { + "target": "com.amazonaws.glue#TransformSortCriteria", + "traits": { + "smithy.api#documentation": "

                            A TransformSortCriteria used to sort the machine learning transforms.

                            " + } + }, "Tags": { "target": "com.amazonaws.glue#TagsMap", "traits": { @@ -11225,118 +12311,326 @@ } } }, - "com.amazonaws.glue#ListTriggers": { + "com.amazonaws.glue#ListRegistries": { "type": "operation", "input": { - "target": "com.amazonaws.glue#ListTriggersRequest" + "target": "com.amazonaws.glue#ListRegistriesInput" }, "output": { - "target": "com.amazonaws.glue#ListTriggersResponse" + "target": "com.amazonaws.glue#ListRegistriesResponse" }, "errors": [ { - "target": "com.amazonaws.glue#EntityNotFoundException" + "target": "com.amazonaws.glue#AccessDeniedException" }, { "target": "com.amazonaws.glue#InternalServiceException" }, { "target": "com.amazonaws.glue#InvalidInputException" - }, - { - "target": "com.amazonaws.glue#OperationTimeoutException" } ], "traits": { - "smithy.api#documentation": "

                            Retrieves the names of all trigger resources in this AWS account, or the resources with the specified tag. This operation allows you to see which resources are available in your account, and their names.

                            \n\n

                            This operation takes the optional Tags field, which you can use as a filter on\n the response so that tagged resources can be retrieved as a group. If you choose to use tags\n filtering, only resources with the tag are retrieved.

                            ", + "smithy.api#documentation": "

                            Returns a list of registries that you have created, with minimal registry information. Registries in the Deleting status will not be included in the results. Empty results will be returned if there are no registries available.

                            ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", + "items": "Registries", "pageSize": "MaxResults" } } }, - "com.amazonaws.glue#ListTriggersRequest": { + "com.amazonaws.glue#ListRegistriesInput": { "type": "structure", "members": { - "Tags": { - "target": "com.amazonaws.glue#TagsMap", - "traits": { - "smithy.api#documentation": "

                            Specifies to return only these tagged resources.

                            " - } - }, "MaxResults": { - "target": "com.amazonaws.glue#PageSize", + "target": "com.amazonaws.glue#MaxResultsNumber", "traits": { - "smithy.api#documentation": "

                            The maximum size of a list to return.

                            " + "smithy.api#documentation": "

                            Maximum number of results required per page. If the value is not supplied, this will be defaulted to 25 per page.

                            " } }, "NextToken": { - "target": "com.amazonaws.glue#GenericString", - "traits": { - "smithy.api#documentation": "

                            A continuation token, if this is a continuation request.

                            " - } - }, - "DependentJobName": { - "target": "com.amazonaws.glue#NameString", + "target": "com.amazonaws.glue#SchemaRegistryTokenString", "traits": { - "smithy.api#documentation": "

                            The name of the job for which to retrieve triggers. The trigger that can start this job\n is returned. If there is no such trigger, all triggers are returned.

                            " + "smithy.api#documentation": "

                            A continuation token, if this is a continuation call.

                            " } } } }, - "com.amazonaws.glue#ListTriggersResponse": { + "com.amazonaws.glue#ListRegistriesResponse": { "type": "structure", "members": { - "TriggerNames": { - "target": "com.amazonaws.glue#TriggerNameList", + "Registries": { + "target": "com.amazonaws.glue#RegistryListDefinition", "traits": { - "smithy.api#documentation": "

                            The names of all triggers in the account, or the triggers with the specified tags.

                            " + "smithy.api#documentation": "

                            An array of RegistryDetailedListItem objects containing minimal details of each registry.

                            " } }, "NextToken": { - "target": "com.amazonaws.glue#GenericString", + "target": "com.amazonaws.glue#SchemaRegistryTokenString", "traits": { - "smithy.api#documentation": "

                            A continuation token, if the returned list does not contain the\n last metric available.

                            " + "smithy.api#documentation": "

                            A continuation token for paginating the returned list of tokens, returned if the current segment of the list is not the last.

                            " } } } }, - "com.amazonaws.glue#ListWorkflows": { + "com.amazonaws.glue#ListSchemaVersions": { "type": "operation", "input": { - "target": "com.amazonaws.glue#ListWorkflowsRequest" + "target": "com.amazonaws.glue#ListSchemaVersionsInput" }, "output": { - "target": "com.amazonaws.glue#ListWorkflowsResponse" + "target": "com.amazonaws.glue#ListSchemaVersionsResponse" }, "errors": [ { - "target": "com.amazonaws.glue#InternalServiceException" + "target": "com.amazonaws.glue#AccessDeniedException" }, { - "target": "com.amazonaws.glue#InvalidInputException" + "target": "com.amazonaws.glue#EntityNotFoundException" }, { - "target": "com.amazonaws.glue#OperationTimeoutException" + "target": "com.amazonaws.glue#InternalServiceException" + }, + { + "target": "com.amazonaws.glue#InvalidInputException" } ], "traits": { - "smithy.api#documentation": "

                            Lists names of workflows created in the account.

                            ", + "smithy.api#documentation": "

                            Returns a list of schema versions that you have created, with minimal information. Schema versions in Deleted status will not be included in the results. Empty results will be returned if there are no schema versions available.

                            ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", + "items": "Schemas", "pageSize": "MaxResults" } } }, - "com.amazonaws.glue#ListWorkflowsRequest": { + "com.amazonaws.glue#ListSchemaVersionsInput": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.glue#GenericString", + "SchemaId": { + "target": "com.amazonaws.glue#SchemaId", "traits": { - "smithy.api#documentation": "

                            A continuation token, if this is a continuation request.

                            " + "smithy.api#documentation": "

                            This is a wrapper structure to contain schema identity fields. The structure contains:

                            \n\t
                              \n
                            • \n

                              SchemaId$SchemaArn: The Amazon Resource Name (ARN) of the schema. Either SchemaArn or SchemaName and RegistryName has to be provided.

                              \n
                            • \n
                            • \n

                              SchemaId$SchemaName: The name of the schema. Either SchemaArn or SchemaName and RegistryName has to be provided.

                              \n
                            • \n
                            ", + "smithy.api#required": {} + } + }, + "MaxResults": { + "target": "com.amazonaws.glue#MaxResultsNumber", + "traits": { + "smithy.api#documentation": "

                            Maximum number of results required per page. If the value is not supplied, this will be defaulted to 25 per page.

                            " + } + }, + "NextToken": { + "target": "com.amazonaws.glue#SchemaRegistryTokenString", + "traits": { + "smithy.api#documentation": "

                            A continuation token, if this is a continuation call.

                            " + } + } + } + }, + "com.amazonaws.glue#ListSchemaVersionsResponse": { + "type": "structure", + "members": { + "Schemas": { + "target": "com.amazonaws.glue#SchemaVersionList", + "traits": { + "smithy.api#documentation": "

                            An array of SchemaVersionList objects containing details of each schema version.

                            " + } + }, + "NextToken": { + "target": "com.amazonaws.glue#SchemaRegistryTokenString", + "traits": { + "smithy.api#documentation": "

                            A continuation token for paginating the returned list of tokens, returned if the current segment of the list is not the last.

                            " + } + } + } + }, + "com.amazonaws.glue#ListSchemas": { + "type": "operation", + "input": { + "target": "com.amazonaws.glue#ListSchemasInput" + }, + "output": { + "target": "com.amazonaws.glue#ListSchemasResponse" + }, + "errors": [ + { + "target": "com.amazonaws.glue#AccessDeniedException" + }, + { + "target": "com.amazonaws.glue#EntityNotFoundException" + }, + { + "target": "com.amazonaws.glue#InternalServiceException" + }, + { + "target": "com.amazonaws.glue#InvalidInputException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Returns a list of schemas with minimal details. Schemas in Deleting status will not be included in the results. Empty results will be returned if there are no schemas available.

                            \n

                            When the RegistryId is not provided, all the schemas across registries will be part of the API response.

                            ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Schemas", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.glue#ListSchemasInput": { + "type": "structure", + "members": { + "RegistryId": { + "target": "com.amazonaws.glue#RegistryId", + "traits": { + "smithy.api#documentation": "

                            A wrapper structure that may contain the registry name and Amazon Resource Name (ARN).

                            " + } + }, + "MaxResults": { + "target": "com.amazonaws.glue#MaxResultsNumber", + "traits": { + "smithy.api#documentation": "

                            Maximum number of results required per page. If the value is not supplied, this will be defaulted to 25 per page.

                            " + } + }, + "NextToken": { + "target": "com.amazonaws.glue#SchemaRegistryTokenString", + "traits": { + "smithy.api#documentation": "

                            A continuation token, if this is a continuation call.

                            " + } + } + } + }, + "com.amazonaws.glue#ListSchemasResponse": { + "type": "structure", + "members": { + "Schemas": { + "target": "com.amazonaws.glue#SchemaListDefinition", + "traits": { + "smithy.api#documentation": "

                            An array of SchemaListItem objects containing details of each schema.

                            " + } + }, + "NextToken": { + "target": "com.amazonaws.glue#SchemaRegistryTokenString", + "traits": { + "smithy.api#documentation": "

                            A continuation token for paginating the returned list of tokens, returned if the current segment of the list is not the last.

                            " + } + } + } + }, + "com.amazonaws.glue#ListTriggers": { + "type": "operation", + "input": { + "target": "com.amazonaws.glue#ListTriggersRequest" + }, + "output": { + "target": "com.amazonaws.glue#ListTriggersResponse" + }, + "errors": [ + { + "target": "com.amazonaws.glue#EntityNotFoundException" + }, + { + "target": "com.amazonaws.glue#InternalServiceException" + }, + { + "target": "com.amazonaws.glue#InvalidInputException" + }, + { + "target": "com.amazonaws.glue#OperationTimeoutException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Retrieves the names of all trigger resources in this AWS account, or the resources with the specified tag. This operation allows you to see which resources are available in your account, and their names.

                            \n\n

                            This operation takes the optional Tags field, which you can use as a filter on\n the response so that tagged resources can be retrieved as a group. If you choose to use tags\n filtering, only resources with the tag are retrieved.

                            ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.glue#ListTriggersRequest": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.glue#GenericString", + "traits": { + "smithy.api#documentation": "

                            A continuation token, if this is a continuation request.

                            " + } + }, + "DependentJobName": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

                            The name of the job for which to retrieve triggers. The trigger that can start this job\n is returned. If there is no such trigger, all triggers are returned.

                            " + } + }, + "MaxResults": { + "target": "com.amazonaws.glue#PageSize", + "traits": { + "smithy.api#documentation": "

                            The maximum size of a list to return.

                            " + } + }, + "Tags": { + "target": "com.amazonaws.glue#TagsMap", + "traits": { + "smithy.api#documentation": "

                            Specifies to return only these tagged resources.

                            " + } + } + } + }, + "com.amazonaws.glue#ListTriggersResponse": { + "type": "structure", + "members": { + "TriggerNames": { + "target": "com.amazonaws.glue#TriggerNameList", + "traits": { + "smithy.api#documentation": "

                            The names of all triggers in the account, or the triggers with the specified tags.

                            " + } + }, + "NextToken": { + "target": "com.amazonaws.glue#GenericString", + "traits": { + "smithy.api#documentation": "

                            A continuation token, if the returned list does not contain the\n last metric available.

                            " + } + } + } + }, + "com.amazonaws.glue#ListWorkflows": { + "type": "operation", + "input": { + "target": "com.amazonaws.glue#ListWorkflowsRequest" + }, + "output": { + "target": "com.amazonaws.glue#ListWorkflowsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.glue#InternalServiceException" + }, + { + "target": "com.amazonaws.glue#InvalidInputException" + }, + { + "target": "com.amazonaws.glue#OperationTimeoutException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Lists names of workflows created in the account.

                            ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.glue#ListWorkflowsRequest": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.glue#GenericString", + "traits": { + "smithy.api#documentation": "

                            A continuation token, if this is a continuation request.

                            " } }, "MaxResults": { @@ -11367,16 +12661,16 @@ "com.amazonaws.glue#Location": { "type": "structure", "members": { - "S3": { + "Jdbc": { "target": "com.amazonaws.glue#CodeGenNodeArgs", "traits": { - "smithy.api#documentation": "

                            An Amazon Simple Storage Service (Amazon S3) location.

                            " + "smithy.api#documentation": "

                            A JDBC location.

                            " } }, - "Jdbc": { + "S3": { "target": "com.amazonaws.glue#CodeGenNodeArgs", "traits": { - "smithy.api#documentation": "

                            A JDBC location.

                            " + "smithy.api#documentation": "

                            An Amazon Simple Storage Service (Amazon S3) location.

                            " } }, "DynamoDB": { @@ -11461,11 +12755,10 @@ "com.amazonaws.glue#LongColumnStatisticsData": { "type": "structure", "members": { - "NumberOfDistinctValues": { - "target": "com.amazonaws.glue#NonNegativeLong", + "MinimumValue": { + "target": "com.amazonaws.glue#Long", "traits": { - "smithy.api#documentation": "

                            The number of distinct values in a column.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The lowest value in the column.

                            " } }, "MaximumValue": { @@ -11481,10 +12774,11 @@ "smithy.api#required": {} } }, - "MinimumValue": { - "target": "com.amazonaws.glue#Long", + "NumberOfDistinctValues": { + "target": "com.amazonaws.glue#NonNegativeLong", "traits": { - "smithy.api#documentation": "

                            The lowest value in the column.

                            " + "smithy.api#documentation": "

                            The number of distinct values in a column.

                            ", + "smithy.api#required": {} } } }, @@ -11495,34 +12789,22 @@ "com.amazonaws.glue#MLTransform": { "type": "structure", "members": { - "InputRecordTables": { - "target": "com.amazonaws.glue#GlueTables", - "traits": { - "smithy.api#documentation": "

                            A list of AWS Glue table definitions used by the transform.

                            " - } - }, - "TransformEncryption": { - "target": "com.amazonaws.glue#TransformEncryption", - "traits": { - "smithy.api#documentation": "

                            The encryption-at-rest settings of the transform that apply to accessing user data. Machine learning transforms can access user data encrypted in Amazon S3 using KMS.

                            " - } - }, - "Parameters": { - "target": "com.amazonaws.glue#TransformParameters", + "TransformId": { + "target": "com.amazonaws.glue#HashString", "traits": { - "smithy.api#documentation": "

                            A TransformParameters object. You can use parameters to tune (customize) the\n behavior of the machine learning transform by specifying what data it learns from and your\n preference on various tradeoffs (such as precious vs. recall, or accuracy vs. cost).

                            " + "smithy.api#documentation": "

                            The unique transform ID that is generated for the machine learning transform. The ID is\n guaranteed to be unique and does not change.

                            " } }, - "LastModifiedOn": { - "target": "com.amazonaws.glue#Timestamp", + "Name": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            A timestamp. The last point in time when this machine learning transform was modified.

                            " + "smithy.api#documentation": "

                            A user-defined name for the machine learning transform. Names are not guaranteed unique\n and can be changed at any time.

                            " } }, - "MaxRetries": { - "target": "com.amazonaws.glue#NullableInteger", + "Description": { + "target": "com.amazonaws.glue#DescriptionString", "traits": { - "smithy.api#documentation": "

                            The maximum number of times to retry after an MLTaskRun of the machine\n learning transform fails.

                            " + "smithy.api#documentation": "

                            A user-defined, long-form description text for the machine learning transform.\n Descriptions are not guaranteed to be unique and can be changed at any time.

                            " } }, "Status": { @@ -11531,34 +12813,46 @@ "smithy.api#documentation": "

                            The current status of the machine learning transform.

                            " } }, - "Schema": { - "target": "com.amazonaws.glue#TransformSchema", - "traits": { - "smithy.api#documentation": "

                            A map of key-value pairs representing the columns and data types that this transform can\n run against. Has an upper bound of 100 columns.

                            " - } - }, "CreatedOn": { "target": "com.amazonaws.glue#Timestamp", "traits": { "smithy.api#documentation": "

                            A timestamp. The time and date that this machine learning transform was created.

                            " } }, - "TransformId": { - "target": "com.amazonaws.glue#HashString", + "LastModifiedOn": { + "target": "com.amazonaws.glue#Timestamp", "traits": { - "smithy.api#documentation": "

                            The unique transform ID that is generated for the machine learning transform. The ID is\n guaranteed to be unique and does not change.

                            " + "smithy.api#documentation": "

                            A timestamp. The last point in time when this machine learning transform was modified.

                            " } }, - "Description": { - "target": "com.amazonaws.glue#DescriptionString", + "InputRecordTables": { + "target": "com.amazonaws.glue#GlueTables", "traits": { - "smithy.api#documentation": "

                            A user-defined, long-form description text for the machine learning transform.\n Descriptions are not guaranteed to be unique and can be changed at any time.

                            " + "smithy.api#documentation": "

                            A list of AWS Glue table definitions used by the transform.

                            " } }, - "WorkerType": { - "target": "com.amazonaws.glue#WorkerType", + "Parameters": { + "target": "com.amazonaws.glue#TransformParameters", "traits": { - "smithy.api#documentation": "

                            The type of predefined worker that is allocated when a task of this transform runs. Accepts a value of Standard, G.1X, or G.2X.

                            \n\t
                              \n
                            • \n

                              For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

                              \n
                            • \n
                            • \n

                              For the G.1X worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker.

                              \n
                            • \n
                            • \n

                              For the G.2X worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker.

                              \n
                            • \n
                            \n\t\n\t

                            \n MaxCapacity is a mutually exclusive option with NumberOfWorkers and WorkerType.

                            \n
                              \n
                            • \n

                              If either NumberOfWorkers or WorkerType is set, then MaxCapacity cannot be set.

                              \n
                            • \n
                            • \n

                              If MaxCapacity is set then neither NumberOfWorkers or WorkerType can be set.

                              \n
                            • \n
                            • \n

                              If WorkerType is set, then NumberOfWorkers is required (and vice versa).

                              \n
                            • \n
                            • \n

                              \n MaxCapacity and NumberOfWorkers must both be at least 1.

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            A TransformParameters object. You can use parameters to tune (customize) the\n behavior of the machine learning transform by specifying what data it learns from and your\n preference on various tradeoffs (such as precious vs. recall, or accuracy vs. cost).

                            " + } + }, + "EvaluationMetrics": { + "target": "com.amazonaws.glue#EvaluationMetrics", + "traits": { + "smithy.api#documentation": "

                            An EvaluationMetrics object. Evaluation metrics provide an estimate of the quality of your machine learning transform.

                            " + } + }, + "LabelCount": { + "target": "com.amazonaws.glue#LabelCount", + "traits": { + "smithy.api#documentation": "

                            A count identifier for the labeling files generated by AWS Glue for this transform. As you create a better transform, you can iteratively download, label, and upload the labeling file.

                            " + } + }, + "Schema": { + "target": "com.amazonaws.glue#TransformSchema", + "traits": { + "smithy.api#documentation": "

                            A map of key-value pairs representing the columns and data types that this transform can\n run against. Has an upper bound of 100 columns.

                            " } }, "Role": { @@ -11567,10 +12861,10 @@ "smithy.api#documentation": "

                            The name or Amazon Resource Name (ARN) of the IAM role with the required permissions. The required permissions include both AWS Glue service role permissions to AWS Glue resources, and Amazon S3 permissions required by the transform.

                            \n\n\t\t
                              \n
                            • \n

                              This role needs AWS Glue service role permissions to allow access to resources in AWS Glue. See Attach a Policy to IAM Users That Access AWS Glue.

                              \n
                            • \n
                            • \n

                              This role needs permission to your Amazon Simple Storage Service (Amazon S3) sources, targets, temporary directory, scripts, and any libraries used by the task run for this transform.

                              \n
                            • \n
                            " } }, - "NumberOfWorkers": { - "target": "com.amazonaws.glue#NullableInteger", + "GlueVersion": { + "target": "com.amazonaws.glue#GlueVersionString", "traits": { - "smithy.api#documentation": "

                            The number of workers of a defined workerType that are allocated when a task of the transform runs.

                            \n\t\n\t

                            If WorkerType is set, then NumberOfWorkers is required (and vice versa).

                            " + "smithy.api#documentation": "

                            This value determines which version of AWS Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see AWS Glue Versions in the developer guide.

                            " } }, "MaxCapacity": { @@ -11579,34 +12873,34 @@ "smithy.api#documentation": "

                            The number of AWS Glue data processing units (DPUs) that are allocated to task runs for this transform. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of\n processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more\n information, see the AWS Glue pricing\n page.

                            \n\t\t\n\t\t

                            \n MaxCapacity is a mutually exclusive option with NumberOfWorkers and WorkerType.

                            \n
                              \n
                            • \n

                              If either NumberOfWorkers or WorkerType is set, then MaxCapacity cannot be set.

                              \n
                            • \n
                            • \n

                              If MaxCapacity is set then neither NumberOfWorkers or WorkerType can be set.

                              \n
                            • \n
                            • \n

                              If WorkerType is set, then NumberOfWorkers is required (and vice versa).

                              \n
                            • \n
                            • \n

                              \n MaxCapacity and NumberOfWorkers must both be at least 1.

                              \n
                            • \n
                            \n\t\t\n\t

                            When the WorkerType field is set to a value other than Standard, the MaxCapacity field is set automatically and becomes read-only.

                            " } }, - "GlueVersion": { - "target": "com.amazonaws.glue#GlueVersionString", + "WorkerType": { + "target": "com.amazonaws.glue#WorkerType", "traits": { - "smithy.api#documentation": "

                            This value determines which version of AWS Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see AWS Glue Versions in the developer guide.

                            " + "smithy.api#documentation": "

                            The type of predefined worker that is allocated when a task of this transform runs. Accepts a value of Standard, G.1X, or G.2X.

                            \n\t
                              \n
                            • \n

                              For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

                              \n
                            • \n
                            • \n

                              For the G.1X worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker.

                              \n
                            • \n
                            • \n

                              For the G.2X worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker.

                              \n
                            • \n
                            \n\t\n\t

                            \n MaxCapacity is a mutually exclusive option with NumberOfWorkers and WorkerType.

                            \n
                              \n
                            • \n

                              If either NumberOfWorkers or WorkerType is set, then MaxCapacity cannot be set.

                              \n
                            • \n
                            • \n

                              If MaxCapacity is set then neither NumberOfWorkers or WorkerType can be set.

                              \n
                            • \n
                            • \n

                              If WorkerType is set, then NumberOfWorkers is required (and vice versa).

                              \n
                            • \n
                            • \n

                              \n MaxCapacity and NumberOfWorkers must both be at least 1.

                              \n
                            • \n
                            " } }, - "Timeout": { - "target": "com.amazonaws.glue#Timeout", + "NumberOfWorkers": { + "target": "com.amazonaws.glue#NullableInteger", "traits": { - "smithy.api#documentation": "

                            The timeout in minutes of the machine learning transform.

                            " + "smithy.api#documentation": "

                            The number of workers of a defined workerType that are allocated when a task of the transform runs.

                            \n\t\n\t

                            If WorkerType is set, then NumberOfWorkers is required (and vice versa).

                            " } }, - "EvaluationMetrics": { - "target": "com.amazonaws.glue#EvaluationMetrics", + "Timeout": { + "target": "com.amazonaws.glue#Timeout", "traits": { - "smithy.api#documentation": "

                            An EvaluationMetrics object. Evaluation metrics provide an estimate of the quality of your machine learning transform.

                            " + "smithy.api#documentation": "

                            The timeout in minutes of the machine learning transform.

                            " } }, - "Name": { - "target": "com.amazonaws.glue#NameString", + "MaxRetries": { + "target": "com.amazonaws.glue#NullableInteger", "traits": { - "smithy.api#documentation": "

                            A user-defined name for the machine learning transform. Names are not guaranteed unique\n and can be changed at any time.

                            " + "smithy.api#documentation": "

                            The maximum number of times to retry after an MLTaskRun of the machine\n learning transform fails.

                            " } }, - "LabelCount": { - "target": "com.amazonaws.glue#LabelCount", + "TransformEncryption": { + "target": "com.amazonaws.glue#TransformEncryption", "traits": { - "smithy.api#documentation": "

                            A count identifier for the labeling files generated by AWS Glue for this transform. As you create a better transform, you can iteratively download, label, and upload the labeling file.

                            " + "smithy.api#documentation": "

                            The encryption-at-rest settings of the transform that apply to accessing user data. Machine learning transforms can access user data encrypted in Amazon S3 using KMS.

                            " } } }, @@ -11632,18 +12926,18 @@ "com.amazonaws.glue#MLUserDataEncryption": { "type": "structure", "members": { - "KmsKeyId": { - "target": "com.amazonaws.glue#NameString", - "traits": { - "smithy.api#documentation": "

                            The ID for the customer-provided KMS key.

                            " - } - }, "MlUserDataEncryptionMode": { "target": "com.amazonaws.glue#MLUserDataEncryptionModeString", "traits": { "smithy.api#documentation": "

                            The encryption mode applied to user data. Valid values are:

                            \n\t\n\t
                              \n
                            • \n

                              DISABLED: encryption is disabled

                              \n
                            • \n
                            • \n

                              SSEKMS: use of server-side encryption with AWS Key Management Service (SSE-KMS) for user data stored in Amazon S3.

                              \n
                            • \n
                            ", "smithy.api#required": {} } + }, + "KmsKeyId": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

                            The ID for the customer-provided KMS key.

                            " + } } }, "traits": { @@ -11683,10 +12977,10 @@ "com.amazonaws.glue#MappingEntry": { "type": "structure", "members": { - "SourceType": { - "target": "com.amazonaws.glue#FieldType", + "SourceTable": { + "target": "com.amazonaws.glue#TableName", "traits": { - "smithy.api#documentation": "

                            The source type.

                            " + "smithy.api#documentation": "

                            The name of the source table.

                            " } }, "SourcePath": { @@ -11695,16 +12989,10 @@ "smithy.api#documentation": "

                            The source path.

                            " } }, - "SourceTable": { - "target": "com.amazonaws.glue#TableName", - "traits": { - "smithy.api#documentation": "

                            The name of the source table.

                            " - } - }, - "TargetType": { + "SourceType": { "target": "com.amazonaws.glue#FieldType", "traits": { - "smithy.api#documentation": "

                            The target type.

                            " + "smithy.api#documentation": "

                            The source type.

                            " } }, "TargetTable": { @@ -11718,6 +13006,12 @@ "traits": { "smithy.api#documentation": "

                            The target path.

                            " } + }, + "TargetType": { + "target": "com.amazonaws.glue#FieldType", + "traits": { + "smithy.api#documentation": "

                            The target type.

                            " + } } }, "traits": { @@ -11745,6 +13039,16 @@ "com.amazonaws.glue#MaxConcurrentRuns": { "type": "integer" }, + "com.amazonaws.glue#MaxResultsNumber": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + }, "com.amazonaws.glue#MaxRetries": { "type": "integer" }, @@ -11761,12 +13065,93 @@ "com.amazonaws.glue#MessageString": { "type": "string" }, + "com.amazonaws.glue#MetadataInfo": { + "type": "structure", + "members": { + "MetadataValue": { + "target": "com.amazonaws.glue#MetadataValueString", + "traits": { + "smithy.api#documentation": "

                            The metadata key’s corresponding value.

                            " + } + }, + "CreatedTime": { + "target": "com.amazonaws.glue#CreatedTimestamp", + "traits": { + "smithy.api#documentation": "

                            The time at which the entry was created.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            A structure containing metadata information for a schema version.

                            " + } + }, + "com.amazonaws.glue#MetadataInfoMap": { + "type": "map", + "key": { + "target": "com.amazonaws.glue#MetadataKeyString" + }, + "value": { + "target": "com.amazonaws.glue#MetadataInfo" + } + }, + "com.amazonaws.glue#MetadataKeyString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "[a-zA-Z0-9+-=._./@]+" + } + }, + "com.amazonaws.glue#MetadataKeyValuePair": { + "type": "structure", + "members": { + "MetadataKey": { + "target": "com.amazonaws.glue#MetadataKeyString", + "traits": { + "smithy.api#documentation": "

                            A metadata key.

                            " + } + }, + "MetadataValue": { + "target": "com.amazonaws.glue#MetadataValueString", + "traits": { + "smithy.api#documentation": "

                            A metadata key’s corresponding value.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            A structure containing a key value pair for metadata.

                            " + } + }, + "com.amazonaws.glue#MetadataList": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#MetadataKeyValuePair" + } + }, + "com.amazonaws.glue#MetadataValueString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "[a-zA-Z0-9+-=._./@]+" + } + }, "com.amazonaws.glue#MillisecondsCount": { "type": "long" }, "com.amazonaws.glue#MongoDBTarget": { "type": "structure", "members": { + "ConnectionName": { + "target": "com.amazonaws.glue#ConnectionName", + "traits": { + "smithy.api#documentation": "

                            The name of the connection to use to connect to the Amazon DocumentDB or MongoDB target.

                            " + } + }, "Path": { "target": "com.amazonaws.glue#Path", "traits": { @@ -11778,12 +13163,6 @@ "traits": { "smithy.api#documentation": "

                            Indicates whether to scan all the records, or to sample rows from the table. Scanning all the records can take a long time when the table is not a high throughput table.

                            \n\t\n\t

                            A value of true means to scan all records, while a value of false means to sample the records. If no value is specified, the value defaults to true.

                            " } - }, - "ConnectionName": { - "target": "com.amazonaws.glue#ConnectionName", - "traits": { - "smithy.api#documentation": "

                            The name of the connection to use to connect to the Amazon DocumentDB or MongoDB target.

                            " - } } }, "traits": { @@ -11830,16 +13209,16 @@ "com.amazonaws.glue#Node": { "type": "structure", "members": { - "TriggerDetails": { - "target": "com.amazonaws.glue#TriggerNodeDetails", + "Type": { + "target": "com.amazonaws.glue#NodeType", "traits": { - "smithy.api#documentation": "

                            Details of the Trigger when the node represents a Trigger.

                            " + "smithy.api#documentation": "

                            The type of AWS Glue component represented by the node.

                            " } }, - "CrawlerDetails": { - "target": "com.amazonaws.glue#CrawlerNodeDetails", + "Name": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            Details of the crawler when the node represents a crawler.

                            " + "smithy.api#documentation": "

                            The name of the AWS Glue component represented by the node.

                            " } }, "UniqueId": { @@ -11848,22 +13227,22 @@ "smithy.api#documentation": "

                            The unique Id assigned to the node within the workflow.

                            " } }, - "JobDetails": { - "target": "com.amazonaws.glue#JobNodeDetails", + "TriggerDetails": { + "target": "com.amazonaws.glue#TriggerNodeDetails", "traits": { - "smithy.api#documentation": "

                            Details of the Job when the node represents a Job.

                            " + "smithy.api#documentation": "

                            Details of the Trigger when the node represents a Trigger.

                            " } }, - "Type": { - "target": "com.amazonaws.glue#NodeType", + "JobDetails": { + "target": "com.amazonaws.glue#JobNodeDetails", "traits": { - "smithy.api#documentation": "

                            The type of AWS Glue component represented by the node.

                            " + "smithy.api#documentation": "

                            Details of the Job when the node represents a Job.

                            " } }, - "Name": { - "target": "com.amazonaws.glue#NameString", + "CrawlerDetails": { + "target": "com.amazonaws.glue#CrawlerNodeDetails", "traits": { - "smithy.api#documentation": "

                            The name of the AWS Glue component represented by the node.

                            " + "smithy.api#documentation": "

                            Details of the crawler when the node represents a crawler.

                            " } } }, @@ -11991,17 +13370,17 @@ "com.amazonaws.glue#Order": { "type": "structure", "members": { - "SortOrder": { - "target": "com.amazonaws.glue#IntegerFlag", + "Column": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            Indicates that the column is sorted in ascending order\n (== 1), or in descending order (==0).

                            ", + "smithy.api#documentation": "

                            The name of the column.

                            ", "smithy.api#required": {} } }, - "Column": { - "target": "com.amazonaws.glue#NameString", + "SortOrder": { + "target": "com.amazonaws.glue#IntegerFlag", "traits": { - "smithy.api#documentation": "

                            The name of the column.

                            ", + "smithy.api#documentation": "

                            Indicates that the column is sorted in ascending order\n (== 1), or in descending order (==0).

                            ", "smithy.api#required": {} } } @@ -12050,6 +13429,24 @@ "com.amazonaws.glue#Partition": { "type": "structure", "members": { + "Values": { + "target": "com.amazonaws.glue#ValueStringList", + "traits": { + "smithy.api#documentation": "

                            The values of the partition.

                            " + } + }, + "DatabaseName": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

                            The name of the catalog database in which to create the partition.

                            " + } + }, + "TableName": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

                            The name of the database table in which to create the partition.

                            " + } + }, "CreationTime": { "target": "com.amazonaws.glue#Timestamp", "traits": { @@ -12062,16 +13459,16 @@ "smithy.api#documentation": "

                            The last time at which the partition was accessed.

                            " } }, - "Parameters": { - "target": "com.amazonaws.glue#ParametersMap", + "StorageDescriptor": { + "target": "com.amazonaws.glue#StorageDescriptor", "traits": { - "smithy.api#documentation": "

                            These key-value pairs define partition parameters.

                            " + "smithy.api#documentation": "

                            Provides information about the physical\n location where the partition is stored.

                            " } }, - "DatabaseName": { - "target": "com.amazonaws.glue#NameString", + "Parameters": { + "target": "com.amazonaws.glue#ParametersMap", "traits": { - "smithy.api#documentation": "

                            The name of the catalog database in which to create the partition.

                            " + "smithy.api#documentation": "

                            These key-value pairs define partition parameters.

                            " } }, "LastAnalyzedTime": { @@ -12080,29 +13477,11 @@ "smithy.api#documentation": "

                            The last time at which column statistics were computed for this\n partition.

                            " } }, - "TableName": { - "target": "com.amazonaws.glue#NameString", - "traits": { - "smithy.api#documentation": "

                            The name of the database table in which to create the partition.

                            " - } - }, "CatalogId": { "target": "com.amazonaws.glue#CatalogIdString", "traits": { "smithy.api#documentation": "

                            The ID of the Data Catalog in which the partition resides.

                            " } - }, - "Values": { - "target": "com.amazonaws.glue#ValueStringList", - "traits": { - "smithy.api#documentation": "

                            The values of the partition.

                            " - } - }, - "StorageDescriptor": { - "target": "com.amazonaws.glue#StorageDescriptor", - "traits": { - "smithy.api#documentation": "

                            Provides information about the physical\n location where the partition is stored.

                            " - } } }, "traits": { @@ -12160,10 +13539,10 @@ "com.amazonaws.glue#PartitionIndexDescriptor": { "type": "structure", "members": { - "IndexStatus": { - "target": "com.amazonaws.glue#PartitionIndexStatus", + "IndexName": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The status of the partition index.

                            ", + "smithy.api#documentation": "

                            The name of the partition index.

                            ", "smithy.api#required": {} } }, @@ -12174,10 +13553,10 @@ "smithy.api#required": {} } }, - "IndexName": { - "target": "com.amazonaws.glue#NameString", + "IndexStatus": { + "target": "com.amazonaws.glue#PartitionIndexStatus", "traits": { - "smithy.api#documentation": "

                            The name of the partition index.

                            ", + "smithy.api#documentation": "

                            The status of the partition index.

                            ", "smithy.api#required": {} } } @@ -12224,16 +13603,16 @@ "smithy.api#documentation": "

                            The values of the partition. Although this parameter is not required by the SDK, you must specify this parameter for a valid input.

                            \n\t\n\t

                            The values for the keys for the new partition must be passed as an array of String objects that must be ordered in the same order as the partition keys appearing in the Amazon S3 prefix. Otherwise AWS Glue will add the values to the wrong keys.

                            " } }, - "StorageDescriptor": { - "target": "com.amazonaws.glue#StorageDescriptor", + "LastAccessTime": { + "target": "com.amazonaws.glue#Timestamp", "traits": { - "smithy.api#documentation": "

                            Provides information about the physical\n location where the partition is stored.

                            " + "smithy.api#documentation": "

                            The last time at which the partition was accessed.

                            " } }, - "LastAnalyzedTime": { - "target": "com.amazonaws.glue#Timestamp", + "StorageDescriptor": { + "target": "com.amazonaws.glue#StorageDescriptor", "traits": { - "smithy.api#documentation": "

                            The last time at which column statistics were computed for this partition.

                            " + "smithy.api#documentation": "

                            Provides information about the physical\n location where the partition is stored.

                            " } }, "Parameters": { @@ -12242,10 +13621,10 @@ "smithy.api#documentation": "

                            These key-value pairs define partition parameters.

                            " } }, - "LastAccessTime": { + "LastAnalyzedTime": { "target": "com.amazonaws.glue#Timestamp", "traits": { - "smithy.api#documentation": "

                            The last time at which the partition was accessed.

                            " + "smithy.api#documentation": "

                            The last time at which column statistics were computed for this partition.

                            " } } }, @@ -12347,10 +13726,10 @@ "com.amazonaws.glue#PhysicalConnectionRequirements": { "type": "structure", "members": { - "AvailabilityZone": { + "SubnetId": { "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The connection's Availability Zone. This field is redundant because the specified subnet\n implies the Availability Zone to be used. Currently the field must be populated, but it will\n be deprecated in the future.

                            " + "smithy.api#documentation": "

                            The subnet ID used by the connection.

                            " } }, "SecurityGroupIdList": { @@ -12359,10 +13738,10 @@ "smithy.api#documentation": "

                            The security group ID list used by the connection.

                            " } }, - "SubnetId": { + "AvailabilityZone": { "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The subnet ID used by the connection.

                            " + "smithy.api#documentation": "

                            The connection's Availability Zone. This field is redundant because the specified subnet\n implies the Availability Zone to be used. Currently the field must be populated, but it will\n be deprecated in the future.

                            " } } }, @@ -12438,17 +13817,17 @@ "com.amazonaws.glue#PrincipalPermissions": { "type": "structure", "members": { - "Permissions": { - "target": "com.amazonaws.glue#PermissionList", - "traits": { - "smithy.api#documentation": "

                            The permissions that are granted to the principal.

                            " - } - }, "Principal": { "target": "com.amazonaws.glue#DataLakePrincipal", "traits": { "smithy.api#documentation": "

                            The principal who is granted permissions.

                            " } + }, + "Permissions": { + "target": "com.amazonaws.glue#PermissionList", + "traits": { + "smithy.api#documentation": "

                            The permissions that are granted to the principal.

                            " + } } }, "traits": { @@ -12483,16 +13862,16 @@ "com.amazonaws.glue#PropertyPredicate": { "type": "structure", "members": { - "Value": { + "Key": { "target": "com.amazonaws.glue#ValueString", "traits": { - "smithy.api#documentation": "

                            The value of the property.

                            " + "smithy.api#documentation": "

                            The key of the property.

                            " } }, - "Key": { + "Value": { "target": "com.amazonaws.glue#ValueString", "traits": { - "smithy.api#documentation": "

                            The key of the property.

                            " + "smithy.api#documentation": "

                            The value of the property.

                            " } }, "Comparator": { @@ -12595,46 +13974,158 @@ "com.amazonaws.glue#PutResourcePolicyRequest": { "type": "structure", "members": { + "PolicyInJson": { + "target": "com.amazonaws.glue#PolicyJsonString", + "traits": { + "smithy.api#documentation": "

                            Contains the policy document to set, in JSON format.

                            ", + "smithy.api#required": {} + } + }, "ResourceArn": { "target": "com.amazonaws.glue#GlueResourceArn", "traits": { "smithy.api#documentation": "

                            The ARN of the AWS Glue resource for the resource policy to be set. For more\n information about AWS Glue resource ARNs, see the AWS Glue ARN string pattern\n

                            " } }, + "PolicyHashCondition": { + "target": "com.amazonaws.glue#HashString", + "traits": { + "smithy.api#documentation": "

                            The hash value returned when the previous policy was set using\n PutResourcePolicy. Its purpose is to prevent concurrent modifications of a\n policy. Do not use this parameter if no previous policy has been set.

                            " + } + }, "PolicyExistsCondition": { "target": "com.amazonaws.glue#ExistCondition", "traits": { "smithy.api#documentation": "

                            A value of MUST_EXIST is used to update a policy. A value of\n NOT_EXIST is used to create a new policy. If a value of NONE or a\n null value is used, the call will not depend on the existence of a policy.

                            " } }, - "PolicyHashCondition": { + "EnableHybrid": { + "target": "com.amazonaws.glue#EnableHybridValues", + "traits": { + "smithy.api#documentation": "

                            Allows you to specify if you want to use both resource-level and account/catalog-level resource policies. A resource-level policy is a policy attached to an individual resource such as a database or a table.

                            \n\t\n\t

                            The default value of NO indicates that resource-level policies cannot co-exist with an account-level policy. A value of YES means the use of both resource-level and account/catalog-level resource policies is allowed.

                            " + } + } + } + }, + "com.amazonaws.glue#PutResourcePolicyResponse": { + "type": "structure", + "members": { + "PolicyHash": { "target": "com.amazonaws.glue#HashString", "traits": { - "smithy.api#documentation": "

                            The hash value returned when the previous policy was set using\n PutResourcePolicy. Its purpose is to prevent concurrent modifications of a\n policy. Do not use this parameter if no previous policy has been set.

                            " + "smithy.api#documentation": "

                            A hash of the policy that has just been set. This must\n be included in a subsequent call that overwrites or updates\n this policy.

                            " } + } + } + }, + "com.amazonaws.glue#PutSchemaVersionMetadata": { + "type": "operation", + "input": { + "target": "com.amazonaws.glue#PutSchemaVersionMetadataInput" + }, + "output": { + "target": "com.amazonaws.glue#PutSchemaVersionMetadataResponse" + }, + "errors": [ + { + "target": "com.amazonaws.glue#AccessDeniedException" }, - "EnableHybrid": { - "target": "com.amazonaws.glue#EnableHybridValues", + { + "target": "com.amazonaws.glue#AlreadyExistsException" + }, + { + "target": "com.amazonaws.glue#EntityNotFoundException" + }, + { + "target": "com.amazonaws.glue#InvalidInputException" + }, + { + "target": "com.amazonaws.glue#ResourceNumberLimitExceededException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Puts the metadata key value pair for a specified schema version ID. A maximum of 10 key value pairs will be allowed per schema version. They can be added over one or more calls.

                            " + } + }, + "com.amazonaws.glue#PutSchemaVersionMetadataInput": { + "type": "structure", + "members": { + "SchemaId": { + "target": "com.amazonaws.glue#SchemaId", "traits": { - "smithy.api#documentation": "

                            Allows you to specify if you want to use both resource-level and account/catalog-level resource policies. A resource-level policy is a policy attached to an individual resource such as a database or a table.

                            \n\t\n\t

                            The default value of NO indicates that resource-level policies cannot co-exist with an account-level policy. A value of YES means the use of both resource-level and account/catalog-level resource policies is allowed.

                            " + "smithy.api#documentation": "

                            The unique ID for the schema.

                            " } }, - "PolicyInJson": { - "target": "com.amazonaws.glue#PolicyJsonString", + "SchemaVersionNumber": { + "target": "com.amazonaws.glue#SchemaVersionNumber", "traits": { - "smithy.api#documentation": "

                            Contains the policy document to set, in JSON format.

                            ", + "smithy.api#documentation": "

                            The version number of the schema.

                            " + } + }, + "SchemaVersionId": { + "target": "com.amazonaws.glue#SchemaVersionIdString", + "traits": { + "smithy.api#documentation": "

                            The unique version ID of the schema version.

                            " + } + }, + "MetadataKeyValue": { + "target": "com.amazonaws.glue#MetadataKeyValuePair", + "traits": { + "smithy.api#documentation": "

                            The metadata key's corresponding value.

                            ", "smithy.api#required": {} } } } }, - "com.amazonaws.glue#PutResourcePolicyResponse": { + "com.amazonaws.glue#PutSchemaVersionMetadataResponse": { "type": "structure", "members": { - "PolicyHash": { - "target": "com.amazonaws.glue#HashString", + "SchemaArn": { + "target": "com.amazonaws.glue#GlueResourceArn", "traits": { - "smithy.api#documentation": "

                            A hash of the policy that has just been set. This must\n be included in a subsequent call that overwrites or updates\n this policy.

                            " + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) for the schema.

                            " + } + }, + "SchemaName": { + "target": "com.amazonaws.glue#SchemaRegistryNameString", + "traits": { + "smithy.api#documentation": "

                            The name for the schema.

                            " + } + }, + "RegistryName": { + "target": "com.amazonaws.glue#SchemaRegistryNameString", + "traits": { + "smithy.api#documentation": "

                            The name for the registry.

                            " + } + }, + "LatestVersion": { + "target": "com.amazonaws.glue#LatestSchemaVersionBoolean", + "traits": { + "smithy.api#documentation": "

                            The latest version of the schema.

                            " + } + }, + "VersionNumber": { + "target": "com.amazonaws.glue#VersionLongNumber", + "traits": { + "smithy.api#documentation": "

                            The version number of the schema.

                            " + } + }, + "SchemaVersionId": { + "target": "com.amazonaws.glue#SchemaVersionIdString", + "traits": { + "smithy.api#documentation": "

                            The unique version ID of the schema version.

                            " + } + }, + "MetadataKey": { + "target": "com.amazonaws.glue#MetadataKeyString", + "traits": { + "smithy.api#documentation": "

                            The metadata key.

                            " + } + }, + "MetadataValue": { + "target": "com.amazonaws.glue#MetadataValueString", + "traits": { + "smithy.api#documentation": "

                            The value of the metadata key.

                            " } } } @@ -12677,17 +14168,17 @@ "com.amazonaws.glue#PutWorkflowRunPropertiesRequest": { "type": "structure", "members": { - "RunId": { - "target": "com.amazonaws.glue#IdString", + "Name": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The ID of the workflow run for which the run properties should be updated.

                            ", + "smithy.api#documentation": "

                            Name of the workflow which was run.

                            ", "smithy.api#required": {} } }, - "Name": { - "target": "com.amazonaws.glue#NameString", + "RunId": { + "target": "com.amazonaws.glue#IdString", "traits": { - "smithy.api#documentation": "

                            Name of the workflow which was run.

                            ", + "smithy.api#documentation": "

                            The ID of the workflow run for which the run properties should be updated.

                            ", "smithy.api#required": {} } }, @@ -12713,6 +14204,102 @@ "smithy.api#pattern": "^[2-3]$" } }, + "com.amazonaws.glue#QuerySchemaVersionMetadata": { + "type": "operation", + "input": { + "target": "com.amazonaws.glue#QuerySchemaVersionMetadataInput" + }, + "output": { + "target": "com.amazonaws.glue#QuerySchemaVersionMetadataResponse" + }, + "errors": [ + { + "target": "com.amazonaws.glue#AccessDeniedException" + }, + { + "target": "com.amazonaws.glue#EntityNotFoundException" + }, + { + "target": "com.amazonaws.glue#InvalidInputException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Queries for the schema version metadata information.

                            " + } + }, + "com.amazonaws.glue#QuerySchemaVersionMetadataInput": { + "type": "structure", + "members": { + "SchemaId": { + "target": "com.amazonaws.glue#SchemaId", + "traits": { + "smithy.api#documentation": "

                            A wrapper structure that may contain the schema name and Amazon Resource Name (ARN).

                            " + } + }, + "SchemaVersionNumber": { + "target": "com.amazonaws.glue#SchemaVersionNumber", + "traits": { + "smithy.api#documentation": "

                            The version number of the schema.

                            " + } + }, + "SchemaVersionId": { + "target": "com.amazonaws.glue#SchemaVersionIdString", + "traits": { + "smithy.api#documentation": "

                            The unique version ID of the schema version.

                            " + } + }, + "MetadataList": { + "target": "com.amazonaws.glue#MetadataList", + "traits": { + "smithy.api#documentation": "

                            Search key-value pairs for metadata, if they are not provided all the metadata information will be fetched.

                            " + } + }, + "MaxResults": { + "target": "com.amazonaws.glue#QuerySchemaVersionMetadataMaxResults", + "traits": { + "smithy.api#documentation": "

                            Maximum number of results required per page. If the value is not supplied, this will be defaulted to 25 per page.

                            " + } + }, + "NextToken": { + "target": "com.amazonaws.glue#SchemaRegistryTokenString", + "traits": { + "smithy.api#documentation": "

                            A continuation token, if this is a continuation call.

                            " + } + } + } + }, + "com.amazonaws.glue#QuerySchemaVersionMetadataMaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 50 + } + } + }, + "com.amazonaws.glue#QuerySchemaVersionMetadataResponse": { + "type": "structure", + "members": { + "MetadataInfoMap": { + "target": "com.amazonaws.glue#MetadataInfoMap", + "traits": { + "smithy.api#documentation": "

                            A map of a metadata key and associated values.

                            " + } + }, + "SchemaVersionId": { + "target": "com.amazonaws.glue#SchemaVersionIdString", + "traits": { + "smithy.api#documentation": "

                            The unique version ID of the schema version.

                            " + } + }, + "NextToken": { + "target": "com.amazonaws.glue#SchemaRegistryTokenString", + "traits": { + "smithy.api#documentation": "

                            A continuation token for paginating the returned list of tokens, returned if the current segment of the list is not the last.

                            " + } + } + } + }, "com.amazonaws.glue#RecordsCount": { "type": "long", "traits": { @@ -12731,21 +14318,286 @@ "value": "CRAWL_NEW_FOLDERS_ONLY", "name": "CRAWL_NEW_FOLDERS_ONLY" } - ] - } - }, - "com.amazonaws.glue#RecrawlPolicy": { - "type": "structure", - "members": { - "RecrawlBehavior": { - "target": "com.amazonaws.glue#RecrawlBehavior", + ] + } + }, + "com.amazonaws.glue#RecrawlPolicy": { + "type": "structure", + "members": { + "RecrawlBehavior": { + "target": "com.amazonaws.glue#RecrawlBehavior", + "traits": { + "smithy.api#documentation": "

                            Specifies whether to crawl the entire dataset again or to crawl only folders that were added since the last crawler run.

                            \n\t\n\t

                            A value of CRAWL_EVERYTHING specifies crawling the entire dataset again.

                            \n \n

                            A value of CRAWL_NEW_FOLDERS_ONLY specifies crawling only folders that were added since the last crawler run.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            When crawling an Amazon S3 data source after the first crawl is complete, specifies whether to crawl the entire dataset again or to crawl only folders that were added since the last crawler run. For more information, see Incremental Crawls in AWS Glue in the developer guide.

                            " + } + }, + "com.amazonaws.glue#RegisterSchemaVersion": { + "type": "operation", + "input": { + "target": "com.amazonaws.glue#RegisterSchemaVersionInput" + }, + "output": { + "target": "com.amazonaws.glue#RegisterSchemaVersionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.glue#AccessDeniedException" + }, + { + "target": "com.amazonaws.glue#ConcurrentModificationException" + }, + { + "target": "com.amazonaws.glue#EntityNotFoundException" + }, + { + "target": "com.amazonaws.glue#InternalServiceException" + }, + { + "target": "com.amazonaws.glue#InvalidInputException" + }, + { + "target": "com.amazonaws.glue#ResourceNumberLimitExceededException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Adds a new version to the existing schema. Returns an error if new version of schema does not meet the compatibility requirements of the schema set. This API will not create a new schema set and will return a 404 error if the schema set is not already present in the Schema Registry.

                            \n

                            If this is the first schema definition to be registered in the Schema Registry, this API will store the schema version and return immediately. Otherwise, this call has the potential to run longer than other operations due to compatibility modes. You can call the GetSchemaVersion API with the SchemaVersionId to check compatibility modes.

                            \n\t

                            If the same schema definition is already stored in Schema Registry as a version, the schema ID of the existing schema is returned to the caller.

                            " + } + }, + "com.amazonaws.glue#RegisterSchemaVersionInput": { + "type": "structure", + "members": { + "SchemaId": { + "target": "com.amazonaws.glue#SchemaId", + "traits": { + "smithy.api#documentation": "

                            This is a wrapper structure to contain schema identity fields. The structure contains:

                            \n\t
                              \n
                            • \n

                              SchemaId$SchemaArn: The Amazon Resource Name (ARN) of the schema. Either SchemaArn or SchemaName and RegistryName has to be provided.

                              \n
                            • \n
                            • \n

                              SchemaId$SchemaName: The name of the schema. Either SchemaArn or SchemaName and RegistryName has to be provided.

                              \n
                            • \n
                            ", + "smithy.api#required": {} + } + }, + "SchemaDefinition": { + "target": "com.amazonaws.glue#SchemaDefinitionString", + "traits": { + "smithy.api#documentation": "

                            The schema definition using the DataFormat setting for the SchemaName.

                            ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.glue#RegisterSchemaVersionResponse": { + "type": "structure", + "members": { + "SchemaVersionId": { + "target": "com.amazonaws.glue#SchemaVersionIdString", + "traits": { + "smithy.api#documentation": "

                            The unique ID that represents the version of this schema.

                            " + } + }, + "VersionNumber": { + "target": "com.amazonaws.glue#VersionLongNumber", + "traits": { + "smithy.api#documentation": "

                            The version of this schema (for sync flow only, in case this is the first version).

                            " + } + }, + "Status": { + "target": "com.amazonaws.glue#SchemaVersionStatus", + "traits": { + "smithy.api#documentation": "

                            The status of the schema version.

                            " + } + } + } + }, + "com.amazonaws.glue#RegistryId": { + "type": "structure", + "members": { + "RegistryName": { + "target": "com.amazonaws.glue#SchemaRegistryNameString", + "traits": { + "smithy.api#documentation": "

                            Name of the registry. Used only for lookup. One of RegistryArn or RegistryName has to be provided.

                            " + } + }, + "RegistryArn": { + "target": "com.amazonaws.glue#GlueResourceArn", + "traits": { + "smithy.api#documentation": "

                            Arn of the registry to be updated. One of RegistryArn or RegistryName has to be provided.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            A wrapper structure that may contain the registry name and Amazon Resource Name (ARN).

                            " + } + }, + "com.amazonaws.glue#RegistryListDefinition": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#RegistryListItem" + } + }, + "com.amazonaws.glue#RegistryListItem": { + "type": "structure", + "members": { + "RegistryName": { + "target": "com.amazonaws.glue#SchemaRegistryNameString", + "traits": { + "smithy.api#documentation": "

                            The name of the registry.

                            " + } + }, + "RegistryArn": { + "target": "com.amazonaws.glue#GlueResourceArn", + "traits": { + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the registry.

                            " + } + }, + "Description": { + "target": "com.amazonaws.glue#DescriptionString", + "traits": { + "smithy.api#documentation": "

                            A description of the registry.

                            " + } + }, + "Status": { + "target": "com.amazonaws.glue#RegistryStatus", + "traits": { + "smithy.api#documentation": "

                            The status of the registry.

                            " + } + }, + "CreatedTime": { + "target": "com.amazonaws.glue#CreatedTimestamp", + "traits": { + "smithy.api#documentation": "

                            The data the registry was created.

                            " + } + }, + "UpdatedTime": { + "target": "com.amazonaws.glue#UpdatedTimestamp", + "traits": { + "smithy.api#documentation": "

                            The date the registry was updated.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            A structure containing the details for a registry.

                            " + } + }, + "com.amazonaws.glue#RegistryStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "AVAILABLE", + "name": "AVAILABLE" + }, + { + "value": "DELETING", + "name": "DELETING" + } + ] + } + }, + "com.amazonaws.glue#RemoveSchemaVersionMetadata": { + "type": "operation", + "input": { + "target": "com.amazonaws.glue#RemoveSchemaVersionMetadataInput" + }, + "output": { + "target": "com.amazonaws.glue#RemoveSchemaVersionMetadataResponse" + }, + "errors": [ + { + "target": "com.amazonaws.glue#AccessDeniedException" + }, + { + "target": "com.amazonaws.glue#EntityNotFoundException" + }, + { + "target": "com.amazonaws.glue#InvalidInputException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Removes a key value pair from the schema version metadata for the specified schema version ID.

                            " + } + }, + "com.amazonaws.glue#RemoveSchemaVersionMetadataInput": { + "type": "structure", + "members": { + "SchemaId": { + "target": "com.amazonaws.glue#SchemaId", + "traits": { + "smithy.api#documentation": "

                            A wrapper structure that may contain the schema name and Amazon Resource Name (ARN).

                            " + } + }, + "SchemaVersionNumber": { + "target": "com.amazonaws.glue#SchemaVersionNumber", + "traits": { + "smithy.api#documentation": "

                            The version number of the schema.

                            " + } + }, + "SchemaVersionId": { + "target": "com.amazonaws.glue#SchemaVersionIdString", + "traits": { + "smithy.api#documentation": "

                            The unique version ID of the schema version.

                            " + } + }, + "MetadataKeyValue": { + "target": "com.amazonaws.glue#MetadataKeyValuePair", + "traits": { + "smithy.api#documentation": "

                            The value of the metadata key.

                            ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.glue#RemoveSchemaVersionMetadataResponse": { + "type": "structure", + "members": { + "SchemaArn": { + "target": "com.amazonaws.glue#GlueResourceArn", + "traits": { + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the schema.

                            " + } + }, + "SchemaName": { + "target": "com.amazonaws.glue#SchemaRegistryNameString", + "traits": { + "smithy.api#documentation": "

                            The name of the schema.

                            " + } + }, + "RegistryName": { + "target": "com.amazonaws.glue#SchemaRegistryNameString", + "traits": { + "smithy.api#documentation": "

                            The name of the registry.

                            " + } + }, + "LatestVersion": { + "target": "com.amazonaws.glue#LatestSchemaVersionBoolean", + "traits": { + "smithy.api#documentation": "

                            The latest version of the schema.

                            " + } + }, + "VersionNumber": { + "target": "com.amazonaws.glue#VersionLongNumber", + "traits": { + "smithy.api#documentation": "

                            The version number of the schema.

                            " + } + }, + "SchemaVersionId": { + "target": "com.amazonaws.glue#SchemaVersionIdString", "traits": { - "smithy.api#documentation": "

                            Specifies whether to crawl the entire dataset again or to crawl only folders that were added since the last crawler run.

                            \n\t\n\t

                            A value of CRAWL_EVERYTHING specifies crawling the entire dataset again.

                            \n \n

                            A value of CRAWL_NEW_FOLDERS_ONLY specifies crawling only folders that were added since the last crawler run.

                            " + "smithy.api#documentation": "

                            The version ID for the schema version.

                            " + } + }, + "MetadataKey": { + "target": "com.amazonaws.glue#MetadataKeyString", + "traits": { + "smithy.api#documentation": "

                            The metadata key.

                            " + } + }, + "MetadataValue": { + "target": "com.amazonaws.glue#MetadataValueString", + "traits": { + "smithy.api#documentation": "

                            The value of the metadata key.

                            " } } - }, - "traits": { - "smithy.api#documentation": "

                            When crawling an Amazon S3 data source after the first crawl is complete, specifies whether to crawl the entire dataset again or to crawl only folders that were added since the last crawler run. For more information, see Incremental Crawls in AWS Glue in the developer guide.

                            " } }, "com.amazonaws.glue#ReplaceBoolean": { @@ -12780,18 +14632,18 @@ "com.amazonaws.glue#ResetJobBookmarkRequest": { "type": "structure", "members": { - "RunId": { - "target": "com.amazonaws.glue#RunId", - "traits": { - "smithy.api#documentation": "

                            The unique run identifier associated with this job run.

                            " - } - }, "JobName": { "target": "com.amazonaws.glue#JobName", "traits": { "smithy.api#documentation": "

                            The name of the job in question.

                            ", "smithy.api#required": {} } + }, + "RunId": { + "target": "com.amazonaws.glue#RunId", + "traits": { + "smithy.api#documentation": "

                            The unique run identifier associated with this job run.

                            " + } } } }, @@ -12922,13 +14774,6 @@ "com.amazonaws.glue#ResumeWorkflowRunRequest": { "type": "structure", "members": { - "NodeIds": { - "target": "com.amazonaws.glue#NodeIdList", - "traits": { - "smithy.api#documentation": "

                            A list of the node IDs for the nodes you want to restart. The nodes that are to be restarted must have a run attempt in the original run.

                            ", - "smithy.api#required": {} - } - }, "Name": { "target": "com.amazonaws.glue#NameString", "traits": { @@ -12942,6 +14787,13 @@ "smithy.api#documentation": "

                            The ID of the workflow run to resume.

                            ", "smithy.api#required": {} } + }, + "NodeIds": { + "target": "com.amazonaws.glue#NodeIdList", + "traits": { + "smithy.api#documentation": "

                            A list of the node IDs for the nodes you want to restart. The nodes that are to be restarted must have a run attempt in the original run.

                            ", + "smithy.api#required": {} + } } } }, @@ -13028,164 +14880,456 @@ "com.amazonaws.glue#S3Target": { "type": "structure", "members": { + "Path": { + "target": "com.amazonaws.glue#Path", + "traits": { + "smithy.api#documentation": "

                            The path to the Amazon S3 target.

                            " + } + }, "Exclusions": { "target": "com.amazonaws.glue#PathList", "traits": { "smithy.api#documentation": "

                            A list of glob patterns used to exclude from the crawl.\n For more information, see Catalog Tables with a Crawler.

                            " } }, - "ConnectionName": { - "target": "com.amazonaws.glue#ConnectionName", + "ConnectionName": { + "target": "com.amazonaws.glue#ConnectionName", + "traits": { + "smithy.api#documentation": "

                            The name of a connection which allows a job or crawler to access data in Amazon S3 within an Amazon Virtual Private Cloud environment (Amazon VPC).

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Specifies a data store in Amazon Simple Storage Service (Amazon S3).

                            " + } + }, + "com.amazonaws.glue#S3TargetList": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#S3Target" + } + }, + "com.amazonaws.glue#ScalaCode": { + "type": "string" + }, + "com.amazonaws.glue#Schedule": { + "type": "structure", + "members": { + "ScheduleExpression": { + "target": "com.amazonaws.glue#CronExpression", + "traits": { + "smithy.api#documentation": "

                            A cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run\n something every day at 12:15 UTC, you would specify:\n cron(15 12 * * ? *).

                            " + } + }, + "State": { + "target": "com.amazonaws.glue#ScheduleState", + "traits": { + "smithy.api#documentation": "

                            The state of the schedule.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            A scheduling object using a cron statement to schedule an event.

                            " + } + }, + "com.amazonaws.glue#ScheduleState": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "SCHEDULED", + "name": "SCHEDULED" + }, + { + "value": "NOT_SCHEDULED", + "name": "NOT_SCHEDULED" + }, + { + "value": "TRANSITIONING", + "name": "TRANSITIONING" + } + ] + } + }, + "com.amazonaws.glue#SchedulerNotRunningException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.glue#MessageString", + "traits": { + "smithy.api#documentation": "

                            A message describing the problem.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The specified scheduler is not running.

                            ", + "smithy.api#error": "client" + } + }, + "com.amazonaws.glue#SchedulerRunningException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.glue#MessageString", + "traits": { + "smithy.api#documentation": "

                            A message describing the problem.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The specified scheduler is already running.

                            ", + "smithy.api#error": "client" + } + }, + "com.amazonaws.glue#SchedulerTransitioningException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.glue#MessageString", + "traits": { + "smithy.api#documentation": "

                            A message describing the problem.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The specified scheduler is transitioning.

                            ", + "smithy.api#error": "client" + } + }, + "com.amazonaws.glue#SchemaChangePolicy": { + "type": "structure", + "members": { + "UpdateBehavior": { + "target": "com.amazonaws.glue#UpdateBehavior", + "traits": { + "smithy.api#documentation": "

                            The update behavior when the crawler finds a changed schema.

                            " + } + }, + "DeleteBehavior": { + "target": "com.amazonaws.glue#DeleteBehavior", + "traits": { + "smithy.api#documentation": "

                            The deletion behavior when the crawler finds a deleted object.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            A policy that specifies update and deletion behaviors for the crawler.

                            " + } + }, + "com.amazonaws.glue#SchemaCheckpointNumber": { + "type": "long", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 100000 + } + } + }, + "com.amazonaws.glue#SchemaColumn": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#ColumnNameString", + "traits": { + "smithy.api#documentation": "

                            The name of the column.

                            " + } + }, + "DataType": { + "target": "com.amazonaws.glue#ColumnTypeString", + "traits": { + "smithy.api#documentation": "

                            The type of data in the column.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            A key-value pair representing a column and data type that this transform can\n run against. The Schema parameter of the MLTransform may contain up to 100 of these structures.

                            " + } + }, + "com.amazonaws.glue#SchemaDefinitionDiff": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 340000 + }, + "smithy.api#pattern": ".*\\S.*" + } + }, + "com.amazonaws.glue#SchemaDefinitionString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 170000 + }, + "smithy.api#pattern": ".*\\S.*" + } + }, + "com.amazonaws.glue#SchemaDiffType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "SYNTAX_DIFF", + "name": "SYNTAX_DIFF" + } + ] + } + }, + "com.amazonaws.glue#SchemaId": { + "type": "structure", + "members": { + "SchemaArn": { + "target": "com.amazonaws.glue#GlueResourceArn" + }, + "SchemaName": { + "target": "com.amazonaws.glue#SchemaRegistryNameString" + }, + "RegistryName": { + "target": "com.amazonaws.glue#SchemaRegistryNameString" + } + } + }, + "com.amazonaws.glue#SchemaListDefinition": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#SchemaListItem" + } + }, + "com.amazonaws.glue#SchemaListItem": { + "type": "structure", + "members": { + "RegistryName": { + "target": "com.amazonaws.glue#SchemaRegistryNameString", + "traits": { + "smithy.api#documentation": "

                            the name of the registry where the schema resides.

                            " + } + }, + "SchemaName": { + "target": "com.amazonaws.glue#SchemaRegistryNameString", + "traits": { + "smithy.api#documentation": "

                            The name of the schema.

                            " + } + }, + "SchemaArn": { + "target": "com.amazonaws.glue#GlueResourceArn", + "traits": { + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) for the schema.

                            " + } + }, + "Description": { + "target": "com.amazonaws.glue#DescriptionString", + "traits": { + "smithy.api#documentation": "

                            A description for the schema.

                            " + } + }, + "SchemaStatus": { + "target": "com.amazonaws.glue#SchemaStatus", + "traits": { + "smithy.api#documentation": "

                            The status of the schema.

                            " + } + }, + "CreatedTime": { + "target": "com.amazonaws.glue#CreatedTimestamp", "traits": { - "smithy.api#documentation": "

                            The name of a connection which allows a job or crawler to access data in Amazon S3 within an Amazon Virtual Private Cloud environment (Amazon VPC).

                            " + "smithy.api#documentation": "

                            The date and time that a schema was created.

                            " } }, - "Path": { - "target": "com.amazonaws.glue#Path", + "UpdatedTime": { + "target": "com.amazonaws.glue#UpdatedTimestamp", "traits": { - "smithy.api#documentation": "

                            The path to the Amazon S3 target.

                            " + "smithy.api#documentation": "

                            The date and time that a schema was updated.

                            " } } }, "traits": { - "smithy.api#documentation": "

                            Specifies a data store in Amazon Simple Storage Service (Amazon S3).

                            " - } - }, - "com.amazonaws.glue#S3TargetList": { - "type": "list", - "member": { - "target": "com.amazonaws.glue#S3Target" + "smithy.api#documentation": "

                            An object that contains minimal details for a schema.

                            " } }, - "com.amazonaws.glue#ScalaCode": { + "com.amazonaws.glue#SchemaPathString": { "type": "string" }, - "com.amazonaws.glue#Schedule": { + "com.amazonaws.glue#SchemaReference": { "type": "structure", "members": { - "ScheduleExpression": { - "target": "com.amazonaws.glue#CronExpression", + "SchemaId": { + "target": "com.amazonaws.glue#SchemaId", "traits": { - "smithy.api#documentation": "

                            A cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run\n something every day at 12:15 UTC, you would specify:\n cron(15 12 * * ? *).

                            " + "smithy.api#documentation": "

                            A structure that contains schema identity fields. Either this or the SchemaVersionId has to be provided.

                            " } }, - "State": { - "target": "com.amazonaws.glue#ScheduleState", + "SchemaVersionId": { + "target": "com.amazonaws.glue#SchemaVersionIdString", "traits": { - "smithy.api#documentation": "

                            The state of the schedule.

                            " + "smithy.api#documentation": "

                            The unique ID assigned to a version of the schema. Either this or the SchemaId has to be provided.

                            " + } + }, + "SchemaVersionNumber": { + "target": "com.amazonaws.glue#VersionLongNumber", + "traits": { + "smithy.api#box": {}, + "smithy.api#documentation": "

                            The version number of the schema.

                            " } } }, "traits": { - "smithy.api#documentation": "

                            A scheduling object using a cron statement to schedule an event.

                            " + "smithy.api#documentation": "

                            An object that references a schema stored in the AWS Glue Schema Registry.

                            " } }, - "com.amazonaws.glue#ScheduleState": { + "com.amazonaws.glue#SchemaRegistryNameString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + }, + "smithy.api#pattern": "[a-zA-Z0-9-_$#]+" + } + }, + "com.amazonaws.glue#SchemaRegistryTokenString": { + "type": "string" + }, + "com.amazonaws.glue#SchemaStatus": { "type": "string", "traits": { "smithy.api#enum": [ { - "value": "SCHEDULED", - "name": "SCHEDULED" + "value": "AVAILABLE", + "name": "AVAILABLE" }, { - "value": "NOT_SCHEDULED", - "name": "NOT_SCHEDULED" + "value": "PENDING", + "name": "PENDING" }, { - "value": "TRANSITIONING", - "name": "TRANSITIONING" + "value": "DELETING", + "name": "DELETING" } ] } }, - "com.amazonaws.glue#SchedulerNotRunningException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.glue#MessageString", - "traits": { - "smithy.api#documentation": "

                            A message describing the problem.

                            " - } - } - }, + "com.amazonaws.glue#SchemaValidationError": { + "type": "string", "traits": { - "smithy.api#documentation": "

                            The specified scheduler is not running.

                            ", - "smithy.api#error": "client" + "smithy.api#length": { + "min": 1, + "max": 5000 + } } }, - "com.amazonaws.glue#SchedulerRunningException": { + "com.amazonaws.glue#SchemaVersionErrorItem": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.glue#MessageString", + "VersionNumber": { + "target": "com.amazonaws.glue#VersionLongNumber", "traits": { - "smithy.api#documentation": "

                            A message describing the problem.

                            " + "smithy.api#documentation": "

                            The version number of the schema.

                            " + } + }, + "ErrorDetails": { + "target": "com.amazonaws.glue#ErrorDetails", + "traits": { + "smithy.api#documentation": "

                            The details of the error for the schema version.

                            " } } }, "traits": { - "smithy.api#documentation": "

                            The specified scheduler is already running.

                            ", - "smithy.api#error": "client" + "smithy.api#documentation": "

                            An object that contains the error details for an operation on a schema version.

                            " } }, - "com.amazonaws.glue#SchedulerTransitioningException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.glue#MessageString", - "traits": { - "smithy.api#documentation": "

                            A message describing the problem.

                            " - } - } - }, + "com.amazonaws.glue#SchemaVersionErrorList": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#SchemaVersionErrorItem" + } + }, + "com.amazonaws.glue#SchemaVersionIdString": { + "type": "string", "traits": { - "smithy.api#documentation": "

                            The specified scheduler is transitioning.

                            ", - "smithy.api#error": "client" + "smithy.api#length": { + "min": 36, + "max": 36 + }, + "smithy.api#pattern": "[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}" } }, - "com.amazonaws.glue#SchemaChangePolicy": { + "com.amazonaws.glue#SchemaVersionList": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#SchemaVersionListItem" + } + }, + "com.amazonaws.glue#SchemaVersionListItem": { "type": "structure", "members": { - "DeleteBehavior": { - "target": "com.amazonaws.glue#DeleteBehavior", + "SchemaArn": { + "target": "com.amazonaws.glue#GlueResourceArn", "traits": { - "smithy.api#documentation": "

                            The deletion behavior when the crawler finds a deleted object.

                            " + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the schema.

                            " } }, - "UpdateBehavior": { - "target": "com.amazonaws.glue#UpdateBehavior", + "SchemaVersionId": { + "target": "com.amazonaws.glue#SchemaVersionIdString", "traits": { - "smithy.api#documentation": "

                            The update behavior when the crawler finds a changed schema.

                            " + "smithy.api#documentation": "

                            The unique identifier of the schema version.

                            " + } + }, + "VersionNumber": { + "target": "com.amazonaws.glue#VersionLongNumber", + "traits": { + "smithy.api#documentation": "

                            The version number of the schema.

                            " + } + }, + "Status": { + "target": "com.amazonaws.glue#SchemaVersionStatus", + "traits": { + "smithy.api#documentation": "

                            The status of the schema version.

                            " + } + }, + "CreatedTime": { + "target": "com.amazonaws.glue#CreatedTimestamp", + "traits": { + "smithy.api#documentation": "

                            The date and time the schema version was created.

                            " } } }, "traits": { - "smithy.api#documentation": "

                            A policy that specifies update and deletion behaviors for the crawler.

                            " + "smithy.api#documentation": "

                            An object containing the details about a schema version.

                            " } }, - "com.amazonaws.glue#SchemaColumn": { + "com.amazonaws.glue#SchemaVersionNumber": { "type": "structure", "members": { - "DataType": { - "target": "com.amazonaws.glue#ColumnTypeString", - "traits": { - "smithy.api#documentation": "

                            The type of data in the column.

                            " - } + "LatestVersion": { + "target": "com.amazonaws.glue#LatestSchemaVersionBoolean" }, - "Name": { - "target": "com.amazonaws.glue#ColumnNameString", - "traits": { - "smithy.api#documentation": "

                            The name of the column.

                            " - } + "VersionNumber": { + "target": "com.amazonaws.glue#VersionLongNumber" } - }, - "traits": { - "smithy.api#documentation": "

                            A key-value pair representing a column and data type that this transform can\n run against. The Schema parameter of the MLTransform may contain up to 100 of these structures.

                            " } }, - "com.amazonaws.glue#SchemaPathString": { - "type": "string" + "com.amazonaws.glue#SchemaVersionStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "AVAILABLE", + "name": "AVAILABLE" + }, + { + "value": "PENDING", + "name": "PENDING" + }, + { + "value": "FAILURE", + "name": "FAILURE" + }, + { + "value": "DELETING", + "name": "DELETING" + } + ] + } }, "com.amazonaws.glue#ScriptLocationString": { "type": "string" @@ -13233,16 +15377,10 @@ "smithy.api#documentation": "

                            A unique identifier, consisting of \n account_id\n .

                            " } }, - "ResourceShareType": { - "target": "com.amazonaws.glue#ResourceShareType", - "traits": { - "smithy.api#documentation": "

                            Allows you to specify that you want to search the tables shared with your account. The allowable values are FOREIGN or ALL.

                            \n\t\n\t
                              \n
                            • \n

                              If set to FOREIGN, will search the tables shared with your account.

                              \n
                            • \n
                            • \n

                              If set to ALL, will search the tables shared with your account, as well as the tables in yor local account.

                              \n
                            • \n
                            " - } - }, - "SearchText": { - "target": "com.amazonaws.glue#ValueString", + "NextToken": { + "target": "com.amazonaws.glue#Token", "traits": { - "smithy.api#documentation": "

                            A string used for a text search.

                            \n\t

                            Specifying a value in quotes filters based on an exact match to the value.

                            " + "smithy.api#documentation": "

                            A continuation token, included if this is a continuation call.

                            " } }, "Filters": { @@ -13251,10 +15389,16 @@ "smithy.api#documentation": "

                            A list of key-value pairs, and a comparator used to filter the search results. Returns all entities matching the predicate.

                            \n\t\n\t

                            The Comparator member of the PropertyPredicate struct is used only for time fields, and can be omitted for other field types. Also, when comparing string values, such as when Key=Name, a fuzzy match algorithm is used. The Key field (for example, the value of the Name field) is split on certain punctuation characters, for example, -, :, #, etc. into tokens. Then each token is exact-match compared with the Value member of PropertyPredicate. For example, if Key=Name and Value=link, tables named customer-link and xx-link-yy are returned, but xxlinkyy is not returned.

                            " } }, - "NextToken": { - "target": "com.amazonaws.glue#Token", + "SearchText": { + "target": "com.amazonaws.glue#ValueString", "traits": { - "smithy.api#documentation": "

                            A continuation token, included if this is a continuation call.

                            " + "smithy.api#documentation": "

                            A string used for a text search.

                            \n\t

                            Specifying a value in quotes filters based on an exact match to the value.

                            " + } + }, + "SortCriteria": { + "target": "com.amazonaws.glue#SortCriteria", + "traits": { + "smithy.api#documentation": "

                            A list of criteria for sorting the results by a field name, in an ascending or descending order.

                            " } }, "MaxResults": { @@ -13263,10 +15407,10 @@ "smithy.api#documentation": "

                            The maximum number of tables to return in a single response.

                            " } }, - "SortCriteria": { - "target": "com.amazonaws.glue#SortCriteria", + "ResourceShareType": { + "target": "com.amazonaws.glue#ResourceShareType", "traits": { - "smithy.api#documentation": "

                            A list of criteria for sorting the results by a field name, in an ascending or descending order.

                            " + "smithy.api#documentation": "

                            Allows you to specify that you want to search the tables shared with your account. The allowable values are FOREIGN or ALL.

                            \n\t\n\t
                              \n
                            • \n

                              If set to FOREIGN, will search the tables shared with your account.

                              \n
                            • \n
                            • \n

                              If set to ALL, will search the tables shared with your account, as well as the tables in yor local account.

                              \n
                            • \n
                            " } } } @@ -13274,17 +15418,17 @@ "com.amazonaws.glue#SearchTablesResponse": { "type": "structure", "members": { - "TableList": { - "target": "com.amazonaws.glue#TableList", - "traits": { - "smithy.api#documentation": "

                            A list of the requested Table objects. The SearchTables response returns only the tables that you have access to.

                            " - } - }, "NextToken": { "target": "com.amazonaws.glue#Token", "traits": { "smithy.api#documentation": "

                            A continuation token, present if the current list segment is not the last.

                            " } + }, + "TableList": { + "target": "com.amazonaws.glue#TableList", + "traits": { + "smithy.api#documentation": "

                            A list of the requested Table objects. The SearchTables response returns only the tables that you have access to.

                            " + } } } }, @@ -13383,10 +15527,10 @@ "com.amazonaws.glue#SkewedInfo": { "type": "structure", "members": { - "SkewedColumnValueLocationMaps": { - "target": "com.amazonaws.glue#LocationMap", + "SkewedColumnNames": { + "target": "com.amazonaws.glue#NameStringList", "traits": { - "smithy.api#documentation": "

                            A mapping of skewed values to the columns that contain them.

                            " + "smithy.api#documentation": "

                            A list of names of columns that contain skewed values.

                            " } }, "SkewedColumnValues": { @@ -13395,10 +15539,10 @@ "smithy.api#documentation": "

                            A list of values that appear so frequently as to be considered\n skewed.

                            " } }, - "SkewedColumnNames": { - "target": "com.amazonaws.glue#NameStringList", + "SkewedColumnValueLocationMaps": { + "target": "com.amazonaws.glue#LocationMap", "traits": { - "smithy.api#documentation": "

                            A list of names of columns that contain skewed values.

                            " + "smithy.api#documentation": "

                            A mapping of skewed values to the columns that contain them.

                            " } } }, @@ -13436,17 +15580,17 @@ "com.amazonaws.glue#SortCriterion": { "type": "structure", "members": { - "Sort": { - "target": "com.amazonaws.glue#Sort", - "traits": { - "smithy.api#documentation": "

                            An ascending or descending sort.

                            " - } - }, "FieldName": { "target": "com.amazonaws.glue#ValueString", "traits": { "smithy.api#documentation": "

                            The name of the field on which to sort.

                            " } + }, + "Sort": { + "target": "com.amazonaws.glue#Sort", + "traits": { + "smithy.api#documentation": "

                            An ascending or descending sort.

                            " + } } }, "traits": { @@ -13708,28 +15852,17 @@ "com.amazonaws.glue#StartJobRunRequest": { "type": "structure", "members": { - "MaxCapacity": { - "target": "com.amazonaws.glue#NullableDouble", - "traits": { - "smithy.api#documentation": "

                            The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure\n of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory.\n For more information, see the AWS Glue\n pricing page.

                            \n\n

                            Do not set Max Capacity if using WorkerType and NumberOfWorkers.

                            \n\n

                            The value that can be allocated for MaxCapacity depends on whether you are\n running a Python shell job, or an Apache Spark ETL job:

                            \n
                              \n
                            • \n

                              When you specify a Python shell job (JobCommand.Name=\"pythonshell\"), you can\n allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.

                              \n
                            • \n
                            • \n

                              When you specify an Apache Spark ETL job (JobCommand.Name=\"glueetl\"), you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type cannot have a fractional DPU allocation.

                              \n
                            • \n
                            " - } - }, - "WorkerType": { - "target": "com.amazonaws.glue#WorkerType", - "traits": { - "smithy.api#documentation": "

                            The type of predefined worker that is allocated when a job runs. Accepts a value of Standard, G.1X, or G.2X.

                            \n
                              \n
                            • \n

                              For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

                              \n
                            • \n
                            • \n

                              For the G.1X worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker.

                              \n
                            • \n
                            • \n

                              For the G.2X worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker.

                              \n
                            • \n
                            " - } - }, - "NotificationProperty": { - "target": "com.amazonaws.glue#NotificationProperty", + "JobName": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            Specifies configuration properties of a job run notification.

                            " + "smithy.api#documentation": "

                            The name of the job definition to use.

                            ", + "smithy.api#required": {} } }, - "SecurityConfiguration": { - "target": "com.amazonaws.glue#NameString", + "JobRunId": { + "target": "com.amazonaws.glue#IdString", "traits": { - "smithy.api#documentation": "

                            The name of the SecurityConfiguration structure to be used with this job\n run.

                            " + "smithy.api#documentation": "

                            The ID of a previous JobRun to retry.

                            " } }, "Arguments": { @@ -13738,11 +15871,13 @@ "smithy.api#documentation": "

                            The job arguments specifically for this run. For this job run, they replace the default arguments set in the job definition itself.

                            \n

                            You can specify arguments here that your own job-execution script\n consumes, as well as arguments that AWS Glue itself consumes.

                            \n

                            For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

                            \n

                            For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

                            " } }, - "JobName": { - "target": "com.amazonaws.glue#NameString", + "AllocatedCapacity": { + "target": "com.amazonaws.glue#IntegerValue", "traits": { - "smithy.api#documentation": "

                            The name of the job definition to use.

                            ", - "smithy.api#required": {} + "smithy.api#deprecated": { + "message": "This property is deprecated, use MaxCapacity instead." + }, + "smithy.api#documentation": "

                            This field is deprecated. Use MaxCapacity instead.

                            \n\n

                            The number of AWS Glue data processing units (DPUs) to allocate to this JobRun.\n From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure\n of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory.\n For more information, see the AWS Glue\n pricing page.

                            " } }, "Timeout": { @@ -13751,19 +15886,28 @@ "smithy.api#documentation": "

                            The JobRun timeout in minutes. This is the maximum time that a job run can\n consume resources before it is terminated and enters TIMEOUT status. The default\n is 2,880 minutes (48 hours). This overrides the timeout value set in the parent job.

                            " } }, - "JobRunId": { - "target": "com.amazonaws.glue#IdString", + "MaxCapacity": { + "target": "com.amazonaws.glue#NullableDouble", + "traits": { + "smithy.api#documentation": "

                            The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure\n of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory.\n For more information, see the AWS Glue\n pricing page.

                            \n\n

                            Do not set Max Capacity if using WorkerType and NumberOfWorkers.

                            \n\n

                            The value that can be allocated for MaxCapacity depends on whether you are\n running a Python shell job, or an Apache Spark ETL job:

                            \n
                              \n
                            • \n

                              When you specify a Python shell job (JobCommand.Name=\"pythonshell\"), you can\n allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.

                              \n
                            • \n
                            • \n

                              When you specify an Apache Spark ETL job (JobCommand.Name=\"glueetl\"), you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type cannot have a fractional DPU allocation.

                              \n
                            • \n
                            " + } + }, + "SecurityConfiguration": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

                            The name of the SecurityConfiguration structure to be used with this job\n run.

                            " + } + }, + "NotificationProperty": { + "target": "com.amazonaws.glue#NotificationProperty", "traits": { - "smithy.api#documentation": "

                            The ID of a previous JobRun to retry.

                            " + "smithy.api#documentation": "

                            Specifies configuration properties of a job run notification.

                            " } }, - "AllocatedCapacity": { - "target": "com.amazonaws.glue#IntegerValue", + "WorkerType": { + "target": "com.amazonaws.glue#WorkerType", "traits": { - "smithy.api#deprecated": { - "message": "This property is deprecated, use MaxCapacity instead." - }, - "smithy.api#documentation": "

                            This field is deprecated. Use MaxCapacity instead.

                            \n\n

                            The number of AWS Glue data processing units (DPUs) to allocate to this JobRun.\n From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure\n of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory.\n For more information, see the AWS Glue\n pricing page.

                            " + "smithy.api#documentation": "

                            The type of predefined worker that is allocated when a job runs. Accepts a value of Standard, G.1X, or G.2X.

                            \n
                              \n
                            • \n

                              For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

                              \n
                            • \n
                            • \n

                              For the G.1X worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker.

                              \n
                            • \n
                            • \n

                              For the G.2X worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker.

                              \n
                            • \n
                            " } }, "NumberOfWorkers": { @@ -13872,17 +16016,17 @@ "com.amazonaws.glue#StartMLLabelingSetGenerationTaskRunRequest": { "type": "structure", "members": { - "OutputS3Path": { - "target": "com.amazonaws.glue#UriString", + "TransformId": { + "target": "com.amazonaws.glue#HashString", "traits": { - "smithy.api#documentation": "

                            The Amazon Simple Storage Service (Amazon S3) path where you generate the labeling\n set.

                            ", + "smithy.api#documentation": "

                            The unique identifier of the machine learning transform.

                            ", "smithy.api#required": {} } }, - "TransformId": { - "target": "com.amazonaws.glue#HashString", + "OutputS3Path": { + "target": "com.amazonaws.glue#UriString", "traits": { - "smithy.api#documentation": "

                            The unique identifier of the machine learning transform.

                            ", + "smithy.api#documentation": "

                            The Amazon Simple Storage Service (Amazon S3) path where you generate the labeling\n set.

                            ", "smithy.api#required": {} } } @@ -14177,17 +16321,17 @@ "com.amazonaws.glue#StopWorkflowRunRequest": { "type": "structure", "members": { - "RunId": { - "target": "com.amazonaws.glue#IdString", + "Name": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The ID of the workflow run to stop.

                            ", + "smithy.api#documentation": "

                            The name of the workflow to stop.

                            ", "smithy.api#required": {} } }, - "Name": { - "target": "com.amazonaws.glue#NameString", + "RunId": { + "target": "com.amazonaws.glue#IdString", "traits": { - "smithy.api#documentation": "

                            The name of the workflow to stop.

                            ", + "smithy.api#documentation": "

                            The ID of the workflow run to stop.

                            ", "smithy.api#required": {} } } @@ -14200,22 +16344,22 @@ "com.amazonaws.glue#StorageDescriptor": { "type": "structure", "members": { - "SkewedInfo": { - "target": "com.amazonaws.glue#SkewedInfo", + "Columns": { + "target": "com.amazonaws.glue#ColumnList", "traits": { - "smithy.api#documentation": "

                            The information about values that appear frequently in a column (skewed values).

                            " + "smithy.api#documentation": "

                            A list of the Columns in the table.

                            " } }, - "Compressed": { - "target": "com.amazonaws.glue#Boolean", + "Location": { + "target": "com.amazonaws.glue#LocationString", "traits": { - "smithy.api#documentation": "

                            \n True if the data in the table is compressed, or False if\n not.

                            " + "smithy.api#documentation": "

                            The physical location of the table. By default, this takes the form of the warehouse\n location, followed by the database location in the warehouse, followed by the table\n name.

                            " } }, - "Parameters": { - "target": "com.amazonaws.glue#ParametersMap", + "InputFormat": { + "target": "com.amazonaws.glue#FormatString", "traits": { - "smithy.api#documentation": "

                            The user-supplied properties in key-value form.

                            " + "smithy.api#documentation": "

                            The input format: SequenceFileInputFormat (binary),\n or TextInputFormat, or a custom format.

                            " } }, "OutputFormat": { @@ -14224,16 +16368,16 @@ "smithy.api#documentation": "

                            The output format: SequenceFileOutputFormat (binary),\n or IgnoreKeyTextOutputFormat, or a custom format.

                            " } }, - "NumberOfBuckets": { - "target": "com.amazonaws.glue#Integer", + "Compressed": { + "target": "com.amazonaws.glue#Boolean", "traits": { - "smithy.api#documentation": "

                            Must be specified if the table contains any dimension columns.

                            " + "smithy.api#documentation": "

                            \n True if the data in the table is compressed, or False if\n not.

                            " } }, - "InputFormat": { - "target": "com.amazonaws.glue#FormatString", + "NumberOfBuckets": { + "target": "com.amazonaws.glue#Integer", "traits": { - "smithy.api#documentation": "

                            The input format: SequenceFileInputFormat (binary),\n or TextInputFormat, or a custom format.

                            " + "smithy.api#documentation": "

                            Must be specified if the table contains any dimension columns.

                            " } }, "SerdeInfo": { @@ -14242,34 +16386,40 @@ "smithy.api#documentation": "

                            The serialization/deserialization (SerDe) information.

                            " } }, + "BucketColumns": { + "target": "com.amazonaws.glue#NameStringList", + "traits": { + "smithy.api#documentation": "

                            A list of reducer grouping columns, clustering columns, and\n bucketing columns in the table.

                            " + } + }, "SortColumns": { "target": "com.amazonaws.glue#OrderList", "traits": { "smithy.api#documentation": "

                            A list specifying the sort order of each bucket in the table.

                            " } }, - "BucketColumns": { - "target": "com.amazonaws.glue#NameStringList", + "Parameters": { + "target": "com.amazonaws.glue#ParametersMap", "traits": { - "smithy.api#documentation": "

                            A list of reducer grouping columns, clustering columns, and\n bucketing columns in the table.

                            " + "smithy.api#documentation": "

                            The user-supplied properties in key-value form.

                            " } }, - "StoredAsSubDirectories": { - "target": "com.amazonaws.glue#Boolean", + "SkewedInfo": { + "target": "com.amazonaws.glue#SkewedInfo", "traits": { - "smithy.api#documentation": "

                            \n True if the table data is stored in subdirectories, or False if\n not.

                            " + "smithy.api#documentation": "

                            The information about values that appear frequently in a column (skewed values).

                            " } }, - "Columns": { - "target": "com.amazonaws.glue#ColumnList", + "StoredAsSubDirectories": { + "target": "com.amazonaws.glue#Boolean", "traits": { - "smithy.api#documentation": "

                            A list of the Columns in the table.

                            " + "smithy.api#documentation": "

                            \n True if the table data is stored in subdirectories, or False if\n not.

                            " } }, - "Location": { - "target": "com.amazonaws.glue#LocationString", + "SchemaReference": { + "target": "com.amazonaws.glue#SchemaReference", "traits": { - "smithy.api#documentation": "

                            The physical location of the table. By default, this takes the form of the warehouse\n location, followed by the database location in the warehouse, followed by the table\n name.

                            " + "smithy.api#documentation": "

                            An object that references a schema stored in the AWS Glue Schema Registry.

                            \n\t\n\t

                            When creating a table, you can pass an empty list of columns for the schema, and instead use a schema reference.

                            " } } }, @@ -14280,13 +16430,6 @@ "com.amazonaws.glue#StringColumnStatisticsData": { "type": "structure", "members": { - "NumberOfDistinctValues": { - "target": "com.amazonaws.glue#NonNegativeLong", - "traits": { - "smithy.api#documentation": "

                            The number of distinct values in a column.

                            ", - "smithy.api#required": {} - } - }, "MaximumLength": { "target": "com.amazonaws.glue#NonNegativeLong", "traits": { @@ -14307,6 +16450,13 @@ "smithy.api#documentation": "

                            The number of null values in the column.

                            ", "smithy.api#required": {} } + }, + "NumberOfDistinctValues": { + "target": "com.amazonaws.glue#NonNegativeLong", + "traits": { + "smithy.api#documentation": "

                            The number of distinct values in a column.

                            ", + "smithy.api#required": {} + } } }, "traits": { @@ -14322,34 +16472,23 @@ "com.amazonaws.glue#Table": { "type": "structure", "members": { - "TargetTable": { - "target": "com.amazonaws.glue#TableIdentifier", - "traits": { - "smithy.api#documentation": "

                            A TableIdentifier structure that describes a target table for resource linking.

                            " - } - }, - "CatalogId": { - "target": "com.amazonaws.glue#CatalogIdString", - "traits": { - "smithy.api#documentation": "

                            The ID of the Data Catalog in which the table resides.

                            " - } - }, - "IsRegisteredWithLakeFormation": { - "target": "com.amazonaws.glue#Boolean", + "Name": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            Indicates whether the table has been registered with AWS Lake Formation.

                            " + "smithy.api#documentation": "

                            The table name. For Hive compatibility, this must be entirely\n lowercase.

                            ", + "smithy.api#required": {} } }, - "LastAnalyzedTime": { - "target": "com.amazonaws.glue#Timestamp", + "DatabaseName": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The last time that column statistics were computed for this table.

                            " + "smithy.api#documentation": "

                            The name of the database where the table metadata resides.\n For Hive compatibility, this must be all lowercase.

                            " } }, - "ViewExpandedText": { - "target": "com.amazonaws.glue#ViewTextString", + "Description": { + "target": "com.amazonaws.glue#DescriptionString", "traits": { - "smithy.api#documentation": "

                            If the table is a view, the expanded text of the view; otherwise null.

                            " + "smithy.api#documentation": "

                            A description of the table.

                            " } }, "Owner": { @@ -14358,10 +16497,10 @@ "smithy.api#documentation": "

                            The owner of the table.

                            " } }, - "PartitionKeys": { - "target": "com.amazonaws.glue#ColumnList", + "CreateTime": { + "target": "com.amazonaws.glue#Timestamp", "traits": { - "smithy.api#documentation": "

                            A list of columns by which the table is partitioned. Only primitive\n types are supported as partition keys.

                            \n\t

                            When you create a table used by Amazon Athena, and you do not specify any\n partitionKeys, you must at least set the value of partitionKeys to\n an empty list. For example:

                            \n

                            \n \"PartitionKeys\": []\n

                            " + "smithy.api#documentation": "

                            The time when the table definition was created in the Data Catalog.

                            " } }, "UpdateTime": { @@ -14370,23 +16509,22 @@ "smithy.api#documentation": "

                            The last time that the table was updated.

                            " } }, - "ViewOriginalText": { - "target": "com.amazonaws.glue#ViewTextString", + "LastAccessTime": { + "target": "com.amazonaws.glue#Timestamp", "traits": { - "smithy.api#documentation": "

                            If the table is a view, the original text of the view; otherwise null.

                            " + "smithy.api#documentation": "

                            The last time that the table was accessed. This is usually taken from HDFS, and might not\n be reliable.

                            " } }, - "Name": { - "target": "com.amazonaws.glue#NameString", + "LastAnalyzedTime": { + "target": "com.amazonaws.glue#Timestamp", "traits": { - "smithy.api#documentation": "

                            The table name. For Hive compatibility, this must be entirely\n lowercase.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The last time that column statistics were computed for this table.

                            " } }, - "CreatedBy": { - "target": "com.amazonaws.glue#NameString", + "Retention": { + "target": "com.amazonaws.glue#NonNegativeInteger", "traits": { - "smithy.api#documentation": "

                            The person or entity who created the table.

                            " + "smithy.api#documentation": "

                            The retention time for this table.

                            " } }, "StorageDescriptor": { @@ -14395,28 +16533,28 @@ "smithy.api#documentation": "

                            A storage descriptor containing information about the physical storage\n of this table.

                            " } }, - "Description": { - "target": "com.amazonaws.glue#DescriptionString", + "PartitionKeys": { + "target": "com.amazonaws.glue#ColumnList", "traits": { - "smithy.api#documentation": "

                            A description of the table.

                            " + "smithy.api#documentation": "

                            A list of columns by which the table is partitioned. Only primitive\n types are supported as partition keys.

                            \n\t

                            When you create a table used by Amazon Athena, and you do not specify any\n partitionKeys, you must at least set the value of partitionKeys to\n an empty list. For example:

                            \n

                            \n \"PartitionKeys\": []\n

                            " } }, - "LastAccessTime": { - "target": "com.amazonaws.glue#Timestamp", + "ViewOriginalText": { + "target": "com.amazonaws.glue#ViewTextString", "traits": { - "smithy.api#documentation": "

                            The last time that the table was accessed. This is usually taken from HDFS, and might not\n be reliable.

                            " + "smithy.api#documentation": "

                            If the table is a view, the original text of the view; otherwise null.

                            " } }, - "Retention": { - "target": "com.amazonaws.glue#NonNegativeInteger", + "ViewExpandedText": { + "target": "com.amazonaws.glue#ViewTextString", "traits": { - "smithy.api#documentation": "

                            The retention time for this table.

                            " + "smithy.api#documentation": "

                            If the table is a view, the expanded text of the view; otherwise null.

                            " } }, - "CreateTime": { - "target": "com.amazonaws.glue#Timestamp", + "TableType": { + "target": "com.amazonaws.glue#TableTypeString", "traits": { - "smithy.api#documentation": "

                            The time when the table definition was created in the Data Catalog.

                            " + "smithy.api#documentation": "

                            The type of this table (EXTERNAL_TABLE, VIRTUAL_VIEW, etc.).

                            " } }, "Parameters": { @@ -14425,16 +16563,28 @@ "smithy.api#documentation": "

                            These key-value pairs define properties associated with the table.

                            " } }, - "TableType": { - "target": "com.amazonaws.glue#TableTypeString", + "CreatedBy": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The type of this table (EXTERNAL_TABLE, VIRTUAL_VIEW, etc.).

                            " + "smithy.api#documentation": "

                            The person or entity who created the table.

                            " } }, - "DatabaseName": { - "target": "com.amazonaws.glue#NameString", + "IsRegisteredWithLakeFormation": { + "target": "com.amazonaws.glue#Boolean", "traits": { - "smithy.api#documentation": "

                            The name of the database where the table metadata resides.\n For Hive compatibility, this must be all lowercase.

                            " + "smithy.api#documentation": "

                            Indicates whether the table has been registered with AWS Lake Formation.

                            " + } + }, + "TargetTable": { + "target": "com.amazonaws.glue#TableIdentifier", + "traits": { + "smithy.api#documentation": "

                            A TableIdentifier structure that describes a target table for resource linking.

                            " + } + }, + "CatalogId": { + "target": "com.amazonaws.glue#CatalogIdString", + "traits": { + "smithy.api#documentation": "

                            The ID of the Data Catalog in which the table resides.

                            " } } }, @@ -14445,17 +16595,17 @@ "com.amazonaws.glue#TableError": { "type": "structure", "members": { - "ErrorDetail": { - "target": "com.amazonaws.glue#ErrorDetail", - "traits": { - "smithy.api#documentation": "

                            The details about the error.

                            " - } - }, "TableName": { "target": "com.amazonaws.glue#NameString", "traits": { "smithy.api#documentation": "

                            The name of the table. For Hive compatibility, this must be entirely lowercase.

                            " } + }, + "ErrorDetail": { + "target": "com.amazonaws.glue#ErrorDetail", + "traits": { + "smithy.api#documentation": "

                            The details about the error.

                            " + } } }, "traits": { @@ -14471,6 +16621,12 @@ "com.amazonaws.glue#TableIdentifier": { "type": "structure", "members": { + "CatalogId": { + "target": "com.amazonaws.glue#CatalogIdString", + "traits": { + "smithy.api#documentation": "

                            The ID of the Data Catalog in which the table resides.

                            " + } + }, "DatabaseName": { "target": "com.amazonaws.glue#NameString", "traits": { @@ -14482,12 +16638,6 @@ "traits": { "smithy.api#documentation": "

                            The name of the target table.

                            " } - }, - "CatalogId": { - "target": "com.amazonaws.glue#CatalogIdString", - "traits": { - "smithy.api#documentation": "

                            The ID of the Data Catalog in which the table resides.

                            " - } } }, "traits": { @@ -14504,58 +16654,46 @@ "smithy.api#required": {} } }, - "StorageDescriptor": { - "target": "com.amazonaws.glue#StorageDescriptor", - "traits": { - "smithy.api#documentation": "

                            A storage descriptor containing information about the physical storage\n of this table.

                            " - } - }, - "Retention": { - "target": "com.amazonaws.glue#NonNegativeInteger", - "traits": { - "smithy.api#documentation": "

                            The retention time for this table.

                            " - } - }, "Description": { "target": "com.amazonaws.glue#DescriptionString", "traits": { "smithy.api#documentation": "

                            A description of the table.

                            " } }, - "Parameters": { - "target": "com.amazonaws.glue#ParametersMap", + "Owner": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            These key-value pairs define properties associated with the table.

                            " + "smithy.api#documentation": "

                            The table owner.

                            " } }, - "TableType": { - "target": "com.amazonaws.glue#TableTypeString", + "LastAccessTime": { + "target": "com.amazonaws.glue#Timestamp", "traits": { - "smithy.api#documentation": "

                            The type of this table (EXTERNAL_TABLE, VIRTUAL_VIEW, etc.).

                            " + "smithy.api#documentation": "

                            The last time that the table was accessed.

                            " } }, - "TargetTable": { - "target": "com.amazonaws.glue#TableIdentifier", + "LastAnalyzedTime": { + "target": "com.amazonaws.glue#Timestamp", "traits": { - "smithy.api#documentation": "

                            A TableIdentifier structure that describes a target table for resource linking.

                            " + "smithy.api#documentation": "

                            The last time that column statistics were computed for this table.

                            " } }, - "PartitionKeys": { - "target": "com.amazonaws.glue#ColumnList", + "Retention": { + "target": "com.amazonaws.glue#NonNegativeInteger", "traits": { - "smithy.api#documentation": "

                            A list of columns by which the table is partitioned. Only primitive\n types are supported as partition keys.

                            \n\t

                            When you create a table used by Amazon Athena, and you do not specify any\n partitionKeys, you must at least set the value of partitionKeys to\n an empty list. For example:

                            \n

                            \n \"PartitionKeys\": []\n

                            " + "smithy.api#documentation": "

                            The retention time for this table.

                            " } }, - "LastAccessTime": { - "target": "com.amazonaws.glue#Timestamp", + "StorageDescriptor": { + "target": "com.amazonaws.glue#StorageDescriptor", "traits": { - "smithy.api#documentation": "

                            The last time that the table was accessed.

                            " + "smithy.api#documentation": "

                            A storage descriptor containing information about the physical storage\n of this table.

                            " } }, - "Owner": { - "target": "com.amazonaws.glue#NameString", + "PartitionKeys": { + "target": "com.amazonaws.glue#ColumnList", "traits": { - "smithy.api#documentation": "

                            The table owner.

                            " + "smithy.api#documentation": "

                            A list of columns by which the table is partitioned. Only primitive\n types are supported as partition keys.

                            \n\t

                            When you create a table used by Amazon Athena, and you do not specify any\n partitionKeys, you must at least set the value of partitionKeys to\n an empty list. For example:

                            \n

                            \n \"PartitionKeys\": []\n

                            " } }, "ViewOriginalText": { @@ -14570,10 +16708,22 @@ "smithy.api#documentation": "

                            If the table is a view, the expanded text of the view; otherwise null.

                            " } }, - "LastAnalyzedTime": { - "target": "com.amazonaws.glue#Timestamp", + "TableType": { + "target": "com.amazonaws.glue#TableTypeString", "traits": { - "smithy.api#documentation": "

                            The last time that column statistics were computed for this table.

                            " + "smithy.api#documentation": "

                            The type of this table (EXTERNAL_TABLE, VIRTUAL_VIEW, etc.).

                            " + } + }, + "Parameters": { + "target": "com.amazonaws.glue#ParametersMap", + "traits": { + "smithy.api#documentation": "

                            These key-value pairs define properties associated with the table.

                            " + } + }, + "TargetTable": { + "target": "com.amazonaws.glue#TableIdentifier", + "traits": { + "smithy.api#documentation": "

                            A TableIdentifier structure that describes a target table for resource linking.

                            " } } }, @@ -14763,10 +16913,22 @@ "smithy.api#documentation": "

                            The unique identifier for the transform.

                            " } }, - "ExecutionTime": { - "target": "com.amazonaws.glue#ExecutionTime", + "TaskRunId": { + "target": "com.amazonaws.glue#HashString", "traits": { - "smithy.api#documentation": "

                            The amount of time (in seconds) that the task run consumed resources.

                            " + "smithy.api#documentation": "

                            The unique identifier for this task run.

                            " + } + }, + "Status": { + "target": "com.amazonaws.glue#TaskStatusType", + "traits": { + "smithy.api#documentation": "

                            The current status of the requested task run.

                            " + } + }, + "LogGroupName": { + "target": "com.amazonaws.glue#GenericString", + "traits": { + "smithy.api#documentation": "

                            The names of the log group for secure logging, associated with this task run.

                            " } }, "Properties": { @@ -14787,34 +16949,22 @@ "smithy.api#documentation": "

                            The date and time that this task run started.

                            " } }, - "CompletedOn": { - "target": "com.amazonaws.glue#Timestamp", - "traits": { - "smithy.api#documentation": "

                            The last point in time that the requested task run was completed.

                            " - } - }, - "Status": { - "target": "com.amazonaws.glue#TaskStatusType", - "traits": { - "smithy.api#documentation": "

                            The current status of the requested task run.

                            " - } - }, "LastModifiedOn": { "target": "com.amazonaws.glue#Timestamp", "traits": { "smithy.api#documentation": "

                            The last point in time that the requested task run was updated.

                            " } }, - "TaskRunId": { - "target": "com.amazonaws.glue#HashString", + "CompletedOn": { + "target": "com.amazonaws.glue#Timestamp", "traits": { - "smithy.api#documentation": "

                            The unique identifier for this task run.

                            " + "smithy.api#documentation": "

                            The last point in time that the requested task run was completed.

                            " } }, - "LogGroupName": { - "target": "com.amazonaws.glue#GenericString", + "ExecutionTime": { + "target": "com.amazonaws.glue#ExecutionTime", "traits": { - "smithy.api#documentation": "

                            The names of the log group for secure logging, associated with this task run.

                            " + "smithy.api#documentation": "

                            The amount of time (in seconds) that the task run consumed resources.

                            " } } }, @@ -14825,10 +16975,10 @@ "com.amazonaws.glue#TaskRunFilterCriteria": { "type": "structure", "members": { - "StartedAfter": { - "target": "com.amazonaws.glue#Timestamp", + "TaskRunType": { + "target": "com.amazonaws.glue#TaskType", "traits": { - "smithy.api#documentation": "

                            Filter on task runs started after this date.

                            " + "smithy.api#documentation": "

                            The type of task run.

                            " } }, "Status": { @@ -14843,10 +16993,10 @@ "smithy.api#documentation": "

                            Filter on task runs started before this date.

                            " } }, - "TaskRunType": { - "target": "com.amazonaws.glue#TaskType", + "StartedAfter": { + "target": "com.amazonaws.glue#Timestamp", "traits": { - "smithy.api#documentation": "

                            The type of task run.

                            " + "smithy.api#documentation": "

                            Filter on task runs started after this date.

                            " } } }, @@ -14863,10 +17013,16 @@ "com.amazonaws.glue#TaskRunProperties": { "type": "structure", "members": { - "FindMatchesTaskRunProperties": { - "target": "com.amazonaws.glue#FindMatchesTaskRunProperties", + "TaskType": { + "target": "com.amazonaws.glue#TaskType", "traits": { - "smithy.api#documentation": "

                            The configuration properties for a find matches task run.

                            " + "smithy.api#documentation": "

                            The type of task run.

                            " + } + }, + "ImportLabelsTaskRunProperties": { + "target": "com.amazonaws.glue#ImportLabelsTaskRunProperties", + "traits": { + "smithy.api#documentation": "

                            The configuration properties for an importing labels task run.

                            " } }, "ExportLabelsTaskRunProperties": { @@ -14881,16 +17037,10 @@ "smithy.api#documentation": "

                            The configuration properties for a labeling set generation task run.

                            " } }, - "ImportLabelsTaskRunProperties": { - "target": "com.amazonaws.glue#ImportLabelsTaskRunProperties", - "traits": { - "smithy.api#documentation": "

                            The configuration properties for an importing labels task run.

                            " - } - }, - "TaskType": { - "target": "com.amazonaws.glue#TaskType", + "FindMatchesTaskRunProperties": { + "target": "com.amazonaws.glue#FindMatchesTaskRunProperties", "traits": { - "smithy.api#documentation": "

                            The type of task run.

                            " + "smithy.api#documentation": "

                            The configuration properties for a find matches task run.

                            " } } }, @@ -14920,17 +17070,17 @@ "com.amazonaws.glue#TaskRunSortCriteria": { "type": "structure", "members": { - "SortDirection": { - "target": "com.amazonaws.glue#SortDirectionType", + "Column": { + "target": "com.amazonaws.glue#TaskRunSortColumnType", "traits": { - "smithy.api#documentation": "

                            The sort direction to be used to sort the list of task runs for the machine learning\n transform.

                            ", + "smithy.api#documentation": "

                            The column to be used to sort the list of task runs for the machine learning\n transform.

                            ", "smithy.api#required": {} } }, - "Column": { - "target": "com.amazonaws.glue#TaskRunSortColumnType", + "SortDirection": { + "target": "com.amazonaws.glue#SortDirectionType", "traits": { - "smithy.api#documentation": "

                            The column to be used to sort the list of task runs for the machine learning\n transform.

                            ", + "smithy.api#documentation": "

                            The sort direction to be used to sort the list of task runs for the machine learning\n transform.

                            ", "smithy.api#required": {} } } @@ -15031,17 +17181,17 @@ "com.amazonaws.glue#TransformEncryption": { "type": "structure", "members": { - "TaskRunSecurityConfigurationName": { - "target": "com.amazonaws.glue#NameString", - "traits": { - "smithy.api#documentation": "

                            The name of the security configuration.

                            " - } - }, "MlUserDataEncryption": { "target": "com.amazonaws.glue#MLUserDataEncryption", "traits": { "smithy.api#documentation": "

                            An MLUserDataEncryption object containing the encryption mode and customer-provided KMS key ID.

                            " } + }, + "TaskRunSecurityConfigurationName": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

                            The name of the security configuration.

                            " + } } }, "traits": { @@ -15051,16 +17201,10 @@ "com.amazonaws.glue#TransformFilterCriteria": { "type": "structure", "members": { - "GlueVersion": { - "target": "com.amazonaws.glue#GlueVersionString", - "traits": { - "smithy.api#documentation": "

                            This value determines which version of AWS Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see AWS Glue Versions in the developer guide.

                            " - } - }, - "CreatedAfter": { - "target": "com.amazonaws.glue#Timestamp", + "Name": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The time and date after which the transforms were created.

                            " + "smithy.api#documentation": "

                            A unique transform name that is used to filter the machine learning transforms.

                            " } }, "TransformType": { @@ -15069,10 +17213,16 @@ "smithy.api#documentation": "

                            The type of machine learning transform that is used to filter the machine learning\n transforms.

                            " } }, - "Schema": { - "target": "com.amazonaws.glue#TransformSchema", + "Status": { + "target": "com.amazonaws.glue#TransformStatusType", "traits": { - "smithy.api#documentation": "

                            Filters on datasets with a specific schema. The Map\n object is an array of key-value pairs representing the schema this transform accepts, where\n Column is the name of a column, and Type is the type of the data\n such as an integer or string. Has an upper bound of 100 columns.

                            " + "smithy.api#documentation": "

                            Filters the list of machine learning transforms by the last known status of the transforms (to indicate whether a transform can be used or not). One of \"NOT_READY\", \"READY\", or \"DELETING\".

                            " + } + }, + "GlueVersion": { + "target": "com.amazonaws.glue#GlueVersionString", + "traits": { + "smithy.api#documentation": "

                            This value determines which version of AWS Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see AWS Glue Versions in the developer guide.

                            " } }, "CreatedBefore": { @@ -15081,16 +17231,16 @@ "smithy.api#documentation": "

                            The time and date before which the transforms were created.

                            " } }, - "LastModifiedBefore": { + "CreatedAfter": { "target": "com.amazonaws.glue#Timestamp", "traits": { - "smithy.api#documentation": "

                            Filter on transforms last modified before this date.

                            " + "smithy.api#documentation": "

                            The time and date after which the transforms were created.

                            " } }, - "Status": { - "target": "com.amazonaws.glue#TransformStatusType", + "LastModifiedBefore": { + "target": "com.amazonaws.glue#Timestamp", "traits": { - "smithy.api#documentation": "

                            Filters the list of machine learning transforms by the last known status of the transforms (to indicate whether a transform can be used or not). One of \"NOT_READY\", \"READY\", or \"DELETING\".

                            " + "smithy.api#documentation": "

                            Filter on transforms last modified before this date.

                            " } }, "LastModifiedAfter": { @@ -15099,10 +17249,10 @@ "smithy.api#documentation": "

                            Filter on transforms last modified after this date.

                            " } }, - "Name": { - "target": "com.amazonaws.glue#NameString", + "Schema": { + "target": "com.amazonaws.glue#TransformSchema", "traits": { - "smithy.api#documentation": "

                            A unique transform name that is used to filter the machine learning transforms.

                            " + "smithy.api#documentation": "

                            Filters on datasets with a specific schema. The Map\n object is an array of key-value pairs representing the schema this transform accepts, where\n Column is the name of a column, and Type is the type of the data\n such as an integer or string. Has an upper bound of 100 columns.

                            " } } }, @@ -15185,17 +17335,17 @@ "com.amazonaws.glue#TransformSortCriteria": { "type": "structure", "members": { - "SortDirection": { - "target": "com.amazonaws.glue#SortDirectionType", + "Column": { + "target": "com.amazonaws.glue#TransformSortColumnType", "traits": { - "smithy.api#documentation": "

                            The sort direction to be used in the sorting criteria that are associated with the machine\n learning transform.

                            ", + "smithy.api#documentation": "

                            The column to be used in the sorting criteria that are associated with the machine\n learning transform.

                            ", "smithy.api#required": {} } }, - "Column": { - "target": "com.amazonaws.glue#TransformSortColumnType", + "SortDirection": { + "target": "com.amazonaws.glue#SortDirectionType", "traits": { - "smithy.api#documentation": "

                            The column to be used in the sorting criteria that are associated with the machine\n learning transform.

                            ", + "smithy.api#documentation": "

                            The sort direction to be used in the sorting criteria that are associated with the machine\n learning transform.

                            ", "smithy.api#required": {} } } @@ -15237,22 +17387,16 @@ "com.amazonaws.glue#Trigger": { "type": "structure", "members": { - "Type": { - "target": "com.amazonaws.glue#TriggerType", - "traits": { - "smithy.api#documentation": "

                            The type of trigger that this is.

                            " - } - }, - "Predicate": { - "target": "com.amazonaws.glue#Predicate", + "Name": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The predicate of this trigger, which defines when it will fire.

                            " + "smithy.api#documentation": "

                            The name of the trigger.

                            " } }, - "Name": { + "WorkflowName": { "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The name of the trigger.

                            " + "smithy.api#documentation": "

                            The name of the workflow associated with the trigger.

                            " } }, "Id": { @@ -15261,10 +17405,10 @@ "smithy.api#documentation": "

                            Reserved for future use.

                            " } }, - "Description": { - "target": "com.amazonaws.glue#DescriptionString", + "Type": { + "target": "com.amazonaws.glue#TriggerType", "traits": { - "smithy.api#documentation": "

                            A description of this trigger.

                            " + "smithy.api#documentation": "

                            The type of trigger that this is.

                            " } }, "State": { @@ -15273,16 +17417,16 @@ "smithy.api#documentation": "

                            The current state of the trigger.

                            " } }, - "Schedule": { - "target": "com.amazonaws.glue#GenericString", + "Description": { + "target": "com.amazonaws.glue#DescriptionString", "traits": { - "smithy.api#documentation": "

                            A cron expression used to specify the schedule (see Time-Based\n Schedules for Jobs and Crawlers. For example, to run\n something every day at 12:15 UTC, you would specify:\n cron(15 12 * * ? *).

                            " + "smithy.api#documentation": "

                            A description of this trigger.

                            " } }, - "WorkflowName": { - "target": "com.amazonaws.glue#NameString", + "Schedule": { + "target": "com.amazonaws.glue#GenericString", "traits": { - "smithy.api#documentation": "

                            The name of the workflow associated with the trigger.

                            " + "smithy.api#documentation": "

                            A cron expression used to specify the schedule (see Time-Based\n Schedules for Jobs and Crawlers. For example, to run\n something every day at 12:15 UTC, you would specify:\n cron(15 12 * * ? *).

                            " } }, "Actions": { @@ -15290,6 +17434,12 @@ "traits": { "smithy.api#documentation": "

                            The actions initiated by this trigger.

                            " } + }, + "Predicate": { + "target": "com.amazonaws.glue#Predicate", + "traits": { + "smithy.api#documentation": "

                            The predicate of this trigger, which defines when it will fire.

                            " + } } }, "traits": { @@ -15377,36 +17527,36 @@ "value": "ON_DEMAND", "name": "ON_DEMAND" } - ] - } - }, - "com.amazonaws.glue#TriggerUpdate": { - "type": "structure", - "members": { + ] + } + }, + "com.amazonaws.glue#TriggerUpdate": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

                            Reserved for future use.

                            " + } + }, + "Description": { + "target": "com.amazonaws.glue#DescriptionString", + "traits": { + "smithy.api#documentation": "

                            A description of this trigger.

                            " + } + }, "Schedule": { "target": "com.amazonaws.glue#GenericString", "traits": { "smithy.api#documentation": "

                            A cron expression used to specify the schedule (see Time-Based\n Schedules for Jobs and Crawlers. For example, to run\n something every day at 12:15 UTC, you would specify:\n cron(15 12 * * ? *).

                            " } }, - "Name": { - "target": "com.amazonaws.glue#NameString", - "traits": { - "smithy.api#documentation": "

                            Reserved for future use.

                            " - } - }, "Actions": { "target": "com.amazonaws.glue#ActionList", "traits": { "smithy.api#documentation": "

                            The actions initiated by this trigger.

                            " } }, - "Description": { - "target": "com.amazonaws.glue#DescriptionString", - "traits": { - "smithy.api#documentation": "

                            A description of this trigger.

                            " - } - }, "Predicate": { "target": "com.amazonaws.glue#Predicate", "traits": { @@ -15531,22 +17681,16 @@ "com.amazonaws.glue#UpdateClassifierRequest": { "type": "structure", "members": { - "XMLClassifier": { - "target": "com.amazonaws.glue#UpdateXMLClassifierRequest", - "traits": { - "smithy.api#documentation": "

                            An XMLClassifier object with updated fields.

                            " - } - }, "GrokClassifier": { "target": "com.amazonaws.glue#UpdateGrokClassifierRequest", "traits": { "smithy.api#documentation": "

                            A GrokClassifier object with updated fields.

                            " } }, - "CsvClassifier": { - "target": "com.amazonaws.glue#UpdateCsvClassifierRequest", + "XMLClassifier": { + "target": "com.amazonaws.glue#UpdateXMLClassifierRequest", "traits": { - "smithy.api#documentation": "

                            A CsvClassifier object with updated fields.

                            " + "smithy.api#documentation": "

                            An XMLClassifier object with updated fields.

                            " } }, "JsonClassifier": { @@ -15554,6 +17698,12 @@ "traits": { "smithy.api#documentation": "

                            A JsonClassifier object with updated fields.

                            " } + }, + "CsvClassifier": { + "target": "com.amazonaws.glue#UpdateCsvClassifierRequest", + "traits": { + "smithy.api#documentation": "

                            A CsvClassifier object with updated fields.

                            " + } } } }, @@ -15593,17 +17743,23 @@ "com.amazonaws.glue#UpdateColumnStatisticsForPartitionRequest": { "type": "structure", "members": { - "TableName": { + "CatalogId": { + "target": "com.amazonaws.glue#CatalogIdString", + "traits": { + "smithy.api#documentation": "

                            The ID of the Data Catalog where the partitions in question reside.\n If none is supplied, the AWS account ID is used by default.

                            " + } + }, + "DatabaseName": { "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The name of the partitions' table.

                            ", + "smithy.api#documentation": "

                            The name of the catalog database where the partitions reside.

                            ", "smithy.api#required": {} } }, - "ColumnStatisticsList": { - "target": "com.amazonaws.glue#UpdateColumnStatisticsList", + "TableName": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            A list of the column statistics.

                            ", + "smithy.api#documentation": "

                            The name of the partitions' table.

                            ", "smithy.api#required": {} } }, @@ -15614,18 +17770,12 @@ "smithy.api#required": {} } }, - "DatabaseName": { - "target": "com.amazonaws.glue#NameString", + "ColumnStatisticsList": { + "target": "com.amazonaws.glue#UpdateColumnStatisticsList", "traits": { - "smithy.api#documentation": "

                            The name of the catalog database where the partitions reside.

                            ", + "smithy.api#documentation": "

                            A list of the column statistics.

                            ", "smithy.api#required": {} } - }, - "CatalogId": { - "target": "com.amazonaws.glue#CatalogIdString", - "traits": { - "smithy.api#documentation": "

                            The ID of the Data Catalog where the partitions in question reside.\n If none is supplied, the AWS account ID is used by default.

                            " - } } } }, @@ -15672,30 +17822,30 @@ "com.amazonaws.glue#UpdateColumnStatisticsForTableRequest": { "type": "structure", "members": { - "TableName": { - "target": "com.amazonaws.glue#NameString", - "traits": { - "smithy.api#documentation": "

                            The name of the partitions' table.

                            ", - "smithy.api#required": {} - } - }, "CatalogId": { "target": "com.amazonaws.glue#CatalogIdString", "traits": { "smithy.api#documentation": "

                            The ID of the Data Catalog where the partitions in question reside.\n If none is supplied, the AWS account ID is used by default.

                            " } }, - "ColumnStatisticsList": { - "target": "com.amazonaws.glue#UpdateColumnStatisticsList", + "DatabaseName": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            A list of the column statistics.

                            ", + "smithy.api#documentation": "

                            The name of the catalog database where the partitions reside.

                            ", "smithy.api#required": {} } }, - "DatabaseName": { + "TableName": { "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The name of the catalog database where the partitions reside.

                            ", + "smithy.api#documentation": "

                            The name of the partitions' table.

                            ", + "smithy.api#required": {} + } + }, + "ColumnStatisticsList": { + "target": "com.amazonaws.glue#UpdateColumnStatisticsList", + "traits": { + "smithy.api#documentation": "

                            A list of the column statistics.

                            ", "smithy.api#required": {} } } @@ -15753,11 +17903,10 @@ "com.amazonaws.glue#UpdateConnectionRequest": { "type": "structure", "members": { - "ConnectionInput": { - "target": "com.amazonaws.glue#ConnectionInput", + "CatalogId": { + "target": "com.amazonaws.glue#CatalogIdString", "traits": { - "smithy.api#documentation": "

                            A ConnectionInput object that redefines the connection\n in question.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The ID of the Data Catalog in which the connection resides. If none is provided, the AWS\n account ID is used by default.

                            " } }, "Name": { @@ -15767,10 +17916,11 @@ "smithy.api#required": {} } }, - "CatalogId": { - "target": "com.amazonaws.glue#CatalogIdString", + "ConnectionInput": { + "target": "com.amazonaws.glue#ConnectionInput", "traits": { - "smithy.api#documentation": "

                            The ID of the Data Catalog in which the connection resides. If none is provided, the AWS\n account ID is used by default.

                            " + "smithy.api#documentation": "

                            A ConnectionInput object that redefines the connection\n in question.

                            ", + "smithy.api#required": {} } } } @@ -15811,28 +17961,17 @@ "com.amazonaws.glue#UpdateCrawlerRequest": { "type": "structure", "members": { - "Role": { - "target": "com.amazonaws.glue#Role", - "traits": { - "smithy.api#documentation": "

                            The IAM role or Amazon Resource Name (ARN) of an IAM role that is used by the new crawler\n to access customer resources.

                            " - } - }, - "TablePrefix": { - "target": "com.amazonaws.glue#TablePrefix", - "traits": { - "smithy.api#documentation": "

                            The table prefix used for catalog tables that are created.

                            " - } - }, - "Classifiers": { - "target": "com.amazonaws.glue#ClassifierNameList", + "Name": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            A list of custom classifiers that the user\n has registered. By default, all built-in classifiers are included in a crawl,\n but these custom classifiers always override the default classifiers\n for a given classification.

                            " + "smithy.api#documentation": "

                            Name of the new crawler.

                            ", + "smithy.api#required": {} } }, - "CrawlerSecurityConfiguration": { - "target": "com.amazonaws.glue#CrawlerSecurityConfiguration", + "Role": { + "target": "com.amazonaws.glue#Role", "traits": { - "smithy.api#documentation": "

                            The name of the SecurityConfiguration structure to be used by this\n crawler.

                            " + "smithy.api#documentation": "

                            The IAM role or Amazon Resource Name (ARN) of an IAM role that is used by the new crawler\n to access customer resources.

                            " } }, "DatabaseName": { @@ -15841,11 +17980,16 @@ "smithy.api#documentation": "

                            The AWS Glue database where results are stored, such as:\n arn:aws:daylight:us-east-1::database/sometable/*.

                            " } }, - "Name": { - "target": "com.amazonaws.glue#NameString", + "Description": { + "target": "com.amazonaws.glue#DescriptionStringRemovable", "traits": { - "smithy.api#documentation": "

                            Name of the new crawler.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            A description of the new crawler.

                            " + } + }, + "Targets": { + "target": "com.amazonaws.glue#CrawlerTargets", + "traits": { + "smithy.api#documentation": "

                            A list of targets to crawl.

                            " } }, "Schedule": { @@ -15854,10 +17998,16 @@ "smithy.api#documentation": "

                            A cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run\n something every day at 12:15 UTC, you would specify:\n cron(15 12 * * ? *).

                            " } }, - "RecrawlPolicy": { - "target": "com.amazonaws.glue#RecrawlPolicy", + "Classifiers": { + "target": "com.amazonaws.glue#ClassifierNameList", "traits": { - "smithy.api#documentation": "

                            A policy that specifies whether to crawl the entire dataset again, or to crawl only folders that were added since the last crawler run.

                            " + "smithy.api#documentation": "

                            A list of custom classifiers that the user\n has registered. By default, all built-in classifiers are included in a crawl,\n but these custom classifiers always override the default classifiers\n for a given classification.

                            " + } + }, + "TablePrefix": { + "target": "com.amazonaws.glue#TablePrefix", + "traits": { + "smithy.api#documentation": "

                            The table prefix used for catalog tables that are created.

                            " } }, "SchemaChangePolicy": { @@ -15866,22 +18016,22 @@ "smithy.api#documentation": "

                            The policy for the crawler's update and deletion behavior.

                            " } }, - "Configuration": { - "target": "com.amazonaws.glue#CrawlerConfiguration", + "RecrawlPolicy": { + "target": "com.amazonaws.glue#RecrawlPolicy", "traits": { - "smithy.api#documentation": "

                            Crawler configuration information. This versioned JSON string allows users\n to specify aspects of a crawler's behavior.\n For more information, see Configuring a Crawler.

                            " + "smithy.api#documentation": "

                            A policy that specifies whether to crawl the entire dataset again, or to crawl only folders that were added since the last crawler run.

                            " } }, - "Targets": { - "target": "com.amazonaws.glue#CrawlerTargets", + "Configuration": { + "target": "com.amazonaws.glue#CrawlerConfiguration", "traits": { - "smithy.api#documentation": "

                            A list of targets to crawl.

                            " + "smithy.api#documentation": "

                            Crawler configuration information. This versioned JSON string allows users\n to specify aspects of a crawler's behavior.\n For more information, see Configuring a Crawler.

                            " } }, - "Description": { - "target": "com.amazonaws.glue#DescriptionStringRemovable", + "CrawlerSecurityConfiguration": { + "target": "com.amazonaws.glue#CrawlerSecurityConfiguration", "traits": { - "smithy.api#documentation": "

                            A description of the new crawler.

                            " + "smithy.api#documentation": "

                            The name of the SecurityConfiguration structure to be used by this\n crawler.

                            " } } } @@ -15922,18 +18072,18 @@ "com.amazonaws.glue#UpdateCrawlerScheduleRequest": { "type": "structure", "members": { - "Schedule": { - "target": "com.amazonaws.glue#CronExpression", - "traits": { - "smithy.api#documentation": "

                            The updated cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run\n something every day at 12:15 UTC, you would specify:\n cron(15 12 * * ? *).

                            " - } - }, "CrawlerName": { "target": "com.amazonaws.glue#NameString", "traits": { "smithy.api#documentation": "

                            The name of the crawler whose schedule to update.

                            ", "smithy.api#required": {} } + }, + "Schedule": { + "target": "com.amazonaws.glue#CronExpression", + "traits": { + "smithy.api#documentation": "

                            The updated cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run\n something every day at 12:15 UTC, you would specify:\n cron(15 12 * * ? *).

                            " + } } } }, @@ -15951,16 +18101,22 @@ "smithy.api#required": {} } }, - "ContainsHeader": { - "target": "com.amazonaws.glue#CsvHeaderOption", + "Delimiter": { + "target": "com.amazonaws.glue#CsvColumnDelimiter", "traits": { - "smithy.api#documentation": "

                            Indicates whether the CSV file contains a header.

                            " + "smithy.api#documentation": "

                            A custom symbol to denote what separates each column entry in the row.

                            " } }, - "DisableValueTrimming": { - "target": "com.amazonaws.glue#NullableBoolean", + "QuoteSymbol": { + "target": "com.amazonaws.glue#CsvQuoteSymbol", "traits": { - "smithy.api#documentation": "

                            Specifies not to trim values before identifying the type of column values. The default value is true.

                            " + "smithy.api#documentation": "

                            A custom symbol to denote what combines content into a single column value. It must be\n different from the column delimiter.

                            " + } + }, + "ContainsHeader": { + "target": "com.amazonaws.glue#CsvHeaderOption", + "traits": { + "smithy.api#documentation": "

                            Indicates whether the CSV file contains a header.

                            " } }, "Header": { @@ -15969,22 +18125,16 @@ "smithy.api#documentation": "

                            A list of strings representing column names.

                            " } }, - "AllowSingleColumn": { + "DisableValueTrimming": { "target": "com.amazonaws.glue#NullableBoolean", "traits": { - "smithy.api#documentation": "

                            Enables the processing of files that contain only one column.

                            " - } - }, - "Delimiter": { - "target": "com.amazonaws.glue#CsvColumnDelimiter", - "traits": { - "smithy.api#documentation": "

                            A custom symbol to denote what separates each column entry in the row.

                            " + "smithy.api#documentation": "

                            Specifies not to trim values before identifying the type of column values. The default value is true.

                            " } }, - "QuoteSymbol": { - "target": "com.amazonaws.glue#CsvQuoteSymbol", + "AllowSingleColumn": { + "target": "com.amazonaws.glue#NullableBoolean", "traits": { - "smithy.api#documentation": "

                            A custom symbol to denote what combines content into a single column value. It must be\n different from the column delimiter.

                            " + "smithy.api#documentation": "

                            Enables the processing of files that contain only one column.

                            " } } }, @@ -16024,11 +18174,10 @@ "com.amazonaws.glue#UpdateDatabaseRequest": { "type": "structure", "members": { - "DatabaseInput": { - "target": "com.amazonaws.glue#DatabaseInput", + "CatalogId": { + "target": "com.amazonaws.glue#CatalogIdString", "traits": { - "smithy.api#documentation": "

                            A DatabaseInput object specifying the new definition\n of the metadata database in the catalog.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The ID of the Data Catalog in which the metadata database resides. If none is provided,\n the AWS account ID is used by default.

                            " } }, "Name": { @@ -16038,10 +18187,11 @@ "smithy.api#required": {} } }, - "CatalogId": { - "target": "com.amazonaws.glue#CatalogIdString", + "DatabaseInput": { + "target": "com.amazonaws.glue#DatabaseInput", "traits": { - "smithy.api#documentation": "

                            The ID of the Data Catalog in which the metadata database resides. If none is provided,\n the AWS account ID is used by default.

                            " + "smithy.api#documentation": "

                            A DatabaseInput object specifying the new definition\n of the metadata database in the catalog.

                            ", + "smithy.api#required": {} } } } @@ -16082,10 +18232,11 @@ "com.amazonaws.glue#UpdateDevEndpointRequest": { "type": "structure", "members": { - "AddArguments": { - "target": "com.amazonaws.glue#MapValue", + "EndpointName": { + "target": "com.amazonaws.glue#GenericString", "traits": { - "smithy.api#documentation": "

                            The map of arguments to add the map of arguments used to configure the\n DevEndpoint.

                            \n\t\t\n\t

                            Valid arguments are:

                            \n\t
                              \n
                            • \n

                              \n \"--enable-glue-datacatalog\": \"\"\n

                              \n
                            • \n
                            • \n

                              \n \"GLUE_PYTHON_VERSION\": \"3\"\n

                              \n
                            • \n
                            • \n

                              \n \"GLUE_PYTHON_VERSION\": \"2\"\n

                              \n
                            • \n
                            \n\t\n

                            You can specify a version of Python support for development endpoints by using the Arguments parameter in the CreateDevEndpoint or UpdateDevEndpoint APIs. If no arguments are provided, the version defaults to Python 2.

                            " + "smithy.api#documentation": "

                            The name of the DevEndpoint to be updated.

                            ", + "smithy.api#required": {} } }, "PublicKey": { @@ -16094,29 +18245,22 @@ "smithy.api#documentation": "

                            The public key for the DevEndpoint to use.

                            " } }, - "CustomLibraries": { - "target": "com.amazonaws.glue#DevEndpointCustomLibraries", - "traits": { - "smithy.api#documentation": "

                            Custom Python or Java libraries to be loaded in the DevEndpoint.

                            " - } - }, "AddPublicKeys": { "target": "com.amazonaws.glue#PublicKeysList", "traits": { "smithy.api#documentation": "

                            The list of public keys for the DevEndpoint to use.

                            " } }, - "EndpointName": { - "target": "com.amazonaws.glue#GenericString", + "DeletePublicKeys": { + "target": "com.amazonaws.glue#PublicKeysList", "traits": { - "smithy.api#documentation": "

                            The name of the DevEndpoint to be updated.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The list of public keys to be deleted from the DevEndpoint.

                            " } }, - "DeletePublicKeys": { - "target": "com.amazonaws.glue#PublicKeysList", + "CustomLibraries": { + "target": "com.amazonaws.glue#DevEndpointCustomLibraries", "traits": { - "smithy.api#documentation": "

                            The list of public keys to be deleted from the DevEndpoint.

                            " + "smithy.api#documentation": "

                            Custom Python or Java libraries to be loaded in the DevEndpoint.

                            " } }, "UpdateEtlLibraries": { @@ -16130,6 +18274,12 @@ "traits": { "smithy.api#documentation": "

                            The list of argument keys to be deleted from the map of arguments used to configure the\n DevEndpoint.

                            " } + }, + "AddArguments": { + "target": "com.amazonaws.glue#MapValue", + "traits": { + "smithy.api#documentation": "

                            The map of arguments to add the map of arguments used to configure the\n DevEndpoint.

                            \n\t\t\n\t

                            Valid arguments are:

                            \n\t
                              \n
                            • \n

                              \n \"--enable-glue-datacatalog\": \"\"\n

                              \n
                            • \n
                            • \n

                              \n \"GLUE_PYTHON_VERSION\": \"3\"\n

                              \n
                            • \n
                            • \n

                              \n \"GLUE_PYTHON_VERSION\": \"2\"\n

                              \n
                            • \n
                            \n\t\n

                            You can specify a version of Python support for development endpoints by using the Arguments parameter in the CreateDevEndpoint or UpdateDevEndpoint APIs. If no arguments are provided, the version defaults to Python 2.

                            " + } } } }, @@ -16147,18 +18297,18 @@ "smithy.api#required": {} } }, - "GrokPattern": { - "target": "com.amazonaws.glue#GrokPattern", - "traits": { - "smithy.api#documentation": "

                            The grok pattern used by this classifier.

                            " - } - }, "Classification": { "target": "com.amazonaws.glue#Classification", "traits": { "smithy.api#documentation": "

                            An identifier of the data format that the classifier matches, such as Twitter, JSON, Omniture logs,\n Amazon CloudWatch Logs, and so on.

                            " } }, + "GrokPattern": { + "target": "com.amazonaws.glue#GrokPattern", + "traits": { + "smithy.api#documentation": "

                            The grok pattern used by this classifier.

                            " + } + }, "CustomPatterns": { "target": "com.amazonaws.glue#CustomPatterns", "traits": { @@ -16202,17 +18352,17 @@ "com.amazonaws.glue#UpdateJobRequest": { "type": "structure", "members": { - "JobUpdate": { - "target": "com.amazonaws.glue#JobUpdate", + "JobName": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            Specifies the values with which to update the job definition.

                            ", + "smithy.api#documentation": "

                            The name of the job definition to update.

                            ", "smithy.api#required": {} } }, - "JobName": { - "target": "com.amazonaws.glue#NameString", + "JobUpdate": { + "target": "com.amazonaws.glue#JobUpdate", "traits": { - "smithy.api#documentation": "

                            The name of the job definition to update.

                            ", + "smithy.api#documentation": "

                            Specifies the values with which to update the job definition.

                            ", "smithy.api#required": {} } } @@ -16282,22 +18432,17 @@ "com.amazonaws.glue#UpdateMLTransformRequest": { "type": "structure", "members": { - "GlueVersion": { - "target": "com.amazonaws.glue#GlueVersionString", - "traits": { - "smithy.api#documentation": "

                            This value determines which version of AWS Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see AWS Glue Versions in the developer guide.

                            " - } - }, - "Role": { - "target": "com.amazonaws.glue#RoleString", + "TransformId": { + "target": "com.amazonaws.glue#HashString", "traits": { - "smithy.api#documentation": "

                            The name or Amazon Resource Name (ARN) of the IAM role with the required\n permissions.

                            " + "smithy.api#documentation": "

                            A unique identifier that was generated when the transform was created.

                            ", + "smithy.api#required": {} } }, - "NumberOfWorkers": { - "target": "com.amazonaws.glue#NullableInteger", + "Name": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The number of workers of a defined workerType that are allocated when this task runs.

                            " + "smithy.api#documentation": "

                            The unique name that you gave the transform when you created it.

                            " } }, "Description": { @@ -16306,10 +18451,22 @@ "smithy.api#documentation": "

                            A description of the transform. The default is an empty string.

                            " } }, - "Timeout": { - "target": "com.amazonaws.glue#Timeout", + "Parameters": { + "target": "com.amazonaws.glue#TransformParameters", "traits": { - "smithy.api#documentation": "

                            The timeout for a task run for this transform in minutes. This is the maximum time that a task run for this transform can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

                            " + "smithy.api#documentation": "

                            The configuration parameters that are specific to the transform type (algorithm) used.\n Conditionally dependent on the transform type.

                            " + } + }, + "Role": { + "target": "com.amazonaws.glue#RoleString", + "traits": { + "smithy.api#documentation": "

                            The name or Amazon Resource Name (ARN) of the IAM role with the required\n permissions.

                            " + } + }, + "GlueVersion": { + "target": "com.amazonaws.glue#GlueVersionString", + "traits": { + "smithy.api#documentation": "

                            This value determines which version of AWS Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see AWS Glue Versions in the developer guide.

                            " } }, "MaxCapacity": { @@ -16324,17 +18481,16 @@ "smithy.api#documentation": "

                            The type of predefined worker that is allocated when this task runs. Accepts a value of Standard, G.1X, or G.2X.

                            \n\t
                              \n
                            • \n

                              For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

                              \n
                            • \n
                            • \n

                              For the G.1X worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker.

                              \n
                            • \n
                            • \n

                              For the G.2X worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker.

                              \n
                            • \n
                            " } }, - "Name": { - "target": "com.amazonaws.glue#NameString", + "NumberOfWorkers": { + "target": "com.amazonaws.glue#NullableInteger", "traits": { - "smithy.api#documentation": "

                            The unique name that you gave the transform when you created it.

                            " + "smithy.api#documentation": "

                            The number of workers of a defined workerType that are allocated when this task runs.

                            " } }, - "TransformId": { - "target": "com.amazonaws.glue#HashString", + "Timeout": { + "target": "com.amazonaws.glue#Timeout", "traits": { - "smithy.api#documentation": "

                            A unique identifier that was generated when the transform was created.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The timeout for a task run for this transform in minutes. This is the maximum time that a task run for this transform can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

                            " } }, "MaxRetries": { @@ -16342,12 +18498,6 @@ "traits": { "smithy.api#documentation": "

                            The maximum number of times to retry a task for this transform after a task run fails.

                            " } - }, - "Parameters": { - "target": "com.amazonaws.glue#TransformParameters", - "traits": { - "smithy.api#documentation": "

                            The configuration parameters that are specific to the transform type (algorithm) used.\n Conditionally dependent on the transform type.

                            " - } } } }, @@ -16394,6 +18544,19 @@ "com.amazonaws.glue#UpdatePartitionRequest": { "type": "structure", "members": { + "CatalogId": { + "target": "com.amazonaws.glue#CatalogIdString", + "traits": { + "smithy.api#documentation": "

                            The ID of the Data Catalog where the partition to be updated resides. If none is provided,\n the AWS account ID is used by default.

                            " + } + }, + "DatabaseName": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

                            The name of the catalog database in which the table in question\n resides.

                            ", + "smithy.api#required": {} + } + }, "TableName": { "target": "com.amazonaws.glue#NameString", "traits": { @@ -16401,38 +18564,172 @@ "smithy.api#required": {} } }, + "PartitionValueList": { + "target": "com.amazonaws.glue#BoundedPartitionValueList", + "traits": { + "smithy.api#documentation": "

                            List of partition key values that define the partition to update.

                            ", + "smithy.api#required": {} + } + }, "PartitionInput": { "target": "com.amazonaws.glue#PartitionInput", "traits": { "smithy.api#documentation": "

                            The new partition object to update the partition to.

                            \n\t\n\t

                            The Values property can't be changed. If you want to change the partition key values for a partition, delete and recreate the partition.

                            ", "smithy.api#required": {} } + } + } + }, + "com.amazonaws.glue#UpdatePartitionResponse": { + "type": "structure", + "members": {} + }, + "com.amazonaws.glue#UpdateRegistry": { + "type": "operation", + "input": { + "target": "com.amazonaws.glue#UpdateRegistryInput" + }, + "output": { + "target": "com.amazonaws.glue#UpdateRegistryResponse" + }, + "errors": [ + { + "target": "com.amazonaws.glue#AccessDeniedException" }, - "PartitionValueList": { - "target": "com.amazonaws.glue#BoundedPartitionValueList", + { + "target": "com.amazonaws.glue#ConcurrentModificationException" + }, + { + "target": "com.amazonaws.glue#EntityNotFoundException" + }, + { + "target": "com.amazonaws.glue#InternalServiceException" + }, + { + "target": "com.amazonaws.glue#InvalidInputException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Updates an existing registry which is used to hold a collection of schemas. The updated properties relate to the registry, and do not modify any of the schemas within the registry.

                            " + } + }, + "com.amazonaws.glue#UpdateRegistryInput": { + "type": "structure", + "members": { + "RegistryId": { + "target": "com.amazonaws.glue#RegistryId", "traits": { - "smithy.api#documentation": "

                            List of partition key values that define the partition to update.

                            ", + "smithy.api#documentation": "

                            This is a wrapper structure that may contain the registry name and Amazon Resource Name (ARN).

                            ", "smithy.api#required": {} } }, - "CatalogId": { - "target": "com.amazonaws.glue#CatalogIdString", + "Description": { + "target": "com.amazonaws.glue#DescriptionString", "traits": { - "smithy.api#documentation": "

                            The ID of the Data Catalog where the partition to be updated resides. If none is provided,\n the AWS account ID is used by default.

                            " + "smithy.api#documentation": "

                            A description of the registry. If description is not provided, this field will not be updated.

                            ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.glue#UpdateRegistryResponse": { + "type": "structure", + "members": { + "RegistryName": { + "target": "com.amazonaws.glue#SchemaRegistryNameString", + "traits": { + "smithy.api#documentation": "

                            The name of the updated registry.

                            " } }, - "DatabaseName": { - "target": "com.amazonaws.glue#NameString", + "RegistryArn": { + "target": "com.amazonaws.glue#GlueResourceArn", "traits": { - "smithy.api#documentation": "

                            The name of the catalog database in which the table in question\n resides.

                            ", + "smithy.api#documentation": "

                            The Amazon Resource name (ARN) of the updated registry.

                            " + } + } + } + }, + "com.amazonaws.glue#UpdateSchema": { + "type": "operation", + "input": { + "target": "com.amazonaws.glue#UpdateSchemaInput" + }, + "output": { + "target": "com.amazonaws.glue#UpdateSchemaResponse" + }, + "errors": [ + { + "target": "com.amazonaws.glue#AccessDeniedException" + }, + { + "target": "com.amazonaws.glue#ConcurrentModificationException" + }, + { + "target": "com.amazonaws.glue#EntityNotFoundException" + }, + { + "target": "com.amazonaws.glue#InternalServiceException" + }, + { + "target": "com.amazonaws.glue#InvalidInputException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Updates the description, compatibility setting, or version checkpoint for a schema set.

                            \n\t

                            For updating the compatibility setting, the call will not validate compatibility for the entire set of schema versions with the new compatibility setting. If the value for Compatibility is provided, the VersionNumber (a checkpoint) is also required. The API will validate the checkpoint version number for consistency.

                            \n

                            If the value for the VersionNumber (checkpoint) is provided, Compatibility is optional and this can be used to set/reset a checkpoint for the schema.

                            \n\t

                            This update will happen only if the schema is in the AVAILABLE state.

                            " + } + }, + "com.amazonaws.glue#UpdateSchemaInput": { + "type": "structure", + "members": { + "SchemaId": { + "target": "com.amazonaws.glue#SchemaId", + "traits": { + "smithy.api#documentation": "

                            This is a wrapper structure to contain schema identity fields. The structure contains:

                            \n\t
                              \n
                            • \n

                              SchemaId$SchemaArn: The Amazon Resource Name (ARN) of the schema. One of SchemaArn or SchemaName has to be provided.

                              \n
                            • \n
                            • \n

                              SchemaId$SchemaName: The name of the schema. One of SchemaArn or SchemaName has to be provided.

                              \n
                            • \n
                            ", "smithy.api#required": {} } + }, + "SchemaVersionNumber": { + "target": "com.amazonaws.glue#SchemaVersionNumber", + "traits": { + "smithy.api#documentation": "

                            Version number required for check pointing. One of VersionNumber or Compatibility has to be provided.

                            " + } + }, + "Compatibility": { + "target": "com.amazonaws.glue#Compatibility", + "traits": { + "smithy.api#documentation": "

                            The new compatibility setting for the schema.

                            " + } + }, + "Description": { + "target": "com.amazonaws.glue#DescriptionString", + "traits": { + "smithy.api#documentation": "

                            The new description for the schema.

                            " + } } } }, - "com.amazonaws.glue#UpdatePartitionResponse": { + "com.amazonaws.glue#UpdateSchemaResponse": { "type": "structure", - "members": {} + "members": { + "SchemaArn": { + "target": "com.amazonaws.glue#GlueResourceArn", + "traits": { + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the schema.

                            " + } + }, + "SchemaName": { + "target": "com.amazonaws.glue#SchemaRegistryNameString", + "traits": { + "smithy.api#documentation": "

                            The name of the schema.

                            " + } + }, + "RegistryName": { + "target": "com.amazonaws.glue#SchemaRegistryNameString", + "traits": { + "smithy.api#documentation": "

                            The name of the registry that contains the schema.

                            " + } + } + } }, "com.amazonaws.glue#UpdateTable": { "type": "operation", @@ -16485,18 +18782,18 @@ "smithy.api#required": {} } }, - "SkipArchive": { - "target": "com.amazonaws.glue#BooleanNullable", - "traits": { - "smithy.api#documentation": "

                            By default, UpdateTable always creates an archived version of the table\n before updating it. However, if skipArchive is set to true,\n UpdateTable does not create the archived version.

                            " - } - }, "TableInput": { "target": "com.amazonaws.glue#TableInput", "traits": { "smithy.api#documentation": "

                            An updated TableInput object to define the metadata table\n in the catalog.

                            ", "smithy.api#required": {} } + }, + "SkipArchive": { + "target": "com.amazonaws.glue#BooleanNullable", + "traits": { + "smithy.api#documentation": "

                            By default, UpdateTable always creates an archived version of the table\n before updating it. However, if skipArchive is set to true,\n UpdateTable does not create the archived version.

                            " + } } } }, @@ -16536,17 +18833,17 @@ "com.amazonaws.glue#UpdateTriggerRequest": { "type": "structure", "members": { - "TriggerUpdate": { - "target": "com.amazonaws.glue#TriggerUpdate", + "Name": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The new values with which to update the trigger.

                            ", + "smithy.api#documentation": "

                            The name of the trigger to update.

                            ", "smithy.api#required": {} } }, - "Name": { - "target": "com.amazonaws.glue#NameString", + "TriggerUpdate": { + "target": "com.amazonaws.glue#TriggerUpdate", "traits": { - "smithy.api#documentation": "

                            The name of the trigger to update.

                            ", + "smithy.api#documentation": "

                            The new values with which to update the trigger.

                            ", "smithy.api#required": {} } } @@ -16595,11 +18892,10 @@ "com.amazonaws.glue#UpdateUserDefinedFunctionRequest": { "type": "structure", "members": { - "FunctionName": { - "target": "com.amazonaws.glue#NameString", + "CatalogId": { + "target": "com.amazonaws.glue#CatalogIdString", "traits": { - "smithy.api#documentation": "

                            The name of the function.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The ID of the Data Catalog where the function to be updated is located. If none is\n provided, the AWS account ID is used by default.

                            " } }, "DatabaseName": { @@ -16609,10 +18905,11 @@ "smithy.api#required": {} } }, - "CatalogId": { - "target": "com.amazonaws.glue#CatalogIdString", + "FunctionName": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The ID of the Data Catalog where the function to be updated is located. If none is\n provided, the AWS account ID is used by default.

                            " + "smithy.api#documentation": "

                            The name of the function.

                            ", + "smithy.api#required": {} } }, "FunctionInput": { @@ -16660,12 +18957,6 @@ "com.amazonaws.glue#UpdateWorkflowRequest": { "type": "structure", "members": { - "DefaultRunProperties": { - "target": "com.amazonaws.glue#WorkflowRunProperties", - "traits": { - "smithy.api#documentation": "

                            A collection of properties to be used as part of each execution of the workflow.

                            " - } - }, "Name": { "target": "com.amazonaws.glue#NameString", "traits": { @@ -16673,17 +18964,23 @@ "smithy.api#required": {} } }, - "MaxConcurrentRuns": { - "target": "com.amazonaws.glue#NullableInteger", - "traits": { - "smithy.api#documentation": "

                            You can use this parameter to prevent unwanted multiple updates to data, to control costs, or in some cases, to prevent exceeding the maximum number of concurrent runs of any of the component jobs. If you leave this parameter blank, there is no limit to the number of concurrent workflow runs.

                            " - } - }, "Description": { "target": "com.amazonaws.glue#GenericString", "traits": { "smithy.api#documentation": "

                            The description of the workflow.

                            " } + }, + "DefaultRunProperties": { + "target": "com.amazonaws.glue#WorkflowRunProperties", + "traits": { + "smithy.api#documentation": "

                            A collection of properties to be used as part of each execution of the workflow.

                            " + } + }, + "MaxConcurrentRuns": { + "target": "com.amazonaws.glue#NullableInteger", + "traits": { + "smithy.api#documentation": "

                            You can use this parameter to prevent unwanted multiple updates to data, to control costs, or in some cases, to prevent exceeding the maximum number of concurrent runs of any of the component jobs. If you leave this parameter blank, there is no limit to the number of concurrent workflow runs.

                            " + } } } }, @@ -16701,6 +18998,13 @@ "com.amazonaws.glue#UpdateXMLClassifierRequest": { "type": "structure", "members": { + "Name": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

                            The name of the classifier.

                            ", + "smithy.api#required": {} + } + }, "Classification": { "target": "com.amazonaws.glue#Classification", "traits": { @@ -16712,71 +19016,67 @@ "traits": { "smithy.api#documentation": "

                            The XML tag designating the element that contains each record in an XML document being\n parsed. This cannot identify a self-closing element (closed by />). An empty\n row element that contains only attributes can be parsed as long as it ends with a closing tag\n (for example, is okay, but\n is not).

                            " } - }, - "Name": { - "target": "com.amazonaws.glue#NameString", - "traits": { - "smithy.api#documentation": "

                            The name of the classifier.

                            ", - "smithy.api#required": {} - } } }, "traits": { "smithy.api#documentation": "

                            Specifies an XML classifier to be updated.

                            " } }, + "com.amazonaws.glue#UpdatedTimestamp": { + "type": "string" + }, "com.amazonaws.glue#UriString": { "type": "string" }, "com.amazonaws.glue#UserDefinedFunction": { "type": "structure", "members": { - "ResourceUris": { - "target": "com.amazonaws.glue#ResourceUriList", + "FunctionName": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The resource URIs for the function.

                            " + "smithy.api#documentation": "

                            The name of the function.

                            " } }, - "OwnerName": { + "DatabaseName": { "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The owner of the function.

                            " + "smithy.api#documentation": "

                            The name of the catalog database that contains the function.

                            " } }, - "FunctionName": { + "ClassName": { "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The name of the function.

                            " + "smithy.api#documentation": "

                            The Java class that contains the function code.

                            " } }, - "CatalogId": { - "target": "com.amazonaws.glue#CatalogIdString", + "OwnerName": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The ID of the Data Catalog in which the function resides.

                            " + "smithy.api#documentation": "

                            The owner of the function.

                            " } }, - "CreateTime": { - "target": "com.amazonaws.glue#Timestamp", + "OwnerType": { + "target": "com.amazonaws.glue#PrincipalType", "traits": { - "smithy.api#documentation": "

                            The time at which the function was created.

                            " + "smithy.api#documentation": "

                            The owner type.

                            " } }, - "DatabaseName": { - "target": "com.amazonaws.glue#NameString", + "CreateTime": { + "target": "com.amazonaws.glue#Timestamp", "traits": { - "smithy.api#documentation": "

                            The name of the catalog database that contains the function.

                            " + "smithy.api#documentation": "

                            The time at which the function was created.

                            " } }, - "ClassName": { - "target": "com.amazonaws.glue#NameString", + "ResourceUris": { + "target": "com.amazonaws.glue#ResourceUriList", "traits": { - "smithy.api#documentation": "

                            The Java class that contains the function code.

                            " + "smithy.api#documentation": "

                            The resource URIs for the function.

                            " } }, - "OwnerType": { - "target": "com.amazonaws.glue#PrincipalType", + "CatalogId": { + "target": "com.amazonaws.glue#CatalogIdString", "traits": { - "smithy.api#documentation": "

                            The owner type.

                            " + "smithy.api#documentation": "

                            The ID of the Data Catalog in which the function resides.

                            " } } }, @@ -16787,16 +19087,22 @@ "com.amazonaws.glue#UserDefinedFunctionInput": { "type": "structure", "members": { + "FunctionName": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

                            The name of the function.

                            " + } + }, "ClassName": { "target": "com.amazonaws.glue#NameString", "traits": { "smithy.api#documentation": "

                            The Java class that contains the function code.

                            " } }, - "FunctionName": { + "OwnerName": { "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The name of the function.

                            " + "smithy.api#documentation": "

                            The owner of the function.

                            " } }, "OwnerType": { @@ -16810,12 +19116,6 @@ "traits": { "smithy.api#documentation": "

                            The resource URIs for the function.

                            " } - }, - "OwnerName": { - "target": "com.amazonaws.glue#NameString", - "traits": { - "smithy.api#documentation": "

                            The owner of the function.

                            " - } } }, "traits": { @@ -16861,6 +19161,15 @@ "com.amazonaws.glue#VersionId": { "type": "long" }, + "com.amazonaws.glue#VersionLongNumber": { + "type": "long", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 100000 + } + } + }, "com.amazonaws.glue#VersionMismatchException": { "type": "structure", "members": { @@ -16886,6 +19195,16 @@ "smithy.api#pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" } }, + "com.amazonaws.glue#VersionsString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100000 + }, + "smithy.api#pattern": "[1-9][0-9]*|[1-9][0-9]*-[1-9][0-9]*" + } + }, "com.amazonaws.glue#ViewTextString": { "type": "string", "traits": { @@ -16914,16 +19233,10 @@ "com.amazonaws.glue#Workflow": { "type": "structure", "members": { - "CreatedOn": { - "target": "com.amazonaws.glue#TimestampValue", - "traits": { - "smithy.api#documentation": "

                            The date and time when the workflow was created.

                            " - } - }, - "LastRun": { - "target": "com.amazonaws.glue#WorkflowRun", + "Name": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The information about the last execution of the workflow.

                            " + "smithy.api#documentation": "

                            The name of the workflow representing the flow.

                            " } }, "Description": { @@ -16932,16 +19245,28 @@ "smithy.api#documentation": "

                            A description of the workflow.

                            " } }, + "DefaultRunProperties": { + "target": "com.amazonaws.glue#WorkflowRunProperties", + "traits": { + "smithy.api#documentation": "

                            A collection of properties to be used as part of each execution of the workflow.

                            " + } + }, + "CreatedOn": { + "target": "com.amazonaws.glue#TimestampValue", + "traits": { + "smithy.api#documentation": "

                            The date and time when the workflow was created.

                            " + } + }, "LastModifiedOn": { "target": "com.amazonaws.glue#TimestampValue", "traits": { "smithy.api#documentation": "

                            The date and time when the workflow was last modified.

                            " } }, - "DefaultRunProperties": { - "target": "com.amazonaws.glue#WorkflowRunProperties", + "LastRun": { + "target": "com.amazonaws.glue#WorkflowRun", "traits": { - "smithy.api#documentation": "

                            A collection of properties to be used as part of each execution of the workflow.

                            " + "smithy.api#documentation": "

                            The information about the last execution of the workflow.

                            " } }, "Graph": { @@ -16950,12 +19275,6 @@ "smithy.api#documentation": "

                            The graph representing all the AWS Glue components that belong to the workflow as nodes and directed\n connections between them as edges.

                            " } }, - "Name": { - "target": "com.amazonaws.glue#NameString", - "traits": { - "smithy.api#documentation": "

                            The name of the workflow representing the flow.

                            " - } - }, "MaxConcurrentRuns": { "target": "com.amazonaws.glue#NullableInteger", "traits": { @@ -17002,16 +19321,22 @@ "com.amazonaws.glue#WorkflowRun": { "type": "structure", "members": { - "Status": { - "target": "com.amazonaws.glue#WorkflowRunStatus", + "Name": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The status of the workflow run.

                            " + "smithy.api#documentation": "

                            Name of the workflow that was executed.

                            " } }, - "Graph": { - "target": "com.amazonaws.glue#WorkflowGraph", + "WorkflowRunId": { + "target": "com.amazonaws.glue#IdString", "traits": { - "smithy.api#documentation": "

                            The graph representing all the AWS Glue components that belong to the workflow as nodes and directed\n connections between them as edges.

                            " + "smithy.api#documentation": "

                            The ID of this workflow run.

                            " + } + }, + "PreviousRunId": { + "target": "com.amazonaws.glue#IdString", + "traits": { + "smithy.api#documentation": "

                            The ID of the previous workflow run.

                            " } }, "WorkflowRunProperties": { @@ -17026,22 +19351,22 @@ "smithy.api#documentation": "

                            The date and time when the workflow run was started.

                            " } }, - "Name": { - "target": "com.amazonaws.glue#NameString", + "CompletedOn": { + "target": "com.amazonaws.glue#TimestampValue", "traits": { - "smithy.api#documentation": "

                            Name of the workflow that was executed.

                            " + "smithy.api#documentation": "

                            The date and time when the workflow run completed.

                            " } }, - "PreviousRunId": { - "target": "com.amazonaws.glue#IdString", + "Status": { + "target": "com.amazonaws.glue#WorkflowRunStatus", "traits": { - "smithy.api#documentation": "

                            The ID of the previous workflow run.

                            " + "smithy.api#documentation": "

                            The status of the workflow run.

                            " } }, - "CompletedOn": { - "target": "com.amazonaws.glue#TimestampValue", + "ErrorMessage": { + "target": "com.amazonaws.glue#ErrorString", "traits": { - "smithy.api#documentation": "

                            The date and time when the workflow run completed.

                            " + "smithy.api#documentation": "

                            This error message describes any error that may have occurred in starting the workflow run. Currently the only error message is \"Concurrent runs exceeded for workflow: foo.\"

                            " } }, "Statistics": { @@ -17050,16 +19375,10 @@ "smithy.api#documentation": "

                            The statistics of the run.

                            " } }, - "WorkflowRunId": { - "target": "com.amazonaws.glue#IdString", - "traits": { - "smithy.api#documentation": "

                            The ID of this workflow run.

                            " - } - }, - "ErrorMessage": { - "target": "com.amazonaws.glue#ErrorString", + "Graph": { + "target": "com.amazonaws.glue#WorkflowGraph", "traits": { - "smithy.api#documentation": "

                            This error message describes any error that may have occurred in starting the workflow run. Currently the only error message is \"Concurrent runs exceeded for workflow: foo.\"

                            " + "smithy.api#documentation": "

                            The graph representing all the AWS Glue components that belong to the workflow as nodes and directed\n connections between them as edges.

                            " } } }, @@ -17079,12 +19398,6 @@ "com.amazonaws.glue#WorkflowRunStatistics": { "type": "structure", "members": { - "FailedActions": { - "target": "com.amazonaws.glue#IntegerValue", - "traits": { - "smithy.api#documentation": "

                            Total number of Actions that have failed.

                            " - } - }, "TotalActions": { "target": "com.amazonaws.glue#IntegerValue", "traits": { @@ -17097,10 +19410,10 @@ "smithy.api#documentation": "

                            Total number of Actions that timed out.

                            " } }, - "SucceededActions": { + "FailedActions": { "target": "com.amazonaws.glue#IntegerValue", "traits": { - "smithy.api#documentation": "

                            Total number of Actions that have succeeded.

                            " + "smithy.api#documentation": "

                            Total number of Actions that have failed.

                            " } }, "StoppedActions": { @@ -17109,6 +19422,12 @@ "smithy.api#documentation": "

                            Total number of Actions that have stopped.

                            " } }, + "SucceededActions": { + "target": "com.amazonaws.glue#IntegerValue", + "traits": { + "smithy.api#documentation": "

                            Total number of Actions that have succeeded.

                            " + } + }, "RunningActions": { "target": "com.amazonaws.glue#IntegerValue", "traits": { @@ -17174,42 +19493,42 @@ "com.amazonaws.glue#XMLClassifier": { "type": "structure", "members": { - "Version": { - "target": "com.amazonaws.glue#VersionId", + "Name": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

                            The version of this classifier.

                            " + "smithy.api#documentation": "

                            The name of the classifier.

                            ", + "smithy.api#required": {} } }, - "LastUpdated": { - "target": "com.amazonaws.glue#Timestamp", + "Classification": { + "target": "com.amazonaws.glue#Classification", "traits": { - "smithy.api#documentation": "

                            The time that this classifier was last updated.

                            " + "smithy.api#documentation": "

                            An identifier of the data format that the classifier matches.

                            ", + "smithy.api#required": {} } }, - "RowTag": { - "target": "com.amazonaws.glue#RowTag", + "CreationTime": { + "target": "com.amazonaws.glue#Timestamp", "traits": { - "smithy.api#documentation": "

                            The XML tag designating the element that contains each record in an XML document being\n parsed. This can't identify a self-closing element (closed by />). An empty\n row element that contains only attributes can be parsed as long as it ends with a closing tag\n (for example, is okay, but\n is not).

                            " + "smithy.api#documentation": "

                            The time that this classifier was registered.

                            " } }, - "Name": { - "target": "com.amazonaws.glue#NameString", + "LastUpdated": { + "target": "com.amazonaws.glue#Timestamp", "traits": { - "smithy.api#documentation": "

                            The name of the classifier.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The time that this classifier was last updated.

                            " } }, - "CreationTime": { - "target": "com.amazonaws.glue#Timestamp", + "Version": { + "target": "com.amazonaws.glue#VersionId", "traits": { - "smithy.api#documentation": "

                            The time that this classifier was registered.

                            " + "smithy.api#documentation": "

                            The version of this classifier.

                            " } }, - "Classification": { - "target": "com.amazonaws.glue#Classification", + "RowTag": { + "target": "com.amazonaws.glue#RowTag", "traits": { - "smithy.api#documentation": "

                            An identifier of the data format that the classifier matches.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The XML tag designating the element that contains each record in an XML document being\n parsed. This can't identify a self-closing element (closed by />). An empty\n row element that contains only attributes can be parsed as long as it ends with a closing tag\n (for example, is okay, but\n is not).

                            " } } }, diff --git a/codegen/sdk-codegen/aws-models/kafka.2018-11-14.json b/codegen/sdk-codegen/aws-models/kafka.2018-11-14.json index e0616d0dc17d..838858bfa587 100644 --- a/codegen/sdk-codegen/aws-models/kafka.2018-11-14.json +++ b/codegen/sdk-codegen/aws-models/kafka.2018-11-14.json @@ -585,7 +585,7 @@ "EnhancedMonitoring": { "target": "com.amazonaws.kafka#EnhancedMonitoring", "traits": { - "smithy.api#documentation": "

                            Specifies which metrics are gathered for the MSK cluster. This property has three possible values: DEFAULT, PER_BROKER, and PER_TOPIC_PER_BROKER. For a list of the metrics associated with each of these three levels of monitoring, see Monitoring.

                            ", + "smithy.api#documentation": "

                            Specifies which metrics are gathered for the MSK cluster. This property has the following possible values: DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION. For a list of the metrics associated with each of these levels of monitoring, see Monitoring.

                            ", "smithy.api#jsonName": "enhancedMonitoring" } } @@ -998,7 +998,7 @@ "EnhancedMonitoring": { "target": "com.amazonaws.kafka#EnhancedMonitoring", "traits": { - "smithy.api#documentation": "

                            Specifies the level of monitoring for the MSK cluster. The possible values are DEFAULT, PER_BROKER, and PER_TOPIC_PER_BROKER.

                            ", + "smithy.api#documentation": "

                            Specifies the level of monitoring for the MSK cluster. The possible values are DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION.

                            ", "smithy.api#jsonName": "enhancedMonitoring" } }, @@ -1726,7 +1726,7 @@ "com.amazonaws.kafka#EnhancedMonitoring": { "type": "string", "traits": { - "smithy.api#documentation": "

                            Specifies which metrics are gathered for the MSK cluster. This property has three possible values: DEFAULT, PER_BROKER, and PER_TOPIC_PER_BROKER. For a list of the metrics associated with each of these three levels of monitoring, see Monitoring.

                            ", + "smithy.api#documentation": "

                            Specifies which metrics are gathered for the MSK cluster. This property has the following possible values: DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION. For a list of the metrics associated with each of these levels of monitoring, see Monitoring.

                            ", "smithy.api#enum": [ { "value": "DEFAULT", @@ -1739,6 +1739,10 @@ { "value": "PER_TOPIC_PER_BROKER", "name": "PER_TOPIC_PER_BROKER" + }, + { + "value": "PER_TOPIC_PER_PARTITION", + "name": "PER_TOPIC_PER_PARTITION" } ] } diff --git a/codegen/sdk-codegen/aws-models/kinesis-analytics-v2.2018-05-23.json b/codegen/sdk-codegen/aws-models/kinesis-analytics-v2.2018-05-23.json index fbec4b439514..d58c6736e3b6 100644 --- a/codegen/sdk-codegen/aws-models/kinesis-analytics-v2.2018-05-23.json +++ b/codegen/sdk-codegen/aws-models/kinesis-analytics-v2.2018-05-23.json @@ -64,17 +64,17 @@ "com.amazonaws.kinesisanalyticsv2#AddApplicationCloudWatchLoggingOptionRequest": { "type": "structure", "members": { - "CurrentApplicationVersionId": { - "target": "com.amazonaws.kinesisanalyticsv2#ApplicationVersionId", + "ApplicationName": { + "target": "com.amazonaws.kinesisanalyticsv2#ApplicationName", "traits": { - "smithy.api#documentation": "

                            The version ID of the Kinesis Data Analytics application. You can retrieve the application version ID using \n DescribeApplication.

                            ", + "smithy.api#documentation": "

                            The Kinesis Data Analytics application name.

                            ", "smithy.api#required": {} } }, - "ApplicationName": { - "target": "com.amazonaws.kinesisanalyticsv2#ApplicationName", + "CurrentApplicationVersionId": { + "target": "com.amazonaws.kinesisanalyticsv2#ApplicationVersionId", "traits": { - "smithy.api#documentation": "

                            The Kinesis Data Analytics application name.

                            ", + "smithy.api#documentation": "

                            The version ID of the Kinesis Data Analytics application. You can retrieve the application version ID using \n DescribeApplication.

                            ", "smithy.api#required": {} } }, @@ -174,17 +174,17 @@ "com.amazonaws.kinesisanalyticsv2#AddApplicationInputProcessingConfigurationRequest": { "type": "structure", "members": { - "CurrentApplicationVersionId": { - "target": "com.amazonaws.kinesisanalyticsv2#ApplicationVersionId", + "ApplicationName": { + "target": "com.amazonaws.kinesisanalyticsv2#ApplicationName", "traits": { - "smithy.api#documentation": "

                            The version of the application to which you want to add the input processing\n configuration. You can use the DescribeApplication operation to get the\n current application version. If the version specified is not the current version, the\n ConcurrentModificationException is returned.

                            ", + "smithy.api#documentation": "

                            The name of the application to which you want to add the input processing\n configuration.

                            ", "smithy.api#required": {} } }, - "ApplicationName": { - "target": "com.amazonaws.kinesisanalyticsv2#ApplicationName", + "CurrentApplicationVersionId": { + "target": "com.amazonaws.kinesisanalyticsv2#ApplicationVersionId", "traits": { - "smithy.api#documentation": "

                            The name of the application to which you want to add the input processing\n configuration.

                            ", + "smithy.api#documentation": "

                            The version of the application to which you want to add the input processing\n configuration. You can use the DescribeApplication operation to get the\n current application version. If the version specified is not the current version, the\n ConcurrentModificationException is returned.

                            ", "smithy.api#required": {} } }, @@ -207,6 +207,12 @@ "com.amazonaws.kinesisanalyticsv2#AddApplicationInputProcessingConfigurationResponse": { "type": "structure", "members": { + "ApplicationARN": { + "target": "com.amazonaws.kinesisanalyticsv2#ResourceARN", + "traits": { + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the application.

                            " + } + }, "ApplicationVersionId": { "target": "com.amazonaws.kinesisanalyticsv2#ApplicationVersionId", "traits": { @@ -219,12 +225,6 @@ "smithy.api#documentation": "

                            The input ID that is associated with the application input. This is the ID that Kinesis Data Analytics assigns \n to each input configuration that you add to your\n application.

                            " } }, - "ApplicationARN": { - "target": "com.amazonaws.kinesisanalyticsv2#ResourceARN", - "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the application.

                            " - } - }, "InputProcessingConfigurationDescription": { "target": "com.amazonaws.kinesisanalyticsv2#InputProcessingConfigurationDescription", "traits": { @@ -262,12 +262,6 @@ "com.amazonaws.kinesisanalyticsv2#AddApplicationInputResponse": { "type": "structure", "members": { - "InputDescriptions": { - "target": "com.amazonaws.kinesisanalyticsv2#InputDescriptions", - "traits": { - "smithy.api#documentation": "

                            Describes the application input configuration. \n \n \n

                            " - } - }, "ApplicationARN": { "target": "com.amazonaws.kinesisanalyticsv2#ResourceARN", "traits": { @@ -279,6 +273,12 @@ "traits": { "smithy.api#documentation": "

                            Provides the current application version.

                            " } + }, + "InputDescriptions": { + "target": "com.amazonaws.kinesisanalyticsv2#InputDescriptions", + "traits": { + "smithy.api#documentation": "

                            Describes the application input configuration. \n \n \n

                            " + } } } }, @@ -314,17 +314,17 @@ "com.amazonaws.kinesisanalyticsv2#AddApplicationOutputRequest": { "type": "structure", "members": { - "CurrentApplicationVersionId": { - "target": "com.amazonaws.kinesisanalyticsv2#ApplicationVersionId", + "ApplicationName": { + "target": "com.amazonaws.kinesisanalyticsv2#ApplicationName", "traits": { - "smithy.api#documentation": "

                            The version of the application to which you want to add the output configuration. You can\n use the DescribeApplication operation to get the current application\n version. If the version specified is not the current version, the\n ConcurrentModificationException is returned.

                            ", + "smithy.api#documentation": "

                            The name of the application to which you want to add the output configuration.

                            ", "smithy.api#required": {} } }, - "ApplicationName": { - "target": "com.amazonaws.kinesisanalyticsv2#ApplicationName", + "CurrentApplicationVersionId": { + "target": "com.amazonaws.kinesisanalyticsv2#ApplicationVersionId", "traits": { - "smithy.api#documentation": "

                            The name of the application to which you want to add the output configuration.

                            ", + "smithy.api#documentation": "

                            The version of the application to which you want to add the output configuration. You can\n use the DescribeApplication operation to get the current application\n version. If the version specified is not the current version, the\n ConcurrentModificationException is returned.

                            ", "smithy.api#required": {} } }, @@ -346,17 +346,17 @@ "smithy.api#documentation": "

                            The application Amazon Resource Name (ARN).

                            " } }, - "OutputDescriptions": { - "target": "com.amazonaws.kinesisanalyticsv2#OutputDescriptions", - "traits": { - "smithy.api#documentation": "

                            Describes the application output configuration.\n For more information, \n see Configuring Application Output. \n \n

                            " - } - }, "ApplicationVersionId": { "target": "com.amazonaws.kinesisanalyticsv2#ApplicationVersionId", "traits": { "smithy.api#documentation": "

                            The updated application version ID. Kinesis Data Analytics increments this ID when the\n application is updated.

                            " } + }, + "OutputDescriptions": { + "target": "com.amazonaws.kinesisanalyticsv2#OutputDescriptions", + "traits": { + "smithy.api#documentation": "

                            Describes the application output configuration.\n For more information, \n see Configuring Application Output. \n \n

                            " + } } } }, @@ -392,13 +392,6 @@ "com.amazonaws.kinesisanalyticsv2#AddApplicationReferenceDataSourceRequest": { "type": "structure", "members": { - "ReferenceDataSource": { - "target": "com.amazonaws.kinesisanalyticsv2#ReferenceDataSource", - "traits": { - "smithy.api#documentation": "

                            The reference data source can be an object in your Amazon S3 bucket. Kinesis Data Analytics reads the object and copies the data \n into the in-application table that is created. You provide an S3 bucket, object key name, and the resulting \n in-application table that is \n created.

                            ", - "smithy.api#required": {} - } - }, "ApplicationName": { "target": "com.amazonaws.kinesisanalyticsv2#ApplicationName", "traits": { @@ -412,16 +405,23 @@ "smithy.api#documentation": "

                            The version of the application for which you are adding the reference data source. You can\n use the DescribeApplication operation to get the current application\n version. If the version specified is not the current version, the\n ConcurrentModificationException is returned.

                            ", "smithy.api#required": {} } + }, + "ReferenceDataSource": { + "target": "com.amazonaws.kinesisanalyticsv2#ReferenceDataSource", + "traits": { + "smithy.api#documentation": "

                            The reference data source can be an object in your Amazon S3 bucket. Kinesis Data Analytics reads the object and copies the data \n into the in-application table that is created. You provide an S3 bucket, object key name, and the resulting \n in-application table that is \n created.

                            ", + "smithy.api#required": {} + } } } }, "com.amazonaws.kinesisanalyticsv2#AddApplicationReferenceDataSourceResponse": { "type": "structure", "members": { - "ReferenceDataSourceDescriptions": { - "target": "com.amazonaws.kinesisanalyticsv2#ReferenceDataSourceDescriptions", + "ApplicationARN": { + "target": "com.amazonaws.kinesisanalyticsv2#ResourceARN", "traits": { - "smithy.api#documentation": "

                            Describes reference data sources configured for the application. \n \n \n \n

                            " + "smithy.api#documentation": "

                            The application Amazon Resource Name (ARN).

                            " } }, "ApplicationVersionId": { @@ -430,10 +430,10 @@ "smithy.api#documentation": "

                            The updated application version ID. Kinesis Data Analytics increments this ID when\n the application is updated.

                            " } }, - "ApplicationARN": { - "target": "com.amazonaws.kinesisanalyticsv2#ResourceARN", + "ReferenceDataSourceDescriptions": { + "target": "com.amazonaws.kinesisanalyticsv2#ReferenceDataSourceDescriptions", "traits": { - "smithy.api#documentation": "

                            The application Amazon Resource Name (ARN).

                            " + "smithy.api#documentation": "

                            Describes reference data sources configured for the application. \n \n \n \n

                            " } } } @@ -470,17 +470,17 @@ "com.amazonaws.kinesisanalyticsv2#AddApplicationVpcConfigurationRequest": { "type": "structure", "members": { - "CurrentApplicationVersionId": { - "target": "com.amazonaws.kinesisanalyticsv2#ApplicationVersionId", + "ApplicationName": { + "target": "com.amazonaws.kinesisanalyticsv2#ApplicationName", "traits": { - "smithy.api#documentation": "

                            The version of the application to which you want to add the VPC\n configuration. You can use the DescribeApplication operation to get the\n current application version. If the version specified is not the current version, the\n ConcurrentModificationException is returned.

                            ", + "smithy.api#documentation": "

                            The name of an existing application.

                            ", "smithy.api#required": {} } }, - "ApplicationName": { - "target": "com.amazonaws.kinesisanalyticsv2#ApplicationName", + "CurrentApplicationVersionId": { + "target": "com.amazonaws.kinesisanalyticsv2#ApplicationVersionId", "traits": { - "smithy.api#documentation": "

                            The name of an existing application.

                            ", + "smithy.api#documentation": "

                            The version of the application to which you want to add the VPC\n configuration. You can use the DescribeApplication operation to get the\n current application version. If the version specified is not the current version, the\n ConcurrentModificationException is returned.

                            ", "smithy.api#required": {} } }, @@ -496,12 +496,6 @@ "com.amazonaws.kinesisanalyticsv2#AddApplicationVpcConfigurationResponse": { "type": "structure", "members": { - "VpcConfigurationDescription": { - "target": "com.amazonaws.kinesisanalyticsv2#VpcConfigurationDescription", - "traits": { - "smithy.api#documentation": "

                            The parameters of the new VPC configuration.

                            " - } - }, "ApplicationARN": { "target": "com.amazonaws.kinesisanalyticsv2#ResourceARN", "traits": { @@ -513,6 +507,12 @@ "traits": { "smithy.api#documentation": "

                            Provides the current application version. Kinesis Data Analytics updates the ApplicationVersionId each time you update the application.

                            " } + }, + "VpcConfigurationDescription": { + "target": "com.amazonaws.kinesisanalyticsv2#VpcConfigurationDescription", + "traits": { + "smithy.api#documentation": "

                            The parameters of the new VPC configuration.

                            " + } } } }, @@ -581,6 +581,18 @@ "com.amazonaws.kinesisanalyticsv2#ApplicationConfiguration": { "type": "structure", "members": { + "SqlApplicationConfiguration": { + "target": "com.amazonaws.kinesisanalyticsv2#SqlApplicationConfiguration", + "traits": { + "smithy.api#documentation": "

                            The creation and update parameters for a SQL-based Kinesis Data Analytics application.

                            " + } + }, + "FlinkApplicationConfiguration": { + "target": "com.amazonaws.kinesisanalyticsv2#FlinkApplicationConfiguration", + "traits": { + "smithy.api#documentation": "

                            The creation and update parameters for a Flink-based Kinesis Data Analytics application.

                            " + } + }, "EnvironmentProperties": { "target": "com.amazonaws.kinesisanalyticsv2#EnvironmentProperties", "traits": { @@ -594,29 +606,17 @@ "smithy.api#required": {} } }, - "VpcConfigurations": { - "target": "com.amazonaws.kinesisanalyticsv2#VpcConfigurations", - "traits": { - "smithy.api#documentation": "

                            The array of descriptions of VPC configurations available to the application.

                            " - } - }, - "SqlApplicationConfiguration": { - "target": "com.amazonaws.kinesisanalyticsv2#SqlApplicationConfiguration", - "traits": { - "smithy.api#documentation": "

                            The creation and update parameters for a SQL-based Kinesis Data Analytics application.

                            " - } - }, - "FlinkApplicationConfiguration": { - "target": "com.amazonaws.kinesisanalyticsv2#FlinkApplicationConfiguration", - "traits": { - "smithy.api#documentation": "

                            The creation and update parameters for a Flink-based Kinesis Data Analytics application.

                            " - } - }, "ApplicationSnapshotConfiguration": { "target": "com.amazonaws.kinesisanalyticsv2#ApplicationSnapshotConfiguration", "traits": { "smithy.api#documentation": "

                            Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics application.

                            " } + }, + "VpcConfigurations": { + "target": "com.amazonaws.kinesisanalyticsv2#VpcConfigurations", + "traits": { + "smithy.api#documentation": "

                            The array of descriptions of VPC configurations available to the application.

                            " + } } }, "traits": { @@ -626,30 +626,18 @@ "com.amazonaws.kinesisanalyticsv2#ApplicationConfigurationDescription": { "type": "structure", "members": { - "ApplicationCodeConfigurationDescription": { - "target": "com.amazonaws.kinesisanalyticsv2#ApplicationCodeConfigurationDescription", - "traits": { - "smithy.api#documentation": "

                            The details about the application code for a Flink-based Kinesis Data Analytics application.

                            " - } - }, - "VpcConfigurationDescriptions": { - "target": "com.amazonaws.kinesisanalyticsv2#VpcConfigurationDescriptions", - "traits": { - "smithy.api#documentation": "

                            The array of descriptions of VPC configurations available to the application.

                            " - } - }, - "ApplicationSnapshotConfigurationDescription": { - "target": "com.amazonaws.kinesisanalyticsv2#ApplicationSnapshotConfigurationDescription", - "traits": { - "smithy.api#documentation": "

                            Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics application.

                            " - } - }, "SqlApplicationConfigurationDescription": { "target": "com.amazonaws.kinesisanalyticsv2#SqlApplicationConfigurationDescription", "traits": { "smithy.api#documentation": "

                            The details about inputs, outputs, and reference data sources for a SQL-based Kinesis Data Analytics application.

                            " } }, + "ApplicationCodeConfigurationDescription": { + "target": "com.amazonaws.kinesisanalyticsv2#ApplicationCodeConfigurationDescription", + "traits": { + "smithy.api#documentation": "

                            The details about the application code for a Flink-based Kinesis Data Analytics application.

                            " + } + }, "RunConfigurationDescription": { "target": "com.amazonaws.kinesisanalyticsv2#RunConfigurationDescription", "traits": { @@ -667,6 +655,18 @@ "traits": { "smithy.api#documentation": "

                            Describes execution properties for a Flink-based Kinesis Data Analytics application.

                            " } + }, + "ApplicationSnapshotConfigurationDescription": { + "target": "com.amazonaws.kinesisanalyticsv2#ApplicationSnapshotConfigurationDescription", + "traits": { + "smithy.api#documentation": "

                            Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics application.

                            " + } + }, + "VpcConfigurationDescriptions": { + "target": "com.amazonaws.kinesisanalyticsv2#VpcConfigurationDescriptions", + "traits": { + "smithy.api#documentation": "

                            The array of descriptions of VPC configurations available to the application.

                            " + } } }, "traits": { @@ -676,10 +676,10 @@ "com.amazonaws.kinesisanalyticsv2#ApplicationConfigurationUpdate": { "type": "structure", "members": { - "EnvironmentPropertyUpdates": { - "target": "com.amazonaws.kinesisanalyticsv2#EnvironmentPropertyUpdates", + "SqlApplicationConfigurationUpdate": { + "target": "com.amazonaws.kinesisanalyticsv2#SqlApplicationConfigurationUpdate", "traits": { - "smithy.api#documentation": "

                            Describes updates to the environment properties for a Flink-based Kinesis Data Analytics application.

                            " + "smithy.api#documentation": "

                            Describes updates to a SQL-based Kinesis Data Analytics application's\n configuration.

                            " } }, "ApplicationCodeConfigurationUpdate": { @@ -688,10 +688,16 @@ "smithy.api#documentation": "

                            Describes updates to a Flink-based Kinesis Data Analytics application's code\n configuration.

                            " } }, - "SqlApplicationConfigurationUpdate": { - "target": "com.amazonaws.kinesisanalyticsv2#SqlApplicationConfigurationUpdate", + "FlinkApplicationConfigurationUpdate": { + "target": "com.amazonaws.kinesisanalyticsv2#FlinkApplicationConfigurationUpdate", "traits": { - "smithy.api#documentation": "

                            Describes updates to a SQL-based Kinesis Data Analytics application's\n configuration.

                            " + "smithy.api#documentation": "

                            Describes updates to a Flink-based Kinesis Data Analytics application's configuration.

                            " + } + }, + "EnvironmentPropertyUpdates": { + "target": "com.amazonaws.kinesisanalyticsv2#EnvironmentPropertyUpdates", + "traits": { + "smithy.api#documentation": "

                            Describes updates to the environment properties for a Flink-based Kinesis Data Analytics application.

                            " } }, "ApplicationSnapshotConfigurationUpdate": { @@ -705,12 +711,6 @@ "traits": { "smithy.api#documentation": "

                            Updates to the array of descriptions of VPC configurations available to the application.

                            " } - }, - "FlinkApplicationConfigurationUpdate": { - "target": "com.amazonaws.kinesisanalyticsv2#FlinkApplicationConfigurationUpdate", - "traits": { - "smithy.api#documentation": "

                            Describes updates to a Flink-based Kinesis Data Analytics application's configuration.

                            " - } } }, "traits": { @@ -729,6 +729,26 @@ "com.amazonaws.kinesisanalyticsv2#ApplicationDetail": { "type": "structure", "members": { + "ApplicationARN": { + "target": "com.amazonaws.kinesisanalyticsv2#ResourceARN", + "traits": { + "smithy.api#documentation": "

                            The ARN of the application.

                            ", + "smithy.api#required": {} + } + }, + "ApplicationDescription": { + "target": "com.amazonaws.kinesisanalyticsv2#ApplicationDescription", + "traits": { + "smithy.api#documentation": "

                            The description of the application.

                            " + } + }, + "ApplicationName": { + "target": "com.amazonaws.kinesisanalyticsv2#ApplicationName", + "traits": { + "smithy.api#documentation": "

                            The name of the application.

                            ", + "smithy.api#required": {} + } + }, "RuntimeEnvironment": { "target": "com.amazonaws.kinesisanalyticsv2#RuntimeEnvironment", "traits": { @@ -742,10 +762,11 @@ "smithy.api#documentation": "

                            Specifies the IAM role that the application uses to access external resources.

                            " } }, - "LastUpdateTimestamp": { - "target": "com.amazonaws.kinesisanalyticsv2#Timestamp", + "ApplicationStatus": { + "target": "com.amazonaws.kinesisanalyticsv2#ApplicationStatus", "traits": { - "smithy.api#documentation": "

                            The current timestamp when the application was last updated.

                            " + "smithy.api#documentation": "

                            The status of the application.

                            ", + "smithy.api#required": {} } }, "ApplicationVersionId": { @@ -755,36 +776,16 @@ "smithy.api#required": {} } }, - "ApplicationName": { - "target": "com.amazonaws.kinesisanalyticsv2#ApplicationName", - "traits": { - "smithy.api#documentation": "

                            The name of the application.

                            ", - "smithy.api#required": {} - } - }, "CreateTimestamp": { "target": "com.amazonaws.kinesisanalyticsv2#Timestamp", "traits": { "smithy.api#documentation": "

                            The current timestamp when the application was created.

                            " } }, - "ApplicationDescription": { - "target": "com.amazonaws.kinesisanalyticsv2#ApplicationDescription", - "traits": { - "smithy.api#documentation": "

                            The description of the application.

                            " - } - }, - "CloudWatchLoggingOptionDescriptions": { - "target": "com.amazonaws.kinesisanalyticsv2#CloudWatchLoggingOptionDescriptions", - "traits": { - "smithy.api#documentation": "

                            Describes the application Amazon CloudWatch logging options.

                            " - } - }, - "ApplicationStatus": { - "target": "com.amazonaws.kinesisanalyticsv2#ApplicationStatus", + "LastUpdateTimestamp": { + "target": "com.amazonaws.kinesisanalyticsv2#Timestamp", "traits": { - "smithy.api#documentation": "

                            The status of the application.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The current timestamp when the application was last updated.

                            " } }, "ApplicationConfigurationDescription": { @@ -793,11 +794,10 @@ "smithy.api#documentation": "

                            Provides details about the application's Java, SQL, or Scala code and starting parameters.

                            " } }, - "ApplicationARN": { - "target": "com.amazonaws.kinesisanalyticsv2#ResourceARN", + "CloudWatchLoggingOptionDescriptions": { + "target": "com.amazonaws.kinesisanalyticsv2#CloudWatchLoggingOptionDescriptions", "traits": { - "smithy.api#documentation": "

                            The ARN of the application.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            Describes the application Amazon CloudWatch logging options.

                            " } } }, @@ -948,10 +948,10 @@ "com.amazonaws.kinesisanalyticsv2#ApplicationSummary": { "type": "structure", "members": { - "ApplicationStatus": { - "target": "com.amazonaws.kinesisanalyticsv2#ApplicationStatus", + "ApplicationName": { + "target": "com.amazonaws.kinesisanalyticsv2#ApplicationName", "traits": { - "smithy.api#documentation": "

                            The status of the application.

                            ", + "smithy.api#documentation": "

                            The name of the application.

                            ", "smithy.api#required": {} } }, @@ -962,6 +962,13 @@ "smithy.api#required": {} } }, + "ApplicationStatus": { + "target": "com.amazonaws.kinesisanalyticsv2#ApplicationStatus", + "traits": { + "smithy.api#documentation": "

                            The status of the application.

                            ", + "smithy.api#required": {} + } + }, "ApplicationVersionId": { "target": "com.amazonaws.kinesisanalyticsv2#ApplicationVersionId", "traits": { @@ -975,13 +982,6 @@ "smithy.api#documentation": "

                            The runtime environment for the application (SQL-1.0, FLINK-1_6, or FLINK-1_8).

                            ", "smithy.api#required": {} } - }, - "ApplicationName": { - "target": "com.amazonaws.kinesisanalyticsv2#ApplicationName", - "traits": { - "smithy.api#documentation": "

                            The name of the application.

                            ", - "smithy.api#required": {} - } } }, "traits": { @@ -998,6 +998,15 @@ } } }, + "com.amazonaws.kinesisanalyticsv2#AuthorizedUrl": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + } + } + }, "com.amazonaws.kinesisanalyticsv2#BooleanObject": { "type": "boolean", "traits": { @@ -1017,17 +1026,17 @@ "com.amazonaws.kinesisanalyticsv2#CSVMappingParameters": { "type": "structure", "members": { - "RecordColumnDelimiter": { - "target": "com.amazonaws.kinesisanalyticsv2#RecordColumnDelimiter", + "RecordRowDelimiter": { + "target": "com.amazonaws.kinesisanalyticsv2#RecordRowDelimiter", "traits": { - "smithy.api#documentation": "

                            The column delimiter. For example, in a CSV format, a comma (\",\") is the typical column\n delimiter.

                            ", + "smithy.api#documentation": "

                            The row delimiter. For example, in a CSV format, '\\n' is the typical\n row delimiter.

                            ", "smithy.api#required": {} } }, - "RecordRowDelimiter": { - "target": "com.amazonaws.kinesisanalyticsv2#RecordRowDelimiter", + "RecordColumnDelimiter": { + "target": "com.amazonaws.kinesisanalyticsv2#RecordColumnDelimiter", "traits": { - "smithy.api#documentation": "

                            The row delimiter. For example, in a CSV format, '\\n' is the typical\n row delimiter.

                            ", + "smithy.api#documentation": "

                            The column delimiter. For example, in a CSV format, a comma (\",\") is the typical column\n delimiter.

                            ", "smithy.api#required": {} } } @@ -1039,16 +1048,11 @@ "com.amazonaws.kinesisanalyticsv2#CheckpointConfiguration": { "type": "structure", "members": { - "MinPauseBetweenCheckpoints": { - "target": "com.amazonaws.kinesisanalyticsv2#MinPauseBetweenCheckpoints", - "traits": { - "smithy.api#documentation": "

                            Describes the minimum time in milliseconds after a checkpoint operation completes that a\n new checkpoint operation can start. If a checkpoint operation takes longer than the\n CheckpointInterval, the application otherwise performs continual checkpoint\n operations. For more information, see Tuning Checkpointing in the Apache Flink\n Documentation.

                            \n \n

                            If CheckpointConfiguration.ConfigurationType is DEFAULT,\n the application will use a MinPauseBetweenCheckpoints value of 5000, even if this value is set using this \n API or in application code.

                            \n
                            " - } - }, - "CheckpointInterval": { - "target": "com.amazonaws.kinesisanalyticsv2#CheckpointInterval", + "ConfigurationType": { + "target": "com.amazonaws.kinesisanalyticsv2#ConfigurationType", "traits": { - "smithy.api#documentation": "

                            Describes the interval in milliseconds between checkpoint operations.

                            \n \n

                            If CheckpointConfiguration.ConfigurationType is DEFAULT,\n the application will use a CheckpointInterval vaue of 60000, even if this value is set \n to another value using this API or in application code.

                            \n
                            " + "smithy.api#documentation": "

                            Describes whether the application uses Kinesis Data Analytics' default checkpointing behavior. \n You must set this property to CUSTOM in order to set the\n CheckpointingEnabled, CheckpointInterval, or MinPauseBetweenCheckpoints parameters.

                            \n \n

                            If this value is set to DEFAULT, the application will use the following values, even if they are set to other values using APIs or\n application code:

                            \n
                              \n
                            • \n

                              \n CheckpointingEnabled: true

                              \n
                            • \n
                            • \n

                              \n CheckpointInterval: 60000

                              \n
                            • \n
                            • \n

                              \n MinPauseBetweenCheckpoints: 5000

                              \n
                            • \n
                            \n
                            ", + "smithy.api#required": {} } }, "CheckpointingEnabled": { @@ -1057,11 +1061,16 @@ "smithy.api#documentation": "

                            Describes whether checkpointing is enabled for a Flink-based Kinesis Data Analytics application.

                            \n \n

                            If CheckpointConfiguration.ConfigurationType is DEFAULT,\n the application will use a CheckpointingEnabled value of true, even if this value \n is set to another value using this API or in application code.

                            \n
                            " } }, - "ConfigurationType": { - "target": "com.amazonaws.kinesisanalyticsv2#ConfigurationType", + "CheckpointInterval": { + "target": "com.amazonaws.kinesisanalyticsv2#CheckpointInterval", "traits": { - "smithy.api#documentation": "

                            Describes whether the application uses Kinesis Data Analytics' default checkpointing behavior. \n You must set this property to CUSTOM in order to set the\n CheckpointingEnabled, CheckpointInterval, or MinPauseBetweenCheckpoints parameters.

                            \n \n

                            If this value is set to DEFAULT, the application will use the following values, even if they are set to other values using APIs or\n application code:

                            \n
                              \n
                            • \n

                              \n CheckpointingEnabled: true

                              \n
                            • \n
                            • \n

                              \n CheckpointInterval: 60000

                              \n
                            • \n
                            • \n

                              \n MinPauseBetweenCheckpoints: 5000

                              \n
                            • \n
                            \n
                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            Describes the interval in milliseconds between checkpoint operations.

                            \n \n

                            If CheckpointConfiguration.ConfigurationType is DEFAULT,\n the application will use a CheckpointInterval vaue of 60000, even if this value is set \n to another value using this API or in application code.

                            \n
                            " + } + }, + "MinPauseBetweenCheckpoints": { + "target": "com.amazonaws.kinesisanalyticsv2#MinPauseBetweenCheckpoints", + "traits": { + "smithy.api#documentation": "

                            Describes the minimum time in milliseconds after a checkpoint operation completes that a\n new checkpoint operation can start. If a checkpoint operation takes longer than the\n CheckpointInterval, the application otherwise performs continual checkpoint\n operations. For more information, see Tuning Checkpointing in the Apache Flink\n Documentation.

                            \n \n

                            If CheckpointConfiguration.ConfigurationType is DEFAULT,\n the application will use a MinPauseBetweenCheckpoints value of 5000, even if this value is set using this \n API or in application code.

                            \n
                            " } } }, @@ -1072,18 +1081,18 @@ "com.amazonaws.kinesisanalyticsv2#CheckpointConfigurationDescription": { "type": "structure", "members": { - "CheckpointingEnabled": { - "target": "com.amazonaws.kinesisanalyticsv2#BooleanObject", - "traits": { - "smithy.api#documentation": "

                            Describes whether checkpointing is enabled for a Flink-based Kinesis Data Analytics application.

                            \n \n

                            If CheckpointConfiguration.ConfigurationType is DEFAULT,\n the application will use a CheckpointingEnabled value of true, even if this value is set to \n another value using this API or in application code.

                            \n
                            " - } - }, "ConfigurationType": { "target": "com.amazonaws.kinesisanalyticsv2#ConfigurationType", "traits": { "smithy.api#documentation": "

                            Describes whether the application uses the default checkpointing behavior in Kinesis Data Analytics.

                            \n \n

                            If this value is set to DEFAULT, the application will use the following values, \n even if they are set to other values using APIs or\n application code:

                            \n
                              \n
                            • \n

                              \n CheckpointingEnabled: true

                              \n
                            • \n
                            • \n

                              \n CheckpointInterval: 60000

                              \n
                            • \n
                            • \n

                              \n MinPauseBetweenCheckpoints: 5000

                              \n
                            • \n
                            \n
                            " } }, + "CheckpointingEnabled": { + "target": "com.amazonaws.kinesisanalyticsv2#BooleanObject", + "traits": { + "smithy.api#documentation": "

                            Describes whether checkpointing is enabled for a Flink-based Kinesis Data Analytics application.

                            \n \n

                            If CheckpointConfiguration.ConfigurationType is DEFAULT,\n the application will use a CheckpointingEnabled value of true, even if this value is set to \n another value using this API or in application code.

                            \n
                            " + } + }, "CheckpointInterval": { "target": "com.amazonaws.kinesisanalyticsv2#CheckpointInterval", "traits": { @@ -1104,28 +1113,28 @@ "com.amazonaws.kinesisanalyticsv2#CheckpointConfigurationUpdate": { "type": "structure", "members": { - "MinPauseBetweenCheckpointsUpdate": { - "target": "com.amazonaws.kinesisanalyticsv2#MinPauseBetweenCheckpoints", - "traits": { - "smithy.api#documentation": "

                            Describes updates to the minimum time in milliseconds after a checkpoint operation completes that a new checkpoint operation\n can start.

                            \n \n

                            If CheckpointConfiguration.ConfigurationType is DEFAULT,\n the application will use a MinPauseBetweenCheckpoints value of 5000, even if this value is set using this API or \n in application code.

                            \n
                            " - } - }, "ConfigurationTypeUpdate": { "target": "com.amazonaws.kinesisanalyticsv2#ConfigurationType", "traits": { "smithy.api#documentation": "

                            Describes updates to whether the application uses the default checkpointing behavior of\n Kinesis Data Analytics. You must set this property to CUSTOM in order to set the\n CheckpointingEnabled, CheckpointInterval, or MinPauseBetweenCheckpoints parameters.\n

                            \n \n

                            If this value is set to DEFAULT, the application will use the following values, even if they are \n set to other values using APIs or\n application code:

                            \n
                              \n
                            • \n

                              \n CheckpointingEnabled: true

                              \n
                            • \n
                            • \n

                              \n CheckpointInterval: 60000

                              \n
                            • \n
                            • \n

                              \n MinPauseBetweenCheckpoints: 5000

                              \n
                            • \n
                            \n
                            " } }, + "CheckpointingEnabledUpdate": { + "target": "com.amazonaws.kinesisanalyticsv2#BooleanObject", + "traits": { + "smithy.api#documentation": "

                            Describes updates to whether checkpointing is enabled for an application.

                            \n \n

                            If CheckpointConfiguration.ConfigurationType is DEFAULT,\n the application will use a CheckpointingEnabled value of true, even if this value is set to \n another value using this API or in application code.

                            \n
                            " + } + }, "CheckpointIntervalUpdate": { "target": "com.amazonaws.kinesisanalyticsv2#CheckpointInterval", "traits": { "smithy.api#documentation": "

                            Describes updates to the interval in milliseconds between checkpoint operations.

                            \n \n

                            If CheckpointConfiguration.ConfigurationType is DEFAULT,\n the application will use a CheckpointInterval vaue of 60000, even if this value is set to another value \n using this API or in application code.

                            \n
                            " } }, - "CheckpointingEnabledUpdate": { - "target": "com.amazonaws.kinesisanalyticsv2#BooleanObject", + "MinPauseBetweenCheckpointsUpdate": { + "target": "com.amazonaws.kinesisanalyticsv2#MinPauseBetweenCheckpoints", "traits": { - "smithy.api#documentation": "

                            Describes updates to whether checkpointing is enabled for an application.

                            \n \n

                            If CheckpointConfiguration.ConfigurationType is DEFAULT,\n the application will use a CheckpointingEnabled value of true, even if this value is set to \n another value using this API or in application code.

                            \n
                            " + "smithy.api#documentation": "

                            Describes updates to the minimum time in milliseconds after a checkpoint operation completes that a new checkpoint operation\n can start.

                            \n \n

                            If CheckpointConfiguration.ConfigurationType is DEFAULT,\n the application will use a MinPauseBetweenCheckpoints value of 5000, even if this value is set using this API or \n in application code.

                            \n
                            " } } }, @@ -1166,18 +1175,18 @@ "smithy.api#documentation": "

                            The ID of the CloudWatch logging option description.

                            " } }, - "RoleARN": { - "target": "com.amazonaws.kinesisanalyticsv2#RoleARN", - "traits": { - "smithy.api#documentation": "

                            The IAM ARN of the role to use to send application messages.

                            \n \n

                            Provided for backward compatibility. Applications created with the current API version have an\n application-level service execution role rather than a resource-level role.

                            \n
                            " - } - }, "LogStreamARN": { "target": "com.amazonaws.kinesisanalyticsv2#LogStreamARN", "traits": { "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the CloudWatch log to receive application\n messages.

                            ", "smithy.api#required": {} } + }, + "RoleARN": { + "target": "com.amazonaws.kinesisanalyticsv2#RoleARN", + "traits": { + "smithy.api#documentation": "

                            The IAM ARN of the role to use to send application messages.

                            \n \n

                            Provided for backward compatibility. Applications created with the current API version have an\n application-level service execution role rather than a resource-level role.

                            \n
                            " + } } }, "traits": { @@ -1193,18 +1202,18 @@ "com.amazonaws.kinesisanalyticsv2#CloudWatchLoggingOptionUpdate": { "type": "structure", "members": { - "LogStreamARNUpdate": { - "target": "com.amazonaws.kinesisanalyticsv2#LogStreamARN", - "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the CloudWatch log to receive application\n messages.

                            " - } - }, "CloudWatchLoggingOptionId": { "target": "com.amazonaws.kinesisanalyticsv2#Id", "traits": { "smithy.api#documentation": "

                            The ID of the CloudWatch logging option to update

                            ", "smithy.api#required": {} } + }, + "LogStreamARNUpdate": { + "target": "com.amazonaws.kinesisanalyticsv2#LogStreamARN", + "traits": { + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the CloudWatch log to receive application\n messages.

                            " + } } }, "traits": { @@ -1226,10 +1235,10 @@ "com.amazonaws.kinesisanalyticsv2#CodeContent": { "type": "structure", "members": { - "S3ContentLocation": { - "target": "com.amazonaws.kinesisanalyticsv2#S3ContentLocation", + "TextContent": { + "target": "com.amazonaws.kinesisanalyticsv2#TextContent", "traits": { - "smithy.api#documentation": "

                            Information about the Amazon S3 bucket containing the application code.

                            " + "smithy.api#documentation": "

                            The text-format code for a Flink-based Kinesis Data Analytics application.

                            " } }, "ZipFileContent": { @@ -1238,10 +1247,10 @@ "smithy.api#documentation": "

                            The zip-format code for a Flink-based Kinesis Data Analytics application.

                            " } }, - "TextContent": { - "target": "com.amazonaws.kinesisanalyticsv2#TextContent", + "S3ContentLocation": { + "target": "com.amazonaws.kinesisanalyticsv2#S3ContentLocation", "traits": { - "smithy.api#documentation": "

                            The text-format code for a Flink-based Kinesis Data Analytics application.

                            " + "smithy.api#documentation": "

                            Information about the Amazon S3 bucket containing the application code.

                            " } } }, @@ -1258,10 +1267,10 @@ "smithy.api#documentation": "

                            The text-format code

                            " } }, - "S3ApplicationCodeLocationDescription": { - "target": "com.amazonaws.kinesisanalyticsv2#S3ApplicationCodeLocationDescription", + "CodeMD5": { + "target": "com.amazonaws.kinesisanalyticsv2#CodeMD5", "traits": { - "smithy.api#documentation": "

                            The S3 bucket Amazon Resource Name (ARN), file key, and object version of the application\n code stored in Amazon S3.

                            " + "smithy.api#documentation": "

                            The checksum that can be used to validate zip-format code.

                            " } }, "CodeSize": { @@ -1270,10 +1279,10 @@ "smithy.api#documentation": "

                            The size in bytes of the application code. Can be used to validate zip-format code.

                            " } }, - "CodeMD5": { - "target": "com.amazonaws.kinesisanalyticsv2#CodeMD5", + "S3ApplicationCodeLocationDescription": { + "target": "com.amazonaws.kinesisanalyticsv2#S3ApplicationCodeLocationDescription", "traits": { - "smithy.api#documentation": "

                            The checksum that can be used to validate zip-format code.

                            " + "smithy.api#documentation": "

                            The S3 bucket Amazon Resource Name (ARN), file key, and object version of the application\n code stored in Amazon S3.

                            " } } }, @@ -1416,27 +1425,68 @@ "smithy.api#documentation": "

                            Creates a Kinesis Data Analytics application. For information about creating a\n Kinesis Data Analytics application, see Creating an\n Application.

                            " } }, - "com.amazonaws.kinesisanalyticsv2#CreateApplicationRequest": { + "com.amazonaws.kinesisanalyticsv2#CreateApplicationPresignedUrl": { + "type": "operation", + "input": { + "target": "com.amazonaws.kinesisanalyticsv2#CreateApplicationPresignedUrlRequest" + }, + "output": { + "target": "com.amazonaws.kinesisanalyticsv2#CreateApplicationPresignedUrlResponse" + }, + "errors": [ + { + "target": "com.amazonaws.kinesisanalyticsv2#InvalidArgumentException" + }, + { + "target": "com.amazonaws.kinesisanalyticsv2#ResourceInUseException" + }, + { + "target": "com.amazonaws.kinesisanalyticsv2#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

                            Creates and returns a URL that you can use to connect to \n an application's extension. Currently, the only\n available extension is the Apache Flink dashboard.

                            \n

                            The IAM role or user used to call this API defines the permissions to access the extension.\n Once the presigned URL is created, no additional permission is required to access this URL. IAM \n authorization policies for this API are also enforced for every HTTP request that attempts to \n connect to the extension. \n

                            \n \n

                            The URL that you get from a call to CreateApplicationPresignedUrl must be used within 3 minutes\n to be valid. \n If you first try to use the URL after the 3-minute limit expires, the service returns an HTTP 403 Forbidden error.

                            \n
                            " + } + }, + "com.amazonaws.kinesisanalyticsv2#CreateApplicationPresignedUrlRequest": { "type": "structure", "members": { - "ApplicationConfiguration": { - "target": "com.amazonaws.kinesisanalyticsv2#ApplicationConfiguration", + "ApplicationName": { + "target": "com.amazonaws.kinesisanalyticsv2#ApplicationName", "traits": { - "smithy.api#documentation": "

                            Use this parameter to configure the application.

                            " + "smithy.api#documentation": "

                            The name of the application.

                            ", + "smithy.api#required": {} } }, - "Tags": { - "target": "com.amazonaws.kinesisanalyticsv2#Tags", + "UrlType": { + "target": "com.amazonaws.kinesisanalyticsv2#UrlType", "traits": { - "smithy.api#documentation": "

                            A list of one or more tags to assign to the application. A tag is a key-value pair that identifies an \n application. Note that the maximum number of application tags includes system tags. The maximum number of \n user-defined application tags is 50.\n For more information, see \n Using Tagging.

                            " + "smithy.api#documentation": "

                            The type of the extension for which to create and return a URL. Currently, the only valid\n extension URL type is FLINK_DASHBOARD_URL.

                            ", + "smithy.api#required": {} } }, - "CloudWatchLoggingOptions": { - "target": "com.amazonaws.kinesisanalyticsv2#CloudWatchLoggingOptions", + "SessionExpirationDurationInSeconds": { + "target": "com.amazonaws.kinesisanalyticsv2#SessionExpirationDurationInSeconds", "traits": { - "smithy.api#documentation": "

                            Use this parameter to configure an Amazon CloudWatch log stream to monitor application\n configuration errors.\n

                            " + "smithy.api#documentation": "

                            The duration in seconds for which the returned URL will be valid.

                            " } - }, + } + } + }, + "com.amazonaws.kinesisanalyticsv2#CreateApplicationPresignedUrlResponse": { + "type": "structure", + "members": { + "AuthorizedUrl": { + "target": "com.amazonaws.kinesisanalyticsv2#AuthorizedUrl", + "traits": { + "smithy.api#documentation": "

                            The URL of the extension.

                            " + } + } + } + }, + "com.amazonaws.kinesisanalyticsv2#CreateApplicationRequest": { + "type": "structure", + "members": { "ApplicationName": { "target": "com.amazonaws.kinesisanalyticsv2#ApplicationName", "traits": { @@ -1444,6 +1494,12 @@ "smithy.api#required": {} } }, + "ApplicationDescription": { + "target": "com.amazonaws.kinesisanalyticsv2#ApplicationDescription", + "traits": { + "smithy.api#documentation": "

                            A summary description of the application.

                            " + } + }, "RuntimeEnvironment": { "target": "com.amazonaws.kinesisanalyticsv2#RuntimeEnvironment", "traits": { @@ -1458,10 +1514,22 @@ "smithy.api#required": {} } }, - "ApplicationDescription": { - "target": "com.amazonaws.kinesisanalyticsv2#ApplicationDescription", + "ApplicationConfiguration": { + "target": "com.amazonaws.kinesisanalyticsv2#ApplicationConfiguration", "traits": { - "smithy.api#documentation": "

                            A summary description of the application.

                            " + "smithy.api#documentation": "

                            Use this parameter to configure the application.

                            " + } + }, + "CloudWatchLoggingOptions": { + "target": "com.amazonaws.kinesisanalyticsv2#CloudWatchLoggingOptions", + "traits": { + "smithy.api#documentation": "

                            Use this parameter to configure an Amazon CloudWatch log stream to monitor application\n configuration errors.\n

                            " + } + }, + "Tags": { + "target": "com.amazonaws.kinesisanalyticsv2#Tags", + "traits": { + "smithy.api#documentation": "

                            A list of one or more tags to assign to the application. A tag is a key-value pair that identifies an \n application. Note that the maximum number of application tags includes system tags. The maximum number of \n user-defined application tags is 50.\n For more information, see \n Using Tagging.

                            " } } } @@ -1516,17 +1584,17 @@ "com.amazonaws.kinesisanalyticsv2#CreateApplicationSnapshotRequest": { "type": "structure", "members": { - "SnapshotName": { - "target": "com.amazonaws.kinesisanalyticsv2#SnapshotName", + "ApplicationName": { + "target": "com.amazonaws.kinesisanalyticsv2#ApplicationName", "traits": { - "smithy.api#documentation": "

                            An identifier for the application snapshot.

                            ", + "smithy.api#documentation": "

                            The name of an existing application

                            ", "smithy.api#required": {} } }, - "ApplicationName": { - "target": "com.amazonaws.kinesisanalyticsv2#ApplicationName", + "SnapshotName": { + "target": "com.amazonaws.kinesisanalyticsv2#SnapshotName", "traits": { - "smithy.api#documentation": "

                            The name of an existing application

                            ", + "smithy.api#documentation": "

                            An identifier for the application snapshot.

                            ", "smithy.api#required": {} } } @@ -1629,12 +1697,6 @@ "com.amazonaws.kinesisanalyticsv2#DeleteApplicationCloudWatchLoggingOptionResponse": { "type": "structure", "members": { - "CloudWatchLoggingOptionDescriptions": { - "target": "com.amazonaws.kinesisanalyticsv2#CloudWatchLoggingOptionDescriptions", - "traits": { - "smithy.api#documentation": "

                            The descriptions of the remaining CloudWatch logging options for the application.

                            " - } - }, "ApplicationARN": { "target": "com.amazonaws.kinesisanalyticsv2#ResourceARN", "traits": { @@ -1646,6 +1708,12 @@ "traits": { "smithy.api#documentation": "

                            The version ID of the application. Kinesis Data Analytics updates the\n ApplicationVersionId each time you change the CloudWatch logging\n options.

                            " } + }, + "CloudWatchLoggingOptionDescriptions": { + "target": "com.amazonaws.kinesisanalyticsv2#CloudWatchLoggingOptionDescriptions", + "traits": { + "smithy.api#documentation": "

                            The descriptions of the remaining CloudWatch logging options for the application.

                            " + } } } }, @@ -1688,17 +1756,17 @@ "smithy.api#required": {} } }, - "InputId": { - "target": "com.amazonaws.kinesisanalyticsv2#Id", + "CurrentApplicationVersionId": { + "target": "com.amazonaws.kinesisanalyticsv2#ApplicationVersionId", "traits": { - "smithy.api#documentation": "

                            The ID of the input configuration from which to delete the input processing\n configuration. You can get a list of the input IDs for an application by using the DescribeApplication operation.

                            ", + "smithy.api#documentation": "

                            The application version. \n You can use the DescribeApplication operation to get the current application version.\n If the version specified is not the current version, the \n ConcurrentModificationException is returned.\n

                            ", "smithy.api#required": {} } }, - "CurrentApplicationVersionId": { - "target": "com.amazonaws.kinesisanalyticsv2#ApplicationVersionId", + "InputId": { + "target": "com.amazonaws.kinesisanalyticsv2#Id", "traits": { - "smithy.api#documentation": "

                            The application version. \n You can use the DescribeApplication operation to get the current application version.\n If the version specified is not the current version, the \n ConcurrentModificationException is returned.\n

                            ", + "smithy.api#documentation": "

                            The ID of the input configuration from which to delete the input processing\n configuration. You can get a list of the input IDs for an application by using the DescribeApplication operation.

                            ", "smithy.api#required": {} } } @@ -1825,6 +1893,13 @@ "com.amazonaws.kinesisanalyticsv2#DeleteApplicationReferenceDataSourceRequest": { "type": "structure", "members": { + "ApplicationName": { + "target": "com.amazonaws.kinesisanalyticsv2#ApplicationName", + "traits": { + "smithy.api#documentation": "

                            The name of an existing application.

                            ", + "smithy.api#required": {} + } + }, "CurrentApplicationVersionId": { "target": "com.amazonaws.kinesisanalyticsv2#ApplicationVersionId", "traits": { @@ -1838,13 +1913,6 @@ "smithy.api#documentation": "

                            The ID of the reference data source. When you add a reference data source to your\n application using the AddApplicationReferenceDataSource, Kinesis Data Analytics assigns an ID. \n You can use the DescribeApplication operation to\n get the reference ID.

                            ", "smithy.api#required": {} } - }, - "ApplicationName": { - "target": "com.amazonaws.kinesisanalyticsv2#ApplicationName", - "traits": { - "smithy.api#documentation": "

                            The name of an existing application.

                            ", - "smithy.api#required": {} - } } } }, @@ -1868,17 +1936,17 @@ "com.amazonaws.kinesisanalyticsv2#DeleteApplicationRequest": { "type": "structure", "members": { - "CreateTimestamp": { - "target": "com.amazonaws.kinesisanalyticsv2#Timestamp", + "ApplicationName": { + "target": "com.amazonaws.kinesisanalyticsv2#ApplicationName", "traits": { - "smithy.api#documentation": "

                            Use the DescribeApplication operation to get this value.

                            ", + "smithy.api#documentation": "

                            The name of the application to delete.

                            ", "smithy.api#required": {} } }, - "ApplicationName": { - "target": "com.amazonaws.kinesisanalyticsv2#ApplicationName", + "CreateTimestamp": { + "target": "com.amazonaws.kinesisanalyticsv2#Timestamp", "traits": { - "smithy.api#documentation": "

                            The name of the application to delete.

                            ", + "smithy.api#documentation": "

                            Use the DescribeApplication operation to get this value.

                            ", "smithy.api#required": {} } } @@ -1920,17 +1988,17 @@ "com.amazonaws.kinesisanalyticsv2#DeleteApplicationSnapshotRequest": { "type": "structure", "members": { - "SnapshotName": { - "target": "com.amazonaws.kinesisanalyticsv2#SnapshotName", + "ApplicationName": { + "target": "com.amazonaws.kinesisanalyticsv2#ApplicationName", "traits": { - "smithy.api#documentation": "

                            The identifier for the snapshot delete.

                            ", + "smithy.api#documentation": "

                            The name of an existing application.

                            ", "smithy.api#required": {} } }, - "ApplicationName": { - "target": "com.amazonaws.kinesisanalyticsv2#ApplicationName", + "SnapshotName": { + "target": "com.amazonaws.kinesisanalyticsv2#SnapshotName", "traits": { - "smithy.api#documentation": "

                            The name of an existing application.

                            ", + "smithy.api#documentation": "

                            The identifier for the snapshot delete.

                            ", "smithy.api#required": {} } }, @@ -1979,6 +2047,13 @@ "com.amazonaws.kinesisanalyticsv2#DeleteApplicationVpcConfigurationRequest": { "type": "structure", "members": { + "ApplicationName": { + "target": "com.amazonaws.kinesisanalyticsv2#ApplicationName", + "traits": { + "smithy.api#documentation": "

                            The name of an existing application.

                            ", + "smithy.api#required": {} + } + }, "CurrentApplicationVersionId": { "target": "com.amazonaws.kinesisanalyticsv2#ApplicationVersionId", "traits": { @@ -1992,30 +2067,23 @@ "smithy.api#documentation": "

                            The ID of the VPC configuration to delete.

                            ", "smithy.api#required": {} } - }, - "ApplicationName": { - "target": "com.amazonaws.kinesisanalyticsv2#ApplicationName", - "traits": { - "smithy.api#documentation": "

                            The name of an existing application.

                            ", - "smithy.api#required": {} - } } } }, "com.amazonaws.kinesisanalyticsv2#DeleteApplicationVpcConfigurationResponse": { "type": "structure", "members": { - "ApplicationVersionId": { - "target": "com.amazonaws.kinesisanalyticsv2#ApplicationVersionId", - "traits": { - "smithy.api#documentation": "

                            The updated version ID of the application.

                            " - } - }, "ApplicationARN": { "target": "com.amazonaws.kinesisanalyticsv2#ResourceARN", "traits": { "smithy.api#documentation": "

                            The ARN of the Kinesis Data Analytics application.

                            " } + }, + "ApplicationVersionId": { + "target": "com.amazonaws.kinesisanalyticsv2#ApplicationVersionId", + "traits": { + "smithy.api#documentation": "

                            The updated version ID of the application.

                            " + } } } }, @@ -2173,10 +2241,17 @@ "com.amazonaws.kinesisanalyticsv2#DiscoverInputSchemaRequest": { "type": "structure", "members": { - "S3Configuration": { - "target": "com.amazonaws.kinesisanalyticsv2#S3Configuration", + "ResourceARN": { + "target": "com.amazonaws.kinesisanalyticsv2#ResourceARN", + "traits": { + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the streaming source.

                            " + } + }, + "ServiceExecutionRole": { + "target": "com.amazonaws.kinesisanalyticsv2#RoleARN", "traits": { - "smithy.api#documentation": "

                            Specify this parameter to discover a schema from data in an Amazon S3\n object.

                            " + "smithy.api#documentation": "

                            The ARN of the role that is used to access the streaming source.

                            ", + "smithy.api#required": {} } }, "InputStartingPositionConfiguration": { @@ -2185,23 +2260,16 @@ "smithy.api#documentation": "

                            The point at which you want Kinesis Data Analytics to start reading records from the\n specified streaming source discovery purposes.

                            " } }, - "InputProcessingConfiguration": { - "target": "com.amazonaws.kinesisanalyticsv2#InputProcessingConfiguration", - "traits": { - "smithy.api#documentation": "

                            The InputProcessingConfiguration to use to preprocess the records \n before discovering the schema of the records.

                            " - } - }, - "ResourceARN": { - "target": "com.amazonaws.kinesisanalyticsv2#ResourceARN", + "S3Configuration": { + "target": "com.amazonaws.kinesisanalyticsv2#S3Configuration", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the streaming source.

                            " + "smithy.api#documentation": "

                            Specify this parameter to discover a schema from data in an Amazon S3\n object.

                            " } }, - "ServiceExecutionRole": { - "target": "com.amazonaws.kinesisanalyticsv2#RoleARN", + "InputProcessingConfiguration": { + "target": "com.amazonaws.kinesisanalyticsv2#InputProcessingConfiguration", "traits": { - "smithy.api#documentation": "

                            The ARN of the role that is used to access the streaming source.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The InputProcessingConfiguration to use to preprocess the records \n before discovering the schema of the records.

                            " } } } @@ -2221,17 +2289,17 @@ "smithy.api#documentation": "

                            An array of elements, where each element corresponds to a row in a stream record \n (a stream record can have more than one row).

                            " } }, - "RawInputRecords": { - "target": "com.amazonaws.kinesisanalyticsv2#RawInputRecords", - "traits": { - "smithy.api#documentation": "

                            The raw stream data that was sampled to infer the schema.

                            " - } - }, "ProcessedInputRecords": { "target": "com.amazonaws.kinesisanalyticsv2#ProcessedInputRecords", "traits": { "smithy.api#documentation": "

                            The stream data that was modified by the processor specified in the\n InputProcessingConfiguration parameter.

                            " } + }, + "RawInputRecords": { + "target": "com.amazonaws.kinesisanalyticsv2#RawInputRecords", + "traits": { + "smithy.api#documentation": "

                            The raw stream data that was sampled to infer the schema.

                            " + } } } }, @@ -2320,12 +2388,6 @@ "com.amazonaws.kinesisanalyticsv2#FlinkApplicationConfigurationDescription": { "type": "structure", "members": { - "ParallelismConfigurationDescription": { - "target": "com.amazonaws.kinesisanalyticsv2#ParallelismConfigurationDescription", - "traits": { - "smithy.api#documentation": "

                            Describes parameters for how an application executes multiple tasks simultaneously.

                            " - } - }, "CheckpointConfigurationDescription": { "target": "com.amazonaws.kinesisanalyticsv2#CheckpointConfigurationDescription", "traits": { @@ -2338,6 +2400,12 @@ "smithy.api#documentation": "

                            Describes configuration parameters for Amazon CloudWatch logging for an\n application.

                            " } }, + "ParallelismConfigurationDescription": { + "target": "com.amazonaws.kinesisanalyticsv2#ParallelismConfigurationDescription", + "traits": { + "smithy.api#documentation": "

                            Describes parameters for how an application executes multiple tasks simultaneously.

                            " + } + }, "JobPlanDescription": { "target": "com.amazonaws.kinesisanalyticsv2#JobPlanDescription", "traits": { @@ -2352,18 +2420,18 @@ "com.amazonaws.kinesisanalyticsv2#FlinkApplicationConfigurationUpdate": { "type": "structure", "members": { - "MonitoringConfigurationUpdate": { - "target": "com.amazonaws.kinesisanalyticsv2#MonitoringConfigurationUpdate", - "traits": { - "smithy.api#documentation": "

                            Describes updates to the configuration parameters for Amazon CloudWatch logging for an\n application.

                            " - } - }, "CheckpointConfigurationUpdate": { "target": "com.amazonaws.kinesisanalyticsv2#CheckpointConfigurationUpdate", "traits": { "smithy.api#documentation": "

                            Describes updates to an application's checkpointing configuration. Checkpointing is the process of persisting \n application state for fault tolerance.

                            " } }, + "MonitoringConfigurationUpdate": { + "target": "com.amazonaws.kinesisanalyticsv2#MonitoringConfigurationUpdate", + "traits": { + "smithy.api#documentation": "

                            Describes updates to the configuration parameters for Amazon CloudWatch logging for an\n application.

                            " + } + }, "ParallelismConfigurationUpdate": { "target": "com.amazonaws.kinesisanalyticsv2#ParallelismConfigurationUpdate", "traits": { @@ -2427,23 +2495,23 @@ "com.amazonaws.kinesisanalyticsv2#Input": { "type": "structure", "members": { - "InputParallelism": { - "target": "com.amazonaws.kinesisanalyticsv2#InputParallelism", + "NamePrefix": { + "target": "com.amazonaws.kinesisanalyticsv2#InAppStreamName", "traits": { - "smithy.api#documentation": "

                            Describes the number of in-application streams to create.

                            " + "smithy.api#documentation": "

                            The name prefix to use when creating an in-application stream. Suppose that you specify a\n prefix \"MyInApplicationStream.\" Kinesis Data Analytics then creates one or more\n (as per the InputParallelism count you specified) in-application streams with the\n names \"MyInApplicationStream_001,\" \"MyInApplicationStream_002,\" and\n so on.

                            ", + "smithy.api#required": {} } }, - "KinesisStreamsInput": { - "target": "com.amazonaws.kinesisanalyticsv2#KinesisStreamsInput", + "InputProcessingConfiguration": { + "target": "com.amazonaws.kinesisanalyticsv2#InputProcessingConfiguration", "traits": { - "smithy.api#documentation": "

                            If the streaming source is an Amazon Kinesis data stream, identifies the stream's Amazon Resource Name (ARN).

                            " + "smithy.api#documentation": "

                            The InputProcessingConfiguration for the input. An input processor transforms records as they are received \n from the stream, before the application's SQL code executes. Currently, the only input processing configuration available is \n InputLambdaProcessor.

                            " } }, - "NamePrefix": { - "target": "com.amazonaws.kinesisanalyticsv2#InAppStreamName", + "KinesisStreamsInput": { + "target": "com.amazonaws.kinesisanalyticsv2#KinesisStreamsInput", "traits": { - "smithy.api#documentation": "

                            The name prefix to use when creating an in-application stream. Suppose that you specify a\n prefix \"MyInApplicationStream.\" Kinesis Data Analytics then creates one or more\n (as per the InputParallelism count you specified) in-application streams with the\n names \"MyInApplicationStream_001,\" \"MyInApplicationStream_002,\" and\n so on.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            If the streaming source is an Amazon Kinesis data stream, identifies the stream's Amazon Resource Name (ARN).

                            " } }, "KinesisFirehoseInput": { @@ -2452,18 +2520,18 @@ "smithy.api#documentation": "

                            If the streaming source is an Amazon Kinesis Data Firehose delivery stream, identifies the delivery stream's ARN.

                            " } }, + "InputParallelism": { + "target": "com.amazonaws.kinesisanalyticsv2#InputParallelism", + "traits": { + "smithy.api#documentation": "

                            Describes the number of in-application streams to create.

                            " + } + }, "InputSchema": { "target": "com.amazonaws.kinesisanalyticsv2#SourceSchema", "traits": { "smithy.api#documentation": "

                            Describes the format of the data in the streaming source, and how each data element maps\n to corresponding columns in the in-application stream that is being created.

                            \n

                            Also used to describe the format of the reference data source.

                            ", "smithy.api#required": {} } - }, - "InputProcessingConfiguration": { - "target": "com.amazonaws.kinesisanalyticsv2#InputProcessingConfiguration", - "traits": { - "smithy.api#documentation": "

                            The InputProcessingConfiguration for the input. An input processor transforms records as they are received \n from the stream, before the application's SQL code executes. Currently, the only input processing configuration available is \n InputLambdaProcessor.

                            " - } } }, "traits": { @@ -2479,34 +2547,34 @@ "smithy.api#documentation": "

                            The input ID that is associated with the application input. This is the ID that Kinesis Data Analytics assigns to each input \n configuration that you add to your application.

                            " } }, - "KinesisFirehoseInputDescription": { - "target": "com.amazonaws.kinesisanalyticsv2#KinesisFirehoseInputDescription", + "NamePrefix": { + "target": "com.amazonaws.kinesisanalyticsv2#InAppStreamName", "traits": { - "smithy.api#documentation": "

                            If a Kinesis Data Firehose delivery stream is configured as a streaming source, provides the delivery stream's ARN.

                            " + "smithy.api#documentation": "

                            The in-application name prefix.

                            " } }, - "InputProcessingConfigurationDescription": { - "target": "com.amazonaws.kinesisanalyticsv2#InputProcessingConfigurationDescription", + "InAppStreamNames": { + "target": "com.amazonaws.kinesisanalyticsv2#InAppStreamNames", "traits": { - "smithy.api#documentation": "

                            The description of the preprocessor that executes on records in this input before the application's code is run.

                            " + "smithy.api#documentation": "

                            Returns the in-application stream names that are mapped to the stream source.

                            " } }, - "InputStartingPositionConfiguration": { - "target": "com.amazonaws.kinesisanalyticsv2#InputStartingPositionConfiguration", + "InputProcessingConfigurationDescription": { + "target": "com.amazonaws.kinesisanalyticsv2#InputProcessingConfigurationDescription", "traits": { - "smithy.api#documentation": "

                            The point at which the application is configured to read from the input stream.

                            " + "smithy.api#documentation": "

                            The description of the preprocessor that executes on records in this input before the application's code is run.

                            " } }, - "InAppStreamNames": { - "target": "com.amazonaws.kinesisanalyticsv2#InAppStreamNames", + "KinesisStreamsInputDescription": { + "target": "com.amazonaws.kinesisanalyticsv2#KinesisStreamsInputDescription", "traits": { - "smithy.api#documentation": "

                            Returns the in-application stream names that are mapped to the stream source.

                            " + "smithy.api#documentation": "

                            If a Kinesis data stream is configured as a streaming source, provides the Kinesis data\n stream's Amazon Resource Name (ARN).

                            " } }, - "NamePrefix": { - "target": "com.amazonaws.kinesisanalyticsv2#InAppStreamName", + "KinesisFirehoseInputDescription": { + "target": "com.amazonaws.kinesisanalyticsv2#KinesisFirehoseInputDescription", "traits": { - "smithy.api#documentation": "

                            The in-application name prefix.

                            " + "smithy.api#documentation": "

                            If a Kinesis Data Firehose delivery stream is configured as a streaming source, provides the delivery stream's ARN.

                            " } }, "InputSchema": { @@ -2515,17 +2583,17 @@ "smithy.api#documentation": "

                            Describes the format of the data in the streaming source, and how each data element maps to corresponding columns \n in the in-application stream that is being created.

                            " } }, - "KinesisStreamsInputDescription": { - "target": "com.amazonaws.kinesisanalyticsv2#KinesisStreamsInputDescription", - "traits": { - "smithy.api#documentation": "

                            If a Kinesis data stream is configured as a streaming source, provides the Kinesis data\n stream's Amazon Resource Name (ARN).

                            " - } - }, "InputParallelism": { "target": "com.amazonaws.kinesisanalyticsv2#InputParallelism", "traits": { "smithy.api#documentation": "

                            Describes the configured parallelism (number of in-application streams mapped to the streaming source).

                            " } + }, + "InputStartingPositionConfiguration": { + "target": "com.amazonaws.kinesisanalyticsv2#InputStartingPositionConfiguration", + "traits": { + "smithy.api#documentation": "

                            The point at which the application is configured to read from the input stream.

                            " + } } }, "traits": { @@ -2675,10 +2743,10 @@ "com.amazonaws.kinesisanalyticsv2#InputSchemaUpdate": { "type": "structure", "members": { - "RecordColumnUpdates": { - "target": "com.amazonaws.kinesisanalyticsv2#RecordColumns", + "RecordFormatUpdate": { + "target": "com.amazonaws.kinesisanalyticsv2#RecordFormat", "traits": { - "smithy.api#documentation": "

                            A list of RecordColumn objects. Each object describes the mapping \n of the streaming source element to the corresponding column in the in-application stream.

                            " + "smithy.api#documentation": "

                            Specifies the format of the records on the streaming source.

                            " } }, "RecordEncodingUpdate": { @@ -2687,10 +2755,10 @@ "smithy.api#documentation": "

                            Specifies the encoding of the records in the streaming source; for example, UTF-8.

                            " } }, - "RecordFormatUpdate": { - "target": "com.amazonaws.kinesisanalyticsv2#RecordFormat", + "RecordColumnUpdates": { + "target": "com.amazonaws.kinesisanalyticsv2#RecordColumns", "traits": { - "smithy.api#documentation": "

                            Specifies the format of the records on the streaming source.

                            " + "smithy.api#documentation": "

                            A list of RecordColumn objects. Each object describes the mapping \n of the streaming source element to the corresponding column in the in-application stream.

                            " } } }, @@ -2734,18 +2802,6 @@ "com.amazonaws.kinesisanalyticsv2#InputUpdate": { "type": "structure", "members": { - "KinesisFirehoseInputUpdate": { - "target": "com.amazonaws.kinesisanalyticsv2#KinesisFirehoseInputUpdate", - "traits": { - "smithy.api#documentation": "

                            If a Kinesis Data Firehose delivery stream is the streaming source to be\n updated, provides an updated stream ARN.

                            " - } - }, - "InputSchemaUpdate": { - "target": "com.amazonaws.kinesisanalyticsv2#InputSchemaUpdate", - "traits": { - "smithy.api#documentation": "

                            Describes the data format on the streaming source, and \n how record elements on the streaming source map to columns of the in-application stream that is created.

                            " - } - }, "InputId": { "target": "com.amazonaws.kinesisanalyticsv2#Id", "traits": { @@ -2765,17 +2821,29 @@ "smithy.api#documentation": "

                            Describes updates to an InputProcessingConfiguration.

                            " } }, - "InputParallelismUpdate": { - "target": "com.amazonaws.kinesisanalyticsv2#InputParallelismUpdate", - "traits": { - "smithy.api#documentation": "

                            Describes the parallelism updates (the number of in-application streams Kinesis Data Analytics creates for the specific streaming source).

                            " - } - }, "KinesisStreamsInputUpdate": { "target": "com.amazonaws.kinesisanalyticsv2#KinesisStreamsInputUpdate", "traits": { "smithy.api#documentation": "

                            If a Kinesis data stream is the streaming source to be updated, provides an\n updated stream Amazon Resource Name (ARN).

                            " } + }, + "KinesisFirehoseInputUpdate": { + "target": "com.amazonaws.kinesisanalyticsv2#KinesisFirehoseInputUpdate", + "traits": { + "smithy.api#documentation": "

                            If a Kinesis Data Firehose delivery stream is the streaming source to be\n updated, provides an updated stream ARN.

                            " + } + }, + "InputSchemaUpdate": { + "target": "com.amazonaws.kinesisanalyticsv2#InputSchemaUpdate", + "traits": { + "smithy.api#documentation": "

                            Describes the data format on the streaming source, and \n how record elements on the streaming source map to columns of the in-application stream that is created.

                            " + } + }, + "InputParallelismUpdate": { + "target": "com.amazonaws.kinesisanalyticsv2#InputParallelismUpdate", + "traits": { + "smithy.api#documentation": "

                            Describes the parallelism updates (the number of in-application streams Kinesis Data Analytics creates for the specific streaming source).

                            " + } } }, "traits": { @@ -2883,6 +2951,9 @@ { "target": "com.amazonaws.kinesisanalyticsv2#CreateApplication" }, + { + "target": "com.amazonaws.kinesisanalyticsv2#CreateApplicationPresignedUrl" + }, { "target": "com.amazonaws.kinesisanalyticsv2#CreateApplicationSnapshot" }, @@ -2946,7 +3017,7 @@ "sdkId": "Kinesis Analytics V2", "arnNamespace": "kinesisanalytics", "cloudFormationName": "KinesisAnalyticsV2", - "cloudTrailEventSource": "v20180523.analytics.kinesis.amazonaws.com" + "cloudTrailEventSource": "kinesisanalyticsv2.amazonaws.com" }, "aws.auth#sigv4": { "name": "kinesisanalytics" @@ -3079,18 +3150,18 @@ "com.amazonaws.kinesisanalyticsv2#KinesisStreamsInputDescription": { "type": "structure", "members": { - "RoleARN": { - "target": "com.amazonaws.kinesisanalyticsv2#RoleARN", - "traits": { - "smithy.api#documentation": "

                            The ARN of the IAM role that Kinesis Data Analytics can assume to access the\n stream.

                            \n \n

                            Provided for backward compatibility. Applications that are created with the current API\n version have an application-level service execution role rather than a resource-level\n role.

                            \n
                            " - } - }, "ResourceARN": { "target": "com.amazonaws.kinesisanalyticsv2#ResourceARN", "traits": { "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the Kinesis data stream.

                            ", "smithy.api#required": {} } + }, + "RoleARN": { + "target": "com.amazonaws.kinesisanalyticsv2#RoleARN", + "traits": { + "smithy.api#documentation": "

                            The ARN of the IAM role that Kinesis Data Analytics can assume to access the\n stream.

                            \n \n

                            Provided for backward compatibility. Applications that are created with the current API\n version have an application-level service execution role rather than a resource-level\n role.

                            \n
                            " + } } }, "traits": { @@ -3130,18 +3201,18 @@ "com.amazonaws.kinesisanalyticsv2#KinesisStreamsOutputDescription": { "type": "structure", "members": { - "RoleARN": { - "target": "com.amazonaws.kinesisanalyticsv2#RoleARN", - "traits": { - "smithy.api#documentation": "

                            The ARN of the IAM role that Kinesis Data Analytics can assume to access the\n stream.

                            \n \n

                            Provided for backward compatibility. Applications that are created with the current API\n version have an application-level service execution role rather than a resource-level\n role.

                            \n
                            " - } - }, "ResourceARN": { "target": "com.amazonaws.kinesisanalyticsv2#ResourceARN", "traits": { "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the Kinesis data stream.

                            ", "smithy.api#required": {} } + }, + "RoleARN": { + "target": "com.amazonaws.kinesisanalyticsv2#RoleARN", + "traits": { + "smithy.api#documentation": "

                            The ARN of the IAM role that Kinesis Data Analytics can assume to access the\n stream.

                            \n \n

                            Provided for backward compatibility. Applications that are created with the current API\n version have an application-level service execution role rather than a resource-level\n role.

                            \n
                            " + } } }, "traits": { @@ -3256,34 +3327,34 @@ "smithy.api#required": {} } }, - "NextToken": { - "target": "com.amazonaws.kinesisanalyticsv2#NextToken", - "traits": { - "smithy.api#documentation": "

                            Use this parameter if you receive a NextToken response in a previous request that indicates that there is more \n output available. Set it to the value of the previous call's NextToken response to indicate where the output should \n continue from.

                            " - } - }, "Limit": { "target": "com.amazonaws.kinesisanalyticsv2#ListSnapshotsInputLimit", "traits": { "smithy.api#documentation": "

                            The maximum number of application snapshots to list.

                            " } + }, + "NextToken": { + "target": "com.amazonaws.kinesisanalyticsv2#NextToken", + "traits": { + "smithy.api#documentation": "

                            Use this parameter if you receive a NextToken response in a previous request that indicates that there is more \n output available. Set it to the value of the previous call's NextToken response to indicate where the output should \n continue from.

                            " + } } } }, "com.amazonaws.kinesisanalyticsv2#ListApplicationSnapshotsResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.kinesisanalyticsv2#NextToken", - "traits": { - "smithy.api#documentation": "

                            The token for the next set of results, or null if there are no additional results.

                            " - } - }, "SnapshotSummaries": { "target": "com.amazonaws.kinesisanalyticsv2#SnapshotSummaries", "traits": { "smithy.api#documentation": "

                            A collection of objects containing information about the application snapshots.

                            " } + }, + "NextToken": { + "target": "com.amazonaws.kinesisanalyticsv2#NextToken", + "traits": { + "smithy.api#documentation": "

                            The token for the next set of results, or null if there are no additional results.

                            " + } } } }, @@ -3334,18 +3405,18 @@ "com.amazonaws.kinesisanalyticsv2#ListApplicationsResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.kinesisanalyticsv2#ApplicationName", - "traits": { - "smithy.api#documentation": "

                            The pagination token for the next set of results, or null if there are no additional results.\n Pass this token into a subsequent command to retrieve the next set of items\n For more information about pagination, see \n Using the AWS Command Line Interface's Pagination Options.

                            " - } - }, "ApplicationSummaries": { "target": "com.amazonaws.kinesisanalyticsv2#ApplicationSummaries", "traits": { "smithy.api#documentation": "

                            A list of ApplicationSummary objects.

                            ", "smithy.api#required": {} } + }, + "NextToken": { + "target": "com.amazonaws.kinesisanalyticsv2#ApplicationName", + "traits": { + "smithy.api#documentation": "

                            The pagination token for the next set of results, or null if there are no additional results.\n Pass this token into a subsequent command to retrieve the next set of items\n For more information about pagination, see \n Using the AWS Command Line Interface's Pagination Options.

                            " + } } } }, @@ -3493,17 +3564,17 @@ "com.amazonaws.kinesisanalyticsv2#MonitoringConfiguration": { "type": "structure", "members": { - "MetricsLevel": { - "target": "com.amazonaws.kinesisanalyticsv2#MetricsLevel", + "ConfigurationType": { + "target": "com.amazonaws.kinesisanalyticsv2#ConfigurationType", "traits": { - "smithy.api#documentation": "

                            Describes the granularity of the CloudWatch Logs for an application. The Parallelism\n level is not recommended for applications with a Parallelism over 64 due to excessive costs.

                            " + "smithy.api#documentation": "

                            Describes whether to use the default CloudWatch logging configuration for an application. \n You must set this property to CUSTOM in order to set the LogLevel or\n MetricsLevel parameters.

                            ", + "smithy.api#required": {} } }, - "ConfigurationType": { - "target": "com.amazonaws.kinesisanalyticsv2#ConfigurationType", + "MetricsLevel": { + "target": "com.amazonaws.kinesisanalyticsv2#MetricsLevel", "traits": { - "smithy.api#documentation": "

                            Describes whether to use the default CloudWatch logging configuration for an application. \n You must set this property to CUSTOM in order to set the LogLevel or\n MetricsLevel parameters.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            Describes the granularity of the CloudWatch Logs for an application. The Parallelism\n level is not recommended for applications with a Parallelism over 64 due to excessive costs.

                            " } }, "LogLevel": { @@ -3526,17 +3597,17 @@ "smithy.api#documentation": "

                            Describes whether to use the default CloudWatch logging configuration for an application.

                            " } }, - "LogLevel": { - "target": "com.amazonaws.kinesisanalyticsv2#LogLevel", - "traits": { - "smithy.api#documentation": "

                            Describes the verbosity of the CloudWatch Logs for an application.

                            " - } - }, "MetricsLevel": { "target": "com.amazonaws.kinesisanalyticsv2#MetricsLevel", "traits": { "smithy.api#documentation": "

                            Describes the granularity of the CloudWatch Logs for an application.

                            " } + }, + "LogLevel": { + "target": "com.amazonaws.kinesisanalyticsv2#LogLevel", + "traits": { + "smithy.api#documentation": "

                            Describes the verbosity of the CloudWatch Logs for an application.

                            " + } } }, "traits": { @@ -3546,10 +3617,10 @@ "com.amazonaws.kinesisanalyticsv2#MonitoringConfigurationUpdate": { "type": "structure", "members": { - "LogLevelUpdate": { - "target": "com.amazonaws.kinesisanalyticsv2#LogLevel", + "ConfigurationTypeUpdate": { + "target": "com.amazonaws.kinesisanalyticsv2#ConfigurationType", "traits": { - "smithy.api#documentation": "

                            Describes updates to the verbosity of the CloudWatch Logs for an application.

                            " + "smithy.api#documentation": "

                            Describes updates to whether to use the default CloudWatch logging configuration for \n an application. You must set this property to CUSTOM in order to set the LogLevel or\n MetricsLevel parameters.

                            " } }, "MetricsLevelUpdate": { @@ -3558,10 +3629,10 @@ "smithy.api#documentation": "

                            Describes updates to the granularity of the CloudWatch Logs for an application. The Parallelism\n level is not recommended for applications with a Parallelism over 64 due to excessive costs.

                            " } }, - "ConfigurationTypeUpdate": { - "target": "com.amazonaws.kinesisanalyticsv2#ConfigurationType", + "LogLevelUpdate": { + "target": "com.amazonaws.kinesisanalyticsv2#LogLevel", "traits": { - "smithy.api#documentation": "

                            Describes updates to whether to use the default CloudWatch logging configuration for \n an application. You must set this property to CUSTOM in order to set the LogLevel or\n MetricsLevel parameters.

                            " + "smithy.api#documentation": "

                            Describes updates to the verbosity of the CloudWatch Logs for an application.

                            " } } }, @@ -3590,12 +3661,6 @@ "com.amazonaws.kinesisanalyticsv2#Output": { "type": "structure", "members": { - "LambdaOutput": { - "target": "com.amazonaws.kinesisanalyticsv2#LambdaOutput", - "traits": { - "smithy.api#documentation": "

                            Identifies an AWS Lambda function as the destination.

                            " - } - }, "Name": { "target": "com.amazonaws.kinesisanalyticsv2#InAppStreamName", "traits": { @@ -3615,6 +3680,12 @@ "smithy.api#documentation": "

                            Identifies a Kinesis Data Firehose delivery stream as the destination.

                            " } }, + "LambdaOutput": { + "target": "com.amazonaws.kinesisanalyticsv2#LambdaOutput", + "traits": { + "smithy.api#documentation": "

                            Identifies an AWS Lambda function as the destination.

                            " + } + }, "DestinationSchema": { "target": "com.amazonaws.kinesisanalyticsv2#DestinationSchema", "traits": { @@ -3642,16 +3713,10 @@ "smithy.api#documentation": "

                            The name of the in-application stream that is configured as output.

                            " } }, - "LambdaOutputDescription": { - "target": "com.amazonaws.kinesisanalyticsv2#LambdaOutputDescription", - "traits": { - "smithy.api#documentation": "

                            Describes the Lambda function that is configured as the destination where output is\n written.

                            " - } - }, - "DestinationSchema": { - "target": "com.amazonaws.kinesisanalyticsv2#DestinationSchema", + "KinesisStreamsOutputDescription": { + "target": "com.amazonaws.kinesisanalyticsv2#KinesisStreamsOutputDescription", "traits": { - "smithy.api#documentation": "

                            The data format used for writing data to the destination.

                            " + "smithy.api#documentation": "

                            Describes the Kinesis data stream that is configured as the destination where output is\n written.

                            " } }, "KinesisFirehoseOutputDescription": { @@ -3660,10 +3725,16 @@ "smithy.api#documentation": "

                            Describes the Kinesis Data Firehose delivery stream that is configured as the destination\n where output is written.

                            " } }, - "KinesisStreamsOutputDescription": { - "target": "com.amazonaws.kinesisanalyticsv2#KinesisStreamsOutputDescription", + "LambdaOutputDescription": { + "target": "com.amazonaws.kinesisanalyticsv2#LambdaOutputDescription", "traits": { - "smithy.api#documentation": "

                            Describes the Kinesis data stream that is configured as the destination where output is\n written.

                            " + "smithy.api#documentation": "

                            Describes the Lambda function that is configured as the destination where output is\n written.

                            " + } + }, + "DestinationSchema": { + "target": "com.amazonaws.kinesisanalyticsv2#DestinationSchema", + "traits": { + "smithy.api#documentation": "

                            The data format used for writing data to the destination.

                            " } } }, @@ -3680,6 +3751,13 @@ "com.amazonaws.kinesisanalyticsv2#OutputUpdate": { "type": "structure", "members": { + "OutputId": { + "target": "com.amazonaws.kinesisanalyticsv2#Id", + "traits": { + "smithy.api#documentation": "

                            Identifies the specific output configuration that you want to update.

                            ", + "smithy.api#required": {} + } + }, "NameUpdate": { "target": "com.amazonaws.kinesisanalyticsv2#InAppStreamName", "traits": { @@ -3692,19 +3770,6 @@ "smithy.api#documentation": "

                            Describes a Kinesis data stream as the destination for the output.

                            " } }, - "DestinationSchemaUpdate": { - "target": "com.amazonaws.kinesisanalyticsv2#DestinationSchema", - "traits": { - "smithy.api#documentation": "

                            Describes the data format when records are written to the destination. \n

                            " - } - }, - "OutputId": { - "target": "com.amazonaws.kinesisanalyticsv2#Id", - "traits": { - "smithy.api#documentation": "

                            Identifies the specific output configuration that you want to update.

                            ", - "smithy.api#required": {} - } - }, "KinesisFirehoseOutputUpdate": { "target": "com.amazonaws.kinesisanalyticsv2#KinesisFirehoseOutputUpdate", "traits": { @@ -3716,6 +3781,12 @@ "traits": { "smithy.api#documentation": "

                            Describes an AWS Lambda function as the destination for the output.

                            " } + }, + "DestinationSchemaUpdate": { + "target": "com.amazonaws.kinesisanalyticsv2#DestinationSchema", + "traits": { + "smithy.api#documentation": "

                            Describes the data format when records are written to the destination. \n

                            " + } } }, "traits": { @@ -3753,18 +3824,18 @@ "smithy.api#required": {} } }, - "ParallelismPerKPU": { - "target": "com.amazonaws.kinesisanalyticsv2#ParallelismPerKPU", - "traits": { - "smithy.api#documentation": "

                            Describes the number of parallel tasks that a Flink-based Kinesis Data Analytics application can perform per Kinesis Processing Unit \n (KPU) used by the application. For more\n information about KPUs, see Amazon Kinesis Data Analytics Pricing.

                            " - } - }, "Parallelism": { "target": "com.amazonaws.kinesisanalyticsv2#Parallelism", "traits": { "smithy.api#documentation": "

                            Describes the initial number of parallel tasks that a Flink-based Kinesis Data Analytics application can perform. If AutoScalingEnabled \n is set to True, Kinesis Data Analytics increases the CurrentParallelism value in response to application\n load. The service can increase the CurrentParallelism value up to the maximum parallelism, which is \n ParalellismPerKPU times the maximum KPUs for the application. \n The maximum KPUs for an application is 32 by default, and can be increased by requesting a limit increase. If \n application load is reduced, the service can\n reduce the CurrentParallelism value down to the Parallelism setting.

                            " } }, + "ParallelismPerKPU": { + "target": "com.amazonaws.kinesisanalyticsv2#ParallelismPerKPU", + "traits": { + "smithy.api#documentation": "

                            Describes the number of parallel tasks that a Flink-based Kinesis Data Analytics application can perform per Kinesis Processing Unit \n (KPU) used by the application. For more\n information about KPUs, see Amazon Kinesis Data Analytics Pricing.

                            " + } + }, "AutoScalingEnabled": { "target": "com.amazonaws.kinesisanalyticsv2#BooleanObject", "traits": { @@ -3779,12 +3850,24 @@ "com.amazonaws.kinesisanalyticsv2#ParallelismConfigurationDescription": { "type": "structure", "members": { + "ConfigurationType": { + "target": "com.amazonaws.kinesisanalyticsv2#ConfigurationType", + "traits": { + "smithy.api#documentation": "

                            Describes whether the application uses the default parallelism for the Kinesis Data Analytics service.

                            " + } + }, "Parallelism": { "target": "com.amazonaws.kinesisanalyticsv2#Parallelism", "traits": { "smithy.api#documentation": "

                            Describes the initial number of parallel tasks that a Flink-based Kinesis Data Analytics application can perform. \n If AutoScalingEnabled is set to True, then Kinesis Data Analytics can increase the CurrentParallelism value in response to application\n load. The service can increase CurrentParallelism up to the maximum parallelism, which is ParalellismPerKPU times the maximum KPUs for the application. \n The maximum KPUs for an application is 32 by default, and can be increased by requesting a limit increase. If application load is reduced, the service can\n reduce the CurrentParallelism value down to the Parallelism setting.

                            " } }, + "ParallelismPerKPU": { + "target": "com.amazonaws.kinesisanalyticsv2#ParallelismPerKPU", + "traits": { + "smithy.api#documentation": "

                            Describes the number of parallel tasks that a Flink-based Kinesis Data Analytics application can perform per \n Kinesis Processing Unit (KPU) used by the application.

                            " + } + }, "CurrentParallelism": { "target": "com.amazonaws.kinesisanalyticsv2#Parallelism", "traits": { @@ -3796,18 +3879,6 @@ "traits": { "smithy.api#documentation": "

                            Describes whether the Kinesis Data Analytics service can increase the parallelism of the application in response to increased throughput.

                            " } - }, - "ConfigurationType": { - "target": "com.amazonaws.kinesisanalyticsv2#ConfigurationType", - "traits": { - "smithy.api#documentation": "

                            Describes whether the application uses the default parallelism for the Kinesis Data Analytics service.

                            " - } - }, - "ParallelismPerKPU": { - "target": "com.amazonaws.kinesisanalyticsv2#ParallelismPerKPU", - "traits": { - "smithy.api#documentation": "

                            Describes the number of parallel tasks that a Flink-based Kinesis Data Analytics application can perform per \n Kinesis Processing Unit (KPU) used by the application.

                            " - } } }, "traits": { @@ -3823,6 +3894,12 @@ "smithy.api#documentation": "

                            Describes updates to whether the application uses the default parallelism for the Kinesis Data Analytics service, or if a custom parallelism is used.\n You must set this property to CUSTOM\n in order to change your application's AutoScalingEnabled, Parallelism, or ParallelismPerKPU properties.

                            " } }, + "ParallelismUpdate": { + "target": "com.amazonaws.kinesisanalyticsv2#Parallelism", + "traits": { + "smithy.api#documentation": "

                            Describes updates to the initial number of parallel tasks an application can perform. If AutoScalingEnabled is set to True, then \n Kinesis Data Analytics can increase the CurrentParallelism value in response to application\n load. The service can increase CurrentParallelism up to the maximum parallelism, which is ParalellismPerKPU times the maximum KPUs for the application. \n The maximum KPUs for an application is 32 by default, and can be increased by requesting a limit increase. If application load is reduced, the service will\n reduce CurrentParallelism down to the Parallelism setting.

                            " + } + }, "ParallelismPerKPUUpdate": { "target": "com.amazonaws.kinesisanalyticsv2#ParallelismPerKPU", "traits": { @@ -3834,12 +3911,6 @@ "traits": { "smithy.api#documentation": "

                            Describes updates to whether the Kinesis Data Analytics service can increase the parallelism of the application in response to increased throughput.

                            " } - }, - "ParallelismUpdate": { - "target": "com.amazonaws.kinesisanalyticsv2#Parallelism", - "traits": { - "smithy.api#documentation": "

                            Describes updates to the initial number of parallel tasks an application can perform. If AutoScalingEnabled is set to True, then \n Kinesis Data Analytics can increase the CurrentParallelism value in response to application\n load. The service can increase CurrentParallelism up to the maximum parallelism, which is ParalellismPerKPU times the maximum KPUs for the application. \n The maximum KPUs for an application is 32 by default, and can be increased by requesting a limit increase. If application load is reduced, the service will\n reduce CurrentParallelism down to the Parallelism setting.

                            " - } } }, "traits": { @@ -3882,17 +3953,17 @@ "com.amazonaws.kinesisanalyticsv2#PropertyGroup": { "type": "structure", "members": { - "PropertyMap": { - "target": "com.amazonaws.kinesisanalyticsv2#PropertyMap", + "PropertyGroupId": { + "target": "com.amazonaws.kinesisanalyticsv2#Id", "traits": { - "smithy.api#documentation": "

                            Describes the value of an application execution property key-value pair.

                            ", + "smithy.api#documentation": "

                            Describes the key of an application execution property key-value pair.

                            ", "smithy.api#required": {} } }, - "PropertyGroupId": { - "target": "com.amazonaws.kinesisanalyticsv2#Id", + "PropertyMap": { + "target": "com.amazonaws.kinesisanalyticsv2#PropertyMap", "traits": { - "smithy.api#documentation": "

                            Describes the key of an application execution property key-value pair.

                            ", + "smithy.api#documentation": "

                            Describes the value of an application execution property key-value pair.

                            ", "smithy.api#required": {} } } @@ -3958,6 +4029,13 @@ "com.amazonaws.kinesisanalyticsv2#RecordColumn": { "type": "structure", "members": { + "Name": { + "target": "com.amazonaws.kinesisanalyticsv2#RecordColumnName", + "traits": { + "smithy.api#documentation": "

                            The name of the column that is created in the in-application input stream or reference\n table.

                            ", + "smithy.api#required": {} + } + }, "Mapping": { "target": "com.amazonaws.kinesisanalyticsv2#RecordColumnMapping", "traits": { @@ -3970,13 +4048,6 @@ "smithy.api#documentation": "

                            The type of column created in the in-application input stream or reference table.

                            ", "smithy.api#required": {} } - }, - "Name": { - "target": "com.amazonaws.kinesisanalyticsv2#RecordColumnName", - "traits": { - "smithy.api#documentation": "

                            The name of the column that is created in the in-application input stream or reference\n table.

                            ", - "smithy.api#required": {} - } } }, "traits": { @@ -4045,18 +4116,18 @@ "com.amazonaws.kinesisanalyticsv2#RecordFormat": { "type": "structure", "members": { - "MappingParameters": { - "target": "com.amazonaws.kinesisanalyticsv2#MappingParameters", - "traits": { - "smithy.api#documentation": "

                            When you configure application input at the time of creating or updating an application,\n provides additional mapping information specific to the record format (such as JSON, CSV, or\n record fields delimited by some delimiter) on the streaming source.

                            " - } - }, "RecordFormatType": { "target": "com.amazonaws.kinesisanalyticsv2#RecordFormatType", "traits": { "smithy.api#documentation": "

                            The type of record format.

                            ", "smithy.api#required": {} } + }, + "MappingParameters": { + "target": "com.amazonaws.kinesisanalyticsv2#MappingParameters", + "traits": { + "smithy.api#documentation": "

                            When you configure application input at the time of creating or updating an application,\n provides additional mapping information specific to the record format (such as JSON, CSV, or\n record fields delimited by some delimiter) on the streaming source.

                            " + } } }, "traits": { @@ -4100,12 +4171,6 @@ "com.amazonaws.kinesisanalyticsv2#ReferenceDataSource": { "type": "structure", "members": { - "S3ReferenceDataSource": { - "target": "com.amazonaws.kinesisanalyticsv2#S3ReferenceDataSource", - "traits": { - "smithy.api#documentation": "

                            Identifies the S3 bucket and object that contains the reference data.\n \n A Kinesis Data Analytics application loads reference data only once. If the data changes, you call the UpdateApplication operation to trigger reloading of data into your application.

                            " - } - }, "TableName": { "target": "com.amazonaws.kinesisanalyticsv2#InAppTableName", "traits": { @@ -4113,6 +4178,12 @@ "smithy.api#required": {} } }, + "S3ReferenceDataSource": { + "target": "com.amazonaws.kinesisanalyticsv2#S3ReferenceDataSource", + "traits": { + "smithy.api#documentation": "

                            Identifies the S3 bucket and object that contains the reference data.\n \n A Kinesis Data Analytics application loads reference data only once. If the data changes, you call the UpdateApplication operation to trigger reloading of data into your application.

                            " + } + }, "ReferenceSchema": { "target": "com.amazonaws.kinesisanalyticsv2#SourceSchema", "traits": { @@ -4128,23 +4199,17 @@ "com.amazonaws.kinesisanalyticsv2#ReferenceDataSourceDescription": { "type": "structure", "members": { - "TableName": { - "target": "com.amazonaws.kinesisanalyticsv2#InAppTableName", + "ReferenceId": { + "target": "com.amazonaws.kinesisanalyticsv2#Id", "traits": { - "smithy.api#documentation": "

                            The in-application table name created by the specific reference data source configuration.

                            ", + "smithy.api#documentation": "

                            The ID of the reference data source. This is the ID that Kinesis Data Analytics assigns\n when you add the reference data source to your application using the CreateApplication or UpdateApplication operation.

                            ", "smithy.api#required": {} } }, - "ReferenceSchema": { - "target": "com.amazonaws.kinesisanalyticsv2#SourceSchema", - "traits": { - "smithy.api#documentation": "

                            Describes the format of the data in the streaming source, and how each data element maps to corresponding columns created in the in-application stream.

                            " - } - }, - "ReferenceId": { - "target": "com.amazonaws.kinesisanalyticsv2#Id", + "TableName": { + "target": "com.amazonaws.kinesisanalyticsv2#InAppTableName", "traits": { - "smithy.api#documentation": "

                            The ID of the reference data source. This is the ID that Kinesis Data Analytics assigns\n when you add the reference data source to your application using the CreateApplication or UpdateApplication operation.

                            ", + "smithy.api#documentation": "

                            The in-application table name created by the specific reference data source configuration.

                            ", "smithy.api#required": {} } }, @@ -4154,6 +4219,12 @@ "smithy.api#documentation": "

                            Provides the Amazon S3 bucket name, the object key name that contains the reference data.

                            ", "smithy.api#required": {} } + }, + "ReferenceSchema": { + "target": "com.amazonaws.kinesisanalyticsv2#SourceSchema", + "traits": { + "smithy.api#documentation": "

                            Describes the format of the data in the streaming source, and how each data element maps to corresponding columns created in the in-application stream.

                            " + } } }, "traits": { @@ -4169,6 +4240,13 @@ "com.amazonaws.kinesisanalyticsv2#ReferenceDataSourceUpdate": { "type": "structure", "members": { + "ReferenceId": { + "target": "com.amazonaws.kinesisanalyticsv2#Id", + "traits": { + "smithy.api#documentation": "

                            The ID of the reference data source that is being updated. You can use the DescribeApplication operation to get this value.

                            ", + "smithy.api#required": {} + } + }, "TableNameUpdate": { "target": "com.amazonaws.kinesisanalyticsv2#InAppTableName", "traits": { @@ -4181,13 +4259,6 @@ "smithy.api#documentation": "

                            Describes the S3 bucket name, object key name, and IAM role that Kinesis Data Analytics can assume to read the \n Amazon S3 object on your behalf and populate the in-application reference table.

                            " } }, - "ReferenceId": { - "target": "com.amazonaws.kinesisanalyticsv2#Id", - "traits": { - "smithy.api#documentation": "

                            The ID of the reference data source that is being updated. You can use the DescribeApplication operation to get this value.

                            ", - "smithy.api#required": {} - } - }, "ReferenceSchemaUpdate": { "target": "com.amazonaws.kinesisanalyticsv2#SourceSchema", "traits": { @@ -4270,18 +4341,18 @@ "com.amazonaws.kinesisanalyticsv2#RunConfiguration": { "type": "structure", "members": { - "SqlRunConfigurations": { - "target": "com.amazonaws.kinesisanalyticsv2#SqlRunConfigurations", - "traits": { - "smithy.api#documentation": "

                            Describes the starting parameters for a SQL-based Kinesis Data Analytics application\n application.

                            " - } - }, "FlinkRunConfiguration": { "target": "com.amazonaws.kinesisanalyticsv2#FlinkRunConfiguration", "traits": { "smithy.api#documentation": "

                            Describes the starting parameters for a Flink-based Kinesis Data Analytics application.

                            " } }, + "SqlRunConfigurations": { + "target": "com.amazonaws.kinesisanalyticsv2#SqlRunConfigurations", + "traits": { + "smithy.api#documentation": "

                            Describes the starting parameters for a SQL-based Kinesis Data Analytics application\n application.

                            " + } + }, "ApplicationRestoreConfiguration": { "target": "com.amazonaws.kinesisanalyticsv2#ApplicationRestoreConfiguration", "traits": { @@ -4313,17 +4384,17 @@ "com.amazonaws.kinesisanalyticsv2#RunConfigurationUpdate": { "type": "structure", "members": { - "ApplicationRestoreConfiguration": { - "target": "com.amazonaws.kinesisanalyticsv2#ApplicationRestoreConfiguration", - "traits": { - "smithy.api#documentation": "

                            Describes updates to the restore behavior of a restarting application.

                            " - } - }, "FlinkRunConfiguration": { "target": "com.amazonaws.kinesisanalyticsv2#FlinkRunConfiguration", "traits": { "smithy.api#documentation": "

                            Describes the starting parameters for a Flink-based Kinesis Data Analytics application.

                            " } + }, + "ApplicationRestoreConfiguration": { + "target": "com.amazonaws.kinesisanalyticsv2#ApplicationRestoreConfiguration", + "traits": { + "smithy.api#documentation": "

                            Describes updates to the restore behavior of a restarting application.

                            " + } } }, "traits": { @@ -4345,6 +4416,10 @@ { "value": "FLINK-1_8", "name": "FLINK_1_8" + }, + { + "value": "FLINK-1_11", + "name": "FLINK_1_11" } ] } @@ -4352,17 +4427,17 @@ "com.amazonaws.kinesisanalyticsv2#S3ApplicationCodeLocationDescription": { "type": "structure", "members": { - "FileKey": { - "target": "com.amazonaws.kinesisanalyticsv2#FileKey", + "BucketARN": { + "target": "com.amazonaws.kinesisanalyticsv2#BucketARN", "traits": { - "smithy.api#documentation": "

                            The file key for the object containing the application code.

                            ", + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) for the S3 bucket containing the application code.

                            ", "smithy.api#required": {} } }, - "BucketARN": { - "target": "com.amazonaws.kinesisanalyticsv2#BucketARN", + "FileKey": { + "target": "com.amazonaws.kinesisanalyticsv2#FileKey", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) for the S3 bucket containing the application code.

                            ", + "smithy.api#documentation": "

                            The file key for the object containing the application code.

                            ", "smithy.api#required": {} } }, @@ -4402,6 +4477,13 @@ "com.amazonaws.kinesisanalyticsv2#S3ContentLocation": { "type": "structure", "members": { + "BucketARN": { + "target": "com.amazonaws.kinesisanalyticsv2#BucketARN", + "traits": { + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) for the S3 bucket containing the application code.

                            ", + "smithy.api#required": {} + } + }, "FileKey": { "target": "com.amazonaws.kinesisanalyticsv2#FileKey", "traits": { @@ -4414,13 +4496,6 @@ "traits": { "smithy.api#documentation": "

                            The version of the object containing the application code.

                            " } - }, - "BucketARN": { - "target": "com.amazonaws.kinesisanalyticsv2#BucketARN", - "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) for the S3 bucket containing the application code.

                            ", - "smithy.api#required": {} - } } }, "traits": { @@ -4430,12 +4505,6 @@ "com.amazonaws.kinesisanalyticsv2#S3ContentLocationUpdate": { "type": "structure", "members": { - "ObjectVersionUpdate": { - "target": "com.amazonaws.kinesisanalyticsv2#ObjectVersion", - "traits": { - "smithy.api#documentation": "

                            The new version of the object containing the application code.

                            " - } - }, "BucketARNUpdate": { "target": "com.amazonaws.kinesisanalyticsv2#BucketARN", "traits": { @@ -4447,6 +4516,12 @@ "traits": { "smithy.api#documentation": "

                            The new file key for the object containing the application code.

                            " } + }, + "ObjectVersionUpdate": { + "target": "com.amazonaws.kinesisanalyticsv2#ObjectVersion", + "traits": { + "smithy.api#documentation": "

                            The new version of the object containing the application code.

                            " + } } }, "traits": { @@ -4456,17 +4531,17 @@ "com.amazonaws.kinesisanalyticsv2#S3ReferenceDataSource": { "type": "structure", "members": { - "FileKey": { - "target": "com.amazonaws.kinesisanalyticsv2#FileKey", - "traits": { - "smithy.api#documentation": "

                            The object key name containing the reference data.

                            " - } - }, "BucketARN": { "target": "com.amazonaws.kinesisanalyticsv2#BucketARN", "traits": { "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the S3 bucket.

                            " } + }, + "FileKey": { + "target": "com.amazonaws.kinesisanalyticsv2#FileKey", + "traits": { + "smithy.api#documentation": "

                            The object key name containing the reference data.

                            " + } } }, "traits": { @@ -4476,10 +4551,11 @@ "com.amazonaws.kinesisanalyticsv2#S3ReferenceDataSourceDescription": { "type": "structure", "members": { - "ReferenceRoleARN": { - "target": "com.amazonaws.kinesisanalyticsv2#RoleARN", + "BucketARN": { + "target": "com.amazonaws.kinesisanalyticsv2#BucketARN", "traits": { - "smithy.api#documentation": "

                            The ARN of the IAM role that Kinesis Data Analytics can assume to read the Amazon S3\n object on your behalf to populate the in-application reference table.

                            \n \n

                            Provided for backward compatibility. Applications that are created with the current API\n version have an application-level service execution role rather than a resource-level\n role.

                            \n
                            " + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the S3 bucket.

                            ", + "smithy.api#required": {} } }, "FileKey": { @@ -4489,11 +4565,10 @@ "smithy.api#required": {} } }, - "BucketARN": { - "target": "com.amazonaws.kinesisanalyticsv2#BucketARN", + "ReferenceRoleARN": { + "target": "com.amazonaws.kinesisanalyticsv2#RoleARN", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the S3 bucket.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The ARN of the IAM role that Kinesis Data Analytics can assume to read the Amazon S3\n object on your behalf to populate the in-application reference table.

                            \n \n

                            Provided for backward compatibility. Applications that are created with the current API\n version have an application-level service execution role rather than a resource-level\n role.

                            \n
                            " } } }, @@ -4549,16 +4624,19 @@ "smithy.api#httpError": 503 } }, + "com.amazonaws.kinesisanalyticsv2#SessionExpirationDurationInSeconds": { + "type": "long", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 1800, + "max": 43200 + } + } + }, "com.amazonaws.kinesisanalyticsv2#SnapshotDetails": { "type": "structure", "members": { - "ApplicationVersionId": { - "target": "com.amazonaws.kinesisanalyticsv2#ApplicationVersionId", - "traits": { - "smithy.api#documentation": "

                            The current application version ID when the snapshot was created.

                            ", - "smithy.api#required": {} - } - }, "SnapshotName": { "target": "com.amazonaws.kinesisanalyticsv2#SnapshotName", "traits": { @@ -4573,6 +4651,13 @@ "smithy.api#required": {} } }, + "ApplicationVersionId": { + "target": "com.amazonaws.kinesisanalyticsv2#ApplicationVersionId", + "traits": { + "smithy.api#documentation": "

                            The current application version ID when the snapshot was created.

                            ", + "smithy.api#required": {} + } + }, "SnapshotCreationTimestamp": { "target": "com.amazonaws.kinesisanalyticsv2#Timestamp", "traits": { @@ -4626,10 +4711,10 @@ "com.amazonaws.kinesisanalyticsv2#SourceSchema": { "type": "structure", "members": { - "RecordColumns": { - "target": "com.amazonaws.kinesisanalyticsv2#RecordColumns", + "RecordFormat": { + "target": "com.amazonaws.kinesisanalyticsv2#RecordFormat", "traits": { - "smithy.api#documentation": "

                            A list of RecordColumn objects.

                            ", + "smithy.api#documentation": "

                            Specifies the format of the records on the streaming source.

                            ", "smithy.api#required": {} } }, @@ -4639,10 +4724,10 @@ "smithy.api#documentation": "

                            Specifies the encoding of the records in the streaming source. For example, UTF-8.

                            " } }, - "RecordFormat": { - "target": "com.amazonaws.kinesisanalyticsv2#RecordFormat", + "RecordColumns": { + "target": "com.amazonaws.kinesisanalyticsv2#RecordColumns", "traits": { - "smithy.api#documentation": "

                            Specifies the format of the records on the streaming source.

                            ", + "smithy.api#documentation": "

                            A list of RecordColumn objects.

                            ", "smithy.api#required": {} } } @@ -4680,10 +4765,10 @@ "com.amazonaws.kinesisanalyticsv2#SqlApplicationConfigurationDescription": { "type": "structure", "members": { - "ReferenceDataSourceDescriptions": { - "target": "com.amazonaws.kinesisanalyticsv2#ReferenceDataSourceDescriptions", + "InputDescriptions": { + "target": "com.amazonaws.kinesisanalyticsv2#InputDescriptions", "traits": { - "smithy.api#documentation": "

                            The array of ReferenceDataSourceDescription objects describing the\n reference data sources used by the application.

                            " + "smithy.api#documentation": "

                            The array of InputDescription objects describing the input streams used\n by the application.

                            " } }, "OutputDescriptions": { @@ -4692,10 +4777,10 @@ "smithy.api#documentation": "

                            The array of OutputDescription objects describing the destination\n streams used by the application.

                            " } }, - "InputDescriptions": { - "target": "com.amazonaws.kinesisanalyticsv2#InputDescriptions", + "ReferenceDataSourceDescriptions": { + "target": "com.amazonaws.kinesisanalyticsv2#ReferenceDataSourceDescriptions", "traits": { - "smithy.api#documentation": "

                            The array of InputDescription objects describing the input streams used\n by the application.

                            " + "smithy.api#documentation": "

                            The array of ReferenceDataSourceDescription objects describing the\n reference data sources used by the application.

                            " } } }, @@ -4706,6 +4791,12 @@ "com.amazonaws.kinesisanalyticsv2#SqlApplicationConfigurationUpdate": { "type": "structure", "members": { + "InputUpdates": { + "target": "com.amazonaws.kinesisanalyticsv2#InputUpdates", + "traits": { + "smithy.api#documentation": "

                            The array of InputUpdate objects describing the new input streams used\n by the application.

                            " + } + }, "OutputUpdates": { "target": "com.amazonaws.kinesisanalyticsv2#OutputUpdates", "traits": { @@ -4717,12 +4808,6 @@ "traits": { "smithy.api#documentation": "

                            The array of ReferenceDataSourceUpdate objects describing the new\n reference data sources used by the application.

                            " } - }, - "InputUpdates": { - "target": "com.amazonaws.kinesisanalyticsv2#InputUpdates", - "traits": { - "smithy.api#documentation": "

                            The array of InputUpdate objects describing the new input streams used\n by the application.

                            " - } } }, "traits": { @@ -4789,17 +4874,17 @@ "com.amazonaws.kinesisanalyticsv2#StartApplicationRequest": { "type": "structure", "members": { - "RunConfiguration": { - "target": "com.amazonaws.kinesisanalyticsv2#RunConfiguration", + "ApplicationName": { + "target": "com.amazonaws.kinesisanalyticsv2#ApplicationName", "traits": { - "smithy.api#documentation": "

                            Identifies the run configuration (start parameters) of a Kinesis Data Analytics application.

                            ", + "smithy.api#documentation": "

                            The name of the application.

                            ", "smithy.api#required": {} } }, - "ApplicationName": { - "target": "com.amazonaws.kinesisanalyticsv2#ApplicationName", + "RunConfiguration": { + "target": "com.amazonaws.kinesisanalyticsv2#RunConfiguration", "traits": { - "smithy.api#documentation": "

                            The name of the application.

                            ", + "smithy.api#documentation": "

                            Identifies the run configuration (start parameters) of a Kinesis Data Analytics application.

                            ", "smithy.api#required": {} } } @@ -4838,24 +4923,24 @@ } ], "traits": { - "smithy.api#documentation": "

                            Stops the application from processing data. You can stop\n an application only if it is in the running state. \n You can use the DescribeApplication operation to find the application state.\n

                            " + "smithy.api#documentation": "

                            Stops the application from processing data. You can stop\n an application only if it is in the running status, unless you set the Force \n parameter to true.

                            \n

                            You can use the DescribeApplication operation to find the application status.\n

                            \n

                            Kinesis Data Analytics takes a snapshot when the application is stopped, unless Force is set \n to true.

                            " } }, "com.amazonaws.kinesisanalyticsv2#StopApplicationRequest": { "type": "structure", "members": { - "Force": { - "target": "com.amazonaws.kinesisanalyticsv2#BooleanObject", - "traits": { - "smithy.api#documentation": "

                            Set to true to force the application to stop. If you set Force\n to true, Kinesis Data Analytics stops the application without taking a snapshot.

                            \n

                            You can only force stop a Flink-based Kinesis Data Analytics application. You can't force stop a SQL-based Kinesis Data Analytics application.

                            \n

                            The application must be in the\n STARTING, UPDATING, STOPPING, AUTOSCALING, or\n RUNNING state.

                            " - } - }, "ApplicationName": { "target": "com.amazonaws.kinesisanalyticsv2#ApplicationName", "traits": { "smithy.api#documentation": "

                            The name of the running application to stop.

                            ", "smithy.api#required": {} } + }, + "Force": { + "target": "com.amazonaws.kinesisanalyticsv2#BooleanObject", + "traits": { + "smithy.api#documentation": "

                            Set to true to force the application to stop. If you set Force\n to true, Kinesis Data Analytics stops the application without taking a snapshot. \n

                            \n \n

                            Force-stopping your application may lead to data loss or duplication.\n To prevent data loss or duplicate processing of data during application restarts, \n we recommend you to take frequent snapshots of your application.

                            \n
                            \n

                            You can only force stop a Flink-based Kinesis Data Analytics application. You can't force stop a SQL-based Kinesis Data Analytics application.

                            \n

                            The application must be in the\n STARTING, UPDATING, STOPPING, AUTOSCALING, or\n RUNNING status.

                            " + } } } }, @@ -4881,18 +4966,18 @@ "com.amazonaws.kinesisanalyticsv2#Tag": { "type": "structure", "members": { - "Value": { - "target": "com.amazonaws.kinesisanalyticsv2#TagValue", - "traits": { - "smithy.api#documentation": "

                            The value of the key-value tag. The value is optional.

                            " - } - }, "Key": { "target": "com.amazonaws.kinesisanalyticsv2#TagKey", "traits": { "smithy.api#documentation": "

                            The key of the key-value tag.

                            ", "smithy.api#required": {} } + }, + "Value": { + "target": "com.amazonaws.kinesisanalyticsv2#TagValue", + "traits": { + "smithy.api#documentation": "

                            The value of the key-value tag. The value is optional.

                            " + } } }, "traits": { @@ -5023,17 +5108,17 @@ "Message": { "target": "com.amazonaws.kinesisanalyticsv2#ErrorMessage" }, - "ProcessedInputRecords": { - "target": "com.amazonaws.kinesisanalyticsv2#ProcessedInputRecords", - "traits": { - "smithy.api#documentation": "

                            Stream data that was modified by the processor specified in the InputProcessingConfiguration parameter.

                            " - } - }, "RawInputRecords": { "target": "com.amazonaws.kinesisanalyticsv2#RawInputRecords", "traits": { "smithy.api#documentation": "

                            Raw stream data that was sampled to infer the schema.

                            " } + }, + "ProcessedInputRecords": { + "target": "com.amazonaws.kinesisanalyticsv2#ProcessedInputRecords", + "traits": { + "smithy.api#documentation": "

                            Stream data that was modified by the processor specified in the InputProcessingConfiguration parameter.

                            " + } } }, "traits": { @@ -5085,17 +5170,17 @@ "com.amazonaws.kinesisanalyticsv2#UntagResourceRequest": { "type": "structure", "members": { - "TagKeys": { - "target": "com.amazonaws.kinesisanalyticsv2#TagKeys", + "ResourceARN": { + "target": "com.amazonaws.kinesisanalyticsv2#KinesisAnalyticsARN", "traits": { - "smithy.api#documentation": "

                            A list of keys of tags to remove from the specified application.

                            ", + "smithy.api#documentation": "

                            The ARN of the Kinesis Data Analytics application from which to remove the tags.

                            ", "smithy.api#required": {} } }, - "ResourceARN": { - "target": "com.amazonaws.kinesisanalyticsv2#KinesisAnalyticsARN", + "TagKeys": { + "target": "com.amazonaws.kinesisanalyticsv2#TagKeys", "traits": { - "smithy.api#documentation": "

                            The ARN of the Kinesis Data Analytics application from which to remove the tags.

                            ", + "smithy.api#documentation": "

                            A list of keys of tags to remove from the specified application.

                            ", "smithy.api#required": {} } } @@ -5143,18 +5228,6 @@ "com.amazonaws.kinesisanalyticsv2#UpdateApplicationRequest": { "type": "structure", "members": { - "CloudWatchLoggingOptionUpdates": { - "target": "com.amazonaws.kinesisanalyticsv2#CloudWatchLoggingOptionUpdates", - "traits": { - "smithy.api#documentation": "

                            Describes application Amazon CloudWatch logging option updates. You can only update\n existing CloudWatch logging options with this action. To add a new CloudWatch logging option,\n use AddApplicationCloudWatchLoggingOption.

                            " - } - }, - "ServiceExecutionRoleUpdate": { - "target": "com.amazonaws.kinesisanalyticsv2#RoleARN", - "traits": { - "smithy.api#documentation": "

                            Describes updates to the service execution role.

                            " - } - }, "ApplicationName": { "target": "com.amazonaws.kinesisanalyticsv2#ApplicationName", "traits": { @@ -5175,11 +5248,23 @@ "smithy.api#documentation": "

                            Describes application configuration updates.

                            " } }, + "ServiceExecutionRoleUpdate": { + "target": "com.amazonaws.kinesisanalyticsv2#RoleARN", + "traits": { + "smithy.api#documentation": "

                            Describes updates to the service execution role.

                            " + } + }, "RunConfigurationUpdate": { "target": "com.amazonaws.kinesisanalyticsv2#RunConfigurationUpdate", "traits": { "smithy.api#documentation": "

                            Describes updates to the application's starting parameters.

                            " } + }, + "CloudWatchLoggingOptionUpdates": { + "target": "com.amazonaws.kinesisanalyticsv2#CloudWatchLoggingOptionUpdates", + "traits": { + "smithy.api#documentation": "

                            Describes application Amazon CloudWatch logging option updates. You can only update\n existing CloudWatch logging options with this action. To add a new CloudWatch logging option,\n use AddApplicationCloudWatchLoggingOption.

                            " + } } } }, @@ -5195,20 +5280,31 @@ } } }, + "com.amazonaws.kinesisanalyticsv2#UrlType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "FLINK_DASHBOARD_URL", + "name": "FLINK_DASHBOARD_URL" + } + ] + } + }, "com.amazonaws.kinesisanalyticsv2#VpcConfiguration": { "type": "structure", "members": { - "SecurityGroupIds": { - "target": "com.amazonaws.kinesisanalyticsv2#SecurityGroupIds", + "SubnetIds": { + "target": "com.amazonaws.kinesisanalyticsv2#SubnetIds", "traits": { - "smithy.api#documentation": "

                            The array of SecurityGroup \n IDs used by the VPC configuration.

                            ", + "smithy.api#documentation": "

                            The array of Subnet IDs \n used by the VPC configuration.

                            ", "smithy.api#required": {} } }, - "SubnetIds": { - "target": "com.amazonaws.kinesisanalyticsv2#SubnetIds", + "SecurityGroupIds": { + "target": "com.amazonaws.kinesisanalyticsv2#SecurityGroupIds", "traits": { - "smithy.api#documentation": "

                            The array of Subnet IDs \n used by the VPC configuration.

                            ", + "smithy.api#documentation": "

                            The array of SecurityGroup \n IDs used by the VPC configuration.

                            ", "smithy.api#required": {} } } @@ -5220,31 +5316,31 @@ "com.amazonaws.kinesisanalyticsv2#VpcConfigurationDescription": { "type": "structure", "members": { - "SubnetIds": { - "target": "com.amazonaws.kinesisanalyticsv2#SubnetIds", + "VpcConfigurationId": { + "target": "com.amazonaws.kinesisanalyticsv2#Id", "traits": { - "smithy.api#documentation": "

                            The array of Subnet \n IDs used by the VPC configuration.

                            ", + "smithy.api#documentation": "

                            The ID of the VPC configuration.

                            ", "smithy.api#required": {} } }, - "SecurityGroupIds": { - "target": "com.amazonaws.kinesisanalyticsv2#SecurityGroupIds", + "VpcId": { + "target": "com.amazonaws.kinesisanalyticsv2#VpcId", "traits": { - "smithy.api#documentation": "

                            The array of SecurityGroup \n IDs used by the VPC configuration.

                            ", + "smithy.api#documentation": "

                            The ID of the associated VPC.

                            ", "smithy.api#required": {} } }, - "VpcId": { - "target": "com.amazonaws.kinesisanalyticsv2#VpcId", + "SubnetIds": { + "target": "com.amazonaws.kinesisanalyticsv2#SubnetIds", "traits": { - "smithy.api#documentation": "

                            The ID of the associated VPC.

                            ", + "smithy.api#documentation": "

                            The array of Subnet \n IDs used by the VPC configuration.

                            ", "smithy.api#required": {} } }, - "VpcConfigurationId": { - "target": "com.amazonaws.kinesisanalyticsv2#Id", + "SecurityGroupIds": { + "target": "com.amazonaws.kinesisanalyticsv2#SecurityGroupIds", "traits": { - "smithy.api#documentation": "

                            The ID of the VPC configuration.

                            ", + "smithy.api#documentation": "

                            The array of SecurityGroup \n IDs used by the VPC configuration.

                            ", "smithy.api#required": {} } } @@ -5269,17 +5365,17 @@ "smithy.api#required": {} } }, - "SecurityGroupIdUpdates": { - "target": "com.amazonaws.kinesisanalyticsv2#SecurityGroupIds", - "traits": { - "smithy.api#documentation": "

                            Describes updates to the array of \n SecurityGroup IDs used by the VPC configuration.

                            " - } - }, "SubnetIdUpdates": { "target": "com.amazonaws.kinesisanalyticsv2#SubnetIds", "traits": { "smithy.api#documentation": "

                            Describes updates to the array of Subnet \n IDs \n used by the VPC configuration.

                            " } + }, + "SecurityGroupIdUpdates": { + "target": "com.amazonaws.kinesisanalyticsv2#SecurityGroupIds", + "traits": { + "smithy.api#documentation": "

                            Describes updates to the array of \n SecurityGroup IDs used by the VPC configuration.

                            " + } } }, "traits": { diff --git a/codegen/sdk-codegen/aws-models/lambda.2015-03-31.json b/codegen/sdk-codegen/aws-models/lambda.2015-03-31.json index 8b80f5dc8d74..79eb7eeb95a4 100644 --- a/codegen/sdk-codegen/aws-models/lambda.2015-03-31.json +++ b/codegen/sdk-codegen/aws-models/lambda.2015-03-31.json @@ -759,7 +759,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Creates a mapping between an event source and an AWS Lambda function. Lambda reads items from the event source\n and triggers the function.

                            \n

                            For details about each event source type, see the following topics.

                            \n \n

                            The following error handling options are only available for stream sources (DynamoDB and Kinesis):

                            \n
                              \n
                            • \n

                              \n BisectBatchOnFunctionError - If the function returns an error, split the batch in two and retry.

                              \n
                            • \n
                            • \n

                              \n DestinationConfig - Send discarded records to an Amazon SQS queue or Amazon SNS topic.

                              \n
                            • \n
                            • \n

                              \n MaximumRecordAgeInSeconds - Discard records older than the specified age. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires

                              \n
                            • \n
                            • \n

                              \n MaximumRetryAttempts - Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires.

                              \n
                            • \n
                            • \n

                              \n ParallelizationFactor - Process multiple batches from each shard concurrently.

                              \n
                            • \n
                            ", + "smithy.api#documentation": "

                            Creates a mapping between an event source and an AWS Lambda function. Lambda reads items from the event source\n and triggers the function.

                            \n

                            For details about each event source type, see the following topics.

                            \n \n

                            The following error handling options are only available for stream sources (DynamoDB and Kinesis):

                            \n
                              \n
                            • \n

                              \n BisectBatchOnFunctionError - If the function returns an error, split the batch in two and retry.

                              \n
                            • \n
                            • \n

                              \n DestinationConfig - Send discarded records to an Amazon SQS queue or Amazon SNS topic.

                              \n
                            • \n
                            • \n

                              \n MaximumRecordAgeInSeconds - Discard records older than the specified age. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires

                              \n
                            • \n
                            • \n

                              \n MaximumRetryAttempts - Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires.

                              \n
                            • \n
                            • \n

                              \n ParallelizationFactor - Process multiple batches from each shard concurrently.

                              \n
                            • \n
                            ", "smithy.api#http": { "method": "POST", "uri": "/2015-03-31/event-source-mappings", @@ -1628,6 +1628,18 @@ "smithy.api#documentation": "

                            The identifier of the event source mapping.

                            " } }, + "StartingPosition": { + "target": "com.amazonaws.lambda#EventSourcePosition", + "traits": { + "smithy.api#documentation": "

                            The position in a stream from which to start reading. Required for Amazon Kinesis, Amazon DynamoDB, and Amazon MSK Streams\n sources. AT_TIMESTAMP is only supported for Amazon Kinesis streams.

                            " + } + }, + "StartingPositionTimestamp": { + "target": "com.amazonaws.lambda#Date", + "traits": { + "smithy.api#documentation": "

                            With StartingPosition set to AT_TIMESTAMP, the time from which to start\n reading.

                            " + } + }, "BatchSize": { "target": "com.amazonaws.lambda#BatchSize", "traits": { diff --git a/codegen/sdk-codegen/aws-models/lex-model-building-service.2017-04-19.json b/codegen/sdk-codegen/aws-models/lex-model-building-service.2017-04-19.json index 598bb3be4f00..924be8a1d740 100644 --- a/codegen/sdk-codegen/aws-models/lex-model-building-service.2017-04-19.json +++ b/codegen/sdk-codegen/aws-models/lex-model-building-service.2017-04-19.json @@ -162,7 +162,7 @@ "name": "lex" }, "aws.protocols#restJson1": {}, - "smithy.api#documentation": "Amazon Lex Build-Time Actions\n

                            Amazon Lex is an AWS service for building conversational voice and text interfaces. Use\n these actions to create, update, and delete conversational bots for new and existing client\n applications.

                            ", + "smithy.api#documentation": "Amazon Lex Build-Time Actions\n

                            Amazon Lex is an AWS service for building conversational voice and text\n interfaces. Use these actions to create, update, and delete conversational\n bots for new and existing client applications.

                            ", "smithy.api#title": "Amazon Lex Model Building Service" } }, @@ -203,7 +203,7 @@ } }, "traits": { - "smithy.api#documentation": "

                            The request is not well formed. For example, a value is invalid or a required field is\n missing. Check the field values, and try again.

                            ", + "smithy.api#documentation": "

                            The request is not well formed. For example, a value is invalid or\n a required field is missing. Check the field values, and try\n again.

                            ", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -247,7 +247,7 @@ "lastUpdatedDate": { "target": "com.amazonaws.lexmodelbuildingservice#Timestamp", "traits": { - "smithy.api#documentation": "

                            The date that the bot alias was updated. When you create a resource, the creation date\n and last updated date are the same.

                            " + "smithy.api#documentation": "

                            The date that the bot alias was updated. When you create a\n resource, the creation date and last updated date are the same.

                            " } }, "createdDate": { @@ -265,7 +265,7 @@ "conversationLogs": { "target": "com.amazonaws.lexmodelbuildingservice#ConversationLogsResponse", "traits": { - "smithy.api#documentation": "

                            Settings that determine how Amazon Lex uses conversation logs for the alias.

                            " + "smithy.api#documentation": "

                            Settings that determine how Amazon Lex uses conversation logs for the\n alias.

                            " } } }, @@ -285,7 +285,7 @@ "name": { "target": "com.amazonaws.lexmodelbuildingservice#BotChannelName", "traits": { - "smithy.api#documentation": "

                            The name of the association between the bot and the channel.

                            " + "smithy.api#documentation": "

                            The name of the association between the bot and the channel.\n

                            " } }, "description": { @@ -297,48 +297,48 @@ "botAlias": { "target": "com.amazonaws.lexmodelbuildingservice#AliasName", "traits": { - "smithy.api#documentation": "

                            An alias pointing to the specific version of the Amazon Lex bot to which this association is\n being made.

                            " + "smithy.api#documentation": "

                            An alias pointing to the specific version of the Amazon Lex bot to which\n this association is being made.

                            " } }, "botName": { "target": "com.amazonaws.lexmodelbuildingservice#BotName", "traits": { - "smithy.api#documentation": "

                            The name of the Amazon Lex bot to which this association is being made.

                            \n \n

                            Currently, Amazon Lex supports associations with Facebook and Slack, and Twilio.

                            \n\n
                            " + "smithy.api#documentation": "

                            The name of the Amazon Lex bot to which this association is being made.

                            \n \n

                            Currently, Amazon Lex supports associations with Facebook and Slack,\n and Twilio.

                            \n\n
                            " } }, "createdDate": { "target": "com.amazonaws.lexmodelbuildingservice#Timestamp", "traits": { - "smithy.api#documentation": "

                            The date that the association between the Amazon Lex bot and the channel was created.\n

                            " + "smithy.api#documentation": "

                            The date that the association between the Amazon Lex bot and the channel\n was created.

                            " } }, "type": { "target": "com.amazonaws.lexmodelbuildingservice#ChannelType", "traits": { - "smithy.api#documentation": "

                            Specifies the type of association by indicating the type of channel being established\n between the Amazon Lex bot and the external messaging platform.

                            " + "smithy.api#documentation": "

                            Specifies the type of association by indicating the type of channel\n being established between the Amazon Lex bot and the external messaging\n platform.

                            " } }, "botConfiguration": { "target": "com.amazonaws.lexmodelbuildingservice#ChannelConfigurationMap", "traits": { - "smithy.api#documentation": "

                            Provides information necessary to communicate with the messaging platform.

                            " + "smithy.api#documentation": "

                            Provides information necessary to communicate with the messaging\n platform.

                            " } }, "status": { "target": "com.amazonaws.lexmodelbuildingservice#ChannelStatus", "traits": { - "smithy.api#documentation": "

                            The status of the bot channel.

                            \n
                              \n
                            • \n

                              \n CREATED - The channel has been created and is ready for use.

                              \n
                            • \n
                            • \n

                              \n IN_PROGRESS - Channel creation is in progress.

                              \n
                            • \n
                            • \n

                              \n FAILED - There was an error creating the channel. For information\n about the reason for the failure, see the failureReason field.

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            The status of the bot channel.

                            \n
                              \n
                            • \n

                              \n CREATED - The channel has been created and is\n ready for use.

                              \n
                            • \n
                            • \n

                              \n IN_PROGRESS - Channel creation is in\n progress.

                              \n
                            • \n
                            • \n

                              \n FAILED - There was an error creating the channel.\n For information about the reason for the failure, see the\n failureReason field.

                              \n
                            • \n
                            " } }, "failureReason": { "target": "com.amazonaws.lexmodelbuildingservice#String", "traits": { - "smithy.api#documentation": "

                            If status is FAILED, Amazon Lex provides the reason that it failed\n to create the association.

                            " + "smithy.api#documentation": "

                            If status is FAILED, Amazon Lex provides the\n reason that it failed to create the association.

                            " } } }, "traits": { - "smithy.api#documentation": "

                            Represents an association between an Amazon Lex bot and an external messaging\n platform.

                            " + "smithy.api#documentation": "

                            Represents an association between an Amazon Lex bot and an external\n messaging platform.

                            " } }, "com.amazonaws.lexmodelbuildingservice#BotChannelAssociationList": { @@ -381,7 +381,7 @@ "lastUpdatedDate": { "target": "com.amazonaws.lexmodelbuildingservice#Timestamp", "traits": { - "smithy.api#documentation": "

                            The date that the bot was updated. When you create a bot, the creation date and last\n updated date are the same.

                            " + "smithy.api#documentation": "

                            The date that the bot was updated. When you create a bot, the\n creation date and last updated date are the same.

                            " } }, "createdDate": { @@ -393,7 +393,7 @@ "version": { "target": "com.amazonaws.lexmodelbuildingservice#Version", "traits": { - "smithy.api#documentation": "

                            The version of the bot. For a new bot, the version is always\n $LATEST.

                            " + "smithy.api#documentation": "

                            The version of the bot. For a new bot, the version is always\n $LATEST.

                            " } } }, @@ -435,13 +435,13 @@ "signature": { "target": "com.amazonaws.lexmodelbuildingservice#BuiltinIntentSignature", "traits": { - "smithy.api#documentation": "

                            A unique identifier for the built-in intent. To find the signature for an intent, see\n Standard Built-in Intents in the Alexa Skills Kit.

                            " + "smithy.api#documentation": "

                            A unique identifier for the built-in intent. To find the signature\n for an intent, see Standard Built-in Intents in the Alexa Skills\n Kit.

                            " } }, "supportedLocales": { "target": "com.amazonaws.lexmodelbuildingservice#LocaleList", "traits": { - "smithy.api#documentation": "

                            A list of identifiers for the locales that the intent supports.

                            " + "smithy.api#documentation": "

                            A list of identifiers for the locales that the intent\n supports.

                            " } } }, @@ -469,7 +469,7 @@ } }, "traits": { - "smithy.api#documentation": "

                            Provides information about a slot used in a built-in intent.

                            " + "smithy.api#documentation": "

                            Provides information about a slot used in a built-in\n intent.

                            " } }, "com.amazonaws.lexmodelbuildingservice#BuiltinIntentSlotList": { @@ -484,7 +484,7 @@ "signature": { "target": "com.amazonaws.lexmodelbuildingservice#BuiltinSlotTypeSignature", "traits": { - "smithy.api#documentation": "

                            A unique identifier for the built-in slot type. To find the signature for a slot type,\n see Slot Type Reference in the Alexa Skills Kit.

                            " + "smithy.api#documentation": "

                            A unique identifier for the built-in slot type. To find the\n signature for a slot type, see Slot Type Reference in the Alexa Skills\n Kit.

                            " } }, "supportedLocales": { @@ -578,13 +578,13 @@ "messageVersion": { "target": "com.amazonaws.lexmodelbuildingservice#MessageVersion", "traits": { - "smithy.api#documentation": "

                            The version of the request-response that you want Amazon Lex to use to invoke your Lambda\n function. For more information, see using-lambda.

                            ", + "smithy.api#documentation": "

                            The version of the request-response that you want Amazon Lex to use to\n invoke your Lambda function. For more information, see using-lambda.

                            ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

                            Specifies a Lambda function that verifies requests to a bot or fulfills the user's\n request to a bot..

                            " + "smithy.api#documentation": "

                            Specifies a Lambda function that verifies requests to a bot or\n fulfills the user's request to a bot..

                            " } }, "com.amazonaws.lexmodelbuildingservice#ConfidenceThreshold": { @@ -605,7 +605,7 @@ } }, "traits": { - "smithy.api#documentation": "

                            There was a conflict processing the request. Try your request again.

                            ", + "smithy.api#documentation": "

                            There was a conflict processing the request. Try your request\n again.

                            ", "smithy.api#error": "client", "smithy.api#httpError": 409 } @@ -638,20 +638,40 @@ ] } }, + "com.amazonaws.lexmodelbuildingservice#ContextTimeToLiveInSeconds": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 5, + "max": 86400 + } + } + }, + "com.amazonaws.lexmodelbuildingservice#ContextTurnsToLive": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 1, + "max": 20 + } + } + }, "com.amazonaws.lexmodelbuildingservice#ConversationLogsRequest": { "type": "structure", "members": { "logSettings": { "target": "com.amazonaws.lexmodelbuildingservice#LogSettingsRequestList", "traits": { - "smithy.api#documentation": "

                            The settings for your conversation logs. You can log the conversation text, conversation\n audio, or both.

                            ", + "smithy.api#documentation": "

                            The settings for your conversation logs. You can log the conversation\n text, conversation audio, or both.

                            ", "smithy.api#required": {} } }, "iamRoleArn": { "target": "com.amazonaws.lexmodelbuildingservice#IamRoleArn", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of an IAM role with permission to write to your CloudWatch\n Logs for text logs and your S3 bucket for audio logs. If audio encryption is enabled, this\n role also provides access permission for the AWS KMS key used for encrypting audio logs. For\n more information, see Creating an IAM Role and Policy\n for Conversation Logs.

                            ", + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of an IAM role with permission to write\n to your CloudWatch Logs for text logs and your S3 bucket for audio logs.\n If audio encryption is enabled, this role also provides access permission\n for the AWS KMS key used for encrypting audio logs. For more information,\n see Creating an\n IAM Role and Policy for Conversation Logs.

                            ", "smithy.api#required": {} } } @@ -666,13 +686,13 @@ "logSettings": { "target": "com.amazonaws.lexmodelbuildingservice#LogSettingsResponseList", "traits": { - "smithy.api#documentation": "

                            The settings for your conversation logs. You can log text, audio, or both.

                            " + "smithy.api#documentation": "

                            The settings for your conversation logs. You can log text, audio, or\n both.

                            " } }, "iamRoleArn": { "target": "com.amazonaws.lexmodelbuildingservice#IamRoleArn", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the IAM role used to write your logs to CloudWatch Logs\n or an S3 bucket.

                            " + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the IAM role used to write your logs\n to CloudWatch Logs or an S3 bucket.

                            " } } }, @@ -715,7 +735,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Creates a new version of the bot based on the $LATEST version. If the\n $LATEST version of this resource hasn't changed since you created the last\n version, Amazon Lex doesn't create a new version. It returns the last created version.

                            \n \n

                            You can update only the $LATEST version of the bot. You can't update the\n numbered versions that you create with the CreateBotVersion\n operation.

                            \n
                            \n

                            When you create the first version of a bot, Amazon Lex sets the version to 1. Subsequent\n versions increment by 1. For more information, see versioning-intro.

                            \n

                            This operation requires permission for the lex:CreateBotVersion action.\n

                            ", + "smithy.api#documentation": "

                            Creates a new version of the bot based on the $LATEST\n version. If the $LATEST version of this resource hasn't\n changed since you created the last version, Amazon Lex doesn't create a new\n version. It returns the last created version.

                            \n \n

                            You can update only the $LATEST version of the bot.\n You can't update the numbered versions that you create with the\n CreateBotVersion operation.

                            \n
                            \n

                            When you create the first version of a bot, Amazon Lex sets the version\n to 1. Subsequent versions increment by 1. For more information, see versioning-intro.

                            \n

                            This operation requires permission for the\n lex:CreateBotVersion action.

                            ", "smithy.api#http": { "method": "POST", "uri": "/bots/{name}/versions", @@ -729,7 +749,7 @@ "name": { "target": "com.amazonaws.lexmodelbuildingservice#BotName", "traits": { - "smithy.api#documentation": "

                            The name of the bot that you want to create a new version of. The name is case\n sensitive.

                            ", + "smithy.api#documentation": "

                            The name of the bot that you want to create a new version of. The\n name is case sensitive.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -737,7 +757,7 @@ "checksum": { "target": "com.amazonaws.lexmodelbuildingservice#String", "traits": { - "smithy.api#documentation": "

                            Identifies a specific revision of the $LATEST version of the bot. If you\n specify a checksum and the $LATEST version of the bot has a different checksum, a\n PreconditionFailedException exception is returned and Amazon Lex doesn't publish a\n new version. If you don't specify a checksum, Amazon Lex publishes the $LATEST\n version.

                            " + "smithy.api#documentation": "

                            Identifies a specific revision of the $LATEST version\n of the bot. If you specify a checksum and the $LATEST version\n of the bot has a different checksum, a\n PreconditionFailedException exception is returned and Amazon Lex\n doesn't publish a new version. If you don't specify a checksum, Amazon Lex\n publishes the $LATEST version.

                            " } } } @@ -760,37 +780,37 @@ "intents": { "target": "com.amazonaws.lexmodelbuildingservice#IntentList", "traits": { - "smithy.api#documentation": "

                            An array of Intent objects. For more information, see PutBot.

                            " + "smithy.api#documentation": "

                            An array of Intent objects. For more information, see\n PutBot.

                            " } }, "clarificationPrompt": { "target": "com.amazonaws.lexmodelbuildingservice#Prompt", "traits": { - "smithy.api#documentation": "

                            The message that Amazon Lex uses when it doesn't understand the user's request. For more\n information, see PutBot.

                            " + "smithy.api#documentation": "

                            The message that Amazon Lex uses when it doesn't understand the user's\n request. For more information, see PutBot.

                            " } }, "abortStatement": { "target": "com.amazonaws.lexmodelbuildingservice#Statement", "traits": { - "smithy.api#documentation": "

                            The message that Amazon Lex uses to cancel a conversation. For more information, see PutBot.

                            " + "smithy.api#documentation": "

                            The message that Amazon Lex uses to cancel a conversation. For more\n information, see PutBot.

                            " } }, "status": { "target": "com.amazonaws.lexmodelbuildingservice#Status", "traits": { - "smithy.api#documentation": "

                            When you send a request to create or update a bot, Amazon Lex sets the status\n response element to BUILDING. After Amazon Lex builds the bot, it sets\n status to READY. If Amazon Lex can't build the bot, it sets\n status to FAILED. Amazon Lex returns the reason for the failure in the\n failureReason response element.

                            " + "smithy.api#documentation": "

                            When you send a request to create or update a bot, Amazon Lex sets the\n status response element to BUILDING. After\n Amazon Lex builds the bot, it sets status to READY.\n If Amazon Lex can't build the bot, it sets status to\n FAILED. Amazon Lex returns the reason for the failure in the\n failureReason response element.

                            " } }, "failureReason": { "target": "com.amazonaws.lexmodelbuildingservice#String", "traits": { - "smithy.api#documentation": "

                            If status is FAILED, Amazon Lex provides the reason that it failed\n to build the bot.

                            " + "smithy.api#documentation": "

                            If status is FAILED, Amazon Lex provides the\n reason that it failed to build the bot.

                            " } }, "lastUpdatedDate": { "target": "com.amazonaws.lexmodelbuildingservice#Timestamp", "traits": { - "smithy.api#documentation": "

                            The date when the $LATEST version of this bot was updated.

                            " + "smithy.api#documentation": "

                            The date when the $LATEST version of this bot was\n updated.

                            " } }, "createdDate": { @@ -802,19 +822,19 @@ "idleSessionTTLInSeconds": { "target": "com.amazonaws.lexmodelbuildingservice#SessionTTL", "traits": { - "smithy.api#documentation": "

                            The maximum time in seconds that Amazon Lex retains the data gathered in a conversation. For\n more information, see PutBot.

                            " + "smithy.api#documentation": "

                            The maximum time in seconds that Amazon Lex retains the data gathered in\n a conversation. For more information, see PutBot.

                            " } }, "voiceId": { "target": "com.amazonaws.lexmodelbuildingservice#String", "traits": { - "smithy.api#documentation": "

                            The Amazon Polly voice ID that Amazon Lex uses for voice interactions with the\n user.

                            " + "smithy.api#documentation": "

                            The Amazon Polly voice ID that Amazon Lex uses for voice interactions\n with the user.

                            " } }, "checksum": { "target": "com.amazonaws.lexmodelbuildingservice#String", "traits": { - "smithy.api#documentation": "

                            Checksum identifying the version of the bot that was created.

                            " + "smithy.api#documentation": "

                            Checksum identifying the version of the bot that was\n created.

                            " } }, "version": { @@ -832,19 +852,19 @@ "childDirected": { "target": "com.amazonaws.lexmodelbuildingservice#Boolean", "traits": { - "smithy.api#documentation": "

                            For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify\n whether your use of Amazon Lex is related to a website, program, or other application that is\n directed or targeted, in whole or in part, to children under age 13 and subject to the\n Children's Online Privacy Protection Act (COPPA) by specifying true or\n false in the childDirected field. By specifying true\n in the childDirected field, you confirm that your use of Amazon Lex is related to a website, program, or other application that is\n directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. By\n specifying false in the childDirected field, you confirm that your\n use of Amazon Lex is not related to a website, program, or other\n application that is directed or targeted, in whole or in part, to children under age 13 and\n subject to COPPA. You may not specify a default value for the childDirected field\n that does not accurately reflect whether your use of Amazon Lex is related to a website, program,\n or other application that is directed or targeted, in whole or in part, to children under age\n 13 and subject to COPPA.

                            \n

                            If your use of Amazon Lex relates to a website, program, or other application that is\n directed in whole or in part, to children under age 13, you must obtain any required\n verifiable parental consent under COPPA. For information regarding the use of Amazon Lex in\n connection with websites, programs, or other applications that are directed or targeted, in\n whole or in part, to children under age 13, see the Amazon Lex FAQ.\n

                            " + "smithy.api#documentation": "

                            For each Amazon Lex bot created with the Amazon Lex Model Building Service,\n you must specify whether your use of Amazon Lex is related to a website,\n program, or other application that is directed or targeted, in whole or in\n part, to children under age 13 and subject to the Children's Online\n Privacy Protection Act (COPPA) by specifying true or\n false in the childDirected field. By\n specifying true in the childDirected field, you\n confirm that your use of Amazon Lex is related\n to a website, program, or other application that is directed or targeted,\n in whole or in part, to children under age 13 and subject to COPPA. By\n specifying false in the childDirected field, you\n confirm that your use of Amazon Lex is not\n related to a website, program, or other application that is directed or\n targeted, in whole or in part, to children under age 13 and subject to\n COPPA. You may not specify a default value for the\n childDirected field that does not accurately reflect\n whether your use of Amazon Lex is related to a website, program, or other\n application that is directed or targeted, in whole or in part, to children\n under age 13 and subject to COPPA.

                            \n

                            If your use of Amazon Lex relates to a website, program, or other\n application that is directed in whole or in part, to children under age\n 13, you must obtain any required verifiable parental consent under COPPA.\n For information regarding the use of Amazon Lex in connection with websites,\n programs, or other applications that are directed or targeted, in whole or\n in part, to children under age 13, see the Amazon Lex FAQ.\n

                            " } }, "enableModelImprovements": { "target": "com.amazonaws.lexmodelbuildingservice#Boolean", "traits": { - "smithy.api#documentation": "

                            Indicates whether the bot uses accuracy improvements. true \n indicates that the bot is using the improvements, otherwise, false.

                            " + "smithy.api#documentation": "

                            Indicates whether the bot uses accuracy improvements.\n true indicates that the bot is using the improvements,\n otherwise, false.

                            " } }, "detectSentiment": { "target": "com.amazonaws.lexmodelbuildingservice#Boolean", "traits": { - "smithy.api#documentation": "

                            Indicates whether utterances entered by the user should be sent to Amazon Comprehend for\n sentiment analysis.

                            " + "smithy.api#documentation": "

                            Indicates whether utterances entered by the user should be sent to\n Amazon Comprehend for sentiment analysis.

                            " } } } @@ -878,7 +898,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Creates a new version of an intent based on the $LATEST version of the\n intent. If the $LATEST version of this intent hasn't changed since you last\n updated it, Amazon Lex doesn't create a new version. It returns the last version you\n created.

                            \n \n

                            You can update only the $LATEST version of the intent. You can't update\n the numbered versions that you create with the CreateIntentVersion\n operation.

                            \n
                            \n

                            When you create a version of an intent, Amazon Lex sets the version to 1. Subsequent\n versions increment by 1. For more information, see versioning-intro.

                            \n

                            This operation requires permissions to perform the lex:CreateIntentVersion\n action.

                            ", + "smithy.api#documentation": "

                            Creates a new version of an intent based on the\n $LATEST version of the intent. If the $LATEST\n version of this intent hasn't changed since you last updated it, Amazon Lex\n doesn't create a new version. It returns the last version you\n created.

                            \n \n

                            You can update only the $LATEST version of the\n intent. You can't update the numbered versions that you create with the\n CreateIntentVersion operation.

                            \n
                            \n

                            When you create a version of an intent, Amazon Lex sets the version to\n 1. Subsequent versions increment by 1. For more information, see versioning-intro.

                            \n

                            This operation requires permissions to perform the\n lex:CreateIntentVersion action.

                            ", "smithy.api#http": { "method": "POST", "uri": "/intents/{name}/versions", @@ -892,7 +912,7 @@ "name": { "target": "com.amazonaws.lexmodelbuildingservice#IntentName", "traits": { - "smithy.api#documentation": "

                            The name of the intent that you want to create a new version of. The name is case\n sensitive.

                            ", + "smithy.api#documentation": "

                            The name of the intent that you want to create a new version of.\n The name is case sensitive.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -900,7 +920,7 @@ "checksum": { "target": "com.amazonaws.lexmodelbuildingservice#String", "traits": { - "smithy.api#documentation": "

                            Checksum of the $LATEST version of the intent that should be used to\n create the new version. If you specify a checksum and the $LATEST version of the\n intent has a different checksum, Amazon Lex returns a PreconditionFailedException\n exception and doesn't publish a new version. If you don't specify a checksum, Amazon Lex publishes\n the $LATEST version.

                            " + "smithy.api#documentation": "

                            Checksum of the $LATEST version of the intent that\n should be used to create the new version. If you specify a checksum and\n the $LATEST version of the intent has a different checksum,\n Amazon Lex returns a PreconditionFailedException exception and\n doesn't publish a new version. If you don't specify a checksum, Amazon Lex\n publishes the $LATEST version.

                            " } } } @@ -923,7 +943,7 @@ "slots": { "target": "com.amazonaws.lexmodelbuildingservice#SlotList", "traits": { - "smithy.api#documentation": "

                            An array of slot types that defines the information required to fulfill the\n intent.

                            " + "smithy.api#documentation": "

                            An array of slot types that defines the information required to\n fulfill the intent.

                            " } }, "sampleUtterances": { @@ -935,31 +955,31 @@ "confirmationPrompt": { "target": "com.amazonaws.lexmodelbuildingservice#Prompt", "traits": { - "smithy.api#documentation": "

                            If defined, the prompt that Amazon Lex uses to confirm the user's intent before\n fulfilling it.

                            " + "smithy.api#documentation": "

                            If defined, the prompt that Amazon Lex uses to confirm the user's\n intent before fulfilling it.

                            " } }, "rejectionStatement": { "target": "com.amazonaws.lexmodelbuildingservice#Statement", "traits": { - "smithy.api#documentation": "

                            If the user answers \"no\" to the question defined in confirmationPrompt,\n Amazon Lex responds with this statement to acknowledge that the intent was canceled.

                            " + "smithy.api#documentation": "

                            If the user answers \"no\" to the question defined in\n confirmationPrompt, Amazon Lex responds with this statement to\n acknowledge that the intent was canceled.

                            " } }, "followUpPrompt": { "target": "com.amazonaws.lexmodelbuildingservice#FollowUpPrompt", "traits": { - "smithy.api#documentation": "

                            If defined, Amazon Lex uses this prompt to solicit additional user activity after the\n intent is fulfilled.

                            " + "smithy.api#documentation": "

                            If defined, Amazon Lex uses this prompt to solicit additional user\n activity after the intent is fulfilled.

                            " } }, "conclusionStatement": { "target": "com.amazonaws.lexmodelbuildingservice#Statement", "traits": { - "smithy.api#documentation": "

                            After the Lambda function specified in the fulfillmentActivity field\n fulfills the intent, Amazon Lex conveys this statement to the user.

                            " + "smithy.api#documentation": "

                            After the Lambda function specified in the\n fulfillmentActivity field fulfills the intent, Amazon Lex\n conveys this statement to the user.

                            " } }, "dialogCodeHook": { "target": "com.amazonaws.lexmodelbuildingservice#CodeHook", "traits": { - "smithy.api#documentation": "

                            If defined, Amazon Lex invokes this Lambda function for each user input.

                            " + "smithy.api#documentation": "

                            If defined, Amazon Lex invokes this Lambda function for each user\n input.

                            " } }, "fulfillmentActivity": { @@ -989,7 +1009,7 @@ "version": { "target": "com.amazonaws.lexmodelbuildingservice#Version", "traits": { - "smithy.api#documentation": "

                            The version number assigned to the new version of the intent.

                            " + "smithy.api#documentation": "

                            The version number assigned to the new version of the\n intent.

                            " } }, "checksum": { @@ -1001,7 +1021,19 @@ "kendraConfiguration": { "target": "com.amazonaws.lexmodelbuildingservice#KendraConfiguration", "traits": { - "smithy.api#documentation": "

                            Configuration information, if any, for connecting an Amazon Kendra index with the\n AMAZON.KendraSearchIntent intent.

                            " + "smithy.api#documentation": "

                            Configuration information, if any, for connecting an Amazon Kendra\n index with the AMAZON.KendraSearchIntent intent.

                            " + } + }, + "inputContexts": { + "target": "com.amazonaws.lexmodelbuildingservice#InputContextList", + "traits": { + "smithy.api#documentation": "

                            An array of InputContext objects that lists the contexts\n that must be active for Amazon Lex to choose the intent in a conversation with\n the user.

                            " + } + }, + "outputContexts": { + "target": "com.amazonaws.lexmodelbuildingservice#OutputContextList", + "traits": { + "smithy.api#documentation": "

                            An array of OutputContext objects that lists the contexts\n that the intent activates when the intent is fulfilled.

                            " } } } @@ -1035,7 +1067,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Creates a new version of a slot type based on the $LATEST version of the\n specified slot type. If the $LATEST version of this resource has not changed\n since the last version that you created, Amazon Lex doesn't create a new version. It returns the\n last version that you created.

                            \n \n

                            You can update only the $LATEST version of a slot type. You can't update\n the numbered versions that you create with the CreateSlotTypeVersion\n operation.

                            \n
                            \n\n

                            When you create a version of a slot type, Amazon Lex sets the version to 1. Subsequent\n versions increment by 1. For more information, see versioning-intro.

                            \n\n

                            This operation requires permissions for the lex:CreateSlotTypeVersion\n action.

                            ", + "smithy.api#documentation": "

                            Creates a new version of a slot type based on the\n $LATEST version of the specified slot type. If the\n $LATEST version of this resource has not changed since the\n last version that you created, Amazon Lex doesn't create a new version. It\n returns the last version that you created.

                            \n \n

                            You can update only the $LATEST version of a slot\n type. You can't update the numbered versions that you create with the\n CreateSlotTypeVersion operation.

                            \n
                            \n\n

                            When you create a version of a slot type, Amazon Lex sets the version to\n 1. Subsequent versions increment by 1. For more information, see versioning-intro.

                            \n\n

                            This operation requires permissions for the\n lex:CreateSlotTypeVersion action.

                            ", "smithy.api#http": { "method": "POST", "uri": "/slottypes/{name}/versions", @@ -1049,7 +1081,7 @@ "name": { "target": "com.amazonaws.lexmodelbuildingservice#SlotTypeName", "traits": { - "smithy.api#documentation": "

                            The name of the slot type that you want to create a new version for. The name is case\n sensitive.

                            ", + "smithy.api#documentation": "

                            The name of the slot type that you want to create a new version\n for. The name is case sensitive.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1057,7 +1089,7 @@ "checksum": { "target": "com.amazonaws.lexmodelbuildingservice#String", "traits": { - "smithy.api#documentation": "

                            Checksum for the $LATEST version of the slot type that you want to\n publish. If you specify a checksum and the $LATEST version of the slot type has a\n different checksum, Amazon Lex returns a PreconditionFailedException exception and\n doesn't publish the new version. If you don't specify a checksum, Amazon Lex publishes the\n $LATEST version.

                            " + "smithy.api#documentation": "

                            Checksum for the $LATEST version of the slot type that\n you want to publish. If you specify a checksum and the\n $LATEST version of the slot type has a different checksum,\n Amazon Lex returns a PreconditionFailedException exception and\n doesn't publish the new version. If you don't specify a checksum, Amazon Lex\n publishes the $LATEST version.

                            " } } } @@ -1080,13 +1112,13 @@ "enumerationValues": { "target": "com.amazonaws.lexmodelbuildingservice#EnumerationValues", "traits": { - "smithy.api#documentation": "

                            A list of EnumerationValue objects that defines the values that the slot\n type can take.

                            " + "smithy.api#documentation": "

                            A list of EnumerationValue objects that defines the\n values that the slot type can take.

                            " } }, "lastUpdatedDate": { "target": "com.amazonaws.lexmodelbuildingservice#Timestamp", "traits": { - "smithy.api#documentation": "

                            The date that the slot type was updated. When you create a resource, the creation date\n and last update date are the same.

                            " + "smithy.api#documentation": "

                            The date that the slot type was updated. When you create a\n resource, the creation date and last update date are the same.

                            " } }, "createdDate": { @@ -1104,13 +1136,13 @@ "checksum": { "target": "com.amazonaws.lexmodelbuildingservice#String", "traits": { - "smithy.api#documentation": "

                            Checksum of the $LATEST version of the slot type.

                            " + "smithy.api#documentation": "

                            Checksum of the $LATEST version of the slot\n type.

                            " } }, "valueSelectionStrategy": { "target": "com.amazonaws.lexmodelbuildingservice#SlotValueSelectionStrategy", "traits": { - "smithy.api#documentation": "

                            The strategy that Amazon Lex uses to determine the value of the slot. For more information,\n see PutSlotType.

                            " + "smithy.api#documentation": "

                            The strategy that Amazon Lex uses to determine the value of the slot.\n For more information, see PutSlotType.

                            " } }, "parentSlotTypeSignature": { @@ -1122,7 +1154,7 @@ "slotTypeConfigurations": { "target": "com.amazonaws.lexmodelbuildingservice#SlotTypeConfigurations", "traits": { - "smithy.api#documentation": "

                            Configuration information that extends the parent built-in slot type.

                            " + "smithy.api#documentation": "

                            Configuration information that extends the parent built-in slot\n type.

                            " } } } @@ -1163,7 +1195,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Deletes all versions of the bot, including the $LATEST version. To delete\n a specific version of the bot, use the DeleteBotVersion operation. The\n DeleteBot operation doesn't immediately remove the bot schema. Instead, it is\n marked for deletion and removed later.

                            \n

                            Amazon Lex stores utterances indefinitely for improving the ability of your bot to respond\n to user inputs. These utterances are not removed when the bot is deleted. To remove the\n utterances, use the DeleteUtterances operation.

                            \n

                            If a bot has an alias, you can't delete it. Instead, the DeleteBot\n operation returns a ResourceInUseException exception that includes a reference to\n the alias that refers to the bot. To remove the reference to the bot, delete the alias. If you\n get the same exception again, delete the referring alias until the DeleteBot\n operation is successful.

                            \n\n

                            This operation requires permissions for the lex:DeleteBot\n action.

                            ", + "smithy.api#documentation": "

                            Deletes all versions of the bot, including the $LATEST\n version. To delete a specific version of the bot, use the DeleteBotVersion operation. The DeleteBot\n operation doesn't immediately remove the bot schema. Instead, it is marked\n for deletion and removed later.

                            \n

                            Amazon Lex stores utterances indefinitely for improving the ability of\n your bot to respond to user inputs. These utterances are not removed when\n the bot is deleted. To remove the utterances, use the DeleteUtterances operation.

                            \n

                            If a bot has an alias, you can't delete it. Instead, the\n DeleteBot operation returns a\n ResourceInUseException exception that includes a reference\n to the alias that refers to the bot. To remove the reference to the bot,\n delete the alias. If you get the same exception again, delete the\n referring alias until the DeleteBot operation is\n successful.

                            \n\n

                            This operation requires permissions for the\n lex:DeleteBot action.

                            ", "smithy.api#http": { "method": "DELETE", "uri": "/bots/{name}", @@ -1197,7 +1229,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Deletes an alias for the specified bot.

                            \n

                            You can't delete an alias that is used in the association between a bot and a messaging\n channel. If an alias is used in a channel association, the DeleteBot operation\n returns a ResourceInUseException exception that includes a reference to the\n channel association that refers to the bot. You can remove the reference to the alias by\n deleting the channel association. If you get the same exception again, delete the referring\n association until the DeleteBotAlias operation is successful.

                            ", + "smithy.api#documentation": "

                            Deletes an alias for the specified bot.

                            \n

                            You can't delete an alias that is used in the association between a\n bot and a messaging channel. If an alias is used in a channel association,\n the DeleteBot operation returns a\n ResourceInUseException exception that includes a reference\n to the channel association that refers to the bot. You can remove the\n reference to the alias by deleting the channel association. If you get the\n same exception again, delete the referring association until the\n DeleteBotAlias operation is successful.

                            ", "smithy.api#http": { "method": "DELETE", "uri": "/bots/{botName}/aliases/{name}", @@ -1211,7 +1243,7 @@ "name": { "target": "com.amazonaws.lexmodelbuildingservice#AliasName", "traits": { - "smithy.api#documentation": "

                            The name of the alias to delete. The name is case sensitive.

                            ", + "smithy.api#documentation": "

                            The name of the alias to delete. The name is case sensitive.\n

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1249,7 +1281,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Deletes the association between an Amazon Lex bot and a messaging platform.

                            \n

                            This operation requires permission for the lex:DeleteBotChannelAssociation\n action.

                            ", + "smithy.api#documentation": "

                            Deletes the association between an Amazon Lex bot and a messaging\n platform.

                            \n

                            This operation requires permission for the\n lex:DeleteBotChannelAssociation action.

                            ", "smithy.api#http": { "method": "DELETE", "uri": "/bots/{botName}/aliases/{botAlias}/channels/{name}", @@ -1279,7 +1311,7 @@ "botAlias": { "target": "com.amazonaws.lexmodelbuildingservice#AliasName", "traits": { - "smithy.api#documentation": "

                            An alias that points to the specific version of the Amazon Lex bot to which this association\n is being made.

                            ", + "smithy.api#documentation": "

                            An alias that points to the specific version of the Amazon Lex bot to\n which this association is being made.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1325,7 +1357,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Deletes a specific version of a bot. To delete all versions of a bot, use the DeleteBot operation.

                            \n

                            This operation requires permissions for the lex:DeleteBotVersion\n action.

                            ", + "smithy.api#documentation": "

                            Deletes a specific version of a bot. To delete all versions of a\n bot, use the DeleteBot operation.

                            \n

                            This operation requires permissions for the\n lex:DeleteBotVersion action.

                            ", "smithy.api#http": { "method": "DELETE", "uri": "/bots/{name}/versions/{version}", @@ -1347,7 +1379,7 @@ "version": { "target": "com.amazonaws.lexmodelbuildingservice#NumericalVersion", "traits": { - "smithy.api#documentation": "

                            The version of the bot to delete. You cannot delete the $LATEST version of\n the bot. To delete the $LATEST version, use the DeleteBot\n operation.

                            ", + "smithy.api#documentation": "

                            The version of the bot to delete. You cannot delete the\n $LATEST version of the bot. To delete the\n $LATEST version, use the DeleteBot\n operation.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1380,7 +1412,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Deletes all versions of the intent, including the $LATEST version. To\n delete a specific version of the intent, use the DeleteIntentVersion\n operation.

                            \n

                            You can delete a version of an intent only if it is not referenced. To delete an\n intent that is referred to in one or more bots (see how-it-works), you must\n remove those references first.

                            \n \n

                            If you get the ResourceInUseException exception, it provides an example\n reference that shows where the intent is referenced. To remove the reference to the intent,\n either update the bot or delete it. If you get the same exception when you attempt to delete\n the intent again, repeat until the intent has no references and the call to\n DeleteIntent is successful.

                            \n
                            \n\n

                            This operation requires permission for the lex:DeleteIntent action.\n

                            ", + "smithy.api#documentation": "

                            Deletes all versions of the intent, including the\n $LATEST version. To delete a specific version of the\n intent, use the DeleteIntentVersion operation.

                            \n

                            You can delete a version of an intent only if it is not\n referenced. To delete an intent that is referred to in one or more bots\n (see how-it-works), you must remove those references\n first.

                            \n \n

                            If you get the ResourceInUseException exception, it\n provides an example reference that shows where the intent is referenced.\n To remove the reference to the intent, either update the bot or delete\n it. If you get the same exception when you attempt to delete the intent\n again, repeat until the intent has no references and the call to\n DeleteIntent is successful.

                            \n
                            \n\n

                            This operation requires permission for the\n lex:DeleteIntent action.

                            ", "smithy.api#http": { "method": "DELETE", "uri": "/intents/{name}", @@ -1427,7 +1459,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Deletes a specific version of an intent. To delete all versions of a intent, use the\n DeleteIntent operation.

                            \n

                            This operation requires permissions for the lex:DeleteIntentVersion\n action.

                            ", + "smithy.api#documentation": "

                            Deletes a specific version of an intent. To delete all versions of\n a intent, use the DeleteIntent operation.

                            \n

                            This operation requires permissions for the\n lex:DeleteIntentVersion action.

                            ", "smithy.api#http": { "method": "DELETE", "uri": "/intents/{name}/versions/{version}", @@ -1449,7 +1481,7 @@ "version": { "target": "com.amazonaws.lexmodelbuildingservice#NumericalVersion", "traits": { - "smithy.api#documentation": "

                            The version of the intent to delete. You cannot delete the $LATEST version\n of the intent. To delete the $LATEST version, use the DeleteIntent operation.

                            ", + "smithy.api#documentation": "

                            The version of the intent to delete. You cannot delete the\n $LATEST version of the intent. To delete the\n $LATEST version, use the DeleteIntent\n operation.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1482,7 +1514,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Deletes all versions of the slot type, including the $LATEST version. To\n delete a specific version of the slot type, use the DeleteSlotTypeVersion\n operation.

                            \n

                            You can delete a version of a slot type only if it is not referenced. To delete a slot\n type that is referred to in one or more intents, you must remove those references first.

                            \n \n

                            If you get the ResourceInUseException exception, the exception provides\n an example reference that shows the intent where the slot type is referenced. To remove the\n reference to the slot type, either update the intent or delete it. If you get the same\n exception when you attempt to delete the slot type again, repeat until the slot type has no\n references and the DeleteSlotType call is successful.

                            \n
                            \n

                            This operation requires permission for the lex:DeleteSlotType\n action.

                            ", + "smithy.api#documentation": "

                            Deletes all versions of the slot type, including the\n $LATEST version. To delete a specific version of the slot\n type, use the DeleteSlotTypeVersion operation.

                            \n

                            You can delete a version of a slot type only if it is not\n referenced. To delete a slot type that is referred to in one or more\n intents, you must remove those references first.

                            \n \n

                            If you get the ResourceInUseException exception,\n the exception provides an example reference that shows the intent where\n the slot type is referenced. To remove the reference to the slot type,\n either update the intent or delete it. If you get the same exception\n when you attempt to delete the slot type again, repeat until the slot\n type has no references and the DeleteSlotType call is\n successful.

                            \n
                            \n

                            This operation requires permission for the\n lex:DeleteSlotType action.

                            ", "smithy.api#http": { "method": "DELETE", "uri": "/slottypes/{name}", @@ -1529,7 +1561,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Deletes a specific version of a slot type. To delete all versions of a slot type, use\n the DeleteSlotType operation.

                            \n

                            This operation requires permissions for the lex:DeleteSlotTypeVersion\n action.

                            ", + "smithy.api#documentation": "

                            Deletes a specific version of a slot type. To delete all versions\n of a slot type, use the DeleteSlotType operation.

                            \n

                            This operation requires permissions for the\n lex:DeleteSlotTypeVersion action.

                            ", "smithy.api#http": { "method": "DELETE", "uri": "/slottypes/{name}/version/{version}", @@ -1551,7 +1583,7 @@ "version": { "target": "com.amazonaws.lexmodelbuildingservice#NumericalVersion", "traits": { - "smithy.api#documentation": "

                            The version of the slot type to delete. You cannot delete the $LATEST\n version of the slot type. To delete the $LATEST version, use the DeleteSlotType operation.

                            ", + "smithy.api#documentation": "

                            The version of the slot type to delete. You cannot delete the\n $LATEST version of the slot type. To delete the\n $LATEST version, use the DeleteSlotType\n operation.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1578,7 +1610,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Deletes stored utterances.

                            \n

                            Amazon Lex stores the utterances that users send to your bot. Utterances are stored for 15\n days for use with the GetUtterancesView operation, and then stored\n indefinitely for use in improving the ability of your bot to respond to user input.

                            \n

                            Use the DeleteUtterances operation to manually delete stored utterances\n for a specific user. When you use the DeleteUtterances operation, utterances\n stored for improving your bot's ability to respond to user input are deleted immediately.\n Utterances stored for use with the GetUtterancesView operation are deleted after\n 15 days.

                            \n

                            This operation requires permissions for the lex:DeleteUtterances\n action.

                            ", + "smithy.api#documentation": "

                            Deletes stored utterances.

                            \n

                            Amazon Lex stores the utterances that users send to your bot. Utterances\n are stored for 15 days for use with the GetUtterancesView operation, and then stored indefinitely for use in improving the\n ability of your bot to respond to user input.

                            \n

                            Use the DeleteUtterances operation to manually delete\n stored utterances for a specific user. When you use the\n DeleteUtterances operation, utterances stored for improving\n your bot's ability to respond to user input are deleted immediately.\n Utterances stored for use with the GetUtterancesView\n operation are deleted after 15 days.

                            \n

                            This operation requires permissions for the\n lex:DeleteUtterances action.

                            ", "smithy.api#http": { "method": "DELETE", "uri": "/bots/{botName}/utterances/{userId}", @@ -1600,7 +1632,7 @@ "userId": { "target": "com.amazonaws.lexmodelbuildingservice#UserId", "traits": { - "smithy.api#documentation": "

                            The unique identifier for the user that made the utterances. This is the user ID that\n was sent in the PostContent or PostText\n operation request that contained the utterance.

                            ", + "smithy.api#documentation": "

                            The unique identifier for the user that made the utterances. This\n is the user ID that was sent in the PostContent or PostText operation request that contained the\n utterance.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1649,7 +1681,7 @@ } }, "traits": { - "smithy.api#documentation": "

                            Each slot type can have a set of values. Each enumeration value represents a value the\n slot type can take.

                            \n

                            For example, a pizza ordering bot could have a slot type that specifies the type of\n crust that the pizza should have. The slot type could include the values

                            \n
                              \n
                            • \n

                              thick

                              \n
                            • \n
                            • \n

                              thin

                              \n
                            • \n
                            • \n

                              stuffed

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            Each slot type can have a set of values. Each enumeration value\n represents a value the slot type can take.

                            \n

                            For example, a pizza ordering bot could have a slot type that\n specifies the type of crust that the pizza should have. The slot type\n could include the values

                            \n
                              \n
                            • \n

                              thick

                              \n
                            • \n
                            • \n

                              thin

                              \n
                            • \n
                            • \n

                              stuffed

                              \n
                            • \n
                            " } }, "com.amazonaws.lexmodelbuildingservice#EnumerationValues": { @@ -1711,13 +1743,13 @@ "rejectionStatement": { "target": "com.amazonaws.lexmodelbuildingservice#Statement", "traits": { - "smithy.api#documentation": "

                            If the user answers \"no\" to the question defined in the prompt field,\n Amazon Lex responds with this statement to acknowledge that the intent was canceled.

                            ", + "smithy.api#documentation": "

                            If the user answers \"no\" to the question defined in the\n prompt field, Amazon Lex responds with this statement to\n acknowledge that the intent was canceled.

                            ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

                            A prompt for additional activity after an intent is fulfilled. For example, after the\n OrderPizza intent is fulfilled, you might prompt the user to find out whether\n the user wants to order drinks.

                            " + "smithy.api#documentation": "

                            A prompt for additional activity after an intent is fulfilled. For\n example, after the OrderPizza intent is fulfilled, you might\n prompt the user to find out whether the user wants to order\n drinks.

                            " } }, "com.amazonaws.lexmodelbuildingservice#FulfillmentActivity": { @@ -1726,19 +1758,19 @@ "type": { "target": "com.amazonaws.lexmodelbuildingservice#FulfillmentActivityType", "traits": { - "smithy.api#documentation": "

                            How the intent should be fulfilled, either by running a Lambda function or by\n returning the slot data to the client application.

                            ", + "smithy.api#documentation": "

                            How the intent should be fulfilled, either by running a Lambda\n function or by returning the slot data to the client application.\n

                            ", "smithy.api#required": {} } }, "codeHook": { "target": "com.amazonaws.lexmodelbuildingservice#CodeHook", "traits": { - "smithy.api#documentation": "

                            A description of the Lambda function that is run to fulfill the intent.

                            " + "smithy.api#documentation": "

                            A description of the Lambda function that is run to fulfill the\n intent.

                            " } } }, "traits": { - "smithy.api#documentation": "

                            Describes how the intent is fulfilled after the user provides all of the information\n required for the intent. You can provide a Lambda function to process the intent, or you can\n return the intent information to the client application. We recommend that you use a Lambda\n function so that the relevant logic lives in the Cloud and limit the client-side code\n primarily to presentation. If you need to update the logic, you only update the Lambda\n function; you don't need to upgrade your client application.

                            \n\n\n

                            Consider the following examples:

                            \n
                              \n
                            • \n

                              In a pizza ordering application, after the user provides all of the information for\n placing an order, you use a Lambda function to place an order with a pizzeria.

                              \n
                            • \n
                            • \n

                              In a gaming application, when a user says \"pick up a rock,\" this information must\n go back to the client application so that it can perform the operation and update the\n graphics. In this case, you want Amazon Lex to return the intent data to the client.

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            Describes how the intent is fulfilled after the user provides all\n of the information required for the intent. You can provide a Lambda\n function to process the intent, or you can return the intent information\n to the client application. We recommend that you use a Lambda function so\n that the relevant logic lives in the Cloud and limit the client-side code\n primarily to presentation. If you need to update the logic, you only\n update the Lambda function; you don't need to upgrade your client\n application.

                            \n\n\n

                            Consider the following examples:

                            \n
                              \n
                            • \n

                              In a pizza ordering application, after the user provides all of\n the information for placing an order, you use a Lambda function to\n place an order with a pizzeria.

                              \n
                            • \n
                            • \n

                              In a gaming application, when a user says \"pick up a rock,\"\n this information must go back to the client application so that it can\n perform the operation and update the graphics. In this case, you want\n Amazon Lex to return the intent data to the client.

                              \n
                            • \n
                            " } }, "com.amazonaws.lexmodelbuildingservice#FulfillmentActivityType": { @@ -1779,7 +1811,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Returns metadata information for a specific bot. You must provide the bot name and the\n bot version or alias.

                            \n

                            This operation requires permissions for the lex:GetBot action.

                            ", + "smithy.api#documentation": "

                            Returns metadata information for a specific bot. You must provide\n the bot name and the bot version or alias.

                            \n

                            This operation requires permissions for the\n lex:GetBot action.

                            ", "smithy.api#http": { "method": "GET", "uri": "/bots/{name}/versions/{versionOrAlias}", @@ -1810,7 +1842,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Returns information about an Amazon Lex bot alias. For more information about aliases, see\n versioning-aliases.

                            \n

                            This operation requires permissions for the lex:GetBotAlias\n action.

                            ", + "smithy.api#documentation": "

                            Returns information about an Amazon Lex bot alias. For more information\n about aliases, see versioning-aliases.

                            \n

                            This operation requires permissions for the\n lex:GetBotAlias action.

                            ", "smithy.api#http": { "method": "GET", "uri": "/bots/{botName}/aliases/{name}", @@ -1869,7 +1901,7 @@ "lastUpdatedDate": { "target": "com.amazonaws.lexmodelbuildingservice#Timestamp", "traits": { - "smithy.api#documentation": "

                            The date that the bot alias was updated. When you create a resource, the creation date\n and the last updated date are the same.

                            " + "smithy.api#documentation": "

                            The date that the bot alias was updated. When you create a\n resource, the creation date and the last updated date are the\n same.

                            " } }, "createdDate": { @@ -1887,7 +1919,7 @@ "conversationLogs": { "target": "com.amazonaws.lexmodelbuildingservice#ConversationLogsResponse", "traits": { - "smithy.api#documentation": "

                            The settings that determine how Amazon Lex uses conversation logs for the alias.

                            " + "smithy.api#documentation": "

                            The settings that determine how Amazon Lex uses conversation logs for the\n alias.

                            " } } } @@ -1912,7 +1944,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Returns a list of aliases for a specified Amazon Lex bot.

                            \n

                            This operation requires permissions for the lex:GetBotAliases\n action.

                            ", + "smithy.api#documentation": "

                            Returns a list of aliases for a specified Amazon Lex bot.

                            \n

                            This operation requires permissions for the\n lex:GetBotAliases action.

                            ", "smithy.api#http": { "method": "GET", "uri": "/bots/{botName}/aliases", @@ -1939,21 +1971,21 @@ "nextToken": { "target": "com.amazonaws.lexmodelbuildingservice#NextToken", "traits": { - "smithy.api#documentation": "

                            A pagination token for fetching the next page of aliases. If the response to this call\n is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of\n aliases, specify the pagination token in the next request.

                            ", + "smithy.api#documentation": "

                            A pagination token for fetching the next page of aliases. If the\n response to this call is truncated, Amazon Lex returns a pagination token in\n the response. To fetch the next page of aliases, specify the pagination\n token in the next request.

                            ", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.lexmodelbuildingservice#MaxResults", "traits": { - "smithy.api#documentation": "

                            The maximum number of aliases to return in the response. The default is 50. .\n

                            ", + "smithy.api#documentation": "

                            The maximum number of aliases to return in the response. The\n default is 50. .

                            ", "smithy.api#httpQuery": "maxResults" } }, "nameContains": { "target": "com.amazonaws.lexmodelbuildingservice#AliasName", "traits": { - "smithy.api#documentation": "

                            Substring to match in bot alias names. An alias will be returned if any part of its\n name matches the substring. For example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\"

                            ", + "smithy.api#documentation": "

                            Substring to match in bot alias names. An alias will be returned if\n any part of its name matches the substring. For example, \"xyz\" matches\n both \"xyzabc\" and \"abcxyz.\"

                            ", "smithy.api#httpQuery": "nameContains" } } @@ -1965,13 +1997,13 @@ "BotAliases": { "target": "com.amazonaws.lexmodelbuildingservice#BotAliasMetadataList", "traits": { - "smithy.api#documentation": "

                            An array of BotAliasMetadata objects, each describing a bot\n alias.

                            " + "smithy.api#documentation": "

                            An array of BotAliasMetadata objects, each describing\n a bot alias.

                            " } }, "nextToken": { "target": "com.amazonaws.lexmodelbuildingservice#NextToken", "traits": { - "smithy.api#documentation": "

                            A pagination token for fetching next page of aliases. If the response to this call is\n truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of\n aliases, specify the pagination token in the next request.

                            " + "smithy.api#documentation": "

                            A pagination token for fetching next page of aliases. If the\n response to this call is truncated, Amazon Lex returns a pagination token in\n the response. To fetch the next page of aliases, specify the pagination\n token in the next request.

                            " } } } @@ -1999,7 +2031,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Returns information about the association between an Amazon Lex bot and a messaging\n platform.

                            \n

                            This operation requires permissions for the lex:GetBotChannelAssociation\n action.

                            ", + "smithy.api#documentation": "

                            Returns information about the association between an Amazon Lex bot and\n a messaging platform.

                            \n

                            This operation requires permissions for the\n lex:GetBotChannelAssociation action.

                            ", "smithy.api#http": { "method": "GET", "uri": "/bots/{botName}/aliases/{botAlias}/channels/{name}", @@ -2013,7 +2045,7 @@ "name": { "target": "com.amazonaws.lexmodelbuildingservice#BotChannelName", "traits": { - "smithy.api#documentation": "

                            The name of the association between the bot and the channel. The name is case\n sensitive.

                            ", + "smithy.api#documentation": "

                            The name of the association between the bot and the channel. The\n name is case sensitive.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2029,7 +2061,7 @@ "botAlias": { "target": "com.amazonaws.lexmodelbuildingservice#AliasName", "traits": { - "smithy.api#documentation": "

                            An alias pointing to the specific version of the Amazon Lex bot to which this association is\n being made.

                            ", + "smithy.api#documentation": "

                            An alias pointing to the specific version of the Amazon Lex bot to which\n this association is being made.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2042,19 +2074,19 @@ "name": { "target": "com.amazonaws.lexmodelbuildingservice#BotChannelName", "traits": { - "smithy.api#documentation": "

                            The name of the association between the bot and the channel.

                            " + "smithy.api#documentation": "

                            The name of the association between the bot and the\n channel.

                            " } }, "description": { "target": "com.amazonaws.lexmodelbuildingservice#Description", "traits": { - "smithy.api#documentation": "

                            A description of the association between the bot and the channel.

                            " + "smithy.api#documentation": "

                            A description of the association between the bot and the\n channel.

                            " } }, "botAlias": { "target": "com.amazonaws.lexmodelbuildingservice#AliasName", "traits": { - "smithy.api#documentation": "

                            An alias pointing to the specific version of the Amazon Lex bot to which this association is\n being made.

                            " + "smithy.api#documentation": "

                            An alias pointing to the specific version of the Amazon Lex bot to which\n this association is being made.

                            " } }, "botName": { @@ -2066,7 +2098,7 @@ "createdDate": { "target": "com.amazonaws.lexmodelbuildingservice#Timestamp", "traits": { - "smithy.api#documentation": "

                            The date that the association between the bot and the channel was created.

                            " + "smithy.api#documentation": "

                            The date that the association between the bot and the channel was\n created.

                            " } }, "type": { @@ -2078,19 +2110,19 @@ "botConfiguration": { "target": "com.amazonaws.lexmodelbuildingservice#ChannelConfigurationMap", "traits": { - "smithy.api#documentation": "

                            Provides information that the messaging platform needs to communicate with the Amazon Lex\n bot.

                            " + "smithy.api#documentation": "

                            Provides information that the messaging platform needs to\n communicate with the Amazon Lex bot.

                            " } }, "status": { "target": "com.amazonaws.lexmodelbuildingservice#ChannelStatus", "traits": { - "smithy.api#documentation": "

                            The status of the bot channel.

                            \n
                              \n
                            • \n

                              \n CREATED - The channel has been created and is ready for use.

                              \n
                            • \n
                            • \n

                              \n IN_PROGRESS - Channel creation is in progress.

                              \n
                            • \n
                            • \n

                              \n FAILED - There was an error creating the channel. For information\n about the reason for the failure, see the failureReason field.

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            The status of the bot channel.

                            \n
                              \n
                            • \n

                              \n CREATED - The channel has been created and is\n ready for use.

                              \n
                            • \n
                            • \n

                              \n IN_PROGRESS - Channel creation is in\n progress.

                              \n
                            • \n
                            • \n

                              \n FAILED - There was an error creating the channel.\n For information about the reason for the failure, see the\n failureReason field.

                              \n
                            • \n
                            " } }, "failureReason": { "target": "com.amazonaws.lexmodelbuildingservice#String", "traits": { - "smithy.api#documentation": "

                            If status is FAILED, Amazon Lex provides the reason that it failed\n to create the association.

                            " + "smithy.api#documentation": "

                            If status is FAILED, Amazon Lex provides the\n reason that it failed to create the association.

                            " } } } @@ -2115,7 +2147,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Returns a list of all of the channels associated with the specified bot.

                            \n

                            The GetBotChannelAssociations operation requires permissions for the\n lex:GetBotChannelAssociations action.

                            ", + "smithy.api#documentation": "

                            Returns a list of all of the channels associated with the\n specified bot.

                            \n

                            The GetBotChannelAssociations operation requires\n permissions for the lex:GetBotChannelAssociations\n action.

                            ", "smithy.api#http": { "method": "GET", "uri": "/bots/{botName}/aliases/{botAlias}/channels", @@ -2142,7 +2174,7 @@ "botAlias": { "target": "com.amazonaws.lexmodelbuildingservice#AliasNameOrListAll", "traits": { - "smithy.api#documentation": "

                            An alias pointing to the specific version of the Amazon Lex bot to which this association is\n being made.

                            ", + "smithy.api#documentation": "

                            An alias pointing to the specific version of the Amazon Lex bot to which\n this association is being made.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2150,21 +2182,21 @@ "nextToken": { "target": "com.amazonaws.lexmodelbuildingservice#NextToken", "traits": { - "smithy.api#documentation": "

                            A pagination token for fetching the next page of associations. If the response to this\n call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of\n associations, specify the pagination token in the next request.

                            ", + "smithy.api#documentation": "

                            A pagination token for fetching the next page of associations. If\n the response to this call is truncated, Amazon Lex returns a pagination token\n in the response. To fetch the next page of associations, specify the\n pagination token in the next request.

                            ", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.lexmodelbuildingservice#MaxResults", "traits": { - "smithy.api#documentation": "

                            The maximum number of associations to return in the response. The default is 50.\n

                            ", + "smithy.api#documentation": "

                            The maximum number of associations to return in the response. The\n default is 50.

                            ", "smithy.api#httpQuery": "maxResults" } }, "nameContains": { "target": "com.amazonaws.lexmodelbuildingservice#BotChannelName", "traits": { - "smithy.api#documentation": "

                            Substring to match in channel association names. An association will be returned if any\n part of its name matches the substring. For example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\"\n To return all bot channel associations, use a hyphen (\"-\") as the nameContains\n parameter.

                            ", + "smithy.api#documentation": "

                            Substring to match in channel association names. An association\n will be returned if any part of its name matches the substring. For\n example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\" To return all bot\n channel associations, use a hyphen (\"-\") as the nameContains\n parameter.

                            ", "smithy.api#httpQuery": "nameContains" } } @@ -2176,13 +2208,13 @@ "botChannelAssociations": { "target": "com.amazonaws.lexmodelbuildingservice#BotChannelAssociationList", "traits": { - "smithy.api#documentation": "

                            An array of objects, one for each association, that provides information about the\n Amazon Lex bot and its association with the channel.

                            " + "smithy.api#documentation": "

                            An array of objects, one for each association, that provides\n information about the Amazon Lex bot and its association with the channel.\n

                            " } }, "nextToken": { "target": "com.amazonaws.lexmodelbuildingservice#NextToken", "traits": { - "smithy.api#documentation": "

                            A pagination token that fetches the next page of associations. If the response to this\n call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of\n associations, specify the pagination token in the next request.

                            " + "smithy.api#documentation": "

                            A pagination token that fetches the next page of associations. If\n the response to this call is truncated, Amazon Lex returns a pagination token\n in the response. To fetch the next page of associations, specify the\n pagination token in the next request.

                            " } } } @@ -2226,49 +2258,49 @@ "intents": { "target": "com.amazonaws.lexmodelbuildingservice#IntentList", "traits": { - "smithy.api#documentation": "

                            An array of intent objects. For more information, see PutBot.

                            " + "smithy.api#documentation": "

                            An array of intent objects. For more information, see\n PutBot.

                            " } }, "enableModelImprovements": { "target": "com.amazonaws.lexmodelbuildingservice#Boolean", "traits": { - "smithy.api#documentation": "

                            Indicates whether the bot uses accuracy improvements. true \n indicates that the bot is using the improvements, otherwise, false.

                            " + "smithy.api#documentation": "

                            Indicates whether the bot uses accuracy improvements.\n true indicates that the bot is using the improvements,\n otherwise, false.

                            " } }, "nluIntentConfidenceThreshold": { "target": "com.amazonaws.lexmodelbuildingservice#ConfidenceThreshold", "traits": { - "smithy.api#documentation": "

                            The score that determines where Amazon Lex inserts the AMAZON.FallbackIntent,\n AMAZON.KendraSearchIntent, or both when returning alternative intents in a\n PostContent or PostText response.\n AMAZON.FallbackIntent is inserted if the confidence score for all intents is\n below this value. AMAZON.KendraSearchIntent is only inserted if it is configured\n for the bot.

                            " + "smithy.api#documentation": "

                            The score that determines where Amazon Lex inserts the\n AMAZON.FallbackIntent,\n AMAZON.KendraSearchIntent, or both when returning\n alternative intents in a PostContent or\n PostText response.\n AMAZON.FallbackIntent is inserted if the confidence score\n for all intents is below this value.\n AMAZON.KendraSearchIntent is only inserted if it is\n configured for the bot.

                            " } }, "clarificationPrompt": { "target": "com.amazonaws.lexmodelbuildingservice#Prompt", "traits": { - "smithy.api#documentation": "

                            The message Amazon Lex uses when it doesn't understand the user's request. For more\n information, see PutBot.

                            " + "smithy.api#documentation": "

                            The message Amazon Lex uses when it doesn't understand the user's\n request. For more information, see PutBot.

                            " } }, "abortStatement": { "target": "com.amazonaws.lexmodelbuildingservice#Statement", "traits": { - "smithy.api#documentation": "

                            The message that Amazon Lex returns when the user elects to end the conversation without\n completing it. For more information, see PutBot.

                            " + "smithy.api#documentation": "

                            The message that Amazon Lex returns when the user elects to end the\n conversation without completing it. For more information, see PutBot.

                            " } }, "status": { "target": "com.amazonaws.lexmodelbuildingservice#Status", "traits": { - "smithy.api#documentation": "

                            The status of the bot.

                            \n

                            When the status is BUILDING Amazon Lex is building the bot for testing and\n use.

                            \n

                            If the status of the bot is READY_BASIC_TESTING, you can test the bot\n using the exact utterances specified in the bot's intents. When the bot is ready for full\n testing or to run, the status is READY.

                            \n

                            If there was a problem with building the bot, the status is FAILED and the\n failureReason field explains why the bot did not build.

                            \n

                            If the bot was saved but not built, the status is NOT_BUILT.

                            " + "smithy.api#documentation": "

                            The status of the bot.

                            \n

                            When the status is BUILDING Amazon Lex is building the bot\n for testing and use.

                            \n

                            If the status of the bot is READY_BASIC_TESTING, you\n can test the bot using the exact utterances specified in the bot's\n intents. When the bot is ready for full testing or to run, the status is\n READY.

                            \n

                            If there was a problem with building the bot, the status is\n FAILED and the failureReason field explains\n why the bot did not build.

                            \n

                            If the bot was saved but not built, the status is\n NOT_BUILT.

                            " } }, "failureReason": { "target": "com.amazonaws.lexmodelbuildingservice#String", "traits": { - "smithy.api#documentation": "

                            If status is FAILED, Amazon Lex explains why it failed to build\n the bot.

                            " + "smithy.api#documentation": "

                            If status is FAILED, Amazon Lex explains why\n it failed to build the bot.

                            " } }, "lastUpdatedDate": { "target": "com.amazonaws.lexmodelbuildingservice#Timestamp", "traits": { - "smithy.api#documentation": "

                            The date that the bot was updated. When you create a resource, the creation date and\n last updated date are the same.

                            " + "smithy.api#documentation": "

                            The date that the bot was updated. When you create a resource, the\n creation date and last updated date are the same.

                            " } }, "createdDate": { @@ -2280,25 +2312,25 @@ "idleSessionTTLInSeconds": { "target": "com.amazonaws.lexmodelbuildingservice#SessionTTL", "traits": { - "smithy.api#documentation": "

                            The maximum time in seconds that Amazon Lex retains the data gathered in a conversation. For\n more information, see PutBot.

                            " + "smithy.api#documentation": "

                            The maximum time in seconds that Amazon Lex retains the data gathered in\n a conversation. For more information, see PutBot.

                            " } }, "voiceId": { "target": "com.amazonaws.lexmodelbuildingservice#String", "traits": { - "smithy.api#documentation": "

                            The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the user. For more\n information, see PutBot.

                            " + "smithy.api#documentation": "

                            The Amazon Polly voice ID that Amazon Lex uses for voice interaction\n with the user. For more information, see PutBot.

                            " } }, "checksum": { "target": "com.amazonaws.lexmodelbuildingservice#String", "traits": { - "smithy.api#documentation": "

                            Checksum of the bot used to identify a specific revision of the bot's\n $LATEST version.

                            " + "smithy.api#documentation": "

                            Checksum of the bot used to identify a specific revision of the\n bot's $LATEST version.

                            " } }, "version": { "target": "com.amazonaws.lexmodelbuildingservice#Version", "traits": { - "smithy.api#documentation": "

                            The version of the bot. For a new bot, the version is always\n $LATEST.

                            " + "smithy.api#documentation": "

                            The version of the bot. For a new bot, the version is always\n $LATEST.

                            " } }, "locale": { @@ -2310,13 +2342,13 @@ "childDirected": { "target": "com.amazonaws.lexmodelbuildingservice#Boolean", "traits": { - "smithy.api#documentation": "

                            For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify\n whether your use of Amazon Lex is related to a website, program, or other application that is\n directed or targeted, in whole or in part, to children under age 13 and subject to the\n Children's Online Privacy Protection Act (COPPA) by specifying true or\n false in the childDirected field. By specifying true\n in the childDirected field, you confirm that your use of Amazon Lex is related to a website, program, or other application that is\n directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. By\n specifying false in the childDirected field, you confirm that your\n use of Amazon Lex is not related to a website, program, or other\n application that is directed or targeted, in whole or in part, to children under age 13 and\n subject to COPPA. You may not specify a default value for the childDirected field\n that does not accurately reflect whether your use of Amazon Lex is related to a website, program,\n or other application that is directed or targeted, in whole or in part, to children under age\n 13 and subject to COPPA.

                            \n

                            If your use of Amazon Lex relates to a website, program, or other application that is\n directed in whole or in part, to children under age 13, you must obtain any required\n verifiable parental consent under COPPA. For information regarding the use of Amazon Lex in\n connection with websites, programs, or other applications that are directed or targeted, in\n whole or in part, to children under age 13, see the Amazon Lex FAQ.\n

                            " + "smithy.api#documentation": "

                            For each Amazon Lex bot created with the Amazon Lex Model Building Service,\n you must specify whether your use of Amazon Lex is related to a website,\n program, or other application that is directed or targeted, in whole or in\n part, to children under age 13 and subject to the Children's Online\n Privacy Protection Act (COPPA) by specifying true or\n false in the childDirected field. By\n specifying true in the childDirected field, you\n confirm that your use of Amazon Lex is related\n to a website, program, or other application that is directed or targeted,\n in whole or in part, to children under age 13 and subject to COPPA. By\n specifying false in the childDirected field, you\n confirm that your use of Amazon Lex is not\n related to a website, program, or other application that is directed or\n targeted, in whole or in part, to children under age 13 and subject to\n COPPA. You may not specify a default value for the\n childDirected field that does not accurately reflect\n whether your use of Amazon Lex is related to a website, program, or other\n application that is directed or targeted, in whole or in part, to children\n under age 13 and subject to COPPA.

                            \n

                            If your use of Amazon Lex relates to a website, program, or other\n application that is directed in whole or in part, to children under age\n 13, you must obtain any required verifiable parental consent under COPPA.\n For information regarding the use of Amazon Lex in connection with websites,\n programs, or other applications that are directed or targeted, in whole or\n in part, to children under age 13, see the Amazon Lex FAQ.\n

                            " } }, "detectSentiment": { "target": "com.amazonaws.lexmodelbuildingservice#Boolean", "traits": { - "smithy.api#documentation": "

                            Indicates whether user utterances should be sent to Amazon Comprehend for sentiment\n analysis.

                            " + "smithy.api#documentation": "

                            Indicates whether user utterances should be sent to Amazon Comprehend\n for sentiment analysis.

                            " } } } @@ -2344,7 +2376,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Gets information about all of the versions of a bot.

                            \n

                            The GetBotVersions operation returns a BotMetadata object for\n each version of a bot. For example, if a bot has three numbered versions, the\n GetBotVersions operation returns four BotMetadata objects in the\n response, one for each numbered version and one for the $LATEST version.

                            \n

                            The GetBotVersions operation always returns at least one version, the\n $LATEST version.

                            \n

                            This operation requires permissions for the lex:GetBotVersions\n action.

                            ", + "smithy.api#documentation": "

                            Gets information about all of the versions of a bot.

                            \n

                            The GetBotVersions operation returns a\n BotMetadata object for each version of a bot. For example,\n if a bot has three numbered versions, the GetBotVersions\n operation returns four BotMetadata objects in the response,\n one for each numbered version and one for the $LATEST\n version.

                            \n

                            The GetBotVersions operation always returns at least\n one version, the $LATEST version.

                            \n

                            This operation requires permissions for the\n lex:GetBotVersions action.

                            ", "smithy.api#http": { "method": "GET", "uri": "/bots/{name}/versions", @@ -2363,7 +2395,7 @@ "name": { "target": "com.amazonaws.lexmodelbuildingservice#BotName", "traits": { - "smithy.api#documentation": "

                            The name of the bot for which versions should be returned.

                            ", + "smithy.api#documentation": "

                            The name of the bot for which versions should be\n returned.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2371,14 +2403,14 @@ "nextToken": { "target": "com.amazonaws.lexmodelbuildingservice#NextToken", "traits": { - "smithy.api#documentation": "

                            A pagination token for fetching the next page of bot versions. If the response to this\n call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of\n versions, specify the pagination token in the next request.

                            ", + "smithy.api#documentation": "

                            A pagination token for fetching the next page of bot versions. If\n the response to this call is truncated, Amazon Lex returns a pagination token\n in the response. To fetch the next page of versions, specify the\n pagination token in the next request.

                            ", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.lexmodelbuildingservice#MaxResults", "traits": { - "smithy.api#documentation": "

                            The maximum number of bot versions to return in the response. The default is\n 10.

                            ", + "smithy.api#documentation": "

                            The maximum number of bot versions to return in the response. The\n default is 10.

                            ", "smithy.api#httpQuery": "maxResults" } } @@ -2390,13 +2422,13 @@ "bots": { "target": "com.amazonaws.lexmodelbuildingservice#BotMetadataList", "traits": { - "smithy.api#documentation": "

                            An array of BotMetadata objects, one for each numbered version of the bot\n plus one for the $LATEST version.

                            " + "smithy.api#documentation": "

                            An array of BotMetadata objects, one for each numbered\n version of the bot plus one for the $LATEST\n version.

                            " } }, "nextToken": { "target": "com.amazonaws.lexmodelbuildingservice#NextToken", "traits": { - "smithy.api#documentation": "

                            A pagination token for fetching the next page of bot versions. If the response to this\n call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of\n versions, specify the pagination token in the next request.

                            " + "smithy.api#documentation": "

                            A pagination token for fetching the next page of bot versions. If\n the response to this call is truncated, Amazon Lex returns a pagination token\n in the response. To fetch the next page of versions, specify the\n pagination token in the next request.

                            " } } } @@ -2424,7 +2456,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Returns bot information as follows:

                            \n
                              \n
                            • \n

                              If you provide the nameContains field, the response includes\n information for the $LATEST version of all bots whose name contains the\n specified string.

                              \n
                            • \n
                            • \n

                              If you don't specify the nameContains field, the operation returns\n information about the $LATEST version of all of your bots.

                              \n
                            • \n
                            \n

                            This operation requires permission for the lex:GetBots action.

                            ", + "smithy.api#documentation": "

                            Returns bot information as follows:

                            \n
                              \n
                            • \n

                              If you provide the nameContains field, the\n response includes information for the $LATEST version of\n all bots whose name contains the specified string.

                              \n
                            • \n
                            • \n

                              If you don't specify the nameContains field, the\n operation returns information about the $LATEST version\n of all of your bots.

                              \n
                            • \n
                            \n

                            This operation requires permission for the lex:GetBots\n action.

                            ", "smithy.api#http": { "method": "GET", "uri": "/bots", @@ -2443,21 +2475,21 @@ "nextToken": { "target": "com.amazonaws.lexmodelbuildingservice#NextToken", "traits": { - "smithy.api#documentation": "

                            A pagination token that fetches the next page of bots. If the response to this call is\n truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of bots,\n specify the pagination token in the next request.

                            ", + "smithy.api#documentation": "

                            A pagination token that fetches the next page of bots. If the\n response to this call is truncated, Amazon Lex returns a pagination token in\n the response. To fetch the next page of bots, specify the pagination token\n in the next request.

                            ", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.lexmodelbuildingservice#MaxResults", "traits": { - "smithy.api#documentation": "

                            The maximum number of bots to return in the response that the request will return. The\n default is 10.

                            ", + "smithy.api#documentation": "

                            The maximum number of bots to return in the response that the\n request will return. The default is 10.

                            ", "smithy.api#httpQuery": "maxResults" } }, "nameContains": { "target": "com.amazonaws.lexmodelbuildingservice#BotName", "traits": { - "smithy.api#documentation": "

                            Substring to match in bot names. A bot will be returned if any part of its name matches\n the substring. For example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\"

                            ", + "smithy.api#documentation": "

                            Substring to match in bot names. A bot will be returned if any part\n of its name matches the substring. For example, \"xyz\" matches both\n \"xyzabc\" and \"abcxyz.\"

                            ", "smithy.api#httpQuery": "nameContains" } } @@ -2469,13 +2501,13 @@ "bots": { "target": "com.amazonaws.lexmodelbuildingservice#BotMetadataList", "traits": { - "smithy.api#documentation": "

                            An array of botMetadata objects, with one entry for each bot.

                            " + "smithy.api#documentation": "

                            An array of botMetadata objects, with one entry for\n each bot.

                            " } }, "nextToken": { "target": "com.amazonaws.lexmodelbuildingservice#NextToken", "traits": { - "smithy.api#documentation": "

                            If the response is truncated, it includes a pagination token that you can specify in\n your next request to fetch the next page of bots.

                            " + "smithy.api#documentation": "

                            If the response is truncated, it includes a pagination token that\n you can specify in your next request to fetch the next page of bots.\n

                            " } } } @@ -2503,7 +2535,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Returns information about a built-in intent.

                            \n

                            This operation requires permission for the lex:GetBuiltinIntent\n action.

                            ", + "smithy.api#documentation": "

                            Returns information about a built-in intent.

                            \n

                            This operation requires permission for the\n lex:GetBuiltinIntent action.

                            ", "smithy.api#http": { "method": "GET", "uri": "/builtins/intents/{signature}", @@ -2517,7 +2549,7 @@ "signature": { "target": "com.amazonaws.lexmodelbuildingservice#BuiltinIntentSignature", "traits": { - "smithy.api#documentation": "

                            The unique identifier for a built-in intent. To find the signature for an intent, see\n Standard Built-in Intents in the Alexa Skills Kit.

                            ", + "smithy.api#documentation": "

                            The unique identifier for a built-in intent. To find the signature\n for an intent, see Standard Built-in Intents in the Alexa Skills\n Kit.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2542,7 +2574,7 @@ "slots": { "target": "com.amazonaws.lexmodelbuildingservice#BuiltinIntentSlotList", "traits": { - "smithy.api#documentation": "

                            An array of BuiltinIntentSlot objects, one entry for each slot type in the\n intent.

                            " + "smithy.api#documentation": "

                            An array of BuiltinIntentSlot objects, one entry for\n each slot type in the intent.

                            " } } } @@ -2567,7 +2599,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Gets a list of built-in intents that meet the specified criteria.

                            \n

                            This operation requires permission for the lex:GetBuiltinIntents\n action.

                            ", + "smithy.api#documentation": "

                            Gets a list of built-in intents that meet the specified\n criteria.

                            \n

                            This operation requires permission for the\n lex:GetBuiltinIntents action.

                            ", "smithy.api#http": { "method": "GET", "uri": "/builtins/intents", @@ -2593,21 +2625,21 @@ "signatureContains": { "target": "com.amazonaws.lexmodelbuildingservice#String", "traits": { - "smithy.api#documentation": "

                            Substring to match in built-in intent signatures. An intent will be returned if any\n part of its signature matches the substring. For example, \"xyz\" matches both \"xyzabc\" and\n \"abcxyz.\" To find the signature for an intent, see Standard Built-in Intents in the Alexa Skills Kit.

                            ", + "smithy.api#documentation": "

                            Substring to match in built-in intent signatures. An intent will be\n returned if any part of its signature matches the substring. For example,\n \"xyz\" matches both \"xyzabc\" and \"abcxyz.\" To find the signature for an\n intent, see Standard Built-in Intents in the Alexa Skills\n Kit.

                            ", "smithy.api#httpQuery": "signatureContains" } }, "nextToken": { "target": "com.amazonaws.lexmodelbuildingservice#NextToken", "traits": { - "smithy.api#documentation": "

                            A pagination token that fetches the next page of intents. If this API call is\n truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of\n intents, use the pagination token in the next request.

                            ", + "smithy.api#documentation": "

                            A pagination token that fetches the next page of intents. If this\n API call is truncated, Amazon Lex returns a pagination token in the response.\n To fetch the next page of intents, use the pagination token in the next\n request.

                            ", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.lexmodelbuildingservice#MaxResults", "traits": { - "smithy.api#documentation": "

                            The maximum number of intents to return in the response. The default is 10.

                            ", + "smithy.api#documentation": "

                            The maximum number of intents to return in the response. The\n default is 10.

                            ", "smithy.api#httpQuery": "maxResults" } } @@ -2619,13 +2651,13 @@ "intents": { "target": "com.amazonaws.lexmodelbuildingservice#BuiltinIntentMetadataList", "traits": { - "smithy.api#documentation": "

                            An array of builtinIntentMetadata objects, one for each intent in the\n response.

                            " + "smithy.api#documentation": "

                            An array of builtinIntentMetadata objects, one for\n each intent in the response.

                            " } }, "nextToken": { "target": "com.amazonaws.lexmodelbuildingservice#NextToken", "traits": { - "smithy.api#documentation": "

                            A pagination token that fetches the next page of intents. If the response to this API\n call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of\n intents, specify the pagination token in the next request.

                            " + "smithy.api#documentation": "

                            A pagination token that fetches the next page of intents. If the\n response to this API call is truncated, Amazon Lex returns a pagination token\n in the response. To fetch the next page of intents, specify the pagination\n token in the next request.

                            " } } } @@ -2650,7 +2682,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Gets a list of built-in slot types that meet the specified criteria.

                            \n

                            For a list of built-in slot types, see Slot Type Reference in the Alexa Skills Kit.

                            \n\n

                            This operation requires permission for the lex:GetBuiltInSlotTypes\n action.

                            ", + "smithy.api#documentation": "

                            Gets a list of built-in slot types that meet the specified\n criteria.

                            \n

                            For a list of built-in slot types, see Slot Type Reference in the Alexa Skills\n Kit.

                            \n\n

                            This operation requires permission for the\n lex:GetBuiltInSlotTypes action.

                            ", "smithy.api#http": { "method": "GET", "uri": "/builtins/slottypes", @@ -2676,21 +2708,21 @@ "signatureContains": { "target": "com.amazonaws.lexmodelbuildingservice#String", "traits": { - "smithy.api#documentation": "

                            Substring to match in built-in slot type signatures. A slot type will be returned if\n any part of its signature matches the substring. For example, \"xyz\" matches both \"xyzabc\" and\n \"abcxyz.\"

                            ", + "smithy.api#documentation": "

                            Substring to match in built-in slot type signatures. A slot type\n will be returned if any part of its signature matches the substring. For\n example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\"

                            ", "smithy.api#httpQuery": "signatureContains" } }, "nextToken": { "target": "com.amazonaws.lexmodelbuildingservice#NextToken", "traits": { - "smithy.api#documentation": "

                            A pagination token that fetches the next page of slot types. If the response to this\n API call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next\n page of slot types, specify the pagination token in the next request.

                            ", + "smithy.api#documentation": "

                            A pagination token that fetches the next page of slot types. If the\n response to this API call is truncated, Amazon Lex returns a pagination token\n in the response. To fetch the next page of slot types, specify the\n pagination token in the next request.

                            ", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.lexmodelbuildingservice#MaxResults", "traits": { - "smithy.api#documentation": "

                            The maximum number of slot types to return in the response. The default is\n 10.

                            ", + "smithy.api#documentation": "

                            The maximum number of slot types to return in the response. The\n default is 10.

                            ", "smithy.api#httpQuery": "maxResults" } } @@ -2702,13 +2734,13 @@ "slotTypes": { "target": "com.amazonaws.lexmodelbuildingservice#BuiltinSlotTypeMetadataList", "traits": { - "smithy.api#documentation": "

                            An array of BuiltInSlotTypeMetadata objects, one entry for each slot type\n returned.

                            " + "smithy.api#documentation": "

                            An array of BuiltInSlotTypeMetadata objects, one entry\n for each slot type returned.

                            " } }, "nextToken": { "target": "com.amazonaws.lexmodelbuildingservice#NextToken", "traits": { - "smithy.api#documentation": "

                            If the response is truncated, the response includes a pagination token that you can use\n in your next request to fetch the next page of slot types.

                            " + "smithy.api#documentation": "

                            If the response is truncated, the response includes a pagination\n token that you can use in your next request to fetch the next page of slot\n types.

                            " } } } @@ -2736,7 +2768,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Exports the contents of a Amazon Lex resource in a specified format.

                            ", + "smithy.api#documentation": "

                            Exports the contents of a Amazon Lex resource in a specified format.\n

                            ", "smithy.api#http": { "method": "GET", "uri": "/exports", @@ -2811,19 +2843,19 @@ "exportStatus": { "target": "com.amazonaws.lexmodelbuildingservice#ExportStatus", "traits": { - "smithy.api#documentation": "

                            The status of the export.

                            \n
                              \n
                            • \n

                              \n IN_PROGRESS - The export is in progress.

                              \n
                            • \n
                            • \n

                              \n READY - The export is complete.

                              \n
                            • \n
                            • \n

                              \n FAILED - The export could not be completed.

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            The status of the export.

                            \n
                              \n
                            • \n

                              \n IN_PROGRESS - The export is in progress.

                              \n
                            • \n
                            • \n

                              \n READY - The export is complete.

                              \n
                            • \n
                            • \n

                              \n FAILED - The export could not be\n completed.

                              \n
                            • \n
                            " } }, "failureReason": { "target": "com.amazonaws.lexmodelbuildingservice#String", "traits": { - "smithy.api#documentation": "

                            If status is FAILED, Amazon Lex provides the reason that it failed\n to export the resource.

                            " + "smithy.api#documentation": "

                            If status is FAILED, Amazon Lex provides the\n reason that it failed to export the resource.

                            " } }, "url": { "target": "com.amazonaws.lexmodelbuildingservice#String", "traits": { - "smithy.api#documentation": "

                            An S3 pre-signed URL that provides the location of the exported resource. The exported\n resource is a ZIP archive that contains the exported resource in JSON format. The structure of\n the archive may change. Your code should not rely on the archive structure.

                            " + "smithy.api#documentation": "

                            An S3 pre-signed URL that provides the location of the exported\n resource. The exported resource is a ZIP archive that contains the\n exported resource in JSON format. The structure of the archive may change.\n Your code should not rely on the archive structure.

                            " } } } @@ -2851,7 +2883,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Gets information about an import job started with the StartImport\n operation.

                            ", + "smithy.api#documentation": "

                            Gets information about an import job started with the\n StartImport operation.

                            ", "smithy.api#http": { "method": "GET", "uri": "/imports/{importId}", @@ -2890,7 +2922,7 @@ "mergeStrategy": { "target": "com.amazonaws.lexmodelbuildingservice#MergeStrategy", "traits": { - "smithy.api#documentation": "

                            The action taken when there was a conflict between an existing resource and a resource\n in the import file.

                            " + "smithy.api#documentation": "

                            The action taken when there was a conflict between an existing\n resource and a resource in the import file.

                            " } }, "importId": { @@ -2902,19 +2934,19 @@ "importStatus": { "target": "com.amazonaws.lexmodelbuildingservice#ImportStatus", "traits": { - "smithy.api#documentation": "

                            The status of the import job. If the status is FAILED, you can get the\n reason for the failure from the failureReason field.

                            " + "smithy.api#documentation": "

                            The status of the import job. If the status is FAILED,\n you can get the reason for the failure from the failureReason\n field.

                            " } }, "failureReason": { "target": "com.amazonaws.lexmodelbuildingservice#StringList", "traits": { - "smithy.api#documentation": "

                            A string that describes why an import job failed to complete.

                            " + "smithy.api#documentation": "

                            A string that describes why an import job failed to\n complete.

                            " } }, "createdDate": { "target": "com.amazonaws.lexmodelbuildingservice#Timestamp", "traits": { - "smithy.api#documentation": "

                            A timestamp for the date and time that the import job was created.

                            " + "smithy.api#documentation": "

                            A timestamp for the date and time that the import job was\n created.

                            " } } } @@ -2942,7 +2974,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Returns information about an intent. In addition to the intent name, you must specify\n the intent version.

                            \n

                            This operation requires permissions to perform the lex:GetIntent action.\n

                            ", + "smithy.api#documentation": "

                            Returns information about an intent. In addition to the intent\n name, you must specify the intent version.

                            \n

                            This operation requires permissions to perform the\n lex:GetIntent action.

                            ", "smithy.api#http": { "method": "GET", "uri": "/intents/{name}/versions/{version}", @@ -3001,37 +3033,37 @@ "confirmationPrompt": { "target": "com.amazonaws.lexmodelbuildingservice#Prompt", "traits": { - "smithy.api#documentation": "

                            If defined in the bot, Amazon Lex uses prompt to confirm the intent before fulfilling the\n user's request. For more information, see PutIntent.

                            " + "smithy.api#documentation": "

                            If defined in the bot, Amazon Lex uses prompt to confirm the intent\n before fulfilling the user's request. For more information, see PutIntent.

                            " } }, "rejectionStatement": { "target": "com.amazonaws.lexmodelbuildingservice#Statement", "traits": { - "smithy.api#documentation": "

                            If the user answers \"no\" to the question defined in confirmationPrompt,\n Amazon Lex responds with this statement to acknowledge that the intent was canceled.

                            " + "smithy.api#documentation": "

                            If the user answers \"no\" to the question defined in\n confirmationPrompt, Amazon Lex responds with this statement to\n acknowledge that the intent was canceled.

                            " } }, "followUpPrompt": { "target": "com.amazonaws.lexmodelbuildingservice#FollowUpPrompt", "traits": { - "smithy.api#documentation": "

                            If defined in the bot, Amazon Lex uses this prompt to solicit additional user activity after\n the intent is fulfilled. For more information, see PutIntent.

                            " + "smithy.api#documentation": "

                            If defined in the bot, Amazon Lex uses this prompt to solicit additional\n user activity after the intent is fulfilled. For more information, see\n PutIntent.

                            " } }, "conclusionStatement": { "target": "com.amazonaws.lexmodelbuildingservice#Statement", "traits": { - "smithy.api#documentation": "

                            After the Lambda function specified in the fulfillmentActivity element\n fulfills the intent, Amazon Lex conveys this statement to the user.

                            " + "smithy.api#documentation": "

                            After the Lambda function specified in the\n fulfillmentActivity element fulfills the intent, Amazon Lex\n conveys this statement to the user.

                            " } }, "dialogCodeHook": { "target": "com.amazonaws.lexmodelbuildingservice#CodeHook", "traits": { - "smithy.api#documentation": "

                            If defined in the bot, Amazon Amazon Lex invokes this Lambda function for each user input.\n For more information, see PutIntent.

                            " + "smithy.api#documentation": "

                            If defined in the bot, Amazon Amazon Lex invokes this Lambda function\n for each user input. For more information, see PutIntent.

                            " } }, "fulfillmentActivity": { "target": "com.amazonaws.lexmodelbuildingservice#FulfillmentActivity", "traits": { - "smithy.api#documentation": "

                            Describes how the intent is fulfilled. For more information, see PutIntent.

                            " + "smithy.api#documentation": "

                            Describes how the intent is fulfilled. For more information, see\n PutIntent.

                            " } }, "parentIntentSignature": { @@ -3043,7 +3075,7 @@ "lastUpdatedDate": { "target": "com.amazonaws.lexmodelbuildingservice#Timestamp", "traits": { - "smithy.api#documentation": "

                            The date that the intent was updated. When you create a resource, the creation date and\n the last updated date are the same.

                            " + "smithy.api#documentation": "

                            The date that the intent was updated. When you create a resource,\n the creation date and the last updated date are the same.

                            " } }, "createdDate": { @@ -3067,7 +3099,19 @@ "kendraConfiguration": { "target": "com.amazonaws.lexmodelbuildingservice#KendraConfiguration", "traits": { - "smithy.api#documentation": "

                            Configuration information, if any, to connect to an Amazon Kendra index with the\n AMAZON.KendraSearchIntent intent.

                            " + "smithy.api#documentation": "

                            Configuration information, if any, to connect to an Amazon Kendra\n index with the AMAZON.KendraSearchIntent intent.

                            " + } + }, + "inputContexts": { + "target": "com.amazonaws.lexmodelbuildingservice#InputContextList", + "traits": { + "smithy.api#documentation": "

                            An array of InputContext objects that lists the contexts\n that must be active for Amazon Lex to choose the intent in a conversation with\n the user.

                            " + } + }, + "outputContexts": { + "target": "com.amazonaws.lexmodelbuildingservice#OutputContextList", + "traits": { + "smithy.api#documentation": "

                            An array of OutputContext objects that lists the contexts\n that the intent activates when the intent is fulfilled.

                            " } } } @@ -3095,7 +3139,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Gets information about all of the versions of an intent.

                            \n

                            The GetIntentVersions operation returns an IntentMetadata\n object for each version of an intent. For example, if an intent has three numbered versions,\n the GetIntentVersions operation returns four IntentMetadata objects\n in the response, one for each numbered version and one for the $LATEST version.

                            \n

                            The GetIntentVersions operation always returns at least one version, the\n $LATEST version.

                            \n

                            This operation requires permissions for the lex:GetIntentVersions\n action.

                            ", + "smithy.api#documentation": "

                            Gets information about all of the versions of an intent.

                            \n

                            The GetIntentVersions operation returns an\n IntentMetadata object for each version of an intent. For\n example, if an intent has three numbered versions, the\n GetIntentVersions operation returns four\n IntentMetadata objects in the response, one for each\n numbered version and one for the $LATEST version.

                            \n

                            The GetIntentVersions operation always returns at\n least one version, the $LATEST version.

                            \n

                            This operation requires permissions for the\n lex:GetIntentVersions action.

                            ", "smithy.api#http": { "method": "GET", "uri": "/intents/{name}/versions", @@ -3114,7 +3158,7 @@ "name": { "target": "com.amazonaws.lexmodelbuildingservice#IntentName", "traits": { - "smithy.api#documentation": "

                            The name of the intent for which versions should be returned.

                            ", + "smithy.api#documentation": "

                            The name of the intent for which versions should be\n returned.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3122,14 +3166,14 @@ "nextToken": { "target": "com.amazonaws.lexmodelbuildingservice#NextToken", "traits": { - "smithy.api#documentation": "

                            A pagination token for fetching the next page of intent versions. If the response to\n this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next\n page of versions, specify the pagination token in the next request.

                            ", + "smithy.api#documentation": "

                            A pagination token for fetching the next page of intent versions.\n If the response to this call is truncated, Amazon Lex returns a pagination\n token in the response. To fetch the next page of versions, specify the\n pagination token in the next request.

                            ", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.lexmodelbuildingservice#MaxResults", "traits": { - "smithy.api#documentation": "

                            The maximum number of intent versions to return in the response. The default is\n 10.

                            ", + "smithy.api#documentation": "

                            The maximum number of intent versions to return in the response.\n The default is 10.

                            ", "smithy.api#httpQuery": "maxResults" } } @@ -3141,13 +3185,13 @@ "intents": { "target": "com.amazonaws.lexmodelbuildingservice#IntentMetadataList", "traits": { - "smithy.api#documentation": "

                            An array of IntentMetadata objects, one for each numbered version of the\n intent plus one for the $LATEST version.

                            " + "smithy.api#documentation": "

                            An array of IntentMetadata objects, one for each\n numbered version of the intent plus one for the $LATEST\n version.

                            " } }, "nextToken": { "target": "com.amazonaws.lexmodelbuildingservice#NextToken", "traits": { - "smithy.api#documentation": "

                            A pagination token for fetching the next page of intent versions. If the response to\n this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next\n page of versions, specify the pagination token in the next request.

                            " + "smithy.api#documentation": "

                            A pagination token for fetching the next page of intent versions.\n If the response to this call is truncated, Amazon Lex returns a pagination\n token in the response. To fetch the next page of versions, specify the\n pagination token in the next request.

                            " } } } @@ -3175,7 +3219,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Returns intent information as follows:

                            \n
                              \n
                            • \n

                              If you specify the nameContains field, returns the\n $LATEST version of all intents that contain the specified string.

                              \n
                            • \n
                            • \n

                              If you don't specify the nameContains field, returns information\n about the $LATEST version of all intents.

                              \n
                            • \n
                            \n

                            The operation requires permission for the lex:GetIntents action.\n

                            ", + "smithy.api#documentation": "

                            Returns intent information as follows:

                            \n
                              \n
                            • \n

                              If you specify the nameContains field, returns the\n $LATEST version of all intents that contain the\n specified string.

                              \n
                            • \n
                            • \n

                              If you don't specify the nameContains field,\n returns information about the $LATEST version of all\n intents.

                              \n
                            • \n
                            \n

                            The operation requires permission for the\n lex:GetIntents action.

                            ", "smithy.api#http": { "method": "GET", "uri": "/intents", @@ -3194,21 +3238,21 @@ "nextToken": { "target": "com.amazonaws.lexmodelbuildingservice#NextToken", "traits": { - "smithy.api#documentation": "

                            A pagination token that fetches the next page of intents. If the response to this API\n call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of\n intents, specify the pagination token in the next request.

                            ", + "smithy.api#documentation": "

                            A pagination token that fetches the next page of intents. If the\n response to this API call is truncated, Amazon Lex returns a pagination token\n in the response. To fetch the next page of intents, specify the pagination\n token in the next request.

                            ", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.lexmodelbuildingservice#MaxResults", "traits": { - "smithy.api#documentation": "

                            The maximum number of intents to return in the response. The default is 10.

                            ", + "smithy.api#documentation": "

                            The maximum number of intents to return in the response. The\n default is 10.

                            ", "smithy.api#httpQuery": "maxResults" } }, "nameContains": { "target": "com.amazonaws.lexmodelbuildingservice#IntentName", "traits": { - "smithy.api#documentation": "

                            Substring to match in intent names. An intent will be returned if any part of its name\n matches the substring. For example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\"

                            ", + "smithy.api#documentation": "

                            Substring to match in intent names. An intent will be returned if\n any part of its name matches the substring. For example, \"xyz\" matches\n both \"xyzabc\" and \"abcxyz.\"

                            ", "smithy.api#httpQuery": "nameContains" } } @@ -3220,13 +3264,13 @@ "intents": { "target": "com.amazonaws.lexmodelbuildingservice#IntentMetadataList", "traits": { - "smithy.api#documentation": "

                            An array of Intent objects. For more information, see PutBot.

                            " + "smithy.api#documentation": "

                            An array of Intent objects. For more information, see\n PutBot.

                            " } }, "nextToken": { "target": "com.amazonaws.lexmodelbuildingservice#NextToken", "traits": { - "smithy.api#documentation": "

                            If the response is truncated, the response includes a pagination token that you can\n specify in your next request to fetch the next page of intents.

                            " + "smithy.api#documentation": "

                            If the response is truncated, the response includes a pagination\n token that you can specify in your next request to fetch the next page of\n intents.

                            " } } } @@ -3254,7 +3298,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Returns information about a specific version of a slot type. In addition to specifying\n the slot type name, you must specify the slot type version.

                            \n

                            This operation requires permissions for the lex:GetSlotType\n action.

                            ", + "smithy.api#documentation": "

                            Returns information about a specific version of a slot type. In\n addition to specifying the slot type name, you must specify the slot type\n version.

                            \n

                            This operation requires permissions for the\n lex:GetSlotType action.

                            ", "smithy.api#http": { "method": "GET", "uri": "/slottypes/{name}/versions/{version}", @@ -3301,13 +3345,13 @@ "enumerationValues": { "target": "com.amazonaws.lexmodelbuildingservice#EnumerationValues", "traits": { - "smithy.api#documentation": "

                            A list of EnumerationValue objects that defines the values that the slot\n type can take.

                            " + "smithy.api#documentation": "

                            A list of EnumerationValue objects that defines the\n values that the slot type can take.

                            " } }, "lastUpdatedDate": { "target": "com.amazonaws.lexmodelbuildingservice#Timestamp", "traits": { - "smithy.api#documentation": "

                            The date that the slot type was updated. When you create a resource, the creation date\n and last update date are the same.

                            " + "smithy.api#documentation": "

                            The date that the slot type was updated. When you create a\n resource, the creation date and last update date are the same.

                            " } }, "createdDate": { @@ -3325,13 +3369,13 @@ "checksum": { "target": "com.amazonaws.lexmodelbuildingservice#String", "traits": { - "smithy.api#documentation": "

                            Checksum of the $LATEST version of the slot type.

                            " + "smithy.api#documentation": "

                            Checksum of the $LATEST version of the slot\n type.

                            " } }, "valueSelectionStrategy": { "target": "com.amazonaws.lexmodelbuildingservice#SlotValueSelectionStrategy", "traits": { - "smithy.api#documentation": "

                            The strategy that Amazon Lex uses to determine the value of the slot. For more information,\n see PutSlotType.

                            " + "smithy.api#documentation": "

                            The strategy that Amazon Lex uses to determine the value of the slot.\n For more information, see PutSlotType.

                            " } }, "parentSlotTypeSignature": { @@ -3343,7 +3387,7 @@ "slotTypeConfigurations": { "target": "com.amazonaws.lexmodelbuildingservice#SlotTypeConfigurations", "traits": { - "smithy.api#documentation": "

                            Configuration information that extends the parent built-in slot type.

                            " + "smithy.api#documentation": "

                            Configuration information that extends the parent built-in slot\n type.

                            " } } } @@ -3371,7 +3415,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Gets information about all versions of a slot type.

                            \n

                            The GetSlotTypeVersions operation returns a SlotTypeMetadata\n object for each version of a slot type. For example, if a slot type has three numbered\n versions, the GetSlotTypeVersions operation returns four\n SlotTypeMetadata objects in the response, one for each numbered version and one\n for the $LATEST version.

                            \n

                            The GetSlotTypeVersions operation always returns at least one version, the\n $LATEST version.

                            \n

                            This operation requires permissions for the lex:GetSlotTypeVersions\n action.

                            ", + "smithy.api#documentation": "

                            Gets information about all versions of a slot type.

                            \n

                            The GetSlotTypeVersions operation returns a\n SlotTypeMetadata object for each version of a slot type.\n For example, if a slot type has three numbered versions, the\n GetSlotTypeVersions operation returns four\n SlotTypeMetadata objects in the response, one for each\n numbered version and one for the $LATEST version.

                            \n

                            The GetSlotTypeVersions operation always returns at\n least one version, the $LATEST version.

                            \n

                            This operation requires permissions for the\n lex:GetSlotTypeVersions action.

                            ", "smithy.api#http": { "method": "GET", "uri": "/slottypes/{name}/versions", @@ -3390,7 +3434,7 @@ "name": { "target": "com.amazonaws.lexmodelbuildingservice#SlotTypeName", "traits": { - "smithy.api#documentation": "

                            The name of the slot type for which versions should be returned.

                            ", + "smithy.api#documentation": "

                            The name of the slot type for which versions should be\n returned.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3398,14 +3442,14 @@ "nextToken": { "target": "com.amazonaws.lexmodelbuildingservice#NextToken", "traits": { - "smithy.api#documentation": "

                            A pagination token for fetching the next page of slot type versions. If the response to\n this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next\n page of versions, specify the pagination token in the next request.

                            ", + "smithy.api#documentation": "

                            A pagination token for fetching the next page of slot type\n versions. If the response to this call is truncated, Amazon Lex returns a\n pagination token in the response. To fetch the next page of versions,\n specify the pagination token in the next request.

                            ", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.lexmodelbuildingservice#MaxResults", "traits": { - "smithy.api#documentation": "

                            The maximum number of slot type versions to return in the response. The default is\n 10.

                            ", + "smithy.api#documentation": "

                            The maximum number of slot type versions to return in the response.\n The default is 10.

                            ", "smithy.api#httpQuery": "maxResults" } } @@ -3417,13 +3461,13 @@ "slotTypes": { "target": "com.amazonaws.lexmodelbuildingservice#SlotTypeMetadataList", "traits": { - "smithy.api#documentation": "

                            An array of SlotTypeMetadata objects, one for each numbered version of the\n slot type plus one for the $LATEST version.

                            " + "smithy.api#documentation": "

                            An array of SlotTypeMetadata objects, one for each\n numbered version of the slot type plus one for the $LATEST\n version.

                            " } }, "nextToken": { "target": "com.amazonaws.lexmodelbuildingservice#NextToken", "traits": { - "smithy.api#documentation": "

                            A pagination token for fetching the next page of slot type versions. If the response to\n this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next\n page of versions, specify the pagination token in the next request.

                            " + "smithy.api#documentation": "

                            A pagination token for fetching the next page of slot type\n versions. If the response to this call is truncated, Amazon Lex returns a\n pagination token in the response. To fetch the next page of versions,\n specify the pagination token in the next request.

                            " } } } @@ -3451,7 +3495,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Returns slot type information as follows:

                            \n
                              \n
                            • \n

                              If you specify the nameContains field, returns the\n $LATEST version of all slot types that contain the specified\n string.

                              \n
                            • \n
                            • \n

                              If you don't specify the nameContains field, returns information\n about the $LATEST version of all slot types.

                              \n
                            • \n
                            \n

                            The operation requires permission for the lex:GetSlotTypes action.\n

                            ", + "smithy.api#documentation": "

                            Returns slot type information as follows:

                            \n
                              \n
                            • \n

                              If you specify the nameContains field, returns the\n $LATEST version of all slot types that contain the\n specified string.

                              \n
                            • \n
                            • \n

                              If you don't specify the nameContains field,\n returns information about the $LATEST version of all slot\n types.

                              \n
                            • \n
                            \n

                            The operation requires permission for the\n lex:GetSlotTypes action.

                            ", "smithy.api#http": { "method": "GET", "uri": "/slottypes", @@ -3470,21 +3514,21 @@ "nextToken": { "target": "com.amazonaws.lexmodelbuildingservice#NextToken", "traits": { - "smithy.api#documentation": "

                            A pagination token that fetches the next page of slot types. If the response to this\n API call is truncated, Amazon Lex returns a pagination token in the response. To fetch next page of\n slot types, specify the pagination token in the next request.

                            ", + "smithy.api#documentation": "

                            A pagination token that fetches the next page of slot types. If the\n response to this API call is truncated, Amazon Lex returns a pagination token\n in the response. To fetch next page of slot types, specify the pagination\n token in the next request.

                            ", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.lexmodelbuildingservice#MaxResults", "traits": { - "smithy.api#documentation": "

                            The maximum number of slot types to return in the response. The default is\n 10.

                            ", + "smithy.api#documentation": "

                            The maximum number of slot types to return in the response. The\n default is 10.

                            ", "smithy.api#httpQuery": "maxResults" } }, "nameContains": { "target": "com.amazonaws.lexmodelbuildingservice#SlotTypeName", "traits": { - "smithy.api#documentation": "

                            Substring to match in slot type names. A slot type will be returned if any part of its\n name matches the substring. For example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\"

                            ", + "smithy.api#documentation": "

                            Substring to match in slot type names. A slot type will be returned\n if any part of its name matches the substring. For example, \"xyz\" matches\n both \"xyzabc\" and \"abcxyz.\"

                            ", "smithy.api#httpQuery": "nameContains" } } @@ -3496,13 +3540,13 @@ "slotTypes": { "target": "com.amazonaws.lexmodelbuildingservice#SlotTypeMetadataList", "traits": { - "smithy.api#documentation": "

                            An array of objects, one for each slot type, that provides information such as the name\n of the slot type, the version, and a description.

                            " + "smithy.api#documentation": "

                            An array of objects, one for each slot type, that provides\n information such as the name of the slot type, the version, and a\n description.

                            " } }, "nextToken": { "target": "com.amazonaws.lexmodelbuildingservice#NextToken", "traits": { - "smithy.api#documentation": "

                            If the response is truncated, it includes a pagination token that you can specify in\n your next request to fetch the next page of slot types.

                            " + "smithy.api#documentation": "

                            If the response is truncated, it includes a pagination token that\n you can specify in your next request to fetch the next page of slot\n types.

                            " } } } @@ -3527,7 +3571,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Use the GetUtterancesView operation to get information about the\n utterances that your users have made to your bot. You can use this list to tune the utterances\n that your bot responds to.

                            \n

                            For example, say that you have created a bot to order flowers. After your users have\n used your bot for a while, use the GetUtterancesView operation to see the\n requests that they have made and whether they have been successful. You might find that the\n utterance \"I want flowers\" is not being recognized. You could add this utterance to the\n OrderFlowers intent so that your bot recognizes that utterance.

                            \n

                            After you publish a new version of a bot, you can get information about the old version\n and the new so that you can compare the performance across the two versions.

                            \n

                            Utterance statistics are generated once a day. Data is available for the last 15 days.\n You can request information for up to 5 versions of your bot in each request. Amazon Lex returns\n the most frequent utterances received by the bot in the last 15 days. The response contains\n information about a maximum of 100 utterances for each version.

                            \n

                            If you set childDirected field to true when you created your bot, or if\n you opted out of participating in improving Amazon Lex, utterances are not available.

                            \n

                            This operation requires permissions for the lex:GetUtterancesView\n action.

                            ", + "smithy.api#documentation": "

                            Use the GetUtterancesView operation to get information\n about the utterances that your users have made to your bot. You can use\n this list to tune the utterances that your bot responds to.

                            \n

                            For example, say that you have created a bot to order flowers.\n After your users have used your bot for a while, use the\n GetUtterancesView operation to see the requests that they\n have made and whether they have been successful. You might find that the\n utterance \"I want flowers\" is not being recognized. You could add this\n utterance to the OrderFlowers intent so that your bot\n recognizes that utterance.

                            \n

                            After you publish a new version of a bot, you can get information\n about the old version and the new so that you can compare the performance\n across the two versions.

                            \n

                            Utterance statistics are generated once a day. Data is available\n for the last 15 days. You can request information for up to 5 versions of\n your bot in each request. Amazon Lex returns the most frequent utterances\n received by the bot in the last 15 days. The response contains information\n about a maximum of 100 utterances for each version.

                            \n

                            If you set childDirected field to true when you\n created your bot, or if you opted out of participating in improving Amazon Lex,\n utterances are not available.

                            \n

                            This operation requires permissions for the\n lex:GetUtterancesView action.

                            ", "smithy.api#http": { "method": "GET", "uri": "/bots/{botName}/utterances?view=aggregation", @@ -3541,7 +3585,7 @@ "botName": { "target": "com.amazonaws.lexmodelbuildingservice#BotName", "traits": { - "smithy.api#documentation": "

                            The name of the bot for which utterance information should be returned.

                            ", + "smithy.api#documentation": "

                            The name of the bot for which utterance information should be\n returned.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3549,7 +3593,7 @@ "botVersions": { "target": "com.amazonaws.lexmodelbuildingservice#BotVersions", "traits": { - "smithy.api#documentation": "

                            An array of bot versions for which utterance information should be returned. The limit\n is 5 versions per request.

                            ", + "smithy.api#documentation": "

                            An array of bot versions for which utterance information should be\n returned. The limit is 5 versions per request.

                            ", "smithy.api#httpQuery": "bot_versions", "smithy.api#required": {} } @@ -3557,7 +3601,7 @@ "statusType": { "target": "com.amazonaws.lexmodelbuildingservice#StatusType", "traits": { - "smithy.api#documentation": "

                            To return utterances that were recognized and handled, use Detected. To\n return utterances that were not recognized, use Missed.

                            ", + "smithy.api#documentation": "

                            To return utterances that were recognized and handled, use\n Detected. To return utterances that were not recognized,\n use Missed.

                            ", "smithy.api#httpQuery": "status_type", "smithy.api#required": {} } @@ -3570,13 +3614,13 @@ "botName": { "target": "com.amazonaws.lexmodelbuildingservice#BotName", "traits": { - "smithy.api#documentation": "

                            The name of the bot for which utterance information was returned.

                            " + "smithy.api#documentation": "

                            The name of the bot for which utterance information was\n returned.

                            " } }, "utterances": { "target": "com.amazonaws.lexmodelbuildingservice#ListsOfUtterances", "traits": { - "smithy.api#documentation": "

                            An array of UtteranceList objects, each containing a list of UtteranceData objects describing the utterances that were processed by your bot.\n The response contains a maximum of 100 UtteranceData objects for each version.\n Amazon Lex returns the most frequent utterances received by the bot in the last 15 days.

                            " + "smithy.api#documentation": "

                            An array of UtteranceList objects, each\n containing a list of UtteranceData objects describing\n the utterances that were processed by your bot. The response contains a\n maximum of 100 UtteranceData objects for each version. Amazon Lex\n returns the most frequent utterances received by the bot in the last 15\n days.

                            " } } } @@ -3620,6 +3664,43 @@ ] } }, + "com.amazonaws.lexmodelbuildingservice#InputContext": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.lexmodelbuildingservice#InputContextName", + "traits": { + "smithy.api#documentation": "

                            The name of the context.

                            ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The name of a context that must be active for an intent to be selected\n by Amazon Lex.

                            " + } + }, + "com.amazonaws.lexmodelbuildingservice#InputContextList": { + "type": "list", + "member": { + "target": "com.amazonaws.lexmodelbuildingservice#InputContext" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 5 + } + } + }, + "com.amazonaws.lexmodelbuildingservice#InputContextName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + }, + "smithy.api#pattern": "^([A-Za-z]_?)+$" + } + }, "com.amazonaws.lexmodelbuildingservice#Intent": { "type": "structure", "members": { @@ -3666,7 +3747,7 @@ "lastUpdatedDate": { "target": "com.amazonaws.lexmodelbuildingservice#Timestamp", "traits": { - "smithy.api#documentation": "

                            The date that the intent was updated. When you create an intent, the creation date and\n last updated date are the same.

                            " + "smithy.api#documentation": "

                            The date that the intent was updated. When you create an intent,\n the creation date and last updated date are the same.

                            " } }, "createdDate": { @@ -3733,26 +3814,26 @@ "kendraIndex": { "target": "com.amazonaws.lexmodelbuildingservice#KendraIndexArn", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the Amazon Kendra index that you want the\n AMAZON.KendraSearchIntent intent to search. The index must be in the same account and Region\n as the Amazon Lex bot. If the Amazon Kendra index does not exist, you get an exception when you\n call the PutIntent operation.

                            ", + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the Amazon Kendra index that you\n want the AMAZON.KendraSearchIntent intent to search. The index must be in\n the same account and Region as the Amazon Lex bot. If the Amazon Kendra index\n does not exist, you get an exception when you call the\n PutIntent operation.

                            ", "smithy.api#required": {} } }, "queryFilterString": { "target": "com.amazonaws.lexmodelbuildingservice#QueryFilterString", "traits": { - "smithy.api#documentation": "

                            A query filter that Amazon Lex sends to Amazon Kendra to filter the response from the query.\n The filter is in the format defined by Amazon Kendra. For more information, see Filtering queries.

                            \n

                            You can override this filter string with a new filter string at runtime.

                            " + "smithy.api#documentation": "

                            A query filter that Amazon Lex sends to Amazon Kendra to filter the\n response from the query. The filter is in the format defined by Amazon\n Kendra. For more information, see Filtering\n queries.

                            \n

                            You can override this filter string with a new filter string at\n runtime.

                            " } }, "role": { "target": "com.amazonaws.lexmodelbuildingservice#roleArn", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of an IAM role that has permission to search the Amazon\n Kendra index. The role must be in the same account and Region as the Amazon Lex bot. If the role\n does not exist, you get an exception when you call the PutIntent\n operation.

                            ", + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of an IAM role that has permission to\n search the Amazon Kendra index. The role must be in the same account and\n Region as the Amazon Lex bot. If the role does not exist, you get an exception\n when you call the PutIntent operation.

                            ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

                            Provides configuration information for the AMAZON.KendraSearchIntent intent. When you use\n this intent, Amazon Lex searches the specified Amazon Kendra index and returns documents from the\n index that match the user's utterance. For more information, see \n AMAZON.KendraSearchIntent.

                            " + "smithy.api#documentation": "

                            Provides configuration information for the AMAZON.KendraSearchIntent\n intent. When you use this intent, Amazon Lex searches the specified Amazon\n Kendra index and returns documents from the index that match the user's\n utterance. For more information, see \n AMAZON.KendraSearchIntent.

                            " } }, "com.amazonaws.lexmodelbuildingservice#KendraIndexArn": { @@ -3833,7 +3914,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Gets a list of tags associated with the specified resource. Only bots, bot aliases, and\n bot channels can have tags associated with them.

                            ", + "smithy.api#documentation": "

                            Gets a list of tags associated with the specified resource. Only bots,\n bot aliases, and bot channels can have tags associated with them.

                            ", "smithy.api#http": { "method": "GET", "uri": "/tags/{resourceArn}", @@ -3847,7 +3928,7 @@ "resourceArn": { "target": "com.amazonaws.lexmodelbuildingservice#AmazonResourceName", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the resource to get a list of tags for.

                            ", + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the resource to get a list of tags\n for.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3926,33 +4007,33 @@ "logType": { "target": "com.amazonaws.lexmodelbuildingservice#LogType", "traits": { - "smithy.api#documentation": "

                            The type of logging to enable. Text logs are delivered to a CloudWatch Logs log group.\n Audio logs are delivered to an S3 bucket.

                            ", + "smithy.api#documentation": "

                            The type of logging to enable. Text logs are delivered to a CloudWatch\n Logs log group. Audio logs are delivered to an S3 bucket.

                            ", "smithy.api#required": {} } }, "destination": { "target": "com.amazonaws.lexmodelbuildingservice#Destination", "traits": { - "smithy.api#documentation": "

                            Where the logs will be delivered. Text logs are delivered to a CloudWatch Logs log group.\n Audio logs are delivered to an S3 bucket.

                            ", + "smithy.api#documentation": "

                            Where the logs will be delivered. Text logs are delivered to a\n CloudWatch Logs log group. Audio logs are delivered to an S3\n bucket.

                            ", "smithy.api#required": {} } }, "kmsKeyArn": { "target": "com.amazonaws.lexmodelbuildingservice#KmsKeyArn", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the AWS KMS customer managed key for encrypting audio\n logs delivered to an S3 bucket. The key does not apply to CloudWatch Logs and is optional for\n S3 buckets.

                            " + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the AWS KMS customer managed key for\n encrypting audio logs delivered to an S3 bucket. The key does not apply to\n CloudWatch Logs and is optional for S3 buckets.

                            " } }, "resourceArn": { "target": "com.amazonaws.lexmodelbuildingservice#ResourceArn", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the CloudWatch Logs log group or S3 bucket where the\n logs should be delivered.

                            ", + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the CloudWatch Logs log group or S3\n bucket where the logs should be delivered.

                            ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

                            Settings used to configure delivery mode and destination for conversation logs.

                            " + "smithy.api#documentation": "

                            Settings used to configure delivery mode and destination for\n conversation logs.

                            " } }, "com.amazonaws.lexmodelbuildingservice#LogSettingsRequestList": { @@ -3979,19 +4060,19 @@ "kmsKeyArn": { "target": "com.amazonaws.lexmodelbuildingservice#KmsKeyArn", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the key used to encrypt audio logs in an S3\n bucket.

                            " + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the key used to encrypt audio logs\n in an S3 bucket.

                            " } }, "resourceArn": { "target": "com.amazonaws.lexmodelbuildingservice#ResourceArn", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the CloudWatch Logs log group or S3 bucket where the\n logs are delivered.

                            " + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the CloudWatch Logs log group or S3\n bucket where the logs are delivered.

                            " } }, "resourcePrefix": { "target": "com.amazonaws.lexmodelbuildingservice#ResourcePrefix", "traits": { - "smithy.api#documentation": "

                            The resource prefix is the first part of the S3 object key within the S3 bucket that you\n specified to contain audio logs. For CloudWatch Logs it is the prefix of the log stream name\n within the log group that you specified.

                            " + "smithy.api#documentation": "

                            The resource prefix is the first part of the S3 object key within the\n S3 bucket that you specified to contain audio logs. For CloudWatch Logs it\n is the prefix of the log stream name within the log group that you\n specified.

                            " } } }, @@ -4065,12 +4146,12 @@ "groupNumber": { "target": "com.amazonaws.lexmodelbuildingservice#GroupNumber", "traits": { - "smithy.api#documentation": "

                            Identifies the message group that the message belongs to. When a group is assigned to a\n message, Amazon Lex returns one message from each group in the response.

                            " + "smithy.api#documentation": "

                            Identifies the message group that the message belongs to. When a group\n is assigned to a message, Amazon Lex returns one message from each group in the\n response.

                            " } } }, "traits": { - "smithy.api#documentation": "

                            The message object that provides the message text and its type.

                            " + "smithy.api#documentation": "

                            The message object that provides the message text and its\n type.

                            " } }, "com.amazonaws.lexmodelbuildingservice#MessageList": { @@ -4115,7 +4196,7 @@ } }, "traits": { - "smithy.api#documentation": "

                            The resource specified in the request was not found. Check the resource and try\n again.

                            ", + "smithy.api#documentation": "

                            The resource specified in the request was not found. Check the\n resource and try again.

                            ", "smithy.api#error": "client", "smithy.api#httpError": 404 } @@ -4145,6 +4226,57 @@ ] } }, + "com.amazonaws.lexmodelbuildingservice#OutputContext": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.lexmodelbuildingservice#OutputContextName", + "traits": { + "smithy.api#documentation": "

                            The name of the context.

                            ", + "smithy.api#required": {} + } + }, + "timeToLiveInSeconds": { + "target": "com.amazonaws.lexmodelbuildingservice#ContextTimeToLiveInSeconds", + "traits": { + "smithy.api#documentation": "

                            The number of seconds that the context should be active after it is\n first sent in a PostContent or PostText\n response. You can set the value between 5 and 86,400 seconds (24\n hours).

                            ", + "smithy.api#required": {} + } + }, + "turnsToLive": { + "target": "com.amazonaws.lexmodelbuildingservice#ContextTurnsToLive", + "traits": { + "smithy.api#documentation": "

                            The number of conversation turns that the context should be active. A\n conversation turn is one PostContent or PostText\n request and the corresponding response from Amazon Lex.

                            ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The specification of an output context that is set when an intent is\n fulfilled.

                            " + } + }, + "com.amazonaws.lexmodelbuildingservice#OutputContextList": { + "type": "list", + "member": { + "target": "com.amazonaws.lexmodelbuildingservice#OutputContext" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 10 + } + } + }, + "com.amazonaws.lexmodelbuildingservice#OutputContextName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + }, + "smithy.api#pattern": "^([A-Za-z]_?)+$" + } + }, "com.amazonaws.lexmodelbuildingservice#PreconditionFailedException": { "type": "structure", "members": { @@ -4153,7 +4285,7 @@ } }, "traits": { - "smithy.api#documentation": "

                            The checksum of the resource that you are trying to change does not match the checksum\n in the request. Check the resource's checksum and try again.

                            ", + "smithy.api#documentation": "

                            The checksum of the resource that you are trying to change does\n not match the checksum in the request. Check the resource's checksum and\n try again.

                            ", "smithy.api#error": "client", "smithy.api#httpError": 412 } @@ -4189,7 +4321,7 @@ "messages": { "target": "com.amazonaws.lexmodelbuildingservice#MessageList", "traits": { - "smithy.api#documentation": "

                            An array of objects, each of which provides a message string and its type. You can\n specify the message string in plain text or in Speech Synthesis Markup Language\n (SSML).

                            ", + "smithy.api#documentation": "

                            An array of objects, each of which provides a message string and\n its type. You can specify the message string in plain text or in Speech\n Synthesis Markup Language (SSML).

                            ", "smithy.api#required": {} } }, @@ -4203,12 +4335,12 @@ "responseCard": { "target": "com.amazonaws.lexmodelbuildingservice#ResponseCard", "traits": { - "smithy.api#documentation": "

                            A response card. Amazon Lex uses this prompt at runtime, in the PostText API\n response. It substitutes session attributes and slot values for placeholders in the response\n card. For more information, see ex-resp-card.

                            " + "smithy.api#documentation": "

                            A response card. Amazon Lex uses this prompt at runtime, in the\n PostText API response. It substitutes session attributes\n and slot values for placeholders in the response card. For more\n information, see ex-resp-card.

                            " } } }, "traits": { - "smithy.api#documentation": "

                            Obtains information from the user. To define a prompt, provide one or more messages and\n specify the number of attempts to get information from the user. If you provide more than one\n message, Amazon Lex chooses one of the messages to use to prompt the user. For more information,\n see how-it-works.

                            " + "smithy.api#documentation": "

                            Obtains information from the user. To define a prompt, provide one\n or more messages and specify the number of attempts to get information\n from the user. If you provide more than one message, Amazon Lex chooses one of\n the messages to use to prompt the user. For more information, see how-it-works.

                            " } }, "com.amazonaws.lexmodelbuildingservice#PromptMaxAttempts": { @@ -4247,7 +4379,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Creates an Amazon Lex conversational bot or replaces an existing bot. When you create or\n update a bot you are only required to specify a name, a locale, and whether the bot is\n directed toward children under age 13. You can use this to add intents later, or to remove\n intents from an existing bot. When you create a bot with the minimum information, the bot is\n created or updated but Amazon Lex returns the response FAILED. You can build\n the bot after you add one or more intents. For more information about Amazon Lex bots, see how-it-works.

                            \n

                            If you specify the name of an existing bot, the fields in the request replace the\n existing values in the $LATEST version of the bot. Amazon Lex removes any fields that\n you don't provide values for in the request, except for the idleTTLInSeconds and\n privacySettings fields, which are set to their default values. If you don't\n specify values for required fields, Amazon Lex throws an exception.

                            \n\n

                            This operation requires permissions for the lex:PutBot action. For more\n information, see security-iam.

                            ", + "smithy.api#documentation": "

                            Creates an Amazon Lex conversational bot or replaces an existing bot.\n When you create or update a bot you are only required to specify a name, a\n locale, and whether the bot is directed toward children under age 13. You\n can use this to add intents later, or to remove intents from an existing\n bot. When you create a bot with the minimum information, the bot is\n created or updated but Amazon Lex returns the response\n FAILED. You can build the bot after you add one or more\n intents. For more information about Amazon Lex bots, see how-it-works.

                            \n

                            If you specify the name of an existing bot, the fields in the\n request replace the existing values in the $LATEST version of\n the bot. Amazon Lex removes any fields that you don't provide values for in the\n request, except for the idleTTLInSeconds and\n privacySettings fields, which are set to their default\n values. If you don't specify values for required fields, Amazon Lex throws an\n exception.

                            \n\n

                            This operation requires permissions for the lex:PutBot\n action. For more information, see security-iam.

                            ", "smithy.api#http": { "method": "PUT", "uri": "/bots/{name}/versions/$LATEST", @@ -4281,7 +4413,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Creates an alias for the specified version of the bot or replaces an alias for the\n specified bot. To change the version of the bot that the alias points to, replace the alias.\n For more information about aliases, see versioning-aliases.

                            \n

                            This operation requires permissions for the lex:PutBotAlias action.\n

                            ", + "smithy.api#documentation": "

                            Creates an alias for the specified version of the bot or replaces\n an alias for the specified bot. To change the version of the bot that the\n alias points to, replace the alias. For more information about aliases,\n see versioning-aliases.

                            \n

                            This operation requires permissions for the\n lex:PutBotAlias action.

                            ", "smithy.api#http": { "method": "PUT", "uri": "/bots/{botName}/aliases/{name}", @@ -4295,7 +4427,7 @@ "name": { "target": "com.amazonaws.lexmodelbuildingservice#AliasName", "traits": { - "smithy.api#documentation": "

                            The name of the alias. The name is not case sensitive.

                            ", + "smithy.api#documentation": "

                            The name of the alias. The name is not case\n sensitive.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4324,7 +4456,7 @@ "checksum": { "target": "com.amazonaws.lexmodelbuildingservice#String", "traits": { - "smithy.api#documentation": "

                            Identifies a specific revision of the $LATEST version.

                            \n

                            When you create a new bot alias, leave the checksum field blank. If you\n specify a checksum you get a BadRequestException exception.

                            \n

                            When you want to update a bot alias, set the checksum field to the\n checksum of the most recent revision of the $LATEST version. If you don't specify\n the checksum field, or if the checksum does not match the $LATEST\n version, you get a PreconditionFailedException exception.

                            " + "smithy.api#documentation": "

                            Identifies a specific revision of the $LATEST\n version.

                            \n

                            When you create a new bot alias, leave the checksum\n field blank. If you specify a checksum you get a\n BadRequestException exception.

                            \n

                            When you want to update a bot alias, set the checksum\n field to the checksum of the most recent revision of the\n $LATEST version. If you don't specify the \n checksum field, or if the checksum does not match the\n $LATEST version, you get a\n PreconditionFailedException exception.

                            " } }, "conversationLogs": { @@ -4336,7 +4468,7 @@ "tags": { "target": "com.amazonaws.lexmodelbuildingservice#TagList", "traits": { - "smithy.api#documentation": "

                            A list of tags to add to the bot alias. You can only add tags when you create an alias,\n you can't use the PutBotAlias operation to update the tags on a bot alias. To\n update tags, use the TagResource operation.

                            " + "smithy.api#documentation": "

                            A list of tags to add to the bot alias. You can only add tags when you\n create an alias, you can't use the PutBotAlias operation to\n update the tags on a bot alias. To update tags, use the\n TagResource operation.

                            " } } } @@ -4371,7 +4503,7 @@ "lastUpdatedDate": { "target": "com.amazonaws.lexmodelbuildingservice#Timestamp", "traits": { - "smithy.api#documentation": "

                            The date that the bot alias was updated. When you create a resource, the creation date\n and the last updated date are the same.

                            " + "smithy.api#documentation": "

                            The date that the bot alias was updated. When you create a\n resource, the creation date and the last updated date are the\n same.

                            " } }, "createdDate": { @@ -4389,7 +4521,7 @@ "conversationLogs": { "target": "com.amazonaws.lexmodelbuildingservice#ConversationLogsResponse", "traits": { - "smithy.api#documentation": "

                            The settings that determine how Amazon Lex uses conversation logs for the alias.

                            " + "smithy.api#documentation": "

                            The settings that determine how Amazon Lex uses conversation logs for the\n alias.

                            " } }, "tags": { @@ -4406,7 +4538,7 @@ "name": { "target": "com.amazonaws.lexmodelbuildingservice#BotName", "traits": { - "smithy.api#documentation": "

                            The name of the bot. The name is not case sensitive.

                            ", + "smithy.api#documentation": "

                            The name of the bot. The name is not case\n sensitive.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4420,87 +4552,87 @@ "intents": { "target": "com.amazonaws.lexmodelbuildingservice#IntentList", "traits": { - "smithy.api#documentation": "

                            An array of Intent objects. Each intent represents a command that a user\n can express. For example, a pizza ordering bot might support an OrderPizza intent. For more\n information, see how-it-works.

                            " + "smithy.api#documentation": "

                            An array of Intent objects. Each intent represents a\n command that a user can express. For example, a pizza ordering bot might\n support an OrderPizza intent. For more information, see how-it-works.

                            " } }, "enableModelImprovements": { "target": "com.amazonaws.lexmodelbuildingservice#Boolean", "traits": { - "smithy.api#documentation": "

                            Set to true to enable access to natural language understanding improvements.\n

                            \n

                            When you set the enableModelImprovements parameter to true you\n can use the nluIntentConfidenceThreshold parameter to configure confidence\n scores. For more information, see Confidence Scores.

                            \n

                            You can only set the enableModelImprovements parameter in certain Regions. If\n you set the parameter to true, your bot has access to accuracy improvements.

                            \n

                            The Regions where you can set the enableModelImprovements parameter to\n true are:

                            \n
                              \n
                            • \n

                              US East (N. Virginia) (us-east-1)

                              \n
                            • \n
                            • \n

                              US West (Oregon) (us-west-2)

                              \n
                            • \n
                            • \n

                              Asia Pacific (Sydney) (ap-southeast-2)

                              \n
                            • \n
                            • \n

                              EU (Ireland) (eu-west-1)

                              \n
                            • \n
                            \n

                            In other Regions, the enableModelImprovements parameter is set to\n true by default. In these Regions setting the parameter to false\n throws a ValidationException exception.

                            \n
                              \n
                            • \n

                              Asia Pacific (Singapore) (ap-southeast-1)

                              \n
                            • \n
                            • \n

                              Asia Pacific (Tokyo) (ap-northeast-1)

                              \n
                            • \n
                            • \n

                              EU (Frankfurt) (eu-central-1)

                              \n
                            • \n
                            • \n

                              EU (London) (eu-west-2)

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            Set to true to enable access to natural language\n understanding improvements.

                            \n

                            When you set the enableModelImprovements parameter to\n true you can use the\n nluIntentConfidenceThreshold parameter to configure\n confidence scores. For more information, see Confidence Scores.

                            \n

                            You can only set the enableModelImprovements parameter in\n certain Regions. If you set the parameter to true, your bot\n has access to accuracy improvements.

                            \n

                            The Regions where you can set the enableModelImprovements\n parameter to true are:

                            \n
                              \n
                            • \n

                              US East (N. Virginia) (us-east-1)

                              \n
                            • \n
                            • \n

                              US West (Oregon) (us-west-2)

                              \n
                            • \n
                            • \n

                              Asia Pacific (Sydney) (ap-southeast-2)

                              \n
                            • \n
                            • \n

                              EU (Ireland) (eu-west-1)

                              \n
                            • \n
                            \n

                            In other Regions, the enableModelImprovements parameter\n is set to true by default. In these Regions setting the\n parameter to false throws a ValidationException\n exception.

                            " } }, "nluIntentConfidenceThreshold": { "target": "com.amazonaws.lexmodelbuildingservice#ConfidenceThreshold", "traits": { - "smithy.api#documentation": "

                            Determines the threshold where Amazon Lex will insert the AMAZON.FallbackIntent,\n AMAZON.KendraSearchIntent, or both when returning alternative intents in a\n PostContent or PostText response.\n AMAZON.FallbackIntent and AMAZON.KendraSearchIntent are only\n inserted if they are configured for the bot.

                            \n

                            You must set the enableModelImprovements parameter to true to\n use confidence scores.

                            \n
                              \n
                            • \n

                              US East (N. Virginia) (us-east-1)

                              \n
                            • \n
                            • \n

                              US West (Oregon) (us-west-2)

                              \n
                            • \n
                            • \n

                              Asia Pacific (Sydney) (ap-southeast-2)

                              \n
                            • \n
                            • \n

                              EU (Ireland) (eu-west-1)

                              \n
                            • \n
                            \n

                            In other Regions, the enableModelImprovements parameter is set to\n true by default.

                            \n

                            For example, suppose a bot is configured with the confidence threshold of 0.80 and the\n AMAZON.FallbackIntent. Amazon Lex returns three alternative intents with the\n following confidence scores: IntentA (0.70), IntentB (0.60), IntentC (0.50). The response from\n the PostText operation would be:

                            \n
                              \n
                            • \n

                              AMAZON.FallbackIntent

                              \n
                            • \n
                            • \n

                              IntentA

                              \n
                            • \n
                            • \n

                              IntentB

                              \n
                            • \n
                            • \n

                              IntentC

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            Determines the threshold where Amazon Lex will insert the\n AMAZON.FallbackIntent,\n AMAZON.KendraSearchIntent, or both when returning\n alternative intents in a PostContent or\n PostText response.\n AMAZON.FallbackIntent and\n AMAZON.KendraSearchIntent are only inserted if they are\n configured for the bot.

                            \n

                            You must set the enableModelImprovements parameter to\n true to use confidence scores in the following\n regions.

                            \n
                              \n
                            • \n

                              US East (N. Virginia) (us-east-1)

                              \n
                            • \n
                            • \n

                              US West (Oregon) (us-west-2)

                              \n
                            • \n
                            • \n

                              Asia Pacific (Sydney) (ap-southeast-2)

                              \n
                            • \n
                            • \n

                              EU (Ireland) (eu-west-1)

                              \n
                            • \n
                            \n

                            In other Regions, the enableModelImprovements parameter\n is set to true by default.

                            \n

                            For example, suppose a bot is configured with the confidence threshold\n of 0.80 and the AMAZON.FallbackIntent. Amazon Lex returns three\n alternative intents with the following confidence scores: IntentA (0.70),\n IntentB (0.60), IntentC (0.50). The response from the\n PostText operation would be:

                            \n
                              \n
                            • \n

                              AMAZON.FallbackIntent

                              \n
                            • \n
                            • \n

                              IntentA

                              \n
                            • \n
                            • \n

                              IntentB

                              \n
                            • \n
                            • \n

                              IntentC

                              \n
                            • \n
                            " } }, "clarificationPrompt": { "target": "com.amazonaws.lexmodelbuildingservice#Prompt", "traits": { - "smithy.api#documentation": "

                            When Amazon Lex doesn't understand the user's intent, it uses this message to get\n clarification. To specify how many times Amazon Lex should repeat the clarification prompt, use the\n maxAttempts field. If Amazon Lex still doesn't understand, it sends the message in\n the abortStatement field.

                            \n

                            When you create a clarification prompt, make sure that it suggests the correct response\n from the user. for example, for a bot that orders pizza and drinks, you might create this\n clarification prompt: \"What would you like to do? You can say 'Order a pizza' or 'Order a\n drink.'\"

                            \n

                            If you have defined a fallback intent, it will be invoked if the clarification prompt is\n repeated the number of times defined in the maxAttempts field. For more\n information, see AMAZON.FallbackIntent.

                            \n

                            If you don't define a clarification prompt, at runtime Amazon Lex will return a 400 Bad Request\n exception in three cases:

                            \n
                              \n
                            • \n

                              Follow-up prompt - When the user responds to a follow-up prompt but does not provide\n an intent. For example, in response to a follow-up prompt that says \"Would you like\n anything else today?\" the user says \"Yes.\" Amazon Lex will return a 400 Bad Request exception\n because it does not have a clarification prompt to send to the user to get an\n intent.

                              \n
                            • \n
                            • \n

                              Lambda function - When using a Lambda function, you return an\n ElicitIntent dialog type. Since Amazon Lex does not have a clarification prompt\n to get an intent from the user, it returns a 400 Bad Request exception.

                              \n
                            • \n
                            • \n

                              PutSession operation - When using the PutSession operation, you send an\n ElicitIntent dialog type. Since Amazon Lex does not have a clarification prompt\n to get an intent from the user, it returns a 400 Bad Request exception.

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            When Amazon Lex doesn't understand the user's intent, it uses this\n message to get clarification. To specify how many times Amazon Lex should\n repeat the clarification prompt, use the maxAttempts field.\n If Amazon Lex still doesn't understand, it sends the message in the\n abortStatement field.

                            \n

                            When you create a clarification prompt, make sure that it suggests\n the correct response from the user. for example, for a bot that orders\n pizza and drinks, you might create this clarification prompt: \"What would\n you like to do? You can say 'Order a pizza' or 'Order a drink.'\"

                            \n

                            If you have defined a fallback intent, it will be invoked if the\n clarification prompt is repeated the number of times defined in the\n maxAttempts field. For more information, see \n AMAZON.FallbackIntent.

                            \n

                            If you don't define a clarification prompt, at runtime Amazon Lex will\n return a 400 Bad Request exception in three cases:

                            \n
                              \n
                            • \n

                              Follow-up prompt - When the user responds to a follow-up prompt\n but does not provide an intent. For example, in response to a\n follow-up prompt that says \"Would you like anything else today?\" the\n user says \"Yes.\" Amazon Lex will return a 400 Bad Request exception because\n it does not have a clarification prompt to send to the user to get an\n intent.

                              \n
                            • \n
                            • \n

                              Lambda function - When using a Lambda function, you return an\n ElicitIntent dialog type. Since Amazon Lex does not have a\n clarification prompt to get an intent from the user, it returns a 400\n Bad Request exception.

                              \n
                            • \n
                            • \n

                              PutSession operation - When using the PutSession\n operation, you send an ElicitIntent dialog type. Since\n Amazon Lex does not have a clarification prompt to get an intent from the\n user, it returns a 400 Bad Request exception.

                              \n
                            • \n
                            " } }, "abortStatement": { "target": "com.amazonaws.lexmodelbuildingservice#Statement", "traits": { - "smithy.api#documentation": "

                            When Amazon Lex can't understand the user's input in context, it tries to elicit the\n information a few times. After that, Amazon Lex sends the message defined in\n abortStatement to the user, and then cancels the conversation. To set the\n number of retries, use the valueElicitationPrompt field for the slot type.

                            \n

                            For example, in a pizza ordering bot, Amazon Lex might ask a user \"What type of crust would\n you like?\" If the user's response is not one of the expected responses (for example, \"thin\n crust, \"deep dish,\" etc.), Amazon Lex tries to elicit a correct response a few more times.

                            \n

                            For example, in a pizza ordering application, OrderPizza might be one of\n the intents. This intent might require the CrustType slot. You specify the\n valueElicitationPrompt field when you create the CrustType\n slot.

                            \n

                            If you have defined a fallback intent the cancel statement will not be sent to the user,\n the fallback intent is used instead. For more information, see AMAZON.FallbackIntent.

                            " + "smithy.api#documentation": "

                            When Amazon Lex can't understand the user's input in context, it tries\n to elicit the information a few times. After that, Amazon Lex sends the message\n defined in abortStatement to the user, and then cancels the\n conversation. To set the number of retries, use the\n valueElicitationPrompt field for the slot type.

                            \n

                            For example, in a pizza ordering bot, Amazon Lex might ask a user \"What\n type of crust would you like?\" If the user's response is not one of the\n expected responses (for example, \"thin crust, \"deep dish,\" etc.), Amazon Lex\n tries to elicit a correct response a few more times.

                            \n

                            For example, in a pizza ordering application,\n OrderPizza might be one of the intents. This intent might\n require the CrustType slot. You specify the\n valueElicitationPrompt field when you create the\n CrustType slot.

                            \n

                            If you have defined a fallback intent the cancel statement will not be\n sent to the user, the fallback intent is used instead. For more\n information, see \n AMAZON.FallbackIntent.

                            " } }, "idleSessionTTLInSeconds": { "target": "com.amazonaws.lexmodelbuildingservice#SessionTTL", "traits": { - "smithy.api#documentation": "

                            The maximum time in seconds that Amazon Lex retains the data gathered in a\n conversation.

                            \n

                            A user interaction session remains active for the amount of time specified. If no\n conversation occurs during this time, the session expires and Amazon Lex deletes any data provided\n before the timeout.

                            \n

                            For example, suppose that a user chooses the OrderPizza intent, but gets sidetracked\n halfway through placing an order. If the user doesn't complete the order within the specified\n time, Amazon Lex discards the slot information that it gathered, and the user must start\n over.

                            \n

                            If you don't include the idleSessionTTLInSeconds element in a\n PutBot operation request, Amazon Lex uses the default value. This is also true if\n the request replaces an existing bot.

                            \n

                            The default is 300 seconds (5 minutes).

                            " + "smithy.api#documentation": "

                            The maximum time in seconds that Amazon Lex retains the data gathered in\n a conversation.

                            \n

                            A user interaction session remains active for the amount of time\n specified. If no conversation occurs during this time, the session expires\n and Amazon Lex deletes any data provided before the timeout.

                            \n

                            For example, suppose that a user chooses the OrderPizza intent, but\n gets sidetracked halfway through placing an order. If the user doesn't\n complete the order within the specified time, Amazon Lex discards the slot\n information that it gathered, and the user must start over.

                            \n

                            If you don't include the idleSessionTTLInSeconds\n element in a PutBot operation request, Amazon Lex uses the default\n value. This is also true if the request replaces an existing\n bot.

                            \n

                            The default is 300 seconds (5 minutes).

                            " } }, "voiceId": { "target": "com.amazonaws.lexmodelbuildingservice#String", "traits": { - "smithy.api#documentation": "

                            The Amazon Polly voice ID that you want Amazon Lex to use for voice interactions with the\n user. The locale configured for the voice must match the locale of the bot. For more\n information, see Voices in Amazon Polly in the Amazon Polly Developer\n Guide.

                            " + "smithy.api#documentation": "

                            The Amazon Polly voice ID that you want Amazon Lex to use for voice\n interactions with the user. The locale configured for the voice must match\n the locale of the bot. For more information, see Voices\n in Amazon Polly in the Amazon Polly Developer\n Guide.

                            " } }, "checksum": { "target": "com.amazonaws.lexmodelbuildingservice#String", "traits": { - "smithy.api#documentation": "

                            Identifies a specific revision of the $LATEST version.

                            \n

                            When you create a new bot, leave the checksum field blank. If you specify\n a checksum you get a BadRequestException exception.

                            \n

                            When you want to update a bot, set the checksum field to the checksum of\n the most recent revision of the $LATEST version. If you don't specify the \n checksum field, or if the checksum does not match the $LATEST version,\n you get a PreconditionFailedException exception.

                            " + "smithy.api#documentation": "

                            Identifies a specific revision of the $LATEST\n version.

                            \n

                            When you create a new bot, leave the checksum field\n blank. If you specify a checksum you get a\n BadRequestException exception.

                            \n

                            When you want to update a bot, set the checksum field\n to the checksum of the most recent revision of the $LATEST\n version. If you don't specify the checksum field, or if the\n checksum does not match the $LATEST version, you get a\n PreconditionFailedException exception.

                            " } }, "processBehavior": { "target": "com.amazonaws.lexmodelbuildingservice#ProcessBehavior", "traits": { - "smithy.api#documentation": "

                            If you set the processBehavior element to BUILD, Amazon Lex builds\n the bot so that it can be run. If you set the element to SAVE Amazon Lex saves the\n bot, but doesn't build it.

                            \n

                            If you don't specify this value, the default value is BUILD.

                            " + "smithy.api#documentation": "

                            If you set the processBehavior element to\n BUILD, Amazon Lex builds the bot so that it can be run. If you\n set the element to SAVE Amazon Lex saves the bot, but doesn't\n build it.

                            \n

                            If you don't specify this value, the default value is\n BUILD.

                            " } }, "locale": { "target": "com.amazonaws.lexmodelbuildingservice#Locale", "traits": { - "smithy.api#documentation": "

                            Specifies the target locale for the bot. Any intent used in the bot must be compatible\n with the locale of the bot.

                            \n\n

                            The default is en-US.

                            ", + "smithy.api#documentation": "

                            Specifies the target locale for the bot. Any intent used in the\n bot must be compatible with the locale of the bot.

                            \n\n

                            The default is en-US.

                            ", "smithy.api#required": {} } }, "childDirected": { "target": "com.amazonaws.lexmodelbuildingservice#Boolean", "traits": { - "smithy.api#documentation": "

                            For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify\n whether your use of Amazon Lex is related to a website, program, or other application that is\n directed or targeted, in whole or in part, to children under age 13 and subject to the\n Children's Online Privacy Protection Act (COPPA) by specifying true or\n false in the childDirected field. By specifying true\n in the childDirected field, you confirm that your use of Amazon Lex is related to a website, program, or other application that is\n directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. By\n specifying false in the childDirected field, you confirm that your\n use of Amazon Lex is not related to a website, program, or other\n application that is directed or targeted, in whole or in part, to children under age 13 and\n subject to COPPA. You may not specify a default value for the childDirected field\n that does not accurately reflect whether your use of Amazon Lex is related to a website, program,\n or other application that is directed or targeted, in whole or in part, to children under age\n 13 and subject to COPPA.

                            \n

                            If your use of Amazon Lex relates to a website, program, or other application that is\n directed in whole or in part, to children under age 13, you must obtain any required\n verifiable parental consent under COPPA. For information regarding the use of Amazon Lex in\n connection with websites, programs, or other applications that are directed or targeted, in\n whole or in part, to children under age 13, see the Amazon Lex FAQ.\n

                            ", + "smithy.api#documentation": "

                            For each Amazon Lex bot created with the Amazon Lex Model Building Service,\n you must specify whether your use of Amazon Lex is related to a website,\n program, or other application that is directed or targeted, in whole or in\n part, to children under age 13 and subject to the Children's Online\n Privacy Protection Act (COPPA) by specifying true or\n false in the childDirected field. By\n specifying true in the childDirected field, you\n confirm that your use of Amazon Lex is related\n to a website, program, or other application that is directed or targeted,\n in whole or in part, to children under age 13 and subject to COPPA. By\n specifying false in the childDirected field, you\n confirm that your use of Amazon Lex is not\n related to a website, program, or other application that is directed or\n targeted, in whole or in part, to children under age 13 and subject to\n COPPA. You may not specify a default value for the\n childDirected field that does not accurately reflect\n whether your use of Amazon Lex is related to a website, program, or other\n application that is directed or targeted, in whole or in part, to children\n under age 13 and subject to COPPA.

                            \n

                            If your use of Amazon Lex relates to a website, program, or other\n application that is directed in whole or in part, to children under age\n 13, you must obtain any required verifiable parental consent under COPPA.\n For information regarding the use of Amazon Lex in connection with websites,\n programs, or other applications that are directed or targeted, in whole or\n in part, to children under age 13, see the Amazon Lex FAQ.\n

                            ", "smithy.api#required": {} } }, "detectSentiment": { "target": "com.amazonaws.lexmodelbuildingservice#Boolean", "traits": { - "smithy.api#documentation": "

                            When set to true user utterances are sent to Amazon Comprehend for sentiment\n analysis. If you don't specify detectSentiment, the default is\n false.

                            " + "smithy.api#documentation": "

                            When set to true user utterances are sent to Amazon\n Comprehend for sentiment analysis. If you don't specify\n detectSentiment, the default is false.

                            " } }, "createVersion": { "target": "com.amazonaws.lexmodelbuildingservice#Boolean", "traits": { - "smithy.api#documentation": "

                            When set to true a new numbered version of the bot is created. This is the\n same as calling the CreateBotVersion operation. If you don't specify\n createVersion, the default is false.

                            " + "smithy.api#documentation": "

                            When set to true a new numbered version of the bot is\n created. This is the same as calling the CreateBotVersion\n operation. If you don't specify createVersion, the default is\n false.

                            " } }, "tags": { "target": "com.amazonaws.lexmodelbuildingservice#TagList", "traits": { - "smithy.api#documentation": "

                            A list of tags to add to the bot. You can only add tags when you create a bot, you can't\n use the PutBot operation to update the tags on a bot. To update tags, use the\n TagResource operation.

                            " + "smithy.api#documentation": "

                            A list of tags to add to the bot. You can only add tags when you\n create a bot, you can't use the PutBot operation to update\n the tags on a bot. To update tags, use the TagResource\n operation.

                            " } } } @@ -4523,49 +4655,49 @@ "intents": { "target": "com.amazonaws.lexmodelbuildingservice#IntentList", "traits": { - "smithy.api#documentation": "

                            An array of Intent objects. For more information, see PutBot.

                            " + "smithy.api#documentation": "

                            An array of Intent objects. For more information, see\n PutBot.

                            " } }, "enableModelImprovements": { "target": "com.amazonaws.lexmodelbuildingservice#Boolean", "traits": { - "smithy.api#documentation": "

                            Indicates whether the bot uses accuracy improvements. true \n indicates that the bot is using the improvements, otherwise, false.

                            " + "smithy.api#documentation": "

                            Indicates whether the bot uses accuracy improvements.\n true indicates that the bot is using the improvements,\n otherwise, false.

                            " } }, "nluIntentConfidenceThreshold": { "target": "com.amazonaws.lexmodelbuildingservice#ConfidenceThreshold", "traits": { - "smithy.api#documentation": "

                            The score that determines where Amazon Lex inserts the AMAZON.FallbackIntent,\n AMAZON.KendraSearchIntent, or both when returning alternative intents in a\n PostContent or PostText response.\n AMAZON.FallbackIntent is inserted if the confidence score for all intents is\n below this value. AMAZON.KendraSearchIntent is only inserted if it is configured\n for the bot.

                            " + "smithy.api#documentation": "

                            The score that determines where Amazon Lex inserts the\n AMAZON.FallbackIntent,\n AMAZON.KendraSearchIntent, or both when returning\n alternative intents in a PostContent or\n PostText response.\n AMAZON.FallbackIntent is inserted if the confidence score\n for all intents is below this value.\n AMAZON.KendraSearchIntent is only inserted if it is\n configured for the bot.

                            " } }, "clarificationPrompt": { "target": "com.amazonaws.lexmodelbuildingservice#Prompt", "traits": { - "smithy.api#documentation": "

                            The prompts that Amazon Lex uses when it doesn't understand the user's intent. For more\n information, see PutBot.

                            " + "smithy.api#documentation": "

                            The prompts that Amazon Lex uses when it doesn't understand the user's\n intent. For more information, see PutBot.

                            " } }, "abortStatement": { "target": "com.amazonaws.lexmodelbuildingservice#Statement", "traits": { - "smithy.api#documentation": "

                            The message that Amazon Lex uses to cancel a conversation. For more information, see PutBot.

                            " + "smithy.api#documentation": "

                            The message that Amazon Lex uses to cancel a conversation. For more\n information, see PutBot.

                            " } }, "status": { "target": "com.amazonaws.lexmodelbuildingservice#Status", "traits": { - "smithy.api#documentation": "

                            When you send a request to create a bot with processBehavior set to\n BUILD, Amazon Lex sets the status response element to\n BUILDING.

                            \n

                            In the READY_BASIC_TESTING state you can test the bot with user inputs\n that exactly match the utterances configured for the bot's intents and values in the slot\n types.

                            \n

                            If Amazon Lex can't build the bot, Amazon Lex sets status to FAILED.\n Amazon Lex returns the reason for the failure in the failureReason response element.

                            \n

                            When you set processBehavior to SAVE, Amazon Lex sets the status\n code to NOT BUILT.

                            \n

                            When the bot is in the READY state you can test and publish the\n bot.

                            " + "smithy.api#documentation": "

                            When you send a request to create a bot with\n processBehavior set to BUILD, Amazon Lex sets the\n status response element to BUILDING.

                            \n

                            In the READY_BASIC_TESTING state you can test the bot\n with user inputs that exactly match the utterances configured for the\n bot's intents and values in the slot types.

                            \n

                            If Amazon Lex can't build the bot, Amazon Lex sets status to\n FAILED. Amazon Lex returns the reason for the failure in the\n failureReason response element.

                            \n

                            When you set processBehavior to SAVE,\n Amazon Lex sets the status code to NOT BUILT.

                            \n

                            When the bot is in the READY state you can test and\n publish the bot.

                            " } }, "failureReason": { "target": "com.amazonaws.lexmodelbuildingservice#String", "traits": { - "smithy.api#documentation": "

                            If status is FAILED, Amazon Lex provides the reason that it failed\n to build the bot.

                            " + "smithy.api#documentation": "

                            If status is FAILED, Amazon Lex provides the\n reason that it failed to build the bot.

                            " } }, "lastUpdatedDate": { "target": "com.amazonaws.lexmodelbuildingservice#Timestamp", "traits": { - "smithy.api#documentation": "

                            The date that the bot was updated. When you create a resource, the creation date and\n last updated date are the same.

                            " + "smithy.api#documentation": "

                            The date that the bot was updated. When you create a resource, the\n creation date and last updated date are the same.

                            " } }, "createdDate": { @@ -4577,13 +4709,13 @@ "idleSessionTTLInSeconds": { "target": "com.amazonaws.lexmodelbuildingservice#SessionTTL", "traits": { - "smithy.api#documentation": "

                            The maximum length of time that Amazon Lex retains the data gathered in a conversation. For\n more information, see PutBot.

                            " + "smithy.api#documentation": "

                            The maximum length of time that Amazon Lex retains the data gathered in\n a conversation. For more information, see PutBot.

                            " } }, "voiceId": { "target": "com.amazonaws.lexmodelbuildingservice#String", "traits": { - "smithy.api#documentation": "

                            The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the user. For more\n information, see PutBot.

                            " + "smithy.api#documentation": "

                            The Amazon Polly voice ID that Amazon Lex uses for voice interaction\n with the user. For more information, see PutBot.

                            " } }, "checksum": { @@ -4595,7 +4727,7 @@ "version": { "target": "com.amazonaws.lexmodelbuildingservice#Version", "traits": { - "smithy.api#documentation": "

                            The version of the bot. For a new bot, the version is always\n $LATEST.

                            " + "smithy.api#documentation": "

                            The version of the bot. For a new bot, the version is always\n $LATEST.

                            " } }, "locale": { @@ -4607,19 +4739,19 @@ "childDirected": { "target": "com.amazonaws.lexmodelbuildingservice#Boolean", "traits": { - "smithy.api#documentation": "

                            For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify\n whether your use of Amazon Lex is related to a website, program, or other application that is\n directed or targeted, in whole or in part, to children under age 13 and subject to the\n Children's Online Privacy Protection Act (COPPA) by specifying true or\n false in the childDirected field. By specifying true\n in the childDirected field, you confirm that your use of Amazon Lex is related to a website, program, or other application that is\n directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. By\n specifying false in the childDirected field, you confirm that your\n use of Amazon Lex is not related to a website, program, or other\n application that is directed or targeted, in whole or in part, to children under age 13 and\n subject to COPPA. You may not specify a default value for the childDirected field\n that does not accurately reflect whether your use of Amazon Lex is related to a website, program,\n or other application that is directed or targeted, in whole or in part, to children under age\n 13 and subject to COPPA.

                            \n

                            If your use of Amazon Lex relates to a website, program, or other application that is\n directed in whole or in part, to children under age 13, you must obtain any required\n verifiable parental consent under COPPA. For information regarding the use of Amazon Lex in\n connection with websites, programs, or other applications that are directed or targeted, in\n whole or in part, to children under age 13, see the Amazon Lex FAQ.\n

                            " + "smithy.api#documentation": "

                            For each Amazon Lex bot created with the Amazon Lex Model Building Service,\n you must specify whether your use of Amazon Lex is related to a website,\n program, or other application that is directed or targeted, in whole or in\n part, to children under age 13 and subject to the Children's Online\n Privacy Protection Act (COPPA) by specifying true or\n false in the childDirected field. By\n specifying true in the childDirected field, you\n confirm that your use of Amazon Lex is related\n to a website, program, or other application that is directed or targeted,\n in whole or in part, to children under age 13 and subject to COPPA. By\n specifying false in the childDirected field, you\n confirm that your use of Amazon Lex is not\n related to a website, program, or other application that is directed or\n targeted, in whole or in part, to children under age 13 and subject to\n COPPA. You may not specify a default value for the\n childDirected field that does not accurately reflect\n whether your use of Amazon Lex is related to a website, program, or other\n application that is directed or targeted, in whole or in part, to children\n under age 13 and subject to COPPA.

                            \n

                            If your use of Amazon Lex relates to a website, program, or other\n application that is directed in whole or in part, to children under age\n 13, you must obtain any required verifiable parental consent under COPPA.\n For information regarding the use of Amazon Lex in connection with websites,\n programs, or other applications that are directed or targeted, in whole or\n in part, to children under age 13, see the Amazon Lex FAQ.\n

                            " } }, "createVersion": { "target": "com.amazonaws.lexmodelbuildingservice#Boolean", "traits": { - "smithy.api#documentation": "

                            \n True if a new version of the bot was created. If the\n createVersion field was not specified in the request, the\n createVersion field is set to false in the response.

                            " + "smithy.api#documentation": "

                            \n True if a new version of the bot was created. If the\n createVersion field was not specified in the request, the\n createVersion field is set to false in the\n response.

                            " } }, "detectSentiment": { "target": "com.amazonaws.lexmodelbuildingservice#Boolean", "traits": { - "smithy.api#documentation": "

                            \n true if the bot is configured to send user utterances to Amazon Comprehend\n for sentiment analysis. If the detectSentiment field was not specified in the\n request, the detectSentiment field is false in the response.

                            " + "smithy.api#documentation": "

                            \n true if the bot is configured to send user utterances to\n Amazon Comprehend for sentiment analysis. If the\n detectSentiment field was not specified in the request, the\n detectSentiment field is false in the\n response.

                            " } }, "tags": { @@ -4656,7 +4788,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Creates an intent or replaces an existing intent.

                            \n

                            To define the interaction between the user and your bot, you use one or more intents.\n For a pizza ordering bot, for example, you would create an OrderPizza intent.

                            \n

                            To create an intent or replace an existing intent, you must provide the\n following:

                            \n
                              \n
                            • \n

                              Intent name. For example, OrderPizza.

                              \n
                            • \n
                            • \n

                              Sample utterances. For example, \"Can I order a pizza, please.\" and \"I want to order\n a pizza.\"

                              \n
                            • \n
                            • \n

                              Information to be gathered. You specify slot types for the information that your\n bot will request from the user. You can specify standard slot types, such as a date or a\n time, or custom slot types such as the size and crust of a pizza.

                              \n
                            • \n
                            • \n

                              How the intent will be fulfilled. You can provide a Lambda function or configure\n the intent to return the intent information to the client application. If you use a Lambda\n function, when all of the intent information is available, Amazon Lex invokes your Lambda\n function. If you configure your intent to return the intent information to the client\n application.

                              \n
                            • \n
                            \n

                            You can specify other optional information in the request, such as:

                            \n\n
                              \n
                            • \n

                              A confirmation prompt to ask the user to confirm an intent. For example, \"Shall I\n order your pizza?\"

                              \n
                            • \n
                            • \n

                              A conclusion statement to send to the user after the intent has been fulfilled. For\n example, \"I placed your pizza order.\"

                              \n
                            • \n
                            • \n

                              A follow-up prompt that asks the user for additional activity. For example, asking\n \"Do you want to order a drink with your pizza?\"

                              \n
                            • \n
                            \n

                            If you specify an existing intent name to update the intent, Amazon Lex replaces the values\n in the $LATEST version of the intent with the values in the request. Amazon Lex\n removes fields that you don't provide in the request. If you don't specify the required\n fields, Amazon Lex throws an exception. When you update the $LATEST version of an\n intent, the status field of any bot that uses the $LATEST version of\n the intent is set to NOT_BUILT.

                            \n

                            For more information, see how-it-works.

                            \n

                            This operation requires permissions for the lex:PutIntent\n action.

                            ", + "smithy.api#documentation": "

                            Creates an intent or replaces an existing intent.

                            \n

                            To define the interaction between the user and your bot, you use\n one or more intents. For a pizza ordering bot, for example, you would\n create an OrderPizza intent.

                            \n

                            To create an intent or replace an existing intent, you must provide\n the following:

                            \n
                              \n
                            • \n

                              Intent name. For example, OrderPizza.

                              \n
                            • \n
                            • \n

                              Sample utterances. For example, \"Can I order a pizza, please.\"\n and \"I want to order a pizza.\"

                              \n
                            • \n
                            • \n

                              Information to be gathered. You specify slot types for the\n information that your bot will request from the user. You can specify\n standard slot types, such as a date or a time, or custom slot types\n such as the size and crust of a pizza.

                              \n
                            • \n
                            • \n

                              How the intent will be fulfilled. You can provide a Lambda\n function or configure the intent to return the intent information to\n the client application. If you use a Lambda function, when all of the\n intent information is available, Amazon Lex invokes your Lambda function.\n If you configure your intent to return the intent information to the\n client application.

                              \n
                            • \n
                            \n

                            You can specify other optional information in the request, such\n as:

                            \n\n
                              \n
                            • \n

                              A confirmation prompt to ask the user to confirm an intent. For\n example, \"Shall I order your pizza?\"

                              \n
                            • \n
                            • \n

                              A conclusion statement to send to the user after the intent has\n been fulfilled. For example, \"I placed your pizza order.\"

                              \n
                            • \n
                            • \n

                              A follow-up prompt that asks the user for additional activity.\n For example, asking \"Do you want to order a drink with your\n pizza?\"

                              \n
                            • \n
                            \n

                            If you specify an existing intent name to update the intent, Amazon Lex\n replaces the values in the $LATEST version of the intent with\n the values in the request. Amazon Lex removes fields that you don't provide in\n the request. If you don't specify the required fields, Amazon Lex throws an\n exception. When you update the $LATEST version of an intent,\n the status field of any bot that uses the\n $LATEST version of the intent is set to\n NOT_BUILT.

                            \n

                            For more information, see how-it-works.

                            \n

                            This operation requires permissions for the\n lex:PutIntent action.

                            ", "smithy.api#http": { "method": "PUT", "uri": "/intents/{name}/versions/$LATEST", @@ -4670,7 +4802,7 @@ "name": { "target": "com.amazonaws.lexmodelbuildingservice#IntentName", "traits": { - "smithy.api#documentation": "

                            The name of the intent. The name is not case sensitive.

                            \n

                            The name can't match a built-in intent name, or a built-in intent name with \"AMAZON.\"\n removed. For example, because there is a built-in intent called\n AMAZON.HelpIntent, you can't create a custom intent called\n HelpIntent.

                            \n

                            For a list of built-in intents, see Standard Built-in Intents in the Alexa Skills Kit.

                            ", + "smithy.api#documentation": "

                            The name of the intent. The name is not case\n sensitive.

                            \n

                            The name can't match a built-in intent name, or a built-in intent\n name with \"AMAZON.\" removed. For example, because there is a built-in\n intent called AMAZON.HelpIntent, you can't create a custom\n intent called HelpIntent.

                            \n

                            For a list of built-in intents, see Standard Built-in Intents in the Alexa Skills\n Kit.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4684,73 +4816,85 @@ "slots": { "target": "com.amazonaws.lexmodelbuildingservice#SlotList", "traits": { - "smithy.api#documentation": "

                            An array of intent slots. At runtime, Amazon Lex elicits required slot values from the user\n using prompts defined in the slots. For more information, see how-it-works.\n

                            " + "smithy.api#documentation": "

                            An array of intent slots. At runtime, Amazon Lex elicits required slot\n values from the user using prompts defined in the slots. For more\n information, see how-it-works.

                            " } }, "sampleUtterances": { "target": "com.amazonaws.lexmodelbuildingservice#IntentUtteranceList", "traits": { - "smithy.api#documentation": "

                            An array of utterances (strings) that a user might say to signal the intent. For\n example, \"I want {PizzaSize} pizza\", \"Order {Quantity} {PizzaSize} pizzas\".

                            \n\n

                            In each utterance, a slot name is enclosed in curly braces.

                            " + "smithy.api#documentation": "

                            An array of utterances (strings) that a user might say to signal\n the intent. For example, \"I want {PizzaSize} pizza\", \"Order {Quantity}\n {PizzaSize} pizzas\".

                            \n\n

                            In each utterance, a slot name is enclosed in curly braces.\n

                            " } }, "confirmationPrompt": { "target": "com.amazonaws.lexmodelbuildingservice#Prompt", "traits": { - "smithy.api#documentation": "

                            Prompts the user to confirm the intent. This question should have a yes or no\n answer.

                            \n

                            Amazon Lex uses this prompt to ensure that the user acknowledges that the intent is ready\n for fulfillment. For example, with the OrderPizza intent, you might want to\n confirm that the order is correct before placing it. For other intents, such as intents that\n simply respond to user questions, you might not need to ask the user for confirmation before\n providing the information.

                            \n \n

                            You you must provide both the rejectionStatement and the\n confirmationPrompt, or neither.

                            \n
                            " + "smithy.api#documentation": "

                            Prompts the user to confirm the intent. This question should have a\n yes or no answer.

                            \n

                            Amazon Lex uses this prompt to ensure that the user acknowledges that\n the intent is ready for fulfillment. For example, with the\n OrderPizza intent, you might want to confirm that the order\n is correct before placing it. For other intents, such as intents that\n simply respond to user questions, you might not need to ask the user for\n confirmation before providing the information.

                            \n \n

                            You you must provide both the rejectionStatement and\n the confirmationPrompt, or neither.

                            \n
                            " } }, "rejectionStatement": { "target": "com.amazonaws.lexmodelbuildingservice#Statement", "traits": { - "smithy.api#documentation": "

                            When the user answers \"no\" to the question defined in confirmationPrompt,\n Amazon Lex responds with this statement to acknowledge that the intent was canceled.

                            \n \n

                            You must provide both the rejectionStatement and the\n confirmationPrompt, or neither.

                            \n
                            " + "smithy.api#documentation": "

                            When the user answers \"no\" to the question defined in\n confirmationPrompt, Amazon Lex responds with this statement to\n acknowledge that the intent was canceled.

                            \n \n

                            You must provide both the rejectionStatement and the\n confirmationPrompt, or neither.

                            \n
                            " } }, "followUpPrompt": { "target": "com.amazonaws.lexmodelbuildingservice#FollowUpPrompt", "traits": { - "smithy.api#documentation": "

                            Amazon Lex uses this prompt to solicit additional activity after fulfilling an intent. For\n example, after the OrderPizza intent is fulfilled, you might prompt the user to\n order a drink.

                            \n

                            The action that Amazon Lex takes depends on the user's response, as follows:

                            \n
                              \n
                            • \n

                              If the user says \"Yes\" it responds with the clarification prompt that is configured\n for the bot.

                              \n
                            • \n
                            • \n

                              if the user says \"Yes\" and continues with an utterance that triggers an intent it\n starts a conversation for the intent.

                              \n
                            • \n
                            • \n

                              If the user says \"No\" it responds with the rejection statement configured for the\n the follow-up prompt.

                              \n
                            • \n
                            • \n

                              If it doesn't recognize the utterance it repeats the follow-up prompt\n again.

                              \n
                            • \n
                            \n\n

                            The followUpPrompt field and the conclusionStatement field\n are mutually exclusive. You can specify only one.

                            " + "smithy.api#documentation": "

                            Amazon Lex uses this prompt to solicit additional activity after\n fulfilling an intent. For example, after the OrderPizza\n intent is fulfilled, you might prompt the user to order a drink.

                            \n

                            The action that Amazon Lex takes depends on the user's response, as\n follows:

                            \n
                              \n
                            • \n

                              If the user says \"Yes\" it responds with the clarification\n prompt that is configured for the bot.

                              \n
                            • \n
                            • \n

                              if the user says \"Yes\" and continues with an utterance that\n triggers an intent it starts a conversation for the intent.

                              \n
                            • \n
                            • \n

                              If the user says \"No\" it responds with the rejection statement\n configured for the the follow-up prompt.

                              \n
                            • \n
                            • \n

                              If it doesn't recognize the utterance it repeats the follow-up\n prompt again.

                              \n
                            • \n
                            \n\n

                            The followUpPrompt field and the\n conclusionStatement field are mutually exclusive. You can\n specify only one.

                            " } }, "conclusionStatement": { "target": "com.amazonaws.lexmodelbuildingservice#Statement", "traits": { - "smithy.api#documentation": "

                            The statement that you want Amazon Lex to convey to the user after the intent is\n successfully fulfilled by the Lambda function.

                            \n

                            This element is relevant only if you provide a Lambda function in the\n fulfillmentActivity. If you return the intent to the client application, you\n can't specify this element.

                            \n \n

                            The followUpPrompt and conclusionStatement are mutually\n exclusive. You can specify only one.

                            \n
                            " + "smithy.api#documentation": "

                            The statement that you want Amazon Lex to convey to the user after the\n intent is successfully fulfilled by the Lambda function.

                            \n

                            This element is relevant only if you provide a Lambda function in\n the fulfillmentActivity. If you return the intent to the\n client application, you can't specify this element.

                            \n \n

                            The followUpPrompt and\n conclusionStatement are mutually exclusive. You can\n specify only one.

                            \n
                            " } }, "dialogCodeHook": { "target": "com.amazonaws.lexmodelbuildingservice#CodeHook", "traits": { - "smithy.api#documentation": "

                            Specifies a Lambda function to invoke for each user input. You can invoke this Lambda\n function to personalize user interaction.

                            \n

                            For example, suppose your bot determines that the user is John. Your Lambda function\n might retrieve John's information from a backend database and prepopulate some of the values.\n For example, if you find that John is gluten intolerant, you might set the corresponding\n intent slot, GlutenIntolerant, to true. You might find John's phone number and\n set the corresponding session attribute.

                            " + "smithy.api#documentation": "

                            Specifies a Lambda function to invoke for each user input. You can\n invoke this Lambda function to personalize user interaction.

                            \n

                            For example, suppose your bot determines that the user is John.\n Your Lambda function might retrieve John's information from a backend\n database and prepopulate some of the values. For example, if you find that\n John is gluten intolerant, you might set the corresponding intent slot,\n GlutenIntolerant, to true. You might find John's phone\n number and set the corresponding session attribute.

                            " } }, "fulfillmentActivity": { "target": "com.amazonaws.lexmodelbuildingservice#FulfillmentActivity", "traits": { - "smithy.api#documentation": "

                            Required. Describes how the intent is fulfilled. For example, after a user provides all\n of the information for a pizza order, fulfillmentActivity defines how the bot\n places an order with a local pizza store.

                            \n

                            You might configure Amazon Lex to return all of the intent information to the client\n application, or direct it to invoke a Lambda function that can process the intent (for\n example, place an order with a pizzeria).

                            " + "smithy.api#documentation": "

                            Required. Describes how the intent is fulfilled. For example, after\n a user provides all of the information for a pizza order,\n fulfillmentActivity defines how the bot places an order\n with a local pizza store.

                            \n

                            You might configure Amazon Lex to return all of the intent information\n to the client application, or direct it to invoke a Lambda function that\n can process the intent (for example, place an order with a pizzeria).\n

                            " } }, "parentIntentSignature": { "target": "com.amazonaws.lexmodelbuildingservice#BuiltinIntentSignature", "traits": { - "smithy.api#documentation": "

                            A unique identifier for the built-in intent to base this intent on. To find the\n signature for an intent, see Standard Built-in Intents in the Alexa Skills Kit.

                            " + "smithy.api#documentation": "

                            A unique identifier for the built-in intent to base this intent on.\n To find the signature for an intent, see Standard Built-in Intents in the Alexa Skills\n Kit.

                            " } }, "checksum": { "target": "com.amazonaws.lexmodelbuildingservice#String", "traits": { - "smithy.api#documentation": "

                            Identifies a specific revision of the $LATEST version.

                            \n

                            When you create a new intent, leave the checksum field blank. If you\n specify a checksum you get a BadRequestException exception.

                            \n

                            When you want to update a intent, set the checksum field to the checksum\n of the most recent revision of the $LATEST version. If you don't specify the\n checksum field, or if the checksum does not match the $LATEST\n version, you get a PreconditionFailedException exception.

                            " + "smithy.api#documentation": "

                            Identifies a specific revision of the $LATEST\n version.

                            \n

                            When you create a new intent, leave the checksum field\n blank. If you specify a checksum you get a\n BadRequestException exception.

                            \n

                            When you want to update a intent, set the checksum\n field to the checksum of the most recent revision of the\n $LATEST version. If you don't specify the \n checksum field, or if the checksum does not match the\n $LATEST version, you get a\n PreconditionFailedException exception.

                            " } }, "createVersion": { "target": "com.amazonaws.lexmodelbuildingservice#Boolean", "traits": { - "smithy.api#documentation": "

                            When set to true a new numbered version of the intent is created. This is\n the same as calling the CreateIntentVersion operation. If you do not specify\n createVersion, the default is false.

                            " + "smithy.api#documentation": "

                            When set to true a new numbered version of the intent\n is created. This is the same as calling the\n CreateIntentVersion operation. If you do not specify\n createVersion, the default is false.

                            " } }, "kendraConfiguration": { "target": "com.amazonaws.lexmodelbuildingservice#KendraConfiguration", "traits": { - "smithy.api#documentation": "

                            Configuration information required to use the AMAZON.KendraSearchIntent\n intent to connect to an Amazon Kendra index. For more information, see \n AMAZON.KendraSearchIntent.

                            " + "smithy.api#documentation": "

                            Configuration information required to use the\n AMAZON.KendraSearchIntent intent to connect to an Amazon\n Kendra index. For more information, see \n AMAZON.KendraSearchIntent.

                            " + } + }, + "inputContexts": { + "target": "com.amazonaws.lexmodelbuildingservice#InputContextList", + "traits": { + "smithy.api#documentation": "

                            An array of InputContext objects that lists the contexts\n that must be active for Amazon Lex to choose the intent in a conversation with\n the user.

                            " + } + }, + "outputContexts": { + "target": "com.amazonaws.lexmodelbuildingservice#OutputContextList", + "traits": { + "smithy.api#documentation": "

                            An array of OutputContext objects that lists the contexts\n that the intent activates when the intent is fulfilled.

                            " } } } @@ -4773,61 +4917,61 @@ "slots": { "target": "com.amazonaws.lexmodelbuildingservice#SlotList", "traits": { - "smithy.api#documentation": "

                            An array of intent slots that are configured for the intent.

                            " + "smithy.api#documentation": "

                            An array of intent slots that are configured for the\n intent.

                            " } }, "sampleUtterances": { "target": "com.amazonaws.lexmodelbuildingservice#IntentUtteranceList", "traits": { - "smithy.api#documentation": "

                            An array of sample utterances that are configured for the intent.

                            " + "smithy.api#documentation": "

                            An array of sample utterances that are configured for the intent.\n

                            " } }, "confirmationPrompt": { "target": "com.amazonaws.lexmodelbuildingservice#Prompt", "traits": { - "smithy.api#documentation": "

                            If defined in the intent, Amazon Lex prompts the user to confirm the intent before\n fulfilling it.

                            " + "smithy.api#documentation": "

                            If defined in the intent, Amazon Lex prompts the user to confirm the\n intent before fulfilling it.

                            " } }, "rejectionStatement": { "target": "com.amazonaws.lexmodelbuildingservice#Statement", "traits": { - "smithy.api#documentation": "

                            If the user answers \"no\" to the question defined in confirmationPrompt\n Amazon Lex responds with this statement to acknowledge that the intent was canceled.

                            " + "smithy.api#documentation": "

                            If the user answers \"no\" to the question defined in\n confirmationPrompt Amazon Lex responds with this statement to\n acknowledge that the intent was canceled.

                            " } }, "followUpPrompt": { "target": "com.amazonaws.lexmodelbuildingservice#FollowUpPrompt", "traits": { - "smithy.api#documentation": "

                            If defined in the intent, Amazon Lex uses this prompt to solicit additional user activity\n after the intent is fulfilled.

                            " + "smithy.api#documentation": "

                            If defined in the intent, Amazon Lex uses this prompt to solicit\n additional user activity after the intent is fulfilled.

                            " } }, "conclusionStatement": { "target": "com.amazonaws.lexmodelbuildingservice#Statement", "traits": { - "smithy.api#documentation": "

                            After the Lambda function specified in thefulfillmentActivityintent\n fulfills the intent, Amazon Lex conveys this statement to the user.

                            " + "smithy.api#documentation": "

                            After the Lambda function specified in\n thefulfillmentActivityintent fulfills the intent, Amazon Lex\n conveys this statement to the user.

                            " } }, "dialogCodeHook": { "target": "com.amazonaws.lexmodelbuildingservice#CodeHook", "traits": { - "smithy.api#documentation": "

                            If defined in the intent, Amazon Lex invokes this Lambda function for each user\n input.

                            " + "smithy.api#documentation": "

                            If defined in the intent, Amazon Lex invokes this Lambda function for\n each user input.

                            " } }, "fulfillmentActivity": { "target": "com.amazonaws.lexmodelbuildingservice#FulfillmentActivity", "traits": { - "smithy.api#documentation": "

                            If defined in the intent, Amazon Lex invokes this Lambda function to fulfill the intent\n after the user provides all of the information required by the intent.

                            " + "smithy.api#documentation": "

                            If defined in the intent, Amazon Lex invokes this Lambda function to\n fulfill the intent after the user provides all of the information required\n by the intent.

                            " } }, "parentIntentSignature": { "target": "com.amazonaws.lexmodelbuildingservice#BuiltinIntentSignature", "traits": { - "smithy.api#documentation": "

                            A unique identifier for the built-in intent that this intent is based on.

                            " + "smithy.api#documentation": "

                            A unique identifier for the built-in intent that this intent is\n based on.

                            " } }, "lastUpdatedDate": { "target": "com.amazonaws.lexmodelbuildingservice#Timestamp", "traits": { - "smithy.api#documentation": "

                            The date that the intent was updated. When you create a resource, the creation date and\n last update dates are the same.

                            " + "smithy.api#documentation": "

                            The date that the intent was updated. When you create a resource,\n the creation date and last update dates are the same.

                            " } }, "createdDate": { @@ -4839,25 +4983,37 @@ "version": { "target": "com.amazonaws.lexmodelbuildingservice#Version", "traits": { - "smithy.api#documentation": "

                            The version of the intent. For a new intent, the version is always\n $LATEST.

                            " + "smithy.api#documentation": "

                            The version of the intent. For a new intent, the version is always\n $LATEST.

                            " } }, "checksum": { "target": "com.amazonaws.lexmodelbuildingservice#String", "traits": { - "smithy.api#documentation": "

                            Checksum of the $LATESTversion of the intent created or updated.

                            " + "smithy.api#documentation": "

                            Checksum of the $LATESTversion of the intent created\n or updated.

                            " } }, "createVersion": { "target": "com.amazonaws.lexmodelbuildingservice#Boolean", "traits": { - "smithy.api#documentation": "

                            \n True if a new version of the intent was created. If the\n createVersion field was not specified in the request, the\n createVersion field is set to false in the response.

                            " + "smithy.api#documentation": "

                            \n True if a new version of the intent was created. If\n the createVersion field was not specified in the request, the\n createVersion field is set to false in the\n response.

                            " } }, "kendraConfiguration": { "target": "com.amazonaws.lexmodelbuildingservice#KendraConfiguration", "traits": { - "smithy.api#documentation": "

                            Configuration information, if any, required to connect to an Amazon Kendra index and use\n the AMAZON.KendraSearchIntent intent.

                            " + "smithy.api#documentation": "

                            Configuration information, if any, required to connect to an Amazon\n Kendra index and use the AMAZON.KendraSearchIntent\n intent.

                            " + } + }, + "inputContexts": { + "target": "com.amazonaws.lexmodelbuildingservice#InputContextList", + "traits": { + "smithy.api#documentation": "

                            An array of InputContext objects that lists the contexts\n that must be active for Amazon Lex to choose the intent in a conversation with\n the user.

                            " + } + }, + "outputContexts": { + "target": "com.amazonaws.lexmodelbuildingservice#OutputContextList", + "traits": { + "smithy.api#documentation": "

                            An array of OutputContext objects that lists the contexts\n that the intent activates when the intent is fulfilled.

                            " } } } @@ -4888,7 +5044,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Creates a custom slot type or replaces an existing custom slot type.

                            \n

                            To create a custom slot type, specify a name for the slot type and a set of enumeration\n values, which are the values that a slot of this type can assume. For more information, see\n how-it-works.

                            \n

                            If you specify the name of an existing slot type, the fields in the request replace the\n existing values in the $LATEST version of the slot type. Amazon Lex removes the fields\n that you don't provide in the request. If you don't specify required fields, Amazon Lex throws an\n exception. When you update the $LATEST version of a slot type, if a bot uses the\n $LATEST version of an intent that contains the slot type, the bot's\n status field is set to NOT_BUILT.

                            \n\n

                            This operation requires permissions for the lex:PutSlotType\n action.

                            ", + "smithy.api#documentation": "

                            Creates a custom slot type or replaces an existing custom slot\n type.

                            \n

                            To create a custom slot type, specify a name for the slot type and\n a set of enumeration values, which are the values that a slot of this type\n can assume. For more information, see how-it-works.

                            \n

                            If you specify the name of an existing slot type, the fields in the\n request replace the existing values in the $LATEST version of\n the slot type. Amazon Lex removes the fields that you don't provide in the\n request. If you don't specify required fields, Amazon Lex throws an exception.\n When you update the $LATEST version of a slot type, if a bot\n uses the $LATEST version of an intent that contains the slot\n type, the bot's status field is set to\n NOT_BUILT.

                            \n\n

                            This operation requires permissions for the\n lex:PutSlotType action.

                            ", "smithy.api#http": { "method": "PUT", "uri": "/slottypes/{name}/versions/$LATEST", @@ -4902,7 +5058,7 @@ "name": { "target": "com.amazonaws.lexmodelbuildingservice#SlotTypeName", "traits": { - "smithy.api#documentation": "

                            The name of the slot type. The name is not case sensitive.

                            \n

                            The name can't match a built-in slot type name, or a built-in slot type name with\n \"AMAZON.\" removed. For example, because there is a built-in slot type called\n AMAZON.DATE, you can't create a custom slot type called\n DATE.

                            \n

                            For a list of built-in slot types, see Slot Type Reference in the Alexa Skills Kit.

                            ", + "smithy.api#documentation": "

                            The name of the slot type. The name is not\n case sensitive.

                            \n

                            The name can't match a built-in slot type name, or a built-in slot\n type name with \"AMAZON.\" removed. For example, because there is a built-in\n slot type called AMAZON.DATE, you can't create a custom slot\n type called DATE.

                            \n

                            For a list of built-in slot types, see Slot Type Reference in the Alexa Skills\n Kit.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4916,37 +5072,37 @@ "enumerationValues": { "target": "com.amazonaws.lexmodelbuildingservice#EnumerationValues", "traits": { - "smithy.api#documentation": "

                            A list of EnumerationValue objects that defines the values that the slot\n type can take. Each value can have a list of synonyms, which are additional\n values that help train the machine learning model about the values that it resolves for a\n slot.

                            \n

                            A regular expression slot type doesn't require enumeration values. All other slot types\n require a list of enumeration values.

                            \n

                            When Amazon Lex resolves a slot value, it generates a resolution list that contains up to\n five possible values for the slot. If you are using a Lambda function, this resolution list is\n passed to the function. If you are not using a Lambda function you can choose to return the\n value that the user entered or the first value in the resolution list as the slot value. The\n valueSelectionStrategy field indicates the option to use.

                            " + "smithy.api#documentation": "

                            A list of EnumerationValue objects that defines the\n values that the slot type can take. Each value can have a list of\n synonyms, which are additional values that help train the\n machine learning model about the values that it resolves for a slot.

                            \n

                            A regular expression slot type doesn't require enumeration values.\n All other slot types require a list of enumeration values.

                            \n

                            When Amazon Lex resolves a slot value, it generates a resolution list\n that contains up to five possible values for the slot. If you are using a\n Lambda function, this resolution list is passed to the function. If you\n are not using a Lambda function you can choose to return the value that\n the user entered or the first value in the resolution list as the slot\n value. The valueSelectionStrategy field indicates the option\n to use.

                            " } }, "checksum": { "target": "com.amazonaws.lexmodelbuildingservice#String", "traits": { - "smithy.api#documentation": "

                            Identifies a specific revision of the $LATEST version.

                            \n

                            When you create a new slot type, leave the checksum field blank. If you\n specify a checksum you get a BadRequestException exception.

                            \n

                            When you want to update a slot type, set the checksum field to the\n checksum of the most recent revision of the $LATEST version. If you don't specify\n the checksum field, or if the checksum does not match the $LATEST\n version, you get a PreconditionFailedException exception.

                            " + "smithy.api#documentation": "

                            Identifies a specific revision of the $LATEST\n version.

                            \n

                            When you create a new slot type, leave the checksum\n field blank. If you specify a checksum you get a\n BadRequestException exception.

                            \n

                            When you want to update a slot type, set the checksum\n field to the checksum of the most recent revision of the\n $LATEST version. If you don't specify the \n checksum field, or if the checksum does not match the\n $LATEST version, you get a\n PreconditionFailedException exception.

                            " } }, "valueSelectionStrategy": { "target": "com.amazonaws.lexmodelbuildingservice#SlotValueSelectionStrategy", "traits": { - "smithy.api#documentation": "

                            Determines the slot resolution strategy that Amazon Lex uses to return slot type values. The\n field can be set to one of the following values:

                            \n
                              \n
                            • \n

                              \n ORIGINAL_VALUE - Returns the value entered by the user, if the user\n value is similar to the slot value.

                              \n
                            • \n
                            • \n

                              \n TOP_RESOLUTION - If there is a resolution list for the slot, return\n the first value in the resolution list as the slot type value. If there is no resolution\n list, null is returned.

                              \n
                            • \n
                            \n

                            If you don't specify the valueSelectionStrategy, the default is\n ORIGINAL_VALUE.

                            " + "smithy.api#documentation": "

                            Determines the slot resolution strategy that Amazon Lex uses to return\n slot type values. The field can be set to one of the following\n values:

                            \n
                              \n
                            • \n

                              \n ORIGINAL_VALUE - Returns the value entered by the\n user, if the user value is similar to the slot value.

                              \n
                            • \n
                            • \n

                              \n TOP_RESOLUTION - If there is a resolution list for\n the slot, return the first value in the resolution list as the slot\n type value. If there is no resolution list, null is\n returned.

                              \n
                            • \n
                            \n

                            If you don't specify the valueSelectionStrategy, the\n default is ORIGINAL_VALUE.

                            " } }, "createVersion": { "target": "com.amazonaws.lexmodelbuildingservice#Boolean", "traits": { - "smithy.api#documentation": "

                            When set to true a new numbered version of the slot type is created. This\n is the same as calling the CreateSlotTypeVersion operation. If you do not specify\n createVersion, the default is false.

                            " + "smithy.api#documentation": "

                            When set to true a new numbered version of the slot\n type is created. This is the same as calling the\n CreateSlotTypeVersion operation. If you do not specify\n createVersion, the default is false.

                            " } }, "parentSlotTypeSignature": { "target": "com.amazonaws.lexmodelbuildingservice#CustomOrBuiltinSlotTypeName", "traits": { - "smithy.api#documentation": "

                            The built-in slot type used as the parent of the slot type. When you define a parent slot\n type, the new slot type has all of the same configuration as the parent.

                            \n

                            Only AMAZON.AlphaNumeric is supported.

                            " + "smithy.api#documentation": "

                            The built-in slot type used as the parent of the slot type. When you\n define a parent slot type, the new slot type has all of the same\n configuration as the parent.

                            \n

                            Only AMAZON.AlphaNumeric is supported.

                            " } }, "slotTypeConfigurations": { "target": "com.amazonaws.lexmodelbuildingservice#SlotTypeConfigurations", "traits": { - "smithy.api#documentation": "

                            Configuration information that extends the parent built-in slot type. The configuration is\n added to the settings for the parent slot type.

                            " + "smithy.api#documentation": "

                            Configuration information that extends the parent built-in slot type.\n The configuration is added to the settings for the parent slot\n type.

                            " } } } @@ -4969,13 +5125,13 @@ "enumerationValues": { "target": "com.amazonaws.lexmodelbuildingservice#EnumerationValues", "traits": { - "smithy.api#documentation": "

                            A list of EnumerationValue objects that defines the values that the slot\n type can take.

                            " + "smithy.api#documentation": "

                            A list of EnumerationValue objects that defines the\n values that the slot type can take.

                            " } }, "lastUpdatedDate": { "target": "com.amazonaws.lexmodelbuildingservice#Timestamp", "traits": { - "smithy.api#documentation": "

                            The date that the slot type was updated. When you create a slot type, the creation date\n and last update date are the same.

                            " + "smithy.api#documentation": "

                            The date that the slot type was updated. When you create a slot\n type, the creation date and last update date are the same.

                            " } }, "createdDate": { @@ -4987,25 +5143,25 @@ "version": { "target": "com.amazonaws.lexmodelbuildingservice#Version", "traits": { - "smithy.api#documentation": "

                            The version of the slot type. For a new slot type, the version is always\n $LATEST.

                            " + "smithy.api#documentation": "

                            The version of the slot type. For a new slot type, the version is\n always $LATEST.

                            " } }, "checksum": { "target": "com.amazonaws.lexmodelbuildingservice#String", "traits": { - "smithy.api#documentation": "

                            Checksum of the $LATEST version of the slot type.

                            " + "smithy.api#documentation": "

                            Checksum of the $LATEST version of the slot\n type.

                            " } }, "valueSelectionStrategy": { "target": "com.amazonaws.lexmodelbuildingservice#SlotValueSelectionStrategy", "traits": { - "smithy.api#documentation": "

                            The slot resolution strategy that Amazon Lex uses to determine the value of the slot. For\n more information, see PutSlotType.

                            " + "smithy.api#documentation": "

                            The slot resolution strategy that Amazon Lex uses to determine the value\n of the slot. For more information, see PutSlotType.

                            " } }, "createVersion": { "target": "com.amazonaws.lexmodelbuildingservice#Boolean", "traits": { - "smithy.api#documentation": "

                            \n True if a new version of the slot type was created. If the\n createVersion field was not specified in the request, the\n createVersion field is set to false in the response.

                            " + "smithy.api#documentation": "

                            \n True if a new version of the slot type was created. If\n the createVersion field was not specified in the request, the\n createVersion field is set to false in the\n response.

                            " } }, "parentSlotTypeSignature": { @@ -5017,7 +5173,7 @@ "slotTypeConfigurations": { "target": "com.amazonaws.lexmodelbuildingservice#SlotTypeConfigurations", "traits": { - "smithy.api#documentation": "

                            Configuration information that extends the parent built-in slot type.

                            " + "smithy.api#documentation": "

                            Configuration information that extends the parent built-in slot\n type.

                            " } } } @@ -5083,7 +5239,7 @@ } }, "traits": { - "smithy.api#documentation": "

                            The resource that you are attempting to delete is referred to by another resource. Use\n this information to remove references to the resource that you are trying to delete.

                            \n

                            The body of the exception contains a JSON object that describes the resource.

                            \n

                            \n { \"resourceType\": BOT | BOTALIAS | BOTCHANNEL | INTENT,\n

                            \n

                            \n \"resourceReference\": {\n

                            \n

                            \n \"name\": string, \"version\": string }\n }\n

                            ", + "smithy.api#documentation": "

                            The resource that you are attempting to delete is referred to by\n another resource. Use this information to remove references to the\n resource that you are trying to delete.

                            \n

                            The body of the exception contains a JSON object that describes the\n resource.

                            \n

                            \n { \"resourceType\": BOT | BOTALIAS | BOTCHANNEL |\n INTENT,\n

                            \n

                            \n \"resourceReference\": {\n

                            \n

                            \n \"name\": string, \"version\":\n string } }\n

                            ", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -5103,18 +5259,18 @@ "name": { "target": "com.amazonaws.lexmodelbuildingservice#Name", "traits": { - "smithy.api#documentation": "

                            The name of the resource that is using the resource that you are trying to\n delete.

                            " + "smithy.api#documentation": "

                            The name of the resource that is using the resource that you are\n trying to delete.

                            " } }, "version": { "target": "com.amazonaws.lexmodelbuildingservice#Version", "traits": { - "smithy.api#documentation": "

                            The version of the resource that is using the resource that you are trying to\n delete.

                            " + "smithy.api#documentation": "

                            The version of the resource that is using the resource that you are\n trying to delete.

                            " } } }, "traits": { - "smithy.api#documentation": "

                            Describes the resource that refers to the resource that you are attempting to delete.\n This object is returned as part of the ResourceInUseException exception.\n

                            " + "smithy.api#documentation": "

                            Describes the resource that refers to the resource that you are\n attempting to delete. This object is returned as part of the\n ResourceInUseException exception.

                            " } }, "com.amazonaws.lexmodelbuildingservice#ResourceType": { @@ -5181,7 +5337,7 @@ "slotType": { "target": "com.amazonaws.lexmodelbuildingservice#CustomOrBuiltinSlotTypeName", "traits": { - "smithy.api#documentation": "

                            The type of the slot, either a custom slot type that you defined or one of the built-in\n slot types.

                            " + "smithy.api#documentation": "

                            The type of the slot, either a custom slot type that you defined or\n one of the built-in slot types.

                            " } }, "slotTypeVersion": { @@ -5193,31 +5349,37 @@ "valueElicitationPrompt": { "target": "com.amazonaws.lexmodelbuildingservice#Prompt", "traits": { - "smithy.api#documentation": "

                            The prompt that Amazon Lex uses to elicit the slot value from the user.

                            " + "smithy.api#documentation": "

                            The prompt that Amazon Lex uses to elicit the slot value from the\n user.

                            " } }, "priority": { "target": "com.amazonaws.lexmodelbuildingservice#Priority", "traits": { - "smithy.api#documentation": "

                            Directs Amazon Lex the order in which to elicit this slot value from the user. For example,\n if the intent has two slots with priorities 1 and 2, AWS Amazon Lex first elicits a value for the\n slot with priority 1.

                            \n

                            If multiple slots share the same priority, the order in which Amazon Lex elicits values is\n arbitrary.

                            " + "smithy.api#documentation": "

                            Directs Amazon Lex the order in which to elicit this slot value from\n the user. For example, if the intent has two slots with priorities 1 and\n 2, AWS Amazon Lex first elicits a value for the slot with priority 1.

                            \n

                            If multiple slots share the same priority, the order in which Amazon Lex\n elicits values is arbitrary.

                            " } }, "sampleUtterances": { "target": "com.amazonaws.lexmodelbuildingservice#SlotUtteranceList", "traits": { - "smithy.api#documentation": "

                            If you know a specific pattern with which users might respond to an Amazon Lex request for\n a slot value, you can provide those utterances to improve accuracy. This is optional. In most\n cases, Amazon Lex is capable of understanding user utterances.

                            " + "smithy.api#documentation": "

                            If you know a specific pattern with which users might respond to\n an Amazon Lex request for a slot value, you can provide those utterances to\n improve accuracy. This is optional. In most cases, Amazon Lex is capable of\n understanding user utterances.

                            " } }, "responseCard": { "target": "com.amazonaws.lexmodelbuildingservice#ResponseCard", "traits": { - "smithy.api#documentation": "

                            A set of possible responses for the slot type used by text-based clients. A user\n chooses an option from the response card, instead of using text to reply.

                            " + "smithy.api#documentation": "

                            A set of possible responses for the slot type used by text-based\n clients. A user chooses an option from the response card, instead of using\n text to reply.

                            " } }, "obfuscationSetting": { "target": "com.amazonaws.lexmodelbuildingservice#ObfuscationSetting", "traits": { - "smithy.api#documentation": "

                            Determines whether a slot is obfuscated in conversation logs and stored utterances. When\n you obfuscate a slot, the value is replaced by the slot name in curly braces ({}). For\n example, if the slot name is \"full_name\", obfuscated values are replaced with \"{full_name}\".\n For more information, see \n Slot Obfuscation .

                            " + "smithy.api#documentation": "

                            Determines whether a slot is obfuscated in conversation logs and\n stored utterances. When you obfuscate a slot, the value is replaced by the\n slot name in curly braces ({}). For example, if the slot name is\n \"full_name\", obfuscated values are replaced with \"{full_name}\". For more\n information, see Slot Obfuscation .\n

                            " + } + }, + "defaultValueSpec": { + "target": "com.amazonaws.lexmodelbuildingservice#SlotDefaultValueSpec", + "traits": { + "smithy.api#documentation": "

                            A list of default values for the slot. Default values are used when\n Amazon Lex hasn't determined a value for a slot. You can specify default values\n from context variables, session attributes, and defined values.

                            " } } }, @@ -5240,6 +5402,57 @@ ] } }, + "com.amazonaws.lexmodelbuildingservice#SlotDefaultValue": { + "type": "structure", + "members": { + "defaultValue": { + "target": "com.amazonaws.lexmodelbuildingservice#SlotDefaultValueString", + "traits": { + "smithy.api#documentation": "

                            The default value for the slot. You can specify one of the\n following:

                            \n
                              \n
                            • \n

                              \n #context-name.slot-name - The slot value \"slot-name\"\n in the context \"context-name.\"

                              \n
                            • \n
                            • \n

                              \n {attribute} - The slot value of the session attribute\n \"attribute.\"

                              \n
                            • \n
                            • \n

                              \n 'value' - The discrete value \"value.\"

                              \n
                            • \n
                            ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                            A default value for a slot.

                            " + } + }, + "com.amazonaws.lexmodelbuildingservice#SlotDefaultValueList": { + "type": "list", + "member": { + "target": "com.amazonaws.lexmodelbuildingservice#SlotDefaultValue" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 10 + } + } + }, + "com.amazonaws.lexmodelbuildingservice#SlotDefaultValueSpec": { + "type": "structure", + "members": { + "defaultValueList": { + "target": "com.amazonaws.lexmodelbuildingservice#SlotDefaultValueList", + "traits": { + "smithy.api#documentation": "

                            The default values for a slot. You can specify more than one default.\n For example, you can specify a default value to use from a matching\n context variable, a session attribute, or a fixed value.

                            \n

                            The default value chosen is selected based on the order that you\n specify them in the list. For example, if you specify a context variable\n and a fixed value in that order, Amazon Lex uses the context variable if it is\n available, else it uses the fixed value.

                            ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Contains the default values for a slot. Default values are used when\n Amazon Lex hasn't determined a value for a slot.

                            " + } + }, + "com.amazonaws.lexmodelbuildingservice#SlotDefaultValueString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 202 + } + } + }, "com.amazonaws.lexmodelbuildingservice#SlotList": { "type": "list", "member": { @@ -5306,7 +5519,7 @@ "lastUpdatedDate": { "target": "com.amazonaws.lexmodelbuildingservice#Timestamp", "traits": { - "smithy.api#documentation": "

                            The date that the slot type was updated. When you create a resource, the creation date\n and last updated date are the same.

                            " + "smithy.api#documentation": "

                            The date that the slot type was updated. When you create a\n resource, the creation date and last updated date are the same.

                            " } }, "createdDate": { @@ -5348,13 +5561,13 @@ "pattern": { "target": "com.amazonaws.lexmodelbuildingservice#RegexPattern", "traits": { - "smithy.api#documentation": "

                            A regular expression used to validate the value of a slot.

                            \n

                            Use a standard regular expression. Amazon Lex supports the following characters in the regular\n expression:

                            \n
                              \n
                            • \n

                              A-Z, a-z

                              \n
                            • \n
                            • \n

                              0-9

                              \n
                            • \n
                            • \n

                              Unicode characters (\"\\ u\")

                              \n
                            • \n
                            \n

                            Represent Unicode characters with four digits, for example \"\\u0041\" or\n \"\\u005A\".

                            \n

                            The following regular expression operators are not supported:

                            \n
                              \n
                            • \n

                              Infinite repeaters: *, +, or {x,} with no upper bound.

                              \n
                            • \n
                            • \n

                              Wild card (.)

                              \n
                            • \n
                            ", + "smithy.api#documentation": "

                            A regular expression used to validate the value of a slot.

                            \n

                            Use a standard regular expression. Amazon Lex supports the following\n characters in the regular expression:

                            \n
                              \n
                            • \n

                              A-Z, a-z

                              \n
                            • \n
                            • \n

                              0-9

                              \n
                            • \n
                            • \n

                              Unicode characters (\"\\ u\")

                              \n
                            • \n
                            \n

                            Represent Unicode characters with four digits, for example\n \"\\u0041\" or \"\\u005A\".

                            \n

                            The following regular expression operators are not supported:

                            \n
                              \n
                            • \n

                              Infinite repeaters: *, +, or {x,} with no upper bound.

                              \n
                            • \n
                            • \n

                              Wild card (.)

                              \n
                            • \n
                            ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

                            Provides a regular expression used to validate the value of a slot.

                            " + "smithy.api#documentation": "

                            Provides a regular expression used to validate the value of a\n slot.

                            " } }, "com.amazonaws.lexmodelbuildingservice#SlotUtteranceList": { @@ -5418,28 +5631,28 @@ "payload": { "target": "com.amazonaws.lexmodelbuildingservice#Blob", "traits": { - "smithy.api#documentation": "

                            A zip archive in binary format. The archive should contain one file, a JSON file\n containing the resource to import. The resource should match the type specified in the\n resourceType field.

                            ", + "smithy.api#documentation": "

                            A zip archive in binary format. The archive should contain one file, a\n JSON file containing the resource to import. The resource should match the\n type specified in the resourceType field.

                            ", "smithy.api#required": {} } }, "resourceType": { "target": "com.amazonaws.lexmodelbuildingservice#ResourceType", "traits": { - "smithy.api#documentation": "

                            Specifies the type of resource to export. Each resource also exports any resources that\n it depends on.

                            \n
                              \n
                            • \n

                              A bot exports dependent intents.

                              \n
                            • \n
                            • \n

                              An intent exports dependent slot types.

                              \n
                            • \n
                            ", + "smithy.api#documentation": "

                            Specifies the type of resource to export. Each resource also\n exports any resources that it depends on.

                            \n
                              \n
                            • \n

                              A bot exports dependent intents.

                              \n
                            • \n
                            • \n

                              An intent exports dependent slot types.

                              \n
                            • \n
                            ", "smithy.api#required": {} } }, "mergeStrategy": { "target": "com.amazonaws.lexmodelbuildingservice#MergeStrategy", "traits": { - "smithy.api#documentation": "

                            Specifies the action that the StartImport operation should take when there\n is an existing resource with the same name.

                            \n
                              \n
                            • \n

                              FAIL_ON_CONFLICT - The import operation is stopped on the first conflict between a\n resource in the import file and an existing resource. The name of the resource causing the\n conflict is in the failureReason field of the response to the\n GetImport operation.

                              \n

                              OVERWRITE_LATEST - The import operation proceeds even if there is a conflict with\n an existing resource. The $LASTEST version of the existing resource is overwritten with\n the data from the import file.

                              \n
                            • \n
                            ", + "smithy.api#documentation": "

                            Specifies the action that the StartImport operation\n should take when there is an existing resource with the same\n name.

                            \n
                              \n
                            • \n

                              FAIL_ON_CONFLICT - The import operation is stopped on the first\n conflict between a resource in the import file and an existing\n resource. The name of the resource causing the conflict is in the\n failureReason field of the response to the\n GetImport operation.

                              \n

                              OVERWRITE_LATEST - The import operation proceeds even if there\n is a conflict with an existing resource. The $LASTEST version of the\n existing resource is overwritten with the data from the import\n file.

                              \n
                            • \n
                            ", "smithy.api#required": {} } }, "tags": { "target": "com.amazonaws.lexmodelbuildingservice#TagList", "traits": { - "smithy.api#documentation": "

                            A list of tags to add to the imported bot. You can only add tags when you import a bot,\n you can't add tags to an intent or slot type.

                            " + "smithy.api#documentation": "

                            A list of tags to add to the imported bot. You can only add tags when\n you import a bot, you can't add tags to an intent or slot type.

                            " } } } @@ -5474,7 +5687,7 @@ "importStatus": { "target": "com.amazonaws.lexmodelbuildingservice#ImportStatus", "traits": { - "smithy.api#documentation": "

                            The status of the import job. If the status is FAILED, you can get the\n reason for the failure using the GetImport operation.

                            " + "smithy.api#documentation": "

                            The status of the import job. If the status is FAILED,\n you can get the reason for the failure using the GetImport\n operation.

                            " } }, "tags": { @@ -5486,7 +5699,7 @@ "createdDate": { "target": "com.amazonaws.lexmodelbuildingservice#Timestamp", "traits": { - "smithy.api#documentation": "

                            A timestamp for the date and time that the import job was requested.

                            " + "smithy.api#documentation": "

                            A timestamp for the date and time that the import job was\n requested.

                            " } } } @@ -5504,12 +5717,12 @@ "responseCard": { "target": "com.amazonaws.lexmodelbuildingservice#ResponseCard", "traits": { - "smithy.api#documentation": "

                            At runtime, if the client is using the PostText\n API, Amazon Lex includes the response card in the response. It substitutes all of the session\n attributes and slot values for placeholders in the response card.

                            " + "smithy.api#documentation": "

                            At runtime, if the client is using the PostText API, Amazon Lex includes the response card in the response.\n It substitutes all of the session attributes and slot values for\n placeholders in the response card.

                            " } } }, "traits": { - "smithy.api#documentation": "

                            A collection of messages that convey information to the user. At runtime, Amazon Lex selects\n the message to convey.

                            " + "smithy.api#documentation": "

                            A collection of messages that convey information to the user. At\n runtime, Amazon Lex selects the message to convey.

                            " } }, "com.amazonaws.lexmodelbuildingservice#Status": { @@ -5575,20 +5788,20 @@ "key": { "target": "com.amazonaws.lexmodelbuildingservice#TagKey", "traits": { - "smithy.api#documentation": "

                            The key for the tag. Keys are not case-sensitive and must be unique.

                            ", + "smithy.api#documentation": "

                            The key for the tag. Keys are not case-sensitive and must be\n unique.

                            ", "smithy.api#required": {} } }, "value": { "target": "com.amazonaws.lexmodelbuildingservice#TagValue", "traits": { - "smithy.api#documentation": "

                            The value associated with a key. The value may be an empty string but it can't be\n null.

                            ", + "smithy.api#documentation": "

                            The value associated with a key. The value may be an empty string but\n it can't be null.

                            ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

                            A list of key/value pairs that identify a bot, bot alias, or bot channel. Tag keys and\n values can consist of Unicode letters, digits, white space, and any of the following symbols:\n _ . : / = + - @.

                            " + "smithy.api#documentation": "

                            A list of key/value pairs that identify a bot, bot alias, or bot\n channel. Tag keys and values can consist of Unicode letters, digits, white\n space, and any of the following symbols: _ . : / = + - @.

                            " } }, "com.amazonaws.lexmodelbuildingservice#TagKey": { @@ -5650,7 +5863,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Adds the specified tags to the specified resource. If a tag key already exists, the\n existing value is replaced with the new value.

                            ", + "smithy.api#documentation": "

                            Adds the specified tags to the specified resource. If a tag key\n already exists, the existing value is replaced with the new value.

                            ", "smithy.api#http": { "method": "POST", "uri": "/tags/{resourceArn}", @@ -5664,7 +5877,7 @@ "resourceArn": { "target": "com.amazonaws.lexmodelbuildingservice#AmazonResourceName", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the bot, bot alias, or bot channel to tag.

                            ", + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the bot, bot alias, or bot channel\n to tag.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -5672,7 +5885,7 @@ "tags": { "target": "com.amazonaws.lexmodelbuildingservice#TagList", "traits": { - "smithy.api#documentation": "

                            A list of tag keys to add to the resource. If a tag key already exists, the existing value\n is replaced with the new value.

                            ", + "smithy.api#documentation": "

                            A list of tag keys to add to the resource. If a tag key already\n exists, the existing value is replaced with the new value.

                            ", "smithy.api#required": {} } } @@ -5734,7 +5947,7 @@ "resourceArn": { "target": "com.amazonaws.lexmodelbuildingservice#AmazonResourceName", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the resource to remove the tags from.

                            ", + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the resource to remove the tags\n from.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -5742,7 +5955,7 @@ "tagKeys": { "target": "com.amazonaws.lexmodelbuildingservice#TagKeyList", "traits": { - "smithy.api#documentation": "

                            A list of tag keys to remove from the resource. If a tag key does not exist on the\n resource, it is ignored.

                            ", + "smithy.api#documentation": "

                            A list of tag keys to remove from the resource. If a tag key does not\n exist on the resource, it is ignored.

                            ", "smithy.api#httpQuery": "tagKeys", "smithy.api#required": {} } @@ -5777,7 +5990,7 @@ "utteranceString": { "target": "com.amazonaws.lexmodelbuildingservice#UtteranceString", "traits": { - "smithy.api#documentation": "

                            The text that was entered by the user or the text representation of an audio\n clip.

                            " + "smithy.api#documentation": "

                            The text that was entered by the user or the text representation of\n an audio clip.

                            " } }, "count": { @@ -5806,7 +6019,7 @@ } }, "traits": { - "smithy.api#documentation": "

                            Provides information about a single utterance that was made to your bot.

                            " + "smithy.api#documentation": "

                            Provides information about a single utterance that was made to your\n bot.

                            " } }, "com.amazonaws.lexmodelbuildingservice#UtteranceList": { @@ -5821,12 +6034,12 @@ "utterances": { "target": "com.amazonaws.lexmodelbuildingservice#ListOfUtterance", "traits": { - "smithy.api#documentation": "

                            One or more UtteranceData objects that contain information about the\n utterances that have been made to a bot. The maximum number of object is 100.

                            " + "smithy.api#documentation": "

                            One or more UtteranceData objects that contain\n information about the utterances that have been made to a bot. The maximum\n number of object is 100.

                            " } } }, "traits": { - "smithy.api#documentation": "

                            Provides a list of utterances that have been made to a specific version of your bot.\n The list contains a maximum of 100 utterances.

                            " + "smithy.api#documentation": "

                            Provides a list of utterances that have been made to a specific\n version of your bot. The list contains a maximum of 100\n utterances.

                            " } }, "com.amazonaws.lexmodelbuildingservice#UtteranceString": { diff --git a/codegen/sdk-codegen/aws-models/lex-runtime-service.2016-11-28.json b/codegen/sdk-codegen/aws-models/lex-runtime-service.2016-11-28.json index 93bbe2e9c587..7a17414c59b6 100644 --- a/codegen/sdk-codegen/aws-models/lex-runtime-service.2016-11-28.json +++ b/codegen/sdk-codegen/aws-models/lex-runtime-service.2016-11-28.json @@ -67,6 +67,113 @@ "com.amazonaws.lexruntimeservice#Accept": { "type": "string" }, + "com.amazonaws.lexruntimeservice#ActiveContext": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.lexruntimeservice#ActiveContextName", + "traits": { + "smithy.api#documentation": "

                            The name of the context.

                            ", + "smithy.api#required": {} + } + }, + "timeToLive": { + "target": "com.amazonaws.lexruntimeservice#ActiveContextTimeToLive", + "traits": { + "smithy.api#documentation": "

                            The length of time or number of turns that a context remains active.

                            ", + "smithy.api#required": {} + } + }, + "parameters": { + "target": "com.amazonaws.lexruntimeservice#ActiveContextParametersMap", + "traits": { + "smithy.api#documentation": "

                            State variables for the current context. You can use these values as default values for\n slots in subsequent events.

                            ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                            A context is a variable that contains information about the current state of the\n conversation between a user and Amazon Lex. Context can be set automatically by Amazon Lex when an\n intent is fulfilled, or it can be set at runtime using the PutContent,\n PutText, or PutSession operation.

                            " + } + }, + "com.amazonaws.lexruntimeservice#ActiveContextName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + }, + "smithy.api#pattern": "^([A-Za-z]_?)+$" + } + }, + "com.amazonaws.lexruntimeservice#ActiveContextParametersMap": { + "type": "map", + "key": { + "target": "com.amazonaws.lexruntimeservice#ParameterName" + }, + "value": { + "target": "com.amazonaws.lexruntimeservice#Text" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 10 + } + } + }, + "com.amazonaws.lexruntimeservice#ActiveContextTimeToLive": { + "type": "structure", + "members": { + "timeToLiveInSeconds": { + "target": "com.amazonaws.lexruntimeservice#ActiveContextTimeToLiveInSeconds", + "traits": { + "smithy.api#documentation": "

                            The number of seconds that the context should be active after it is first sent in a\n PostContent or PostText response. You can set the value between 5\n and 86,400 seconds (24 hours).

                            " + } + }, + "turnsToLive": { + "target": "com.amazonaws.lexruntimeservice#ActiveContextTurnsToLive", + "traits": { + "smithy.api#documentation": "

                            The number of conversation turns that the context should be active. A conversation turn is\n one PostContent or PostText request and the corresponding response\n from Amazon Lex.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The length of time or number of turns that a context remains active.

                            " + } + }, + "com.amazonaws.lexruntimeservice#ActiveContextTimeToLiveInSeconds": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 5, + "max": 86400 + } + } + }, + "com.amazonaws.lexruntimeservice#ActiveContextTurnsToLive": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 1, + "max": 20 + } + } + }, + "com.amazonaws.lexruntimeservice#ActiveContextsList": { + "type": "list", + "member": { + "target": "com.amazonaws.lexruntimeservice#ActiveContext" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 20 + }, + "smithy.api#sensitive": {} + } + }, "com.amazonaws.lexruntimeservice#BadGatewayException": { "type": "structure", "members": { @@ -235,6 +342,14 @@ "com.amazonaws.lexruntimeservice#DeleteSessionRequest": { "type": "structure", "members": { + "botName": { + "target": "com.amazonaws.lexruntimeservice#BotName", + "traits": { + "smithy.api#documentation": "

                            The name of the bot that contains the session data.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, "botAlias": { "target": "com.amazonaws.lexruntimeservice#BotAlias", "traits": { @@ -250,20 +365,18 @@ "smithy.api#httpLabel": {}, "smithy.api#required": {} } - }, - "botName": { - "target": "com.amazonaws.lexruntimeservice#BotName", - "traits": { - "smithy.api#documentation": "

                            The name of the bot that contains the session data.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } } } }, "com.amazonaws.lexruntimeservice#DeleteSessionResponse": { "type": "structure", "members": { + "botName": { + "target": "com.amazonaws.lexruntimeservice#BotName", + "traits": { + "smithy.api#documentation": "

                            The name of the bot associated with the session data.

                            " + } + }, "botAlias": { "target": "com.amazonaws.lexruntimeservice#BotAlias", "traits": { @@ -276,12 +389,6 @@ "smithy.api#documentation": "

                            The ID of the client application user.

                            " } }, - "botName": { - "target": "com.amazonaws.lexruntimeservice#BotName", - "traits": { - "smithy.api#documentation": "

                            The name of the bot associated with the session data.

                            " - } - }, "sessionId": { "target": "com.amazonaws.lexruntimeservice#String", "traits": { @@ -306,16 +413,11 @@ "com.amazonaws.lexruntimeservice#DialogAction": { "type": "structure", "members": { - "slots": { - "target": "com.amazonaws.lexruntimeservice#StringMap", - "traits": { - "smithy.api#documentation": "

                            Map of the slots that have been gathered and their values.

                            " - } - }, - "messageFormat": { - "target": "com.amazonaws.lexruntimeservice#MessageFormatType", + "type": { + "target": "com.amazonaws.lexruntimeservice#DialogActionType", "traits": { - "smithy.api#documentation": "
                              \n
                            • \n

                              \n PlainText - The message contains plain UTF-8 text.

                              \n
                            • \n
                            • \n

                              \n CustomPayload - The message is a custom format for the client.

                              \n
                            • \n
                            • \n

                              \n SSML - The message contains text formatted for voice output.

                              \n
                            • \n
                            • \n

                              \n Composite - The message contains an escaped JSON object containing one or\n more messages. For more information, see Message\n Groups.

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            The next action that the bot should take in its interaction with the user. The possible\n values are:

                            \n
                              \n
                            • \n

                              \n ConfirmIntent - The next action is asking the user if the intent is\n complete and ready to be fulfilled. This is a yes/no question such as \"Place the\n order?\"

                              \n
                            • \n
                            • \n

                              \n Close - Indicates that the there will not be a response from the user.\n For example, the statement \"Your order has been placed\" does not require a\n response.

                              \n
                            • \n
                            • \n

                              \n Delegate - The next action is determined by Amazon Lex.

                              \n
                            • \n
                            • \n

                              \n ElicitIntent - The next action is to determine the intent that the user\n wants to fulfill.

                              \n
                            • \n
                            • \n

                              \n ElicitSlot - The next action is to elicit a slot value from the\n user.

                              \n
                            • \n
                            ", + "smithy.api#required": {} } }, "intentName": { @@ -324,6 +426,12 @@ "smithy.api#documentation": "

                            The name of the intent.

                            " } }, + "slots": { + "target": "com.amazonaws.lexruntimeservice#StringMap", + "traits": { + "smithy.api#documentation": "

                            Map of the slots that have been gathered and their values.

                            " + } + }, "slotToElicit": { "target": "com.amazonaws.lexruntimeservice#String", "traits": { @@ -336,18 +444,17 @@ "smithy.api#documentation": "

                            The fulfillment state of the intent. The possible values are:

                            \n
                              \n
                            • \n

                              \n Failed - The Lambda function associated with the intent failed to fulfill\n the intent.

                              \n
                            • \n
                            • \n

                              \n Fulfilled - The intent has fulfilled by the Lambda function associated\n with the intent.

                              \n
                            • \n
                            • \n

                              \n ReadyForFulfillment - All of the information necessary for the intent is\n present and the intent ready to be fulfilled by the client application.

                              \n
                            • \n
                            " } }, - "type": { - "target": "com.amazonaws.lexruntimeservice#DialogActionType", - "traits": { - "smithy.api#documentation": "

                            The next action that the bot should take in its interaction with the user. The possible\n values are:

                            \n
                              \n
                            • \n

                              \n ConfirmIntent - The next action is asking the user if the intent is\n complete and ready to be fulfilled. This is a yes/no question such as \"Place the\n order?\"

                              \n
                            • \n
                            • \n

                              \n Close - Indicates that the there will not be a response from the user.\n For example, the statement \"Your order has been placed\" does not require a\n response.

                              \n
                            • \n
                            • \n

                              \n Delegate - The next action is determined by Amazon Lex.

                              \n
                            • \n
                            • \n

                              \n ElicitIntent - The next action is to determine the intent that the user\n wants to fulfill.

                              \n
                            • \n
                            • \n

                              \n ElicitSlot - The next action is to elicit a slot value from the\n user.

                              \n
                            • \n
                            ", - "smithy.api#required": {} - } - }, "message": { "target": "com.amazonaws.lexruntimeservice#Text", "traits": { "smithy.api#documentation": "

                            The message that should be shown to the user. If you don't specify a message, Amazon Lex will\n use the message configured for the intent.

                            " } + }, + "messageFormat": { + "target": "com.amazonaws.lexruntimeservice#MessageFormatType", + "traits": { + "smithy.api#documentation": "
                              \n
                            • \n

                              \n PlainText - The message contains plain UTF-8 text.

                              \n
                            • \n
                            • \n

                              \n CustomPayload - The message is a custom format for the client.

                              \n
                            • \n
                            • \n

                              \n SSML - The message contains text formatted for voice output.

                              \n
                            • \n
                            • \n

                              \n Composite - The message contains an escaped JSON object containing one or\n more messages. For more information, see Message\n Groups.

                              \n
                            • \n
                            " + } } }, "traits": { @@ -440,6 +547,12 @@ "com.amazonaws.lexruntimeservice#GenericAttachment": { "type": "structure", "members": { + "title": { + "target": "com.amazonaws.lexruntimeservice#StringWithLength", + "traits": { + "smithy.api#documentation": "

                            The title of the option.

                            " + } + }, "subTitle": { "target": "com.amazonaws.lexruntimeservice#StringWithLength", "traits": { @@ -452,23 +565,17 @@ "smithy.api#documentation": "

                            The URL of an attachment to the response card.

                            " } }, - "buttons": { - "target": "com.amazonaws.lexruntimeservice#listOfButtons", - "traits": { - "smithy.api#documentation": "

                            The list of options to show to the user.

                            " - } - }, - "title": { - "target": "com.amazonaws.lexruntimeservice#StringWithLength", - "traits": { - "smithy.api#documentation": "

                            The title of the option.

                            " - } - }, "imageUrl": { "target": "com.amazonaws.lexruntimeservice#StringUrlWithLength", "traits": { "smithy.api#documentation": "

                            The URL of an image that is displayed to the user.

                            " } + }, + "buttons": { + "target": "com.amazonaws.lexruntimeservice#listOfButtons", + "traits": { + "smithy.api#documentation": "

                            The list of options to show to the user.

                            " + } } }, "traits": { @@ -509,6 +616,14 @@ "com.amazonaws.lexruntimeservice#GetSessionRequest": { "type": "structure", "members": { + "botName": { + "target": "com.amazonaws.lexruntimeservice#BotName", + "traits": { + "smithy.api#documentation": "

                            The name of the bot that contains the session data.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, "botAlias": { "target": "com.amazonaws.lexruntimeservice#BotAlias", "traits": { @@ -525,14 +640,6 @@ "smithy.api#required": {} } }, - "botName": { - "target": "com.amazonaws.lexruntimeservice#BotName", - "traits": { - "smithy.api#documentation": "

                            The name of the bot that contains the session data.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, "checkpointLabelFilter": { "target": "com.amazonaws.lexruntimeservice#IntentSummaryCheckpointLabel", "traits": { @@ -545,28 +652,34 @@ "com.amazonaws.lexruntimeservice#GetSessionResponse": { "type": "structure", "members": { - "dialogAction": { - "target": "com.amazonaws.lexruntimeservice#DialogAction", - "traits": { - "smithy.api#documentation": "

                            Describes the current state of the bot.

                            " - } - }, "recentIntentSummaryView": { "target": "com.amazonaws.lexruntimeservice#IntentSummaryList", "traits": { "smithy.api#documentation": "

                            An array of information about the intents used in the session. The array can contain a\n maximum of three summaries. If more than three intents are used in the session, the\n recentIntentSummaryView operation contains information about the last three\n intents used.

                            \n

                            If you set the checkpointLabelFilter parameter in the request, the array\n contains only the intents with the specified label.

                            " } }, + "sessionAttributes": { + "target": "com.amazonaws.lexruntimeservice#StringMap", + "traits": { + "smithy.api#documentation": "

                            Map of key/value pairs representing the session-specific context information. It contains\n application information passed between Amazon Lex and a client application.

                            " + } + }, "sessionId": { "target": "com.amazonaws.lexruntimeservice#String", "traits": { "smithy.api#documentation": "

                            A unique identifier for the session.

                            " } }, - "sessionAttributes": { - "target": "com.amazonaws.lexruntimeservice#StringMap", + "dialogAction": { + "target": "com.amazonaws.lexruntimeservice#DialogAction", "traits": { - "smithy.api#documentation": "

                            Map of key/value pairs representing the session-specific context information. It contains\n application information passed between Amazon Lex and a client application.

                            " + "smithy.api#documentation": "

                            Describes the current state of the bot.

                            " + } + }, + "activeContexts": { + "target": "com.amazonaws.lexruntimeservice#ActiveContextsList", + "traits": { + "smithy.api#documentation": "

                            A list of active contexts for the session. A context can be set when an intent\n is fulfilled or by calling the PostContent, PostText,\n or PutSession operation.

                            \n

                            You can use a context to control the intents that can follow up an intent,\n or to modify the operation of your application.

                            " } } } @@ -606,28 +719,35 @@ "com.amazonaws.lexruntimeservice#IntentSummary": { "type": "structure", "members": { + "intentName": { + "target": "com.amazonaws.lexruntimeservice#IntentName", + "traits": { + "smithy.api#documentation": "

                            The name of the intent.

                            " + } + }, "checkpointLabel": { "target": "com.amazonaws.lexruntimeservice#IntentSummaryCheckpointLabel", "traits": { "smithy.api#documentation": "

                            A user-defined label that identifies a particular intent. You can use this label to return\n to a previous intent.

                            \n

                            Use the checkpointLabelFilter parameter of the GetSessionRequest\n operation to filter the intents returned by the operation to those with only the specified\n label.

                            " } }, - "confirmationStatus": { - "target": "com.amazonaws.lexruntimeservice#ConfirmationStatus", + "slots": { + "target": "com.amazonaws.lexruntimeservice#StringMap", "traits": { - "smithy.api#documentation": "

                            The status of the intent after the user responds to the confirmation prompt. If the user\n confirms the intent, Amazon Lex sets this field to Confirmed. If the user denies the\n intent, Amazon Lex sets this value to Denied. The possible values are:

                            \n
                              \n
                            • \n

                              \n Confirmed - The user has responded \"Yes\" to the confirmation prompt,\n confirming that the intent is complete and that it is ready to be fulfilled.

                              \n
                            • \n
                            • \n

                              \n Denied - The user has responded \"No\" to the confirmation prompt.

                              \n
                            • \n
                            • \n

                              \n None - The user has never been prompted for confirmation; or, the user\n was prompted but did not confirm or deny the prompt.

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            Map of the slots that have been gathered and their values.

                            " } }, - "intentName": { - "target": "com.amazonaws.lexruntimeservice#IntentName", + "confirmationStatus": { + "target": "com.amazonaws.lexruntimeservice#ConfirmationStatus", "traits": { - "smithy.api#documentation": "

                            The name of the intent.

                            " + "smithy.api#documentation": "

                            The status of the intent after the user responds to the confirmation prompt. If the user\n confirms the intent, Amazon Lex sets this field to Confirmed. If the user denies the\n intent, Amazon Lex sets this value to Denied. The possible values are:

                            \n
                              \n
                            • \n

                              \n Confirmed - The user has responded \"Yes\" to the confirmation prompt,\n confirming that the intent is complete and that it is ready to be fulfilled.

                              \n
                            • \n
                            • \n

                              \n Denied - The user has responded \"No\" to the confirmation prompt.

                              \n
                            • \n
                            • \n

                              \n None - The user has never been prompted for confirmation; or, the user\n was prompted but did not confirm or deny the prompt.

                              \n
                            • \n
                            " } }, - "slots": { - "target": "com.amazonaws.lexruntimeservice#StringMap", + "dialogActionType": { + "target": "com.amazonaws.lexruntimeservice#DialogActionType", "traits": { - "smithy.api#documentation": "

                            Map of the slots that have been gathered and their values.

                            " + "smithy.api#documentation": "

                            The next action that the bot should take in its interaction with the user. The possible\n values are:

                            \n
                              \n
                            • \n

                              \n ConfirmIntent - The next action is asking the user if the intent is\n complete and ready to be fulfilled. This is a yes/no question such as \"Place the\n order?\"

                              \n
                            • \n
                            • \n

                              \n Close - Indicates that the there will not be a response from the user.\n For example, the statement \"Your order has been placed\" does not require a\n response.

                              \n
                            • \n
                            • \n

                              \n ElicitIntent - The next action is to determine the intent that the user\n wants to fulfill.

                              \n
                            • \n
                            • \n

                              \n ElicitSlot - The next action is to elicit a slot value from the\n user.

                              \n
                            • \n
                            ", + "smithy.api#required": {} } }, "fulfillmentState": { @@ -641,13 +761,6 @@ "traits": { "smithy.api#documentation": "

                            The next slot to elicit from the user. If there is not slot to elicit, the field is\n blank.

                            " } - }, - "dialogActionType": { - "target": "com.amazonaws.lexruntimeservice#DialogActionType", - "traits": { - "smithy.api#documentation": "

                            The next action that the bot should take in its interaction with the user. The possible\n values are:

                            \n
                              \n
                            • \n

                              \n ConfirmIntent - The next action is asking the user if the intent is\n complete and ready to be fulfilled. This is a yes/no question such as \"Place the\n order?\"

                              \n
                            • \n
                            • \n

                              \n Close - Indicates that the there will not be a response from the user.\n For example, the statement \"Your order has been placed\" does not require a\n response.

                              \n
                            • \n
                            • \n

                              \n ElicitIntent - The next action is to determine the intent that the user\n wants to fulfill.

                              \n
                            • \n
                            • \n

                              \n ElicitSlot - The next action is to elicit a slot value from the\n user.

                              \n
                            • \n
                            ", - "smithy.api#required": {} - } } }, "traits": { @@ -692,14 +805,14 @@ "com.amazonaws.lexruntimeservice#LimitExceededException": { "type": "structure", "members": { - "message": { - "target": "com.amazonaws.lexruntimeservice#String" - }, "retryAfterSeconds": { "target": "com.amazonaws.lexruntimeservice#String", "traits": { "smithy.api#httpHeader": "Retry-After" } + }, + "message": { + "target": "com.amazonaws.lexruntimeservice#String" } }, "traits": { @@ -770,6 +883,15 @@ "smithy.api#httpError": 404 } }, + "com.amazonaws.lexruntimeservice#ParameterName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, "com.amazonaws.lexruntimeservice#PostContent": { "type": "operation", "input": { @@ -827,11 +949,12 @@ "com.amazonaws.lexruntimeservice#PostContentRequest": { "type": "structure", "members": { - "requestAttributes": { - "target": "com.amazonaws.lexruntimeservice#SynthesizedJsonAttributesString", + "botName": { + "target": "com.amazonaws.lexruntimeservice#BotName", "traits": { - "smithy.api#documentation": "

                            You pass this value as the x-amz-lex-request-attributes HTTP header.

                            \n

                            Request-specific information passed between Amazon Lex and a client application. The value must\n be a JSON serialized and base64 encoded map with string keys and values. The total size of the\n requestAttributes and sessionAttributes headers is limited to 12\n KB.

                            \n

                            The namespace x-amz-lex: is reserved for special attributes. Don't create any\n request attributes with the prefix x-amz-lex:.

                            \n

                            For more information, see Setting Request\n Attributes.

                            ", - "smithy.api#httpHeader": "x-amz-lex-request-attributes" + "smithy.api#documentation": "

                            Name of the Amazon Lex bot.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, "botAlias": { @@ -842,35 +965,26 @@ "smithy.api#required": {} } }, - "botName": { - "target": "com.amazonaws.lexruntimeservice#BotName", + "userId": { + "target": "com.amazonaws.lexruntimeservice#UserId", "traits": { - "smithy.api#documentation": "

                            Name of the Amazon Lex bot.

                            ", + "smithy.api#documentation": "

                            The ID of the client application user. Amazon Lex uses this to identify a user's conversation\n with your bot. At runtime, each request must contain the userID field.

                            \n

                            To decide the user ID to use for your application, consider the following factors.

                            \n
                              \n
                            • \n

                              The userID field must not contain any personally identifiable information\n of the user, for example, name, personal identification numbers, or other end user\n personal information.

                              \n
                            • \n
                            • \n

                              If you want a user to start a conversation on one device and continue on another\n device, use a user-specific identifier.

                              \n
                            • \n
                            • \n

                              If you want the same user to be able to have two independent conversations on two\n different devices, choose a device-specific identifier.

                              \n
                            • \n
                            • \n

                              A user can't have two independent conversations with two different versions of the\n same bot. For example, a user can't have a conversation with the PROD and BETA versions of\n the same bot. If you anticipate that a user will need to have conversation with two\n different versions, for example, while testing, include the bot alias in the user ID to\n separate the two conversations.

                              \n
                            • \n
                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "inputStream": { - "target": "com.amazonaws.lexruntimeservice#BlobStream", - "traits": { - "smithy.api#documentation": "

                            User input in PCM or Opus audio format or text format as described in the\n Content-Type HTTP header.

                            \n

                            You can stream audio data to Amazon Lex or you can create a local buffer that captures all of\n the audio data before sending. In general, you get better performance if you stream audio data\n rather than buffering the data locally.

                            ", - "smithy.api#httpPayload": {}, - "smithy.api#required": {} - } - }, - "sessionAttributes": { - "target": "com.amazonaws.lexruntimeservice#SynthesizedJsonAttributesString", + "sessionAttributes": { + "target": "com.amazonaws.lexruntimeservice#SynthesizedJsonAttributesString", "traits": { "smithy.api#documentation": "

                            You pass this value as the x-amz-lex-session-attributes HTTP header.

                            \n

                            Application-specific information passed between Amazon Lex and a client application. The value\n must be a JSON serialized and base64 encoded map with string keys and values. The total size\n of the sessionAttributes and requestAttributes headers is limited to\n 12 KB.

                            \n

                            For more information, see Setting Session\n Attributes.

                            ", "smithy.api#httpHeader": "x-amz-lex-session-attributes" } }, - "userId": { - "target": "com.amazonaws.lexruntimeservice#UserId", + "requestAttributes": { + "target": "com.amazonaws.lexruntimeservice#SynthesizedJsonAttributesString", "traits": { - "smithy.api#documentation": "

                            The ID of the client application user. Amazon Lex uses this to identify a user's conversation\n with your bot. At runtime, each request must contain the userID field.

                            \n

                            To decide the user ID to use for your application, consider the following factors.

                            \n
                              \n
                            • \n

                              The userID field must not contain any personally identifiable information\n of the user, for example, name, personal identification numbers, or other end user\n personal information.

                              \n
                            • \n
                            • \n

                              If you want a user to start a conversation on one device and continue on another\n device, use a user-specific identifier.

                              \n
                            • \n
                            • \n

                              If you want the same user to be able to have two independent conversations on two\n different devices, choose a device-specific identifier.

                              \n
                            • \n
                            • \n

                              A user can't have two independent conversations with two different versions of the\n same bot. For example, a user can't have a conversation with the PROD and BETA versions of\n the same bot. If you anticipate that a user will need to have conversation with two\n different versions, for example, while testing, include the bot alias in the user ID to\n separate the two conversations.

                              \n
                            • \n
                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#documentation": "

                            You pass this value as the x-amz-lex-request-attributes HTTP header.

                            \n

                            Request-specific information passed between Amazon Lex and a client application. The value must\n be a JSON serialized and base64 encoded map with string keys and values. The total size of the\n requestAttributes and sessionAttributes headers is limited to 12\n KB.

                            \n

                            The namespace x-amz-lex: is reserved for special attributes. Don't create any\n request attributes with the prefix x-amz-lex:.

                            \n

                            For more information, see Setting Request\n Attributes.

                            ", + "smithy.api#httpHeader": "x-amz-lex-request-attributes" } }, "contentType": { @@ -887,12 +1001,48 @@ "smithy.api#documentation": "

                            You pass this value as the Accept HTTP header.

                            \n

                            The message Amazon Lex returns in the response can be either text or speech based on the\n Accept HTTP header value in the request.

                            \n
                              \n
                            • \n

                              If the value is text/plain; charset=utf-8, Amazon Lex returns text in the\n response.

                              \n
                            • \n
                            • \n

                              If the value begins with audio/, Amazon Lex returns speech in the response.\n Amazon Lex uses Amazon Polly to generate the speech (using the configuration you specified in the\n Accept header). For example, if you specify audio/mpeg as the\n value, Amazon Lex returns speech in the MPEG format.

                              \n
                            • \n
                            • \n

                              If the value is audio/pcm, the speech returned is audio/pcm\n in 16-bit, little endian format.\n

                              \n
                            • \n
                            • \n

                              The following are the accepted values:

                              \n
                                \n
                              • \n

                                audio/mpeg

                                \n
                              • \n
                              • \n

                                audio/ogg

                                \n
                              • \n
                              • \n

                                audio/pcm

                                \n
                              • \n
                              • \n

                                text/plain; charset=utf-8

                                \n
                              • \n
                              • \n

                                audio/* (defaults to mpeg)

                                \n
                              • \n
                              \n
                            • \n
                            ", "smithy.api#httpHeader": "Accept" } + }, + "inputStream": { + "target": "com.amazonaws.lexruntimeservice#BlobStream", + "traits": { + "smithy.api#documentation": "

                            User input in PCM or Opus audio format or text format as described in the\n Content-Type HTTP header.

                            \n

                            You can stream audio data to Amazon Lex or you can create a local buffer that captures all of\n the audio data before sending. In general, you get better performance if you stream audio data\n rather than buffering the data locally.

                            ", + "smithy.api#httpPayload": {}, + "smithy.api#required": {} + } + }, + "activeContexts": { + "target": "com.amazonaws.lexruntimeservice#SynthesizedJsonActiveContextsString", + "traits": { + "smithy.api#documentation": "

                            A list of contexts active for the request. A context can be activated when a previous\n intent is fulfilled, or by including the context in the request,

                            \n

                            If you don't specify a list of contexts, Amazon Lex will use the current list of contexts for\n the session. If you specify an empty list, all contexts for the session are cleared.

                            ", + "smithy.api#httpHeader": "x-amz-lex-active-contexts" + } } } }, "com.amazonaws.lexruntimeservice#PostContentResponse": { "type": "structure", "members": { + "contentType": { + "target": "com.amazonaws.lexruntimeservice#HttpContentType", + "traits": { + "smithy.api#documentation": "

                            Content type as specified in the Accept HTTP header in the request.

                            ", + "smithy.api#httpHeader": "Content-Type" + } + }, + "intentName": { + "target": "com.amazonaws.lexruntimeservice#IntentName", + "traits": { + "smithy.api#documentation": "

                            Current user intent that Amazon Lex is aware of.

                            ", + "smithy.api#httpHeader": "x-amz-lex-intent-name" + } + }, + "nluIntentConfidence": { + "target": "com.amazonaws.lexruntimeservice#SynthesizedJsonString", + "traits": { + "smithy.api#documentation": "

                            Provides a score that indicates how confident Amazon Lex is that the returned intent is the one\n that matches the user's intent. The score is between 0.0 and 1.0.

                            \n

                            The score is a relative score, not an absolute score. The score may change based on\n improvements to Amazon Lex.

                            ", + "smithy.api#httpHeader": "x-amz-lex-nlu-intent-confidence" + } + }, "alternativeIntents": { "target": "com.amazonaws.lexruntimeservice#SynthesizedJsonString", "traits": { @@ -900,25 +1050,25 @@ "smithy.api#httpHeader": "x-amz-lex-alternative-intents" } }, - "messageFormat": { - "target": "com.amazonaws.lexruntimeservice#MessageFormatType", + "slots": { + "target": "com.amazonaws.lexruntimeservice#SynthesizedJsonString", "traits": { - "smithy.api#documentation": "

                            The format of the response message. One of the following values:

                            \n
                              \n
                            • \n

                              \n PlainText - The message contains plain UTF-8 text.

                              \n
                            • \n
                            • \n

                              \n CustomPayload - The message is a custom format for the client.

                              \n
                            • \n
                            • \n

                              \n SSML - The message contains text formatted for voice output.

                              \n
                            • \n
                            • \n

                              \n Composite - The message contains an escaped JSON object containing one or\n more messages from the groups that messages were assigned to when the intent was\n created.

                              \n
                            • \n
                            ", - "smithy.api#httpHeader": "x-amz-lex-message-format" + "smithy.api#documentation": "

                            Map of zero or more intent slots (name/value pairs) Amazon Lex detected from the user input\n during the conversation. The field is base-64 encoded.

                            \n

                            Amazon Lex creates a resolution list containing likely values for a slot. The value that it\n returns is determined by the valueSelectionStrategy selected when the slot type\n was created or updated. If valueSelectionStrategy is set to\n ORIGINAL_VALUE, the value provided by the user is returned, if the user value\n is similar to the slot values. If valueSelectionStrategy is set to\n TOP_RESOLUTION Amazon Lex returns the first value in the resolution list or, if\n there is no resolution list, null. If you don't specify a valueSelectionStrategy,\n the default is ORIGINAL_VALUE.

                            ", + "smithy.api#httpHeader": "x-amz-lex-slots" } }, - "contentType": { - "target": "com.amazonaws.lexruntimeservice#HttpContentType", + "sessionAttributes": { + "target": "com.amazonaws.lexruntimeservice#SynthesizedJsonString", "traits": { - "smithy.api#documentation": "

                            Content type as specified in the Accept HTTP header in the request.

                            ", - "smithy.api#httpHeader": "Content-Type" + "smithy.api#documentation": "

                            Map of key/value pairs representing the session-specific context information.

                            ", + "smithy.api#httpHeader": "x-amz-lex-session-attributes" } }, - "audioStream": { - "target": "com.amazonaws.lexruntimeservice#BlobStream", + "sentimentResponse": { + "target": "com.amazonaws.lexruntimeservice#String", "traits": { - "smithy.api#documentation": "

                            The prompt (or statement) to convey to the user. This is based on the bot configuration\n and context. For example, if Amazon Lex did not understand the user intent, it sends the\n clarificationPrompt configured for the bot. If the intent requires confirmation\n before taking the fulfillment action, it sends the confirmationPrompt. Another\n example: Suppose that the Lambda function successfully fulfilled the intent, and sent a message\n to convey to the user. Then Amazon Lex sends that message in the response.

                            ", - "smithy.api#httpPayload": {} + "smithy.api#documentation": "

                            The sentiment expressed in an utterance.

                            \n

                            When the bot is configured to send utterances to Amazon Comprehend for sentiment analysis,\n this field contains the result of the analysis.

                            ", + "smithy.api#httpHeader": "x-amz-lex-sentiment" } }, "message": { @@ -928,25 +1078,25 @@ "smithy.api#httpHeader": "x-amz-lex-message" } }, - "botVersion": { - "target": "com.amazonaws.lexruntimeservice#BotVersion", + "messageFormat": { + "target": "com.amazonaws.lexruntimeservice#MessageFormatType", "traits": { - "smithy.api#documentation": "

                            The version of the bot that responded to the conversation. You can use this information to\n help determine if one version of a bot is performing better than another version.

                            \n

                            If you have enabled the new natural language understanding (NLU) model, you can use this\n to determine if the improvement is due to changes to the bot or changes to the NLU.

                            \n

                            For more information about enabling the new NLU, see the enableModelImprovements parameter of the PutBot operation.

                            ", - "smithy.api#httpHeader": "x-amz-lex-bot-version" + "smithy.api#documentation": "

                            The format of the response message. One of the following values:

                            \n
                              \n
                            • \n

                              \n PlainText - The message contains plain UTF-8 text.

                              \n
                            • \n
                            • \n

                              \n CustomPayload - The message is a custom format for the client.

                              \n
                            • \n
                            • \n

                              \n SSML - The message contains text formatted for voice output.

                              \n
                            • \n
                            • \n

                              \n Composite - The message contains an escaped JSON object containing one or\n more messages from the groups that messages were assigned to when the intent was\n created.

                              \n
                            • \n
                            ", + "smithy.api#httpHeader": "x-amz-lex-message-format" } }, - "sentimentResponse": { - "target": "com.amazonaws.lexruntimeservice#String", + "dialogState": { + "target": "com.amazonaws.lexruntimeservice#DialogState", "traits": { - "smithy.api#documentation": "

                            The sentiment expressed in an utterance.

                            \n

                            When the bot is configured to send utterances to Amazon Comprehend for sentiment analysis,\n this field contains the result of the analysis.

                            ", - "smithy.api#httpHeader": "x-amz-lex-sentiment" + "smithy.api#documentation": "

                            Identifies the current state of the user interaction. Amazon Lex returns one of the following\n values as dialogState. The client can optionally use this information to\n customize the user interface.

                            \n
                              \n
                            • \n

                              \n ElicitIntent - Amazon Lex wants to elicit the user's intent. Consider the\n following examples:

                              \n

                              For example, a user might utter an intent (\"I want to order a pizza\"). If Amazon Lex\n cannot infer the user intent from this utterance, it will return this dialog state.\n

                              \n
                            • \n
                            • \n

                              \n ConfirmIntent - Amazon Lex is expecting a \"yes\" or \"no\" response.

                              \n

                              For example, Amazon Lex wants user confirmation before fulfilling an intent. Instead of a\n simple \"yes\" or \"no\" response, a user might respond with additional information. For\n example, \"yes, but make it a thick crust pizza\" or \"no, I want to order a drink.\" Amazon Lex\n can process such additional information (in these examples, update the crust type slot or\n change the intent from OrderPizza to OrderDrink).

                              \n
                            • \n
                            • \n

                              \n ElicitSlot - Amazon Lex is expecting the value of a slot for the current intent.

                              \n

                              For example, suppose that in the response Amazon Lex sends this message: \"What size pizza\n would you like?\". A user might reply with the slot value (e.g., \"medium\"). The user might\n also provide additional information in the response (e.g., \"medium thick crust pizza\").\n Amazon Lex can process such additional information appropriately.

                              \n
                            • \n
                            • \n

                              \n Fulfilled - Conveys that the Lambda function has successfully fulfilled the\n intent.

                              \n
                            • \n
                            • \n

                              \n ReadyForFulfillment - Conveys that the client has to fulfill the request.\n

                              \n
                            • \n
                            • \n

                              \n Failed - Conveys that the conversation with the user failed.

                              \n

                              This can happen for various reasons, including that the user does not provide an\n appropriate response to prompts from the service (you can configure how many times Amazon Lex\n can prompt a user for specific information), or if the Lambda function fails to fulfill the\n intent.

                              \n
                            • \n
                            ", + "smithy.api#httpHeader": "x-amz-lex-dialog-state" } }, - "slots": { - "target": "com.amazonaws.lexruntimeservice#SynthesizedJsonString", + "slotToElicit": { + "target": "com.amazonaws.lexruntimeservice#String", "traits": { - "smithy.api#documentation": "

                            Map of zero or more intent slots (name/value pairs) Amazon Lex detected from the user input\n during the conversation. The field is base-64 encoded.

                            \n

                            Amazon Lex creates a resolution list containing likely values for a slot. The value that it\n returns is determined by the valueSelectionStrategy selected when the slot type\n was created or updated. If valueSelectionStrategy is set to\n ORIGINAL_VALUE, the value provided by the user is returned, if the user value\n is similar to the slot values. If valueSelectionStrategy is set to\n TOP_RESOLUTION Amazon Lex returns the first value in the resolution list or, if\n there is no resolution list, null. If you don't specify a valueSelectionStrategy,\n the default is ORIGINAL_VALUE.

                            ", - "smithy.api#httpHeader": "x-amz-lex-slots" + "smithy.api#documentation": "

                            If the dialogState value is ElicitSlot, returns the name of the\n slot for which Amazon Lex is eliciting a value.

                            ", + "smithy.api#httpHeader": "x-amz-lex-slot-to-elicit" } }, "inputTranscript": { @@ -956,18 +1106,18 @@ "smithy.api#httpHeader": "x-amz-lex-input-transcript" } }, - "slotToElicit": { - "target": "com.amazonaws.lexruntimeservice#String", + "audioStream": { + "target": "com.amazonaws.lexruntimeservice#BlobStream", "traits": { - "smithy.api#documentation": "

                            If the dialogState value is ElicitSlot, returns the name of the\n slot for which Amazon Lex is eliciting a value.

                            ", - "smithy.api#httpHeader": "x-amz-lex-slot-to-elicit" + "smithy.api#documentation": "

                            The prompt (or statement) to convey to the user. This is based on the bot configuration\n and context. For example, if Amazon Lex did not understand the user intent, it sends the\n clarificationPrompt configured for the bot. If the intent requires confirmation\n before taking the fulfillment action, it sends the confirmationPrompt. Another\n example: Suppose that the Lambda function successfully fulfilled the intent, and sent a message\n to convey to the user. Then Amazon Lex sends that message in the response.

                            ", + "smithy.api#httpPayload": {} } }, - "sessionAttributes": { - "target": "com.amazonaws.lexruntimeservice#SynthesizedJsonString", + "botVersion": { + "target": "com.amazonaws.lexruntimeservice#BotVersion", "traits": { - "smithy.api#documentation": "

                            Map of key/value pairs representing the session-specific context information.

                            ", - "smithy.api#httpHeader": "x-amz-lex-session-attributes" + "smithy.api#documentation": "

                            The version of the bot that responded to the conversation. You can use this information to\n help determine if one version of a bot is performing better than another version.

                            ", + "smithy.api#httpHeader": "x-amz-lex-bot-version" } }, "sessionId": { @@ -977,25 +1127,11 @@ "smithy.api#httpHeader": "x-amz-lex-session-id" } }, - "dialogState": { - "target": "com.amazonaws.lexruntimeservice#DialogState", + "activeContexts": { + "target": "com.amazonaws.lexruntimeservice#SynthesizedJsonActiveContextsString", "traits": { - "smithy.api#documentation": "

                            Identifies the current state of the user interaction. Amazon Lex returns one of the following\n values as dialogState. The client can optionally use this information to\n customize the user interface.

                            \n
                              \n
                            • \n

                              \n ElicitIntent - Amazon Lex wants to elicit the user's intent. Consider the\n following examples:

                              \n

                              For example, a user might utter an intent (\"I want to order a pizza\"). If Amazon Lex\n cannot infer the user intent from this utterance, it will return this dialog state.\n

                              \n
                            • \n
                            • \n

                              \n ConfirmIntent - Amazon Lex is expecting a \"yes\" or \"no\" response.

                              \n

                              For example, Amazon Lex wants user confirmation before fulfilling an intent. Instead of a\n simple \"yes\" or \"no\" response, a user might respond with additional information. For\n example, \"yes, but make it a thick crust pizza\" or \"no, I want to order a drink.\" Amazon Lex\n can process such additional information (in these examples, update the crust type slot or\n change the intent from OrderPizza to OrderDrink).

                              \n
                            • \n
                            • \n

                              \n ElicitSlot - Amazon Lex is expecting the value of a slot for the current intent.

                              \n

                              For example, suppose that in the response Amazon Lex sends this message: \"What size pizza\n would you like?\". A user might reply with the slot value (e.g., \"medium\"). The user might\n also provide additional information in the response (e.g., \"medium thick crust pizza\").\n Amazon Lex can process such additional information appropriately.

                              \n
                            • \n
                            • \n

                              \n Fulfilled - Conveys that the Lambda function has successfully fulfilled the\n intent.

                              \n
                            • \n
                            • \n

                              \n ReadyForFulfillment - Conveys that the client has to fulfill the request.\n

                              \n
                            • \n
                            • \n

                              \n Failed - Conveys that the conversation with the user failed.

                              \n

                              This can happen for various reasons, including that the user does not provide an\n appropriate response to prompts from the service (you can configure how many times Amazon Lex\n can prompt a user for specific information), or if the Lambda function fails to fulfill the\n intent.

                              \n
                            • \n
                            ", - "smithy.api#httpHeader": "x-amz-lex-dialog-state" - } - }, - "intentName": { - "target": "com.amazonaws.lexruntimeservice#IntentName", - "traits": { - "smithy.api#documentation": "

                            Current user intent that Amazon Lex is aware of.

                            ", - "smithy.api#httpHeader": "x-amz-lex-intent-name" - } - }, - "nluIntentConfidence": { - "target": "com.amazonaws.lexruntimeservice#SynthesizedJsonString", - "traits": { - "smithy.api#documentation": "

                            Provides a score that indicates how confident Amazon Lex is that the returned intent is the one\n that matches the user's intent. The score is between 0.0 and 1.0.

                            \n

                            The score is a relative score, not an absolute score. The score may change based on\n improvements to the Amazon Lex NLU.

                            ", - "smithy.api#httpHeader": "x-amz-lex-nlu-intent-confidence" + "smithy.api#documentation": "

                            A list of active contexts for the session. A context can be set when an intent\n is fulfilled or by calling the PostContent, PostText,\n or PutSession operation.

                            \n

                            You can use a context to control the intents that can follow up an intent,\n or to modify the operation of your application.

                            ", + "smithy.api#httpHeader": "x-amz-lex-active-contexts" } } } @@ -1046,20 +1182,14 @@ "com.amazonaws.lexruntimeservice#PostTextRequest": { "type": "structure", "members": { - "userId": { - "target": "com.amazonaws.lexruntimeservice#UserId", + "botName": { + "target": "com.amazonaws.lexruntimeservice#BotName", "traits": { - "smithy.api#documentation": "

                            The ID of the client application user. Amazon Lex uses this to identify a user's conversation\n with your bot. At runtime, each request must contain the userID field.

                            \n

                            To decide the user ID to use for your application, consider the following factors.

                            \n
                              \n
                            • \n

                              The userID field must not contain any personally identifiable information\n of the user, for example, name, personal identification numbers, or other end user\n personal information.

                              \n
                            • \n
                            • \n

                              If you want a user to start a conversation on one device and continue on another\n device, use a user-specific identifier.

                              \n
                            • \n
                            • \n

                              If you want the same user to be able to have two independent conversations on two\n different devices, choose a device-specific identifier.

                              \n
                            • \n
                            • \n

                              A user can't have two independent conversations with two different versions of the\n same bot. For example, a user can't have a conversation with the PROD and BETA versions of\n the same bot. If you anticipate that a user will need to have conversation with two\n different versions, for example, while testing, include the bot alias in the user ID to\n separate the two conversations.

                              \n
                            • \n
                            ", + "smithy.api#documentation": "

                            The name of the Amazon Lex bot.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "requestAttributes": { - "target": "com.amazonaws.lexruntimeservice#StringMap", - "traits": { - "smithy.api#documentation": "

                            Request-specific information passed between Amazon Lex and a client application.

                            \n

                            The namespace x-amz-lex: is reserved for special attributes. Don't create any\n request attributes with the prefix x-amz-lex:.

                            \n

                            For more information, see Setting Request\n Attributes.

                            " - } - }, "botAlias": { "target": "com.amazonaws.lexruntimeservice#BotAlias", "traits": { @@ -1068,10 +1198,11 @@ "smithy.api#required": {} } }, - "inputText": { - "target": "com.amazonaws.lexruntimeservice#Text", + "userId": { + "target": "com.amazonaws.lexruntimeservice#UserId", "traits": { - "smithy.api#documentation": "

                            The text that the user entered (Amazon Lex interprets this text).

                            ", + "smithy.api#documentation": "

                            The ID of the client application user. Amazon Lex uses this to identify a user's conversation\n with your bot. At runtime, each request must contain the userID field.

                            \n

                            To decide the user ID to use for your application, consider the following factors.

                            \n
                              \n
                            • \n

                              The userID field must not contain any personally identifiable information\n of the user, for example, name, personal identification numbers, or other end user\n personal information.

                              \n
                            • \n
                            • \n

                              If you want a user to start a conversation on one device and continue on another\n device, use a user-specific identifier.

                              \n
                            • \n
                            • \n

                              If you want the same user to be able to have two independent conversations on two\n different devices, choose a device-specific identifier.

                              \n
                            • \n
                            • \n

                              A user can't have two independent conversations with two different versions of the\n same bot. For example, a user can't have a conversation with the PROD and BETA versions of\n the same bot. If you anticipate that a user will need to have conversation with two\n different versions, for example, while testing, include the bot alias in the user ID to\n separate the two conversations.

                              \n
                            • \n
                            ", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, @@ -1081,65 +1212,88 @@ "smithy.api#documentation": "

                            Application-specific information passed between Amazon Lex and a client application.

                            \n

                            For more information, see Setting Session\n Attributes.

                            " } }, - "botName": { - "target": "com.amazonaws.lexruntimeservice#BotName", + "requestAttributes": { + "target": "com.amazonaws.lexruntimeservice#StringMap", "traits": { - "smithy.api#documentation": "

                            The name of the Amazon Lex bot.

                            ", - "smithy.api#httpLabel": {}, + "smithy.api#documentation": "

                            Request-specific information passed between Amazon Lex and a client application.

                            \n

                            The namespace x-amz-lex: is reserved for special attributes. Don't create any\n request attributes with the prefix x-amz-lex:.

                            \n

                            For more information, see Setting Request\n Attributes.

                            " + } + }, + "inputText": { + "target": "com.amazonaws.lexruntimeservice#Text", + "traits": { + "smithy.api#documentation": "

                            The text that the user entered (Amazon Lex interprets this text).

                            ", "smithy.api#required": {} } + }, + "activeContexts": { + "target": "com.amazonaws.lexruntimeservice#ActiveContextsList", + "traits": { + "smithy.api#documentation": "

                            A list of contexts active for the request. A context can be activated when a previous\n intent is fulfilled, or by including the context in the request,

                            \n

                            If you don't specify a list of contexts, Amazon Lex will use the current list of contexts for\n the session. If you specify an empty list, all contexts for the session are cleared.

                            " + } } } }, "com.amazonaws.lexruntimeservice#PostTextResponse": { "type": "structure", "members": { - "messageFormat": { - "target": "com.amazonaws.lexruntimeservice#MessageFormatType", - "traits": { - "smithy.api#documentation": "

                            The format of the response message. One of the following values:

                            \n
                              \n
                            • \n

                              \n PlainText - The message contains plain UTF-8 text.

                              \n
                            • \n
                            • \n

                              \n CustomPayload - The message is a custom format defined by the Lambda\n function.

                              \n
                            • \n
                            • \n

                              \n SSML - The message contains text formatted for voice output.

                              \n
                            • \n
                            • \n

                              \n Composite - The message contains an escaped JSON object containing one or\n more messages from the groups that messages were assigned to when the intent was\n created.

                              \n
                            • \n
                            " - } - }, "intentName": { "target": "com.amazonaws.lexruntimeservice#IntentName", "traits": { "smithy.api#documentation": "

                            The current user intent that Amazon Lex is aware of.

                            " } }, + "nluIntentConfidence": { + "target": "com.amazonaws.lexruntimeservice#IntentConfidence", + "traits": { + "smithy.api#documentation": "

                            Provides a score that indicates how confident Amazon Lex is that the returned intent is the one\n that matches the user's intent. The score is between 0.0 and 1.0. For more information, see\n Confidence\n Scores.

                            \n

                            The score is a relative score, not an absolute score. The score may change based on\n improvements to Amazon Lex.

                            " + } + }, "alternativeIntents": { "target": "com.amazonaws.lexruntimeservice#IntentList", "traits": { "smithy.api#documentation": "

                            One to four alternative intents that may be applicable to the user's intent.

                            \n

                            Each alternative includes a score that indicates how confident Amazon Lex is that the intent\n matches the user's intent. The intents are sorted by the confidence score.

                            " } }, + "slots": { + "target": "com.amazonaws.lexruntimeservice#StringMap", + "traits": { + "smithy.api#documentation": "

                            The intent slots that Amazon Lex detected from the user input in the conversation.

                            \n

                            Amazon Lex creates a resolution list containing likely values for a slot. The value that it\n returns is determined by the valueSelectionStrategy selected when the slot type\n was created or updated. If valueSelectionStrategy is set to\n ORIGINAL_VALUE, the value provided by the user is returned, if the user value\n is similar to the slot values. If valueSelectionStrategy is set to\n TOP_RESOLUTION Amazon Lex returns the first value in the resolution list or, if\n there is no resolution list, null. If you don't specify a valueSelectionStrategy,\n the default is ORIGINAL_VALUE.

                            " + } + }, + "sessionAttributes": { + "target": "com.amazonaws.lexruntimeservice#StringMap", + "traits": { + "smithy.api#documentation": "

                            A map of key-value pairs representing the session-specific context information.

                            " + } + }, "message": { "target": "com.amazonaws.lexruntimeservice#Text", "traits": { "smithy.api#documentation": "

                            The message to convey to the user. The message can come from the bot's configuration or\n from a Lambda function.

                            \n

                            If the intent is not configured with a Lambda function, or if the Lambda function returned\n Delegate as the dialogAction.type its response, Amazon Lex decides on\n the next course of action and selects an appropriate message from the bot's configuration\n based on the current interaction context. For example, if Amazon Lex isn't able to understand user\n input, it uses a clarification prompt message.

                            \n

                            When you create an intent you can assign messages to groups. When messages are assigned to\n groups Amazon Lex returns one message from each group in the response. The message field is an\n escaped JSON string containing the messages. For more information about the structure of the\n JSON string returned, see msg-prompts-formats.

                            \n

                            If the Lambda function returns a message, Amazon Lex passes it to the client in its\n response.

                            " } }, - "dialogState": { - "target": "com.amazonaws.lexruntimeservice#DialogState", + "sentimentResponse": { + "target": "com.amazonaws.lexruntimeservice#SentimentResponse", "traits": { - "smithy.api#documentation": "

                            Identifies the current state of the user interaction. Amazon Lex returns one of the following\n values as dialogState. The client can optionally use this information to\n customize the user interface.

                            \n
                              \n
                            • \n

                              \n ElicitIntent - Amazon Lex wants to elicit user intent.

                              \n

                              For example, a user might utter an intent (\"I want to order a pizza\"). If Amazon Lex cannot\n infer the user intent from this utterance, it will return this dialogState.

                              \n
                            • \n
                            • \n

                              \n ConfirmIntent - Amazon Lex is expecting a \"yes\" or \"no\" response.

                              \n

                              For example, Amazon Lex wants user confirmation before fulfilling an intent.

                              \n

                              Instead of a simple \"yes\" or \"no,\" a user might respond with additional information.\n For example, \"yes, but make it thick crust pizza\" or \"no, I want to order a drink\".\n Amazon Lex can process such additional information (in these examples, update the crust\n type slot value, or change intent from OrderPizza to OrderDrink).

                              \n
                            • \n
                            • \n

                              \n ElicitSlot - Amazon Lex is expecting a slot value for the current intent.

                              \n

                              For example, suppose that in the response Amazon Lex sends this message: \"What size pizza\n would you like?\". A user might reply with the slot value (e.g., \"medium\"). The user might\n also provide additional information in the response (e.g., \"medium thick crust pizza\").\n Amazon Lex can process such additional information appropriately.

                              \n
                            • \n
                            • \n

                              \n Fulfilled - Conveys that the Lambda function configured for the intent has\n successfully fulfilled the intent.

                              \n\n
                            • \n
                            • \n

                              \n ReadyForFulfillment - Conveys that the client has to fulfill the intent.\n

                              \n
                            • \n
                            • \n

                              \n Failed - Conveys that the conversation with the user failed.

                              \n

                              This can happen for various reasons including that the user did not provide an\n appropriate response to prompts from the service (you can configure how many times Amazon Lex\n can prompt a user for specific information), or the Lambda function failed to fulfill the\n intent.

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            The sentiment expressed in and utterance.

                            \n

                            When the bot is configured to send utterances to Amazon Comprehend for sentiment analysis,\n this field contains the result of the analysis.

                            " } }, - "sessionId": { - "target": "com.amazonaws.lexruntimeservice#String", + "messageFormat": { + "target": "com.amazonaws.lexruntimeservice#MessageFormatType", "traits": { - "smithy.api#documentation": "

                            A unique identifier for the session.

                            " + "smithy.api#documentation": "

                            The format of the response message. One of the following values:

                            \n
                              \n
                            • \n

                              \n PlainText - The message contains plain UTF-8 text.

                              \n
                            • \n
                            • \n

                              \n CustomPayload - The message is a custom format defined by the Lambda\n function.

                              \n
                            • \n
                            • \n

                              \n SSML - The message contains text formatted for voice output.

                              \n
                            • \n
                            • \n

                              \n Composite - The message contains an escaped JSON object containing one or\n more messages from the groups that messages were assigned to when the intent was\n created.

                              \n
                            • \n
                            " } }, - "botVersion": { - "target": "com.amazonaws.lexruntimeservice#BotVersion", + "dialogState": { + "target": "com.amazonaws.lexruntimeservice#DialogState", "traits": { - "smithy.api#documentation": "

                            The version of the bot that responded to the conversation. You can use this information to\n help determine if one version of a bot is performing better than another version.

                            \n

                            If you have enabled the new natural language understanding (NLU) model, you can use this\n to determine if the improvement is due to changes to the bot or changes to the NLU.

                            \n

                            For more information about enabling the new NLU, see the enableModelImprovements parameter of the PutBot operation.

                            " + "smithy.api#documentation": "

                            Identifies the current state of the user interaction. Amazon Lex returns one of the following\n values as dialogState. The client can optionally use this information to\n customize the user interface.

                            \n
                              \n
                            • \n

                              \n ElicitIntent - Amazon Lex wants to elicit user intent.

                              \n

                              For example, a user might utter an intent (\"I want to order a pizza\"). If Amazon Lex cannot\n infer the user intent from this utterance, it will return this dialogState.

                              \n
                            • \n
                            • \n

                              \n ConfirmIntent - Amazon Lex is expecting a \"yes\" or \"no\" response.

                              \n

                              For example, Amazon Lex wants user confirmation before fulfilling an intent.

                              \n

                              Instead of a simple \"yes\" or \"no,\" a user might respond with additional information.\n For example, \"yes, but make it thick crust pizza\" or \"no, I want to order a drink\".\n Amazon Lex can process such additional information (in these examples, update the crust\n type slot value, or change intent from OrderPizza to OrderDrink).

                              \n
                            • \n
                            • \n

                              \n ElicitSlot - Amazon Lex is expecting a slot value for the current intent.

                              \n

                              For example, suppose that in the response Amazon Lex sends this message: \"What size pizza\n would you like?\". A user might reply with the slot value (e.g., \"medium\"). The user might\n also provide additional information in the response (e.g., \"medium thick crust pizza\").\n Amazon Lex can process such additional information appropriately.

                              \n
                            • \n
                            • \n

                              \n Fulfilled - Conveys that the Lambda function configured for the intent has\n successfully fulfilled the intent.

                              \n\n
                            • \n
                            • \n

                              \n ReadyForFulfillment - Conveys that the client has to fulfill the intent.\n

                              \n
                            • \n
                            • \n

                              \n Failed - Conveys that the conversation with the user failed.

                              \n

                              This can happen for various reasons including that the user did not provide an\n appropriate response to prompts from the service (you can configure how many times Amazon Lex\n can prompt a user for specific information), or the Lambda function failed to fulfill the\n intent.

                              \n
                            • \n
                            " } }, - "sentimentResponse": { - "target": "com.amazonaws.lexruntimeservice#SentimentResponse", + "slotToElicit": { + "target": "com.amazonaws.lexruntimeservice#String", "traits": { - "smithy.api#documentation": "

                            The sentiment expressed in and utterance.

                            \n

                            When the bot is configured to send utterances to Amazon Comprehend for sentiment analysis,\n this field contains the result of the analysis.

                            " + "smithy.api#documentation": "

                            If the dialogState value is ElicitSlot, returns the name of the\n slot for which Amazon Lex is eliciting a value.

                            " } }, "responseCard": { @@ -1148,28 +1302,22 @@ "smithy.api#documentation": "

                            Represents the options that the user has to respond to the current prompt. Response Card\n can come from the bot configuration (in the Amazon Lex console, choose the settings button next\n to a slot) or from a code hook (Lambda function).

                            " } }, - "sessionAttributes": { - "target": "com.amazonaws.lexruntimeservice#StringMap", - "traits": { - "smithy.api#documentation": "

                            A map of key-value pairs representing the session-specific context information.

                            " - } - }, - "nluIntentConfidence": { - "target": "com.amazonaws.lexruntimeservice#IntentConfidence", + "sessionId": { + "target": "com.amazonaws.lexruntimeservice#String", "traits": { - "smithy.api#documentation": "

                            Provides a score that indicates how confident Amazon Lex is that the returned intent is the one\n that matches the user's intent. The score is between 0.0 and 1.0. For more information, see\n Confidence\n Scores.

                            \n

                            The score is a relative score, not an absolute score. The score may change based on\n improvements to the Amazon Lex natural language understanding (NLU) model.

                            " + "smithy.api#documentation": "

                            A unique identifier for the session.

                            " } }, - "slotToElicit": { - "target": "com.amazonaws.lexruntimeservice#String", + "botVersion": { + "target": "com.amazonaws.lexruntimeservice#BotVersion", "traits": { - "smithy.api#documentation": "

                            If the dialogState value is ElicitSlot, returns the name of the\n slot for which Amazon Lex is eliciting a value.

                            " + "smithy.api#documentation": "

                            The version of the bot that responded to the conversation. You can use this information to\n help determine if one version of a bot is performing better than another version.

                            " } }, - "slots": { - "target": "com.amazonaws.lexruntimeservice#StringMap", + "activeContexts": { + "target": "com.amazonaws.lexruntimeservice#ActiveContextsList", "traits": { - "smithy.api#documentation": "

                            The intent slots that Amazon Lex detected from the user input in the conversation.

                            \n

                            Amazon Lex creates a resolution list containing likely values for a slot. The value that it\n returns is determined by the valueSelectionStrategy selected when the slot type\n was created or updated. If valueSelectionStrategy is set to\n ORIGINAL_VALUE, the value provided by the user is returned, if the user value\n is similar to the slot values. If valueSelectionStrategy is set to\n TOP_RESOLUTION Amazon Lex returns the first value in the resolution list or, if\n there is no resolution list, null. If you don't specify a valueSelectionStrategy,\n the default is ORIGINAL_VALUE.

                            " + "smithy.api#documentation": "

                            A list of active contexts for the session. A context can be set when an intent\n is fulfilled or by calling the PostContent, PostText,\n or PutSession operation.

                            \n

                            You can use a context to control the intents that can follow up an intent,\n or to modify the operation of your application.

                            " } } } @@ -1177,10 +1325,10 @@ "com.amazonaws.lexruntimeservice#PredictedIntent": { "type": "structure", "members": { - "slots": { - "target": "com.amazonaws.lexruntimeservice#StringMap", + "intentName": { + "target": "com.amazonaws.lexruntimeservice#IntentName", "traits": { - "smithy.api#documentation": "

                            The slot and slot values associated with the predicted intent.

                            " + "smithy.api#documentation": "

                            The name of the intent that Amazon Lex suggests satisfies the user's intent.

                            " } }, "nluIntentConfidence": { @@ -1189,10 +1337,10 @@ "smithy.api#documentation": "

                            Indicates how confident Amazon Lex is that an intent satisfies the user's intent.

                            " } }, - "intentName": { - "target": "com.amazonaws.lexruntimeservice#IntentName", + "slots": { + "target": "com.amazonaws.lexruntimeservice#StringMap", "traits": { - "smithy.api#documentation": "

                            The name of the intent that Amazon Lex suggests satisfies the user's intent.

                            " + "smithy.api#documentation": "

                            The slot and slot values associated with the predicted intent.

                            " } } }, @@ -1246,23 +1394,28 @@ "com.amazonaws.lexruntimeservice#PutSessionRequest": { "type": "structure", "members": { - "accept": { - "target": "com.amazonaws.lexruntimeservice#Accept", + "botName": { + "target": "com.amazonaws.lexruntimeservice#BotName", "traits": { - "smithy.api#documentation": "

                            The message that Amazon Lex returns in the response can be either text or speech based\n depending on the value of this field.

                            \n
                              \n
                            • \n

                              If the value is text/plain; charset=utf-8, Amazon Lex returns text in the\n response.

                              \n
                            • \n
                            • \n

                              If the value begins with audio/, Amazon Lex returns speech in the response.\n Amazon Lex uses Amazon Polly to generate the speech in the configuration that you specify. For\n example, if you specify audio/mpeg as the value, Amazon Lex returns speech in the\n MPEG format.

                              \n
                            • \n
                            • \n

                              If the value is audio/pcm, the speech is returned as\n audio/pcm in 16-bit, little endian format.

                              \n
                            • \n
                            • \n

                              The following are the accepted values:

                              \n
                                \n
                              • \n

                                \n audio/mpeg\n

                                \n
                              • \n
                              • \n

                                \n audio/ogg\n

                                \n
                              • \n
                              • \n

                                \n audio/pcm\n

                                \n
                              • \n
                              • \n

                                \n audio/* (defaults to mpeg)

                                \n
                              • \n
                              • \n

                                \n text/plain; charset=utf-8\n

                                \n
                              • \n
                              \n
                            • \n
                            ", - "smithy.api#httpHeader": "Accept" + "smithy.api#documentation": "

                            The name of the bot that contains the session data.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, - "dialogAction": { - "target": "com.amazonaws.lexruntimeservice#DialogAction", + "botAlias": { + "target": "com.amazonaws.lexruntimeservice#BotAlias", "traits": { - "smithy.api#documentation": "

                            Sets the next action that the bot should take to fulfill the conversation.

                            " + "smithy.api#documentation": "

                            The alias in use for the bot that contains the session data.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, - "recentIntentSummaryView": { - "target": "com.amazonaws.lexruntimeservice#IntentSummaryList", + "userId": { + "target": "com.amazonaws.lexruntimeservice#UserId", "traits": { - "smithy.api#documentation": "

                            A summary of the recent intents for the bot. You can use the intent summary view to set a\n checkpoint label on an intent and modify attributes of intents. You can also use it to remove\n or add intent summary objects to the list.

                            \n

                            An intent that you modify or add to the list must make sense for the bot. For example, the\n intent name must be valid for the bot. You must provide valid values for:

                            \n
                              \n
                            • \n

                              \n intentName\n

                              \n
                            • \n
                            • \n

                              slot names

                              \n
                            • \n
                            • \n

                              \n slotToElict\n

                              \n
                            • \n
                            \n

                            If you send the recentIntentSummaryView parameter in a\n PutSession request, the contents of the new summary view replaces the old\n summary view. For example, if a GetSession request returns three intents in the\n summary view and you call PutSession with one intent in the summary view, the\n next call to GetSession will only return one intent.

                            " + "smithy.api#documentation": "

                            The ID of the client application user. Amazon Lex uses this to identify a user's conversation\n with your bot.

                            ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, "sessionAttributes": { @@ -1271,28 +1424,29 @@ "smithy.api#documentation": "

                            Map of key/value pairs representing the session-specific context information. It contains\n application information passed between Amazon Lex and a client application.

                            " } }, - "userId": { - "target": "com.amazonaws.lexruntimeservice#UserId", + "dialogAction": { + "target": "com.amazonaws.lexruntimeservice#DialogAction", "traits": { - "smithy.api#documentation": "

                            The ID of the client application user. Amazon Lex uses this to identify a user's conversation\n with your bot.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#documentation": "

                            Sets the next action that the bot should take to fulfill the conversation.

                            " } }, - "botAlias": { - "target": "com.amazonaws.lexruntimeservice#BotAlias", + "recentIntentSummaryView": { + "target": "com.amazonaws.lexruntimeservice#IntentSummaryList", "traits": { - "smithy.api#documentation": "

                            The alias in use for the bot that contains the session data.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#documentation": "

                            A summary of the recent intents for the bot. You can use the intent summary view to set a\n checkpoint label on an intent and modify attributes of intents. You can also use it to remove\n or add intent summary objects to the list.

                            \n

                            An intent that you modify or add to the list must make sense for the bot. For example, the\n intent name must be valid for the bot. You must provide valid values for:

                            \n
                              \n
                            • \n

                              \n intentName\n

                              \n
                            • \n
                            • \n

                              slot names

                              \n
                            • \n
                            • \n

                              \n slotToElict\n

                              \n
                            • \n
                            \n

                            If you send the recentIntentSummaryView parameter in a\n PutSession request, the contents of the new summary view replaces the old\n summary view. For example, if a GetSession request returns three intents in the\n summary view and you call PutSession with one intent in the summary view, the\n next call to GetSession will only return one intent.

                            " } }, - "botName": { - "target": "com.amazonaws.lexruntimeservice#BotName", + "accept": { + "target": "com.amazonaws.lexruntimeservice#Accept", "traits": { - "smithy.api#documentation": "

                            The name of the bot that contains the session data.

                            ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#documentation": "

                            The message that Amazon Lex returns in the response can be either text or speech based\n depending on the value of this field.

                            \n
                              \n
                            • \n

                              If the value is text/plain; charset=utf-8, Amazon Lex returns text in the\n response.

                              \n
                            • \n
                            • \n

                              If the value begins with audio/, Amazon Lex returns speech in the response.\n Amazon Lex uses Amazon Polly to generate the speech in the configuration that you specify. For\n example, if you specify audio/mpeg as the value, Amazon Lex returns speech in the\n MPEG format.

                              \n
                            • \n
                            • \n

                              If the value is audio/pcm, the speech is returned as\n audio/pcm in 16-bit, little endian format.

                              \n
                            • \n
                            • \n

                              The following are the accepted values:

                              \n
                                \n
                              • \n

                                \n audio/mpeg\n

                                \n
                              • \n
                              • \n

                                \n audio/ogg\n

                                \n
                              • \n
                              • \n

                                \n audio/pcm\n

                                \n
                              • \n
                              • \n

                                \n audio/* (defaults to mpeg)

                                \n
                              • \n
                              • \n

                                \n text/plain; charset=utf-8\n

                                \n
                              • \n
                              \n
                            • \n
                            ", + "smithy.api#httpHeader": "Accept" + } + }, + "activeContexts": { + "target": "com.amazonaws.lexruntimeservice#ActiveContextsList", + "traits": { + "smithy.api#documentation": "

                            A list of contexts active for the request. A context can be activated when a previous\n intent is fulfilled, or by including the context in the request,

                            \n

                            If you don't specify a list of contexts, Amazon Lex will use the current list of contexts for\n the session. If you specify an empty list, all contexts for the session are cleared.

                            " } } } @@ -1314,11 +1468,11 @@ "smithy.api#httpHeader": "x-amz-lex-intent-name" } }, - "messageFormat": { - "target": "com.amazonaws.lexruntimeservice#MessageFormatType", + "slots": { + "target": "com.amazonaws.lexruntimeservice#SynthesizedJsonString", "traits": { - "smithy.api#documentation": "

                            The format of the response message. One of the following values:

                            \n
                              \n
                            • \n

                              \n PlainText - The message contains plain UTF-8 text.

                              \n
                            • \n
                            • \n

                              \n CustomPayload - The message is a custom format for the client.

                              \n
                            • \n
                            • \n

                              \n SSML - The message contains text formatted for voice output.

                              \n
                            • \n
                            • \n

                              \n Composite - The message contains an escaped JSON object containing one or\n more messages from the groups that messages were assigned to when the intent was\n created.

                              \n
                            • \n
                            ", - "smithy.api#httpHeader": "x-amz-lex-message-format" + "smithy.api#documentation": "

                            Map of zero or more intent slots Amazon Lex detected from the user input during the\n conversation.

                            \n

                            Amazon Lex creates a resolution list containing likely values for a slot. The value that it\n returns is determined by the valueSelectionStrategy selected when the slot type\n was created or updated. If valueSelectionStrategy is set to\n ORIGINAL_VALUE, the value provided by the user is returned, if the user value\n is similar to the slot values. If valueSelectionStrategy is set to\n TOP_RESOLUTION Amazon Lex returns the first value in the resolution list or, if\n there is no resolution list, null. If you don't specify a valueSelectionStrategy\n the default is ORIGINAL_VALUE.

                            ", + "smithy.api#httpHeader": "x-amz-lex-slots" } }, "sessionAttributes": { @@ -1328,27 +1482,6 @@ "smithy.api#httpHeader": "x-amz-lex-session-attributes" } }, - "sessionId": { - "target": "com.amazonaws.lexruntimeservice#String", - "traits": { - "smithy.api#documentation": "

                            A unique identifier for the session.

                            ", - "smithy.api#httpHeader": "x-amz-lex-session-id" - } - }, - "slotToElicit": { - "target": "com.amazonaws.lexruntimeservice#String", - "traits": { - "smithy.api#documentation": "

                            If the dialogState is ElicitSlot, returns the name of the slot\n for which Amazon Lex is eliciting a value.

                            ", - "smithy.api#httpHeader": "x-amz-lex-slot-to-elicit" - } - }, - "slots": { - "target": "com.amazonaws.lexruntimeservice#SynthesizedJsonString", - "traits": { - "smithy.api#documentation": "

                            Map of zero or more intent slots Amazon Lex detected from the user input during the\n conversation.

                            \n

                            Amazon Lex creates a resolution list containing likely values for a slot. The value that it\n returns is determined by the valueSelectionStrategy selected when the slot type\n was created or updated. If valueSelectionStrategy is set to\n ORIGINAL_VALUE, the value provided by the user is returned, if the user value\n is similar to the slot values. If valueSelectionStrategy is set to\n TOP_RESOLUTION Amazon Lex returns the first value in the resolution list or, if\n there is no resolution list, null. If you don't specify a valueSelectionStrategy\n the default is ORIGINAL_VALUE.

                            ", - "smithy.api#httpHeader": "x-amz-lex-slots" - } - }, "message": { "target": "com.amazonaws.lexruntimeservice#Text", "traits": { @@ -1356,6 +1489,13 @@ "smithy.api#httpHeader": "x-amz-lex-message" } }, + "messageFormat": { + "target": "com.amazonaws.lexruntimeservice#MessageFormatType", + "traits": { + "smithy.api#documentation": "

                            The format of the response message. One of the following values:

                            \n
                              \n
                            • \n

                              \n PlainText - The message contains plain UTF-8 text.

                              \n
                            • \n
                            • \n

                              \n CustomPayload - The message is a custom format for the client.

                              \n
                            • \n
                            • \n

                              \n SSML - The message contains text formatted for voice output.

                              \n
                            • \n
                            • \n

                              \n Composite - The message contains an escaped JSON object containing one or\n more messages from the groups that messages were assigned to when the intent was\n created.

                              \n
                            • \n
                            ", + "smithy.api#httpHeader": "x-amz-lex-message-format" + } + }, "dialogState": { "target": "com.amazonaws.lexruntimeservice#DialogState", "traits": { @@ -1363,12 +1503,33 @@ "smithy.api#httpHeader": "x-amz-lex-dialog-state" } }, + "slotToElicit": { + "target": "com.amazonaws.lexruntimeservice#String", + "traits": { + "smithy.api#documentation": "

                            If the dialogState is ElicitSlot, returns the name of the slot\n for which Amazon Lex is eliciting a value.

                            ", + "smithy.api#httpHeader": "x-amz-lex-slot-to-elicit" + } + }, "audioStream": { "target": "com.amazonaws.lexruntimeservice#BlobStream", "traits": { "smithy.api#documentation": "

                            The audio version of the message to convey to the user.

                            ", "smithy.api#httpPayload": {} } + }, + "sessionId": { + "target": "com.amazonaws.lexruntimeservice#String", + "traits": { + "smithy.api#documentation": "

                            A unique identifier for the session.

                            ", + "smithy.api#httpHeader": "x-amz-lex-session-id" + } + }, + "activeContexts": { + "target": "com.amazonaws.lexruntimeservice#SynthesizedJsonActiveContextsString", + "traits": { + "smithy.api#documentation": "

                            A list of active contexts for the session.

                            ", + "smithy.api#httpHeader": "x-amz-lex-active-contexts" + } } } }, @@ -1388,18 +1549,18 @@ "com.amazonaws.lexruntimeservice#ResponseCard": { "type": "structure", "members": { - "contentType": { - "target": "com.amazonaws.lexruntimeservice#ContentType", - "traits": { - "smithy.api#documentation": "

                            The content type of the response.

                            " - } - }, "version": { "target": "com.amazonaws.lexruntimeservice#String", "traits": { "smithy.api#documentation": "

                            The version of the response card format.

                            " } }, + "contentType": { + "target": "com.amazonaws.lexruntimeservice#ContentType", + "traits": { + "smithy.api#documentation": "

                            The content type of the response.

                            " + } + }, "genericAttachments": { "target": "com.amazonaws.lexruntimeservice#genericAttachmentList", "traits": { @@ -1470,6 +1631,13 @@ } } }, + "com.amazonaws.lexruntimeservice#SynthesizedJsonActiveContextsString": { + "type": "string", + "traits": { + "smithy.api#mediaType": "application/json", + "smithy.api#sensitive": {} + } + }, "com.amazonaws.lexruntimeservice#SynthesizedJsonAttributesString": { "type": "string", "traits": { diff --git a/codegen/sdk-codegen/aws-models/macie2.2020-01-01.json b/codegen/sdk-codegen/aws-models/macie2.2020-01-01.json index 7953d13c7454..53ecd7b79c19 100644 --- a/codegen/sdk-codegen/aws-models/macie2.2020-01-01.json +++ b/codegen/sdk-codegen/aws-models/macie2.2020-01-01.json @@ -525,14 +525,14 @@ "kmsManaged": { "target": "com.amazonaws.macie2#__long", "traits": { - "smithy.api#documentation": "

                            The total number of buckets that use an AWS Key Management Service (AWS KMS) customer master key (CMK) to encrypt objects. These buckets use AWS KMS AWS-managed (AWS-KMS) encryption or AWS KMS customer-managed (SSE-KMS) encryption.

                            ", + "smithy.api#documentation": "

                            The total number of buckets that use an AWS Key Management Service (AWS KMS) customer master key (CMK) to encrypt objects. These buckets use AWS managed AWS KMS (AWS-KMS) encryption or customer managed AWS KMS (SSE-KMS) encryption.

                            ", "smithy.api#jsonName": "kmsManaged" } }, "s3Managed": { "target": "com.amazonaws.macie2#__long", "traits": { - "smithy.api#documentation": "

                            The total number of buckets that use an Amazon S3-managed key to encrypt objects. These buckets use Amazon S3-managed (SSE-S3) encryption.

                            ", + "smithy.api#documentation": "

                            The total number of buckets that use an Amazon S3 managed key to encrypt objects. These buckets use Amazon S3 managed (SSE-S3) encryption.

                            ", "smithy.api#jsonName": "s3Managed" } }, @@ -727,6 +727,13 @@ "smithy.api#jsonName": "classifiableSizeInBytes" } }, + "jobDetails": { + "target": "com.amazonaws.macie2#JobDetails", + "traits": { + "smithy.api#documentation": "

                            Specifies whether any one-time or recurring classification jobs are configured to analyze data in the bucket, and, if so, the details of the job that ran most recently.

                            ", + "smithy.api#jsonName": "jobDetails" + } + }, "lastUpdated": { "target": "com.amazonaws.macie2#__timestampIso8601", "traits": { @@ -1698,7 +1705,7 @@ "eqExactMatch": { "target": "com.amazonaws.macie2#__listOf__string", "traits": { - "smithy.api#documentation": "

                            A condition that requires an array field on a finding to exactly match the specified property values. You can use this operator with the following properties: customDataIdentifiers.detections.arn, customDataIdentifiers.detections.name, resourcesAffected.s3Bucket.tags.key, resourcesAffected.s3Bucket.tags.value, resourcesAffected.s3Object.tags.key, resourcesAffected.s3Object.tags.value, sensitiveData.category, and sensitiveData.detections.type.

                            ", + "smithy.api#documentation": "

                            A condition that requires an array field to exactly match the specified property values. You can use this operator with the following properties: customDataIdentifiers.detections.arn, customDataIdentifiers.detections.name, resourcesAffected.s3Bucket.tags.key, resourcesAffected.s3Bucket.tags.value, resourcesAffected.s3Object.tags.key, resourcesAffected.s3Object.tags.value, sensitiveData.category, and sensitiveData.detections.type.

                            ", "smithy.api#jsonName": "eqExactMatch" } }, @@ -2452,7 +2459,7 @@ "jobStatus": { "target": "com.amazonaws.macie2#JobStatus", "traits": { - "smithy.api#documentation": "

                            The current status of the job. Possible values are:

                            • CANCELLED - You cancelled the job, or you paused the job and didn't resume it within 30 days of pausing it.

                            • COMPLETE - For a one-time job, Amazon Macie finished processing all the data specified for the job. This value doesn't apply to recurring jobs.

                            • IDLE - For a recurring job, the previous scheduled run is complete and the next scheduled run is pending. This value doesn't apply to one-time jobs.

                            • PAUSED - Amazon Macie started running the job but completion of the job would exceed one or more quotas for your account.

                            • RUNNING - For a one-time job, the job is in progress. For a recurring job, a scheduled run is in progress.

                            • USER_PAUSED - You paused the job. If you don't resume the job within 30 days of pausing it, the job will expire and be cancelled.

                            ", + "smithy.api#documentation": "

                            The current status of the job. Possible values are:

                            • CANCELLED - You cancelled the job, or you paused the job while it had a status of RUNNING and you didn't resume it within 30 days of pausing it.

                            • COMPLETE - For a one-time job, Amazon Macie finished processing the data specified for the job. This value doesn't apply to recurring jobs.

                            • IDLE - For a recurring job, the previous scheduled run is complete and the next scheduled run is pending. This value doesn't apply to one-time jobs.

                            • PAUSED - Amazon Macie started running the job but additional processing would exceed the monthly sensitive data discovery quota for your account or one or more member accounts that the job analyzes data for.

                            • RUNNING - For a one-time job, the job is in progress. For a recurring job, a scheduled run is in progress.

                            • USER_PAUSED - You paused the job. If you paused the job while it had a status of RUNNING and you don't resume the job within 30 days of pausing it, the job expires and is cancelled. To check the job's expiration date, refer to the UserPausedDetails.jobExpiresAt property.

                            ", "smithy.api#jsonName": "jobStatus" } }, @@ -2473,7 +2480,7 @@ "lastRunTime": { "target": "com.amazonaws.macie2#__timestampIso8601", "traits": { - "smithy.api#documentation": "

                            The date and time, in UTC and extended ISO 8601 format, when the job last ran.

                            ", + "smithy.api#documentation": "

                            The date and time, in UTC and extended ISO 8601 format, when the job started. If the job is a recurring job, this value indicates when the most recent run started.

                            ", "smithy.api#jsonName": "lastRunTime" } }, @@ -4787,6 +4794,44 @@ "smithy.api#documentation": "

                            Provides information about the registered owner of an IP address.

                            " } }, + "com.amazonaws.macie2#IsDefinedInJob": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "TRUE", + "name": "TRUE" + }, + { + "value": "FALSE", + "name": "FALSE" + }, + { + "value": "UNKNOWN", + "name": "UNKNOWN" + } + ] + } + }, + "com.amazonaws.macie2#IsMonitoredByJob": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "TRUE", + "name": "TRUE" + }, + { + "value": "FALSE", + "name": "FALSE" + }, + { + "value": "UNKNOWN", + "name": "UNKNOWN" + } + ] + } + }, "com.amazonaws.macie2#JobComparator": { "type": "string", "traits": { @@ -4823,6 +4868,42 @@ ] } }, + "com.amazonaws.macie2#JobDetails": { + "type": "structure", + "members": { + "isDefinedInJob": { + "target": "com.amazonaws.macie2#IsDefinedInJob", + "traits": { + "smithy.api#documentation": "

                            Specifies whether any one-time or recurring jobs are configured to analyze data in the bucket. Possible values are:

                            • TRUE - One or more jobs is configured to analyze data in the bucket, and at least one of those jobs has a status other than CANCELLED.

                            • FALSE - No jobs are configured to analyze data in the bucket, or all the jobs that are configured to analyze data in the bucket have a status of CANCELLED.

                            • UNKNOWN - An exception occurred when Amazon Macie attempted to retrieve job data for the bucket.

                            ", + "smithy.api#jsonName": "isDefinedInJob" + } + }, + "isMonitoredByJob": { + "target": "com.amazonaws.macie2#IsMonitoredByJob", + "traits": { + "smithy.api#documentation": "

                            Specifies whether any recurring jobs are configured to analyze data in the bucket. Possible values are:

                            • TRUE - One or more recurring jobs is configured to analyze data in the bucket, and at least one of those jobs has a status other than CANCELLED.

                            • FALSE - No recurring jobs are configured to analyze data in the bucket, or all the recurring jobs that are configured to analyze data in the bucket have a status of CANCELLED.

                            • UNKNOWN - An exception occurred when Amazon Macie attempted to retrieve job data for the bucket.

                            ", + "smithy.api#jsonName": "isMonitoredByJob" + } + }, + "lastJobId": { + "target": "com.amazonaws.macie2#__string", + "traits": { + "smithy.api#documentation": "

                            The unique identifier for the job that ran most recently (either the latest run of a recurring job or the only run of a one-time job) and is configured to analyze data in the bucket.

                            This value is null if the value for the isDefinedInJob property is FALSE or UNKNOWN.

                            ", + "smithy.api#jsonName": "lastJobId" + } + }, + "lastJobRunTime": { + "target": "com.amazonaws.macie2#__timestampIso8601", + "traits": { + "smithy.api#documentation": "

                            The date and time, in UTC and extended ISO 8601 format, when the job (lastJobId) started. If the job is a recurring job, this value indicates when the most recent run started.

                            This value is null if the value for the isDefinedInJob property is FALSE or UNKNOWN.

                            ", + "smithy.api#jsonName": "lastJobRunTime" + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Specifies whether any one-time or recurring classification jobs are configured to analyze data in an S3 bucket, and, if so, the details of the job that ran most recently.

                            " + } + }, "com.amazonaws.macie2#JobScheduleFrequency": { "type": "structure", "members": { @@ -4948,7 +5029,7 @@ "jobStatus": { "target": "com.amazonaws.macie2#JobStatus", "traits": { - "smithy.api#documentation": "

                            The current status of the job. Possible values are:

                            • CANCELLED - You cancelled the job, or you paused the job and didn't resume it within 30 days of pausing it.

                            • COMPLETE - For a one-time job, Amazon Macie finished processing all the data specified for the job. This value doesn't apply to recurring jobs.

                            • IDLE - For a recurring job, the previous scheduled run is complete and the next scheduled run is pending. This value doesn't apply to one-time jobs.

                            • PAUSED - Amazon Macie started running the job but completion of the job would exceed one or more quotas for your account.

                            • RUNNING - For a one-time job, the job is in progress. For a recurring job, a scheduled run is in progress.

                            • USER_PAUSED - You paused the job. If you don't resume the job within 30 days of pausing it, the job will expire and be cancelled.

                            ", + "smithy.api#documentation": "

                            The current status of the job. Possible values are:

                            • CANCELLED - You cancelled the job, or you paused the job while it had a status of RUNNING and you didn't resume it within 30 days of pausing it.

                            • COMPLETE - For a one-time job, Amazon Macie finished processing the data specified for the job. This value doesn't apply to recurring jobs.

                            • IDLE - For a recurring job, the previous scheduled run is complete and the next scheduled run is pending. This value doesn't apply to one-time jobs.

                            • PAUSED - Amazon Macie started running the job but additional processing would exceed the monthly sensitive data discovery quota for your account or one or more member accounts that the job analyzes data for.

                            • RUNNING - For a one-time job, the job is in progress. For a recurring job, a scheduled run is in progress.

                            • USER_PAUSED - You paused the job. If you paused the job while it had a status of RUNNING and you don't resume the job within 30 days of pausing it, the job expires and is cancelled. To check the job's expiration date, refer to the UserPausedDetails.jobExpiresAt property.

                            ", "smithy.api#jsonName": "jobStatus" } }, @@ -5050,7 +5131,7 @@ "com.amazonaws.macie2#LastRunErrorStatusCode": { "type": "string", "traits": { - "smithy.api#documentation": "

                            Specifies whether any account- or bucket-level access errors occurred during the run of a one-time classification job ran or the most recent run of a recurring classification job. Possible values are:

                            ", + "smithy.api#documentation": "

                            Specifies whether any account- or bucket-level access errors occurred during the run of a one-time classification job or the most recent run of a recurring classification job. Possible values are:

                            ", "smithy.api#enum": [ { "value": "NONE", @@ -6139,14 +6220,14 @@ "kmsManaged": { "target": "com.amazonaws.macie2#__long", "traits": { - "smithy.api#documentation": "

                            The total number of objects that are encrypted using an AWS Key Management Service (AWS KMS) customer master key (CMK). The objects use AWS KMS AWS-managed (AWS-KMS) encryption or AWS KMS customer-managed (SSE-KMS) encryption.

                            ", + "smithy.api#documentation": "

                            The total number of objects that are encrypted using an AWS Key Management Service (AWS KMS) customer master key (CMK). The objects use AWS managed AWS KMS (AWS-KMS) encryption or customer managed AWS KMS (SSE-KMS) encryption.

                            ", "smithy.api#jsonName": "kmsManaged" } }, "s3Managed": { "target": "com.amazonaws.macie2#__long", "traits": { - "smithy.api#documentation": "

                            The total number of objects that are encrypted using an Amazon S3-managed key. The objects use Amazon S3-managed (SSE-S3) encryption.

                            ", + "smithy.api#documentation": "

                            The total number of objects that are encrypted using an Amazon S3 managed key. The objects use Amazon S3 managed (SSE-S3) encryption.

                            ", "smithy.api#jsonName": "s3Managed" } }, @@ -6622,7 +6703,7 @@ "accountId": { "target": "com.amazonaws.macie2#__string", "traits": { - "smithy.api#documentation": "

                            The unique identifier for the AWS account that owns one or more of the buckets. If specified, the job analyzes objects in all the buckets that are owned by the account and meet other conditions specified for the job.

                            ", + "smithy.api#documentation": "

                            The unique identifier for the AWS account that owns the buckets. If you specify this value and don't specify a value for the buckets array, the job analyzes objects in all the buckets that are owned by the account and meet other conditions specified for the job.

                            ", "smithy.api#jsonName": "accountId" } }, @@ -6635,7 +6716,7 @@ } }, "traits": { - "smithy.api#documentation": "

                            Specifies which S3 buckets contain the objects that a classification job analyzes.

                            " + "smithy.api#documentation": "

                            Specifies which AWS account owns the S3 buckets that a classification job analyzes, and the buckets to analyze for the account.

                            " } }, "com.amazonaws.macie2#S3BucketOwner": { @@ -6697,7 +6778,7 @@ "bucketDefinitions": { "target": "com.amazonaws.macie2#__listOfS3BucketDefinitionForJob", "traits": { - "smithy.api#documentation": "

                            An array of objects, one for each bucket that contains objects to analyze.

                            ", + "smithy.api#documentation": "

                            An array of objects, one for each AWS account that owns buckets to analyze. Each object specifies the account ID for an account and one or more buckets to analyze for the account.

                            ", "smithy.api#jsonName": "bucketDefinitions" } }, @@ -7617,7 +7698,7 @@ "jobStatus": { "target": "com.amazonaws.macie2#JobStatus", "traits": { - "smithy.api#documentation": "

                            The new status for the job. Valid values are:

                            • CANCELLED - Stops the job permanently and cancels it. You can't resume a job after you cancel it. This value is valid only if the job's current status is IDLE, PAUSED, RUNNING, or USER_PAUSED.

                            • RUNNING - Resumes the job. This value is valid only if the job's current status is USER_PAUSED. If you specify this value, Amazon Macie immediately resumes the job.

                            • USER_PAUSED - Pauses the job. This value is valid only if the job's current status is IDLE or RUNNING. If you specify this value and the job is currently running, Macie immediately stops running the job.

                              To resume a job after you pause it, change the job's status to RUNNING. If you don't resume a job within 30 days of pausing it, the job expires and Macie cancels it. You can't resume a job after it's cancelled.

                            ", + "smithy.api#documentation": "

                            The new status for the job. Valid values are:

                            • CANCELLED - Stops the job permanently and cancels it. You can't resume a job after you cancel it. This value is valid only if the job's current status is IDLE, PAUSED, RUNNING, or USER_PAUSED.

                            • RUNNING - Resumes the job. This value is valid only if the job's current status is USER_PAUSED. If you specify this value, Amazon Macie immediately resumes processing from the point where you paused the job. Otherwise, Macie resumes the job according to the schedule and other configuration settings for the job.

                            • USER_PAUSED - Pauses the job. This value is valid only if the job's current status is IDLE or RUNNING. If you specify this value and the job's current status is RUNNING, Macie immediately begins to pause all processing tasks for the job.

                              If you pause a job when its status is RUNNING and you don't resume the job within 30 days, the job expires and Macie cancels it. You can't resume a job after it's cancelled.

                            ", "smithy.api#jsonName": "jobStatus", "smithy.api#required": {} } @@ -8309,7 +8390,7 @@ } }, "traits": { - "smithy.api#documentation": "

                            Provides information about when a classification job was paused and when it will expire and be cancelled if it isn't resumed. This object is present only if a job's current status (jobStatus) is USER_PAUSED.

                            " + "smithy.api#documentation": "

                            Provides information about when a classification job was paused and when it will expire and be cancelled if it isn't resumed. This object is present only if a job's current status (jobStatus) is USER_PAUSED. The information in this object applies only to a job that was paused while it had a status of RUNNING.

                            " } }, "com.amazonaws.macie2#ValidationException": { diff --git a/codegen/sdk-codegen/aws-models/medialive.2017-10-14.json b/codegen/sdk-codegen/aws-models/medialive.2017-10-14.json index 17cece035d17..36569fa51653 100644 --- a/codegen/sdk-codegen/aws-models/medialive.2017-10-14.json +++ b/codegen/sdk-codegen/aws-models/medialive.2017-10-14.json @@ -4537,6 +4537,13 @@ "smithy.api#jsonName": "deviceSettingsSyncState" } }, + "DeviceUpdateStatus": { + "target": "com.amazonaws.medialive#DeviceUpdateStatus", + "traits": { + "smithy.api#documentation": "The status of software on the input device.", + "smithy.api#jsonName": "deviceUpdateStatus" + } + }, "HdDeviceSettings": { "target": "com.amazonaws.medialive#InputDeviceHdSettings", "traits": { @@ -5616,6 +5623,22 @@ ] } }, + "com.amazonaws.medialive#DeviceUpdateStatus": { + "type": "string", + "traits": { + "smithy.api#documentation": "The status of software on the input device.", + "smithy.api#enum": [ + { + "value": "UP_TO_DATE", + "name": "UP_TO_DATE" + }, + { + "value": "NOT_UP_TO_DATE", + "name": "NOT_UP_TO_DATE" + } + ] + } + }, "com.amazonaws.medialive#DvbNitSettings": { "type": "structure", "members": { @@ -10200,6 +10223,13 @@ "smithy.api#jsonName": "deviceSettingsSyncState" } }, + "DeviceUpdateStatus": { + "target": "com.amazonaws.medialive#DeviceUpdateStatus", + "traits": { + "smithy.api#documentation": "The status of software on the input device.", + "smithy.api#jsonName": "deviceUpdateStatus" + } + }, "HdDeviceSettings": { "target": "com.amazonaws.medialive#InputDeviceHdSettings", "traits": { @@ -18049,6 +18079,13 @@ "smithy.api#jsonName": "deviceSettingsSyncState" } }, + "DeviceUpdateStatus": { + "target": "com.amazonaws.medialive#DeviceUpdateStatus", + "traits": { + "smithy.api#documentation": "The status of software on the input device.", + "smithy.api#jsonName": "deviceUpdateStatus" + } + }, "HdDeviceSettings": { "target": "com.amazonaws.medialive#InputDeviceHdSettings", "traits": { diff --git a/codegen/sdk-codegen/aws-models/redshift.2012-12-01.json b/codegen/sdk-codegen/aws-models/redshift.2012-12-01.json index 6cd7c86346bc..c36394bcdde4 100644 --- a/codegen/sdk-codegen/aws-models/redshift.2012-12-01.json +++ b/codegen/sdk-codegen/aws-models/redshift.2012-12-01.json @@ -67,17 +67,17 @@ "com.amazonaws.redshift#AcceptReservedNodeExchangeInputMessage": { "type": "structure", "members": { - "TargetReservedNodeOfferingId": { + "ReservedNodeId": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The unique identifier of the DC2 Reserved Node offering to be used for the exchange.\n You can obtain the value for the parameter by calling GetReservedNodeExchangeOfferings\n

                            ", + "smithy.api#documentation": "

                            A string representing the node identifier of the DC1 Reserved Node to be\n exchanged.

                            ", "smithy.api#required": {} } }, - "ReservedNodeId": { + "TargetReservedNodeOfferingId": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            A string representing the node identifier of the DC1 Reserved Node to be\n exchanged.

                            ", + "smithy.api#documentation": "

                            The unique identifier of the DC2 Reserved Node offering to be used for the exchange.\n You can obtain the value for the parameter by calling GetReservedNodeExchangeOfferings\n

                            ", "smithy.api#required": {} } } @@ -110,17 +110,17 @@ "com.amazonaws.redshift#AccountAttribute": { "type": "structure", "members": { - "AttributeValues": { - "target": "com.amazonaws.redshift#AttributeValueList", - "traits": { - "smithy.api#documentation": "

                            A list of attribute values.

                            " - } - }, "AttributeName": { "target": "com.amazonaws.redshift#String", "traits": { "smithy.api#documentation": "

                            The name of the attribute.

                            " } + }, + "AttributeValues": { + "target": "com.amazonaws.redshift#AttributeValueList", + "traits": { + "smithy.api#documentation": "

                            A list of attribute values.

                            " + } } }, "traits": { @@ -141,16 +141,16 @@ "com.amazonaws.redshift#AccountWithRestoreAccess": { "type": "structure", "members": { - "AccountAlias": { + "AccountId": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The identifier of an AWS support account authorized to restore a snapshot. For AWS\n support, the identifier is amazon-redshift-support.

                            " + "smithy.api#documentation": "

                            The identifier of an AWS customer account authorized to restore a\n snapshot.

                            " } }, - "AccountId": { + "AccountAlias": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The identifier of an AWS customer account authorized to restore a\n snapshot.

                            " + "smithy.api#documentation": "

                            The identifier of an AWS support account authorized to restore a snapshot. For AWS\n support, the identifier is amazon-redshift-support.

                            " } } }, @@ -304,10 +304,11 @@ "com.amazonaws.redshift#AuthorizeClusterSecurityGroupIngressMessage": { "type": "structure", "members": { - "EC2SecurityGroupName": { + "ClusterSecurityGroupName": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The EC2 security group to be added the Amazon Redshift security group.

                            " + "smithy.api#documentation": "

                            The name of the security group to which the ingress rule is added.

                            ", + "smithy.api#required": {} } }, "CIDRIP": { @@ -316,17 +317,16 @@ "smithy.api#documentation": "

                            The IP range to be added the Amazon Redshift security group.

                            " } }, - "EC2SecurityGroupOwnerId": { + "EC2SecurityGroupName": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The AWS account number of the owner of the security group specified by the\n EC2SecurityGroupName parameter. The AWS Access Key ID is not an\n acceptable value.

                            \n

                            Example: 111122223333\n

                            " + "smithy.api#documentation": "

                            The EC2 security group to be added the Amazon Redshift security group.

                            " } }, - "ClusterSecurityGroupName": { + "EC2SecurityGroupOwnerId": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The name of the security group to which the ingress rule is added.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The AWS account number of the owner of the security group specified by the\n EC2SecurityGroupName parameter. The AWS Access Key ID is not an\n acceptable value.

                            \n

                            Example: 111122223333\n

                            " } } }, @@ -377,23 +377,23 @@ "com.amazonaws.redshift#AuthorizeSnapshotAccessMessage": { "type": "structure", "members": { - "SnapshotClusterIdentifier": { + "SnapshotIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The identifier of the cluster the snapshot was created from. This parameter is\n required if your IAM user has a policy containing a snapshot resource element that\n specifies anything other than * for the cluster name.

                            " + "smithy.api#documentation": "

                            The identifier of the snapshot the account is authorized to restore.

                            ", + "smithy.api#required": {} } }, - "AccountWithRestoreAccess": { + "SnapshotClusterIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The identifier of the AWS customer account authorized to restore the specified\n snapshot.

                            \n

                            To share a snapshot with AWS support, specify amazon-redshift-support.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The identifier of the cluster the snapshot was created from. This parameter is\n required if your IAM user has a policy containing a snapshot resource element that\n specifies anything other than * for the cluster name.

                            " } }, - "SnapshotIdentifier": { + "AccountWithRestoreAccess": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The identifier of the snapshot the account is authorized to restore.

                            ", + "smithy.api#documentation": "

                            The identifier of the AWS customer account authorized to restore the specified\n snapshot.

                            \n

                            To share a snapshot with AWS support, specify amazon-redshift-support.

                            ", "smithy.api#required": {} } } @@ -413,17 +413,17 @@ "com.amazonaws.redshift#AvailabilityZone": { "type": "structure", "members": { - "SupportedPlatforms": { - "target": "com.amazonaws.redshift#SupportedPlatformsList", - "traits": { - "smithy.api#documentation": "

                            " - } - }, "Name": { "target": "com.amazonaws.redshift#String", "traits": { "smithy.api#documentation": "

                            The name of the availability zone.

                            " } + }, + "SupportedPlatforms": { + "target": "com.amazonaws.redshift#SupportedPlatformsList", + "traits": { + "smithy.api#documentation": "

                            " + } } }, "traits": { @@ -534,12 +534,6 @@ "com.amazonaws.redshift#BatchModifyClusterSnapshotsMessage": { "type": "structure", "members": { - "ManualSnapshotRetentionPeriod": { - "target": "com.amazonaws.redshift#IntegerOptional", - "traits": { - "smithy.api#documentation": "

                            The number of days that a manual snapshot is retained. If you specify the value -1,\n the manual snapshot is retained indefinitely.

                            \n

                            The number must be either -1 or an integer between 1 and 3,653.

                            \n

                            If you decrease the manual snapshot retention period from its current value, existing\n manual snapshots that fall outside of the new retention period will return an error. If\n you want to suppress the errors and delete the snapshots, use the force option.

                            " - } - }, "SnapshotIdentifierList": { "target": "com.amazonaws.redshift#SnapshotIdentifierList", "traits": { @@ -547,6 +541,12 @@ "smithy.api#required": {} } }, + "ManualSnapshotRetentionPeriod": { + "target": "com.amazonaws.redshift#IntegerOptional", + "traits": { + "smithy.api#documentation": "

                            The number of days that a manual snapshot is retained. If you specify the value -1,\n the manual snapshot is retained indefinitely.

                            \n

                            The number must be either -1 or an integer between 1 and 3,653.

                            \n

                            If you decrease the manual snapshot retention period from its current value, existing\n manual snapshots that fall outside of the new retention period will return an error. If\n you want to suppress the errors and delete the snapshots, use the force option.

                            " + } + }, "Force": { "target": "com.amazonaws.redshift#Boolean", "traits": { @@ -558,17 +558,17 @@ "com.amazonaws.redshift#BatchModifyClusterSnapshotsOutputMessage": { "type": "structure", "members": { - "Errors": { - "target": "com.amazonaws.redshift#BatchSnapshotOperationErrors", - "traits": { - "smithy.api#documentation": "

                            A list of any errors returned.

                            " - } - }, "Resources": { "target": "com.amazonaws.redshift#SnapshotIdentifierList", "traits": { "smithy.api#documentation": "

                            A list of the snapshots that were modified.

                            " } + }, + "Errors": { + "target": "com.amazonaws.redshift#BatchSnapshotOperationErrors", + "traits": { + "smithy.api#documentation": "

                            A list of any errors returned.

                            " + } } } }, @@ -653,172 +653,172 @@ "com.amazonaws.redshift#Cluster": { "type": "structure", "members": { - "ExpectedNextSnapshotScheduleTime": { - "target": "com.amazonaws.redshift#TStamp", + "ClusterIdentifier": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The date and time when the next snapshot is expected to be taken for clusters with a valid snapshot schedule and backups enabled.

                            " + "smithy.api#documentation": "

                            The unique identifier of the cluster.

                            " } }, - "Encrypted": { - "target": "com.amazonaws.redshift#Boolean", + "NodeType": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            A boolean value that, if true, indicates that data in the cluster is\n encrypted at rest.

                            " + "smithy.api#documentation": "

                            The node type for the nodes in the cluster.

                            " } }, - "PendingActions": { - "target": "com.amazonaws.redshift#PendingActionsList", + "ClusterStatus": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            Cluster operations that are waiting to be started.

                            " + "smithy.api#documentation": "

                            The current state of the cluster. Possible values are the following:

                            \n
                              \n
                            • \n

                              \n available\n

                              \n
                            • \n
                            • \n

                              \n available, prep-for-resize\n

                              \n
                            • \n
                            • \n

                              \n available, resize-cleanup\n

                              \n
                            • \n
                            • \n

                              \n cancelling-resize\n

                              \n
                            • \n
                            • \n

                              \n creating\n

                              \n
                            • \n
                            • \n

                              \n deleting\n

                              \n
                            • \n
                            • \n

                              \n final-snapshot\n

                              \n
                            • \n
                            • \n

                              \n hardware-failure\n

                              \n
                            • \n
                            • \n

                              \n incompatible-hsm\n

                              \n
                            • \n
                            • \n

                              \n incompatible-network\n

                              \n
                            • \n
                            • \n

                              \n incompatible-parameters\n

                              \n
                            • \n
                            • \n

                              \n incompatible-restore\n

                              \n
                            • \n
                            • \n

                              \n modifying\n

                              \n
                            • \n
                            • \n

                              \n paused\n

                              \n
                            • \n
                            • \n

                              \n rebooting\n

                              \n
                            • \n
                            • \n

                              \n renaming\n

                              \n
                            • \n
                            • \n

                              \n resizing\n

                              \n
                            • \n
                            • \n

                              \n rotating-keys\n

                              \n
                            • \n
                            • \n

                              \n storage-full\n

                              \n
                            • \n
                            • \n

                              \n updating-hsm\n

                              \n
                            • \n
                            " } }, - "ClusterRevisionNumber": { + "ClusterAvailabilityStatus": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The specific revision number of the database in the cluster.

                            " + "smithy.api#documentation": "

                            The availability status of the cluster for queries. Possible values are the following:

                            \n
                              \n
                            • \n

                              Available - The cluster is available for queries.

                              \n
                            • \n
                            • \n

                              Unavailable - The cluster is not available for queries.

                              \n
                            • \n
                            • \n

                              Maintenance - The cluster is intermittently available for queries due to maintenance activities.

                              \n
                            • \n
                            • \n

                              Modifying - The cluster is intermittently available for queries due to changes that modify the cluster.

                              \n
                            • \n
                            • \n

                              Failed - The cluster failed and is not available for queries.

                              \n
                            • \n
                            " } }, - "ClusterCreateTime": { - "target": "com.amazonaws.redshift#TStamp", + "ModifyStatus": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The date and time that the cluster was created.

                            " + "smithy.api#documentation": "

                            The status of a modify operation, if any, initiated for the cluster.

                            " } }, - "SnapshotScheduleState": { - "target": "com.amazonaws.redshift#ScheduleState", + "MasterUsername": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The current state of the cluster snapshot schedule.

                            " + "smithy.api#documentation": "

                            The master user name for the cluster. This name is used to connect to the database\n that is specified in the DBName parameter.

                            " } }, - "ClusterNodes": { - "target": "com.amazonaws.redshift#ClusterNodesList", + "DBName": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The nodes in the cluster.

                            " + "smithy.api#documentation": "

                            The name of the initial database that was created when the cluster was created.\n This same name is returned for the life of the cluster. If an initial database was not\n specified, a database named devdev was created by default.

                            " } }, - "VpcSecurityGroups": { - "target": "com.amazonaws.redshift#VpcSecurityGroupMembershipList", + "Endpoint": { + "target": "com.amazonaws.redshift#Endpoint", "traits": { - "smithy.api#documentation": "

                            A list of Amazon Virtual Private Cloud (Amazon VPC) security groups that are\n associated with the cluster. This parameter is returned only if the cluster is in a\n VPC.

                            " + "smithy.api#documentation": "

                            The connection endpoint.

                            " } }, - "ElasticIpStatus": { - "target": "com.amazonaws.redshift#ElasticIpStatus", + "ClusterCreateTime": { + "target": "com.amazonaws.redshift#TStamp", "traits": { - "smithy.api#documentation": "

                            The status of the elastic IP (EIP) address.

                            " + "smithy.api#documentation": "

                            The date and time that the cluster was created.

                            " } }, - "NumberOfNodes": { + "AutomatedSnapshotRetentionPeriod": { "target": "com.amazonaws.redshift#Integer", "traits": { - "smithy.api#documentation": "

                            The number of compute nodes in the cluster.

                            " + "smithy.api#documentation": "

                            The number of days that automatic cluster snapshots are retained.

                            " } }, - "EnhancedVpcRouting": { - "target": "com.amazonaws.redshift#Boolean", + "ManualSnapshotRetentionPeriod": { + "target": "com.amazonaws.redshift#Integer", "traits": { - "smithy.api#documentation": "

                            An option that specifies whether to create the cluster with enhanced VPC routing\n enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a\n VPC. For more information, see Enhanced VPC Routing in\n the Amazon Redshift Cluster Management Guide.

                            \n

                            If this option is true, enhanced VPC routing is enabled.

                            \n

                            Default: false

                            " + "smithy.api#documentation": "

                            The default number of days to retain a manual snapshot. If the value is -1, the\n snapshot is retained indefinitely. This setting doesn't change the retention period\n of existing snapshots.

                            \n

                            The value must be either -1 or an integer between 1 and 3,653.

                            " } }, - "RestoreStatus": { - "target": "com.amazonaws.redshift#RestoreStatus", + "ClusterSecurityGroups": { + "target": "com.amazonaws.redshift#ClusterSecurityGroupMembershipList", "traits": { - "smithy.api#documentation": "

                            A value that describes the status of a cluster restore action. This parameter\n returns null if the cluster was not created by restoring a snapshot.

                            " + "smithy.api#documentation": "

                            A list of cluster security group that are associated with the cluster. Each\n security group is represented by an element that contains\n ClusterSecurityGroup.Name and ClusterSecurityGroup.Status\n subelements.

                            \n

                            Cluster security groups are used when the cluster is not created in an Amazon\n Virtual Private Cloud (VPC). Clusters that are created in a VPC use VPC security groups,\n which are listed by the VpcSecurityGroups parameter.\n

                            " } }, - "Endpoint": { - "target": "com.amazonaws.redshift#Endpoint", + "VpcSecurityGroups": { + "target": "com.amazonaws.redshift#VpcSecurityGroupMembershipList", "traits": { - "smithy.api#documentation": "

                            The connection endpoint.

                            " + "smithy.api#documentation": "

                            A list of Amazon Virtual Private Cloud (Amazon VPC) security groups that are\n associated with the cluster. This parameter is returned only if the cluster is in a\n VPC.

                            " } }, - "SnapshotScheduleIdentifier": { - "target": "com.amazonaws.redshift#String", + "ClusterParameterGroups": { + "target": "com.amazonaws.redshift#ClusterParameterGroupStatusList", "traits": { - "smithy.api#documentation": "

                            A unique identifier for the cluster snapshot schedule.

                            " + "smithy.api#documentation": "

                            The list of cluster parameter groups that are associated with this cluster. Each\n parameter group in the list is returned with its status.

                            " } }, - "Tags": { - "target": "com.amazonaws.redshift#TagList", + "ClusterSubnetGroupName": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The list of tags for the cluster.

                            " + "smithy.api#documentation": "

                            The name of the subnet group that is associated with the cluster. This parameter is\n valid only when the cluster is in a VPC.

                            " } }, - "DeferredMaintenanceWindows": { - "target": "com.amazonaws.redshift#DeferredMaintenanceWindowsList", + "VpcId": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            Describes a group of DeferredMaintenanceWindow objects.

                            " + "smithy.api#documentation": "

                            The identifier of the VPC the cluster is in, if the cluster is in a VPC.

                            " } }, - "HsmStatus": { - "target": "com.amazonaws.redshift#HsmStatus", + "AvailabilityZone": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            A value that reports whether the Amazon Redshift cluster has finished applying any\n hardware security module (HSM) settings changes specified in a modify cluster\n command.

                            \n

                            Values: active, applying

                            " + "smithy.api#documentation": "

                            The name of the Availability Zone in which the cluster is located.

                            " } }, - "AutomatedSnapshotRetentionPeriod": { - "target": "com.amazonaws.redshift#Integer", + "PreferredMaintenanceWindow": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The number of days that automatic cluster snapshots are retained.

                            " + "smithy.api#documentation": "

                            The weekly time range, in Universal Coordinated Time (UTC), during which system\n maintenance can occur.

                            " } }, - "ClusterParameterGroups": { - "target": "com.amazonaws.redshift#ClusterParameterGroupStatusList", + "PendingModifiedValues": { + "target": "com.amazonaws.redshift#PendingModifiedValues", "traits": { - "smithy.api#documentation": "

                            The list of cluster parameter groups that are associated with this cluster. Each\n parameter group in the list is returned with its status.

                            " + "smithy.api#documentation": "

                            A value that, if present, indicates that changes to the cluster are pending.\n Specific pending changes are identified by subelements.

                            " } }, - "ResizeInfo": { - "target": "com.amazonaws.redshift#ResizeInfo", + "ClusterVersion": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            Returns the following:

                            \n
                              \n
                            • \n

                              AllowCancelResize: a boolean value indicating if the resize operation can be\n cancelled.

                              \n
                            • \n
                            • \n

                              ResizeType: Returns ClassicResize

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            The version ID of the Amazon Redshift engine that is running on the cluster.

                            " } }, - "MaintenanceTrackName": { - "target": "com.amazonaws.redshift#String", + "AllowVersionUpgrade": { + "target": "com.amazonaws.redshift#Boolean", "traits": { - "smithy.api#documentation": "

                            The name of the maintenance track for the cluster.

                            " + "smithy.api#documentation": "

                            A boolean value that, if true, indicates that major version upgrades\n will be applied automatically to the cluster during the maintenance window.

                            " } }, - "DataTransferProgress": { - "target": "com.amazonaws.redshift#DataTransferProgress", + "NumberOfNodes": { + "target": "com.amazonaws.redshift#Integer", "traits": { - "smithy.api#documentation": "

                            " + "smithy.api#documentation": "

                            The number of compute nodes in the cluster.

                            " } }, - "NextMaintenanceWindowStartTime": { - "target": "com.amazonaws.redshift#TStamp", + "PubliclyAccessible": { + "target": "com.amazonaws.redshift#Boolean", "traits": { - "smithy.api#documentation": "

                            The date and time in UTC when system maintenance can begin.

                            " + "smithy.api#documentation": "

                            A boolean value that, if true, indicates that the cluster can be\n accessed from a public network.

                            " } }, - "ExpectedNextSnapshotScheduleTimeStatus": { - "target": "com.amazonaws.redshift#String", + "Encrypted": { + "target": "com.amazonaws.redshift#Boolean", "traits": { - "smithy.api#documentation": "

                            The status of next expected snapshot for clusters having a valid snapshot schedule and backups enabled. Possible values are the following:

                            \n
                              \n
                            • \n

                              OnTrack - The next snapshot is expected to be taken on time.

                              \n
                            • \n
                            • \n

                              Pending - The next snapshot is pending to be taken.

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            A boolean value that, if true, indicates that data in the cluster is\n encrypted at rest.

                            " } }, - "ClusterVersion": { - "target": "com.amazonaws.redshift#String", + "RestoreStatus": { + "target": "com.amazonaws.redshift#RestoreStatus", "traits": { - "smithy.api#documentation": "

                            The version ID of the Amazon Redshift engine that is running on the cluster.

                            " + "smithy.api#documentation": "

                            A value that describes the status of a cluster restore action. This parameter\n returns null if the cluster was not created by restoring a snapshot.

                            " } }, - "IamRoles": { - "target": "com.amazonaws.redshift#ClusterIamRoleList", + "DataTransferProgress": { + "target": "com.amazonaws.redshift#DataTransferProgress", "traits": { - "smithy.api#documentation": "

                            A list of AWS Identity and Access Management (IAM) roles that can be used by the\n cluster to access other AWS services.

                            " + "smithy.api#documentation": "

                            " } }, - "ClusterSecurityGroups": { - "target": "com.amazonaws.redshift#ClusterSecurityGroupMembershipList", + "HsmStatus": { + "target": "com.amazonaws.redshift#HsmStatus", "traits": { - "smithy.api#documentation": "

                            A list of cluster security group that are associated with the cluster. Each\n security group is represented by an element that contains\n ClusterSecurityGroup.Name and ClusterSecurityGroup.Status\n subelements.

                            \n

                            Cluster security groups are used when the cluster is not created in an Amazon\n Virtual Private Cloud (VPC). Clusters that are created in a VPC use VPC security groups,\n which are listed by the VpcSecurityGroups parameter.\n

                            " + "smithy.api#documentation": "

                            A value that reports whether the Amazon Redshift cluster has finished applying any\n hardware security module (HSM) settings changes specified in a modify cluster\n command.

                            \n

                            Values: active, applying

                            " } }, - "ClusterAvailabilityStatus": { - "target": "com.amazonaws.redshift#String", + "ClusterSnapshotCopyStatus": { + "target": "com.amazonaws.redshift#ClusterSnapshotCopyStatus", "traits": { - "smithy.api#documentation": "

                            The availability status of the cluster for queries. Possible values are the following:

                            \n
                              \n
                            • \n

                              Available - The cluster is available for queries.

                              \n
                            • \n
                            • \n

                              Unavailable - The cluster is not available for queries.

                              \n
                            • \n
                            • \n

                              Maintenance - The cluster is intermittently available for queries due to maintenance activities.

                              \n
                            • \n
                            • \n

                              Modifying - The cluster is intermittently available for queries due to changes that modify the cluster.

                              \n
                            • \n
                            • \n

                              Failed - The cluster failed and is not available for queries.

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            A value that returns the destination region and retention period that are\n configured for cross-region snapshot copy.

                            " } }, "ClusterPublicKey": { @@ -827,106 +827,112 @@ "smithy.api#documentation": "

                            The public key for the cluster.

                            " } }, - "AllowVersionUpgrade": { - "target": "com.amazonaws.redshift#Boolean", + "ClusterNodes": { + "target": "com.amazonaws.redshift#ClusterNodesList", "traits": { - "smithy.api#documentation": "

                            A boolean value that, if true, indicates that major version upgrades\n will be applied automatically to the cluster during the maintenance window.

                            " + "smithy.api#documentation": "

                            The nodes in the cluster.

                            " } }, - "PreferredMaintenanceWindow": { - "target": "com.amazonaws.redshift#String", + "ElasticIpStatus": { + "target": "com.amazonaws.redshift#ElasticIpStatus", "traits": { - "smithy.api#documentation": "

                            The weekly time range, in Universal Coordinated Time (UTC), during which system\n maintenance can occur.

                            " + "smithy.api#documentation": "

                            The status of the elastic IP (EIP) address.

                            " } }, - "ClusterIdentifier": { + "ClusterRevisionNumber": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The unique identifier of the cluster.

                            " + "smithy.api#documentation": "

                            The specific revision number of the database in the cluster.

                            " } }, - "NodeType": { - "target": "com.amazonaws.redshift#String", + "Tags": { + "target": "com.amazonaws.redshift#TagList", "traits": { - "smithy.api#documentation": "

                            The node type for the nodes in the cluster.

                            " + "smithy.api#documentation": "

                            The list of tags for the cluster.

                            " } }, - "ModifyStatus": { + "KmsKeyId": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The status of a modify operation, if any, initiated for the cluster.

                            " + "smithy.api#documentation": "

                            The AWS Key Management Service (AWS KMS) key ID of the encryption key used to\n encrypt data in the cluster.

                            " } }, - "PubliclyAccessible": { + "EnhancedVpcRouting": { "target": "com.amazonaws.redshift#Boolean", "traits": { - "smithy.api#documentation": "

                            A boolean value that, if true, indicates that the cluster can be\n accessed from a public network.

                            " + "smithy.api#documentation": "

                            An option that specifies whether to create the cluster with enhanced VPC routing\n enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a\n VPC. For more information, see Enhanced VPC Routing in\n the Amazon Redshift Cluster Management Guide.

                            \n

                            If this option is true, enhanced VPC routing is enabled.

                            \n

                            Default: false

                            " } }, - "ClusterSnapshotCopyStatus": { - "target": "com.amazonaws.redshift#ClusterSnapshotCopyStatus", + "IamRoles": { + "target": "com.amazonaws.redshift#ClusterIamRoleList", "traits": { - "smithy.api#documentation": "

                            A value that returns the destination region and retention period that are\n configured for cross-region snapshot copy.

                            " + "smithy.api#documentation": "

                            A list of AWS Identity and Access Management (IAM) roles that can be used by the\n cluster to access other AWS services.

                            " } }, - "ElasticResizeNumberOfNodeOptions": { - "target": "com.amazonaws.redshift#String", + "PendingActions": { + "target": "com.amazonaws.redshift#PendingActionsList", "traits": { - "smithy.api#documentation": "

                            The number of nodes that you can resize the cluster to with the elastic resize method.\n

                            " + "smithy.api#documentation": "

                            Cluster operations that are waiting to be started.

                            " } }, - "AvailabilityZone": { + "MaintenanceTrackName": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The name of the Availability Zone in which the cluster is located.

                            " + "smithy.api#documentation": "

                            The name of the maintenance track for the cluster.

                            " } }, - "VpcId": { + "ElasticResizeNumberOfNodeOptions": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The identifier of the VPC the cluster is in, if the cluster is in a VPC.

                            " + "smithy.api#documentation": "

                            The number of nodes that you can resize the cluster to with the elastic resize method.\n

                            " } }, - "ClusterStatus": { - "target": "com.amazonaws.redshift#String", + "DeferredMaintenanceWindows": { + "target": "com.amazonaws.redshift#DeferredMaintenanceWindowsList", "traits": { - "smithy.api#documentation": "

                            The current state of the cluster. Possible values are the following:

                            \n
                              \n
                            • \n

                              \n available\n

                              \n
                            • \n
                            • \n

                              \n available, prep-for-resize\n

                              \n
                            • \n
                            • \n

                              \n available, resize-cleanup\n

                              \n
                            • \n
                            • \n

                              \n cancelling-resize\n

                              \n
                            • \n
                            • \n

                              \n creating\n

                              \n
                            • \n
                            • \n

                              \n deleting\n

                              \n
                            • \n
                            • \n

                              \n final-snapshot\n

                              \n
                            • \n
                            • \n

                              \n hardware-failure\n

                              \n
                            • \n
                            • \n

                              \n incompatible-hsm\n

                              \n
                            • \n
                            • \n

                              \n incompatible-network\n

                              \n
                            • \n
                            • \n

                              \n incompatible-parameters\n

                              \n
                            • \n
                            • \n

                              \n incompatible-restore\n

                              \n
                            • \n
                            • \n

                              \n modifying\n

                              \n
                            • \n
                            • \n

                              \n paused\n

                              \n
                            • \n
                            • \n

                              \n rebooting\n

                              \n
                            • \n
                            • \n

                              \n renaming\n

                              \n
                            • \n
                            • \n

                              \n resizing\n

                              \n
                            • \n
                            • \n

                              \n rotating-keys\n

                              \n
                            • \n
                            • \n

                              \n storage-full\n

                              \n
                            • \n
                            • \n

                              \n updating-hsm\n

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            Describes a group of DeferredMaintenanceWindow objects.

                            " } }, - "KmsKeyId": { + "SnapshotScheduleIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The AWS Key Management Service (AWS KMS) key ID of the encryption key used to\n encrypt data in the cluster.

                            " + "smithy.api#documentation": "

                            A unique identifier for the cluster snapshot schedule.

                            " } }, - "DBName": { - "target": "com.amazonaws.redshift#String", + "SnapshotScheduleState": { + "target": "com.amazonaws.redshift#ScheduleState", "traits": { - "smithy.api#documentation": "

                            The name of the initial database that was created when the cluster was created.\n This same name is returned for the life of the cluster. If an initial database was not\n specified, a database named devdev was created by default.

                            " + "smithy.api#documentation": "

                            The current state of the cluster snapshot schedule.

                            " } }, - "ClusterSubnetGroupName": { - "target": "com.amazonaws.redshift#String", + "ExpectedNextSnapshotScheduleTime": { + "target": "com.amazonaws.redshift#TStamp", "traits": { - "smithy.api#documentation": "

                            The name of the subnet group that is associated with the cluster. This parameter is\n valid only when the cluster is in a VPC.

                            " + "smithy.api#documentation": "

                            The date and time when the next snapshot is expected to be taken for clusters with a valid snapshot schedule and backups enabled.

                            " } }, - "MasterUsername": { + "ExpectedNextSnapshotScheduleTimeStatus": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The master user name for the cluster. This name is used to connect to the database\n that is specified in the DBName parameter.

                            " + "smithy.api#documentation": "

                            The status of next expected snapshot for clusters having a valid snapshot schedule and backups enabled. Possible values are the following:

                            \n
                              \n
                            • \n

                              OnTrack - The next snapshot is expected to be taken on time.

                              \n
                            • \n
                            • \n

                              Pending - The next snapshot is pending to be taken.

                              \n
                            • \n
                            " } }, - "PendingModifiedValues": { - "target": "com.amazonaws.redshift#PendingModifiedValues", + "NextMaintenanceWindowStartTime": { + "target": "com.amazonaws.redshift#TStamp", "traits": { - "smithy.api#documentation": "

                            A value that, if present, indicates that changes to the cluster are pending.\n Specific pending changes are identified by subelements.

                            " + "smithy.api#documentation": "

                            The date and time in UTC when system maintenance can begin.

                            " } }, - "ManualSnapshotRetentionPeriod": { - "target": "com.amazonaws.redshift#Integer", + "ResizeInfo": { + "target": "com.amazonaws.redshift#ResizeInfo", "traits": { - "smithy.api#documentation": "

                            The default number of days to retain a manual snapshot. If the value is -1, the\n snapshot is retained indefinitely. This setting doesn't change the retention period\n of existing snapshots.

                            \n

                            The value must be either -1 or an integer between 1 and 3,653.

                            " + "smithy.api#documentation": "

                            Returns the following:

                            \n
                              \n
                            • \n

                              AllowCancelResize: a boolean value indicating if the resize operation can be\n cancelled.

                              \n
                            • \n
                            • \n

                              ResizeType: Returns ClassicResize

                              \n
                            • \n
                            " + } + }, + "ClusterNamespaceArn": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            The namespace Amazon Resource Name (ARN) of the cluster.

                            " } } }, @@ -976,17 +982,17 @@ "smithy.api#documentation": "

                            A database user name that is authorized to log on to the database\n DbName using the password DbPassword. If the specified\n DbUser exists in the database, the new user name has the same database privileges as the\n the user named in DbUser. By default, the user is added to PUBLIC. If the\n DbGroups parameter is specifed, DbUser is added to the\n listed groups for any sessions created using these credentials.

                            " } }, - "Expiration": { - "target": "com.amazonaws.redshift#TStamp", - "traits": { - "smithy.api#documentation": "

                            The date and time the password in DbPassword expires.

                            " - } - }, "DbPassword": { "target": "com.amazonaws.redshift#SensitiveString", "traits": { "smithy.api#documentation": "

                            A temporary password that authorizes the user name returned by DbUser\n to log on to the database DbName.

                            " } + }, + "Expiration": { + "target": "com.amazonaws.redshift#TStamp", + "traits": { + "smithy.api#documentation": "

                            The date and time the password in DbPassword expires.

                            " + } } }, "traits": { @@ -996,28 +1002,28 @@ "com.amazonaws.redshift#ClusterDbRevision": { "type": "structure", "members": { - "DatabaseRevisionReleaseDate": { - "target": "com.amazonaws.redshift#TStamp", + "ClusterIdentifier": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The date on which the database revision was released.

                            " + "smithy.api#documentation": "

                            The unique identifier of the cluster.

                            " } }, - "ClusterIdentifier": { + "CurrentDatabaseRevision": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The unique identifier of the cluster.

                            " + "smithy.api#documentation": "

                            A string representing the current cluster version.

                            " } }, - "RevisionTargets": { - "target": "com.amazonaws.redshift#RevisionTargetsList", + "DatabaseRevisionReleaseDate": { + "target": "com.amazonaws.redshift#TStamp", "traits": { - "smithy.api#documentation": "

                            A list of RevisionTarget objects, where each object describes the\n database revision that a cluster can be updated to.

                            " + "smithy.api#documentation": "

                            The date on which the database revision was released.

                            " } }, - "CurrentDatabaseRevision": { - "target": "com.amazonaws.redshift#String", + "RevisionTargets": { + "target": "com.amazonaws.redshift#RevisionTargetsList", "traits": { - "smithy.api#documentation": "

                            A string representing the current cluster version.

                            " + "smithy.api#documentation": "

                            A list of RevisionTarget objects, where each object describes the\n database revision that a cluster can be updated to.

                            " } } }, @@ -1037,33 +1043,33 @@ "com.amazonaws.redshift#ClusterDbRevisionsMessage": { "type": "structure", "members": { - "ClusterDbRevisions": { - "target": "com.amazonaws.redshift#ClusterDbRevisionsList", - "traits": { - "smithy.api#documentation": "

                            A list of revisions.

                            " - } - }, "Marker": { "target": "com.amazonaws.redshift#String", "traits": { "smithy.api#documentation": "

                            A string representing the starting point for the next set of revisions. If a value is\n returned in a response, you can retrieve the next set of revisions by providing the\n value in the marker parameter and retrying the command. If the\n marker field is empty, all revisions have already been returned.

                            " } + }, + "ClusterDbRevisions": { + "target": "com.amazonaws.redshift#ClusterDbRevisionsList", + "traits": { + "smithy.api#documentation": "

                            A list of revisions.

                            " + } } } }, "com.amazonaws.redshift#ClusterIamRole": { "type": "structure", "members": { - "ApplyStatus": { + "IamRoleArn": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            A value that describes the status of the IAM role's association with an Amazon\n Redshift cluster.

                            \n

                            The following are possible statuses and descriptions.

                            \n
                              \n
                            • \n

                              \n in-sync: The role is available for use by the cluster.

                              \n
                            • \n
                            • \n

                              \n adding: The role is in the process of being associated with the\n cluster.

                              \n
                            • \n
                            • \n

                              \n removing: The role is in the process of being disassociated with\n the cluster.

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the IAM role, for example,\n arn:aws:iam::123456789012:role/RedshiftCopyUnload.

                            " } }, - "IamRoleArn": { + "ApplyStatus": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the IAM role, for example,\n arn:aws:iam::123456789012:role/RedshiftCopyUnload.

                            " + "smithy.api#documentation": "

                            A value that describes the status of the IAM role's association with an Amazon\n Redshift cluster.

                            \n

                            The following are possible statuses and descriptions.

                            \n
                              \n
                            • \n

                              \n in-sync: The role is available for use by the cluster.

                              \n
                            • \n
                            • \n

                              \n adding: The role is in the process of being associated with the\n cluster.

                              \n
                            • \n
                            • \n

                              \n removing: The role is in the process of being disassociated with\n the cluster.

                              \n
                            • \n
                            " } } }, @@ -1092,10 +1098,10 @@ "com.amazonaws.redshift#ClusterNode": { "type": "structure", "members": { - "PublicIPAddress": { + "NodeRole": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The public IP address of a node within a cluster.

                            " + "smithy.api#documentation": "

                            Whether the node is a leader node or a compute node.

                            " } }, "PrivateIPAddress": { @@ -1104,10 +1110,10 @@ "smithy.api#documentation": "

                            The private IP address of a node within a cluster.

                            " } }, - "NodeRole": { + "PublicIPAddress": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            Whether the node is a leader node or a compute node.

                            " + "smithy.api#documentation": "

                            The public IP address of a node within a cluster.

                            " } } }, @@ -1195,17 +1201,17 @@ "com.amazonaws.redshift#ClusterParameterGroupDetails": { "type": "structure", "members": { - "Marker": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            A value that indicates the starting point for the next set of response records in a\n subsequent request. If a value is returned in a response, you can retrieve the next set\n of records by providing this returned marker value in the Marker parameter\n and retrying the command. If the Marker field is empty, all response\n records have been retrieved for the request.

                            " - } - }, "Parameters": { "target": "com.amazonaws.redshift#ParametersList", "traits": { "smithy.api#documentation": "

                            A list of Parameter instances. Each instance lists the parameters\n of one cluster parameter group.

                            " } + }, + "Marker": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            A value that indicates the starting point for the next set of response records in a\n subsequent request. If a value is returned in a response, you can retrieve the next set\n of records by providing this returned marker value in the Marker parameter\n and retrying the command. If the Marker field is empty, all response\n records have been retrieved for the request.

                            " + } } }, "traits": { @@ -1215,16 +1221,16 @@ "com.amazonaws.redshift#ClusterParameterGroupNameMessage": { "type": "structure", "members": { - "ParameterGroupStatus": { + "ParameterGroupName": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The status of the parameter group. For example, if you made a change to a parameter\n group name-value pair, then the change could be pending a reboot of an associated\n cluster.

                            " + "smithy.api#documentation": "

                            The name of the cluster parameter group.

                            " } }, - "ParameterGroupName": { + "ParameterGroupStatus": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The name of the cluster parameter group.

                            " + "smithy.api#documentation": "

                            The status of the parameter group. For example, if you made a change to a parameter\n group name-value pair, then the change could be pending a reboot of an associated\n cluster.

                            " } } }, @@ -1261,10 +1267,10 @@ "com.amazonaws.redshift#ClusterParameterGroupStatus": { "type": "structure", "members": { - "ClusterParameterStatusList": { - "target": "com.amazonaws.redshift#ClusterParameterStatusList", + "ParameterGroupName": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The list of parameter statuses.

                            \n

                            \nFor more information about parameters and parameter groups, go to \nAmazon Redshift Parameter Groups \nin the Amazon Redshift Cluster Management Guide.

                            " + "smithy.api#documentation": "

                            The name of the cluster parameter group.

                            " } }, "ParameterApplyStatus": { @@ -1273,10 +1279,10 @@ "smithy.api#documentation": "

                            The status of parameter updates.

                            " } }, - "ParameterGroupName": { - "target": "com.amazonaws.redshift#String", + "ClusterParameterStatusList": { + "target": "com.amazonaws.redshift#ClusterParameterStatusList", "traits": { - "smithy.api#documentation": "

                            The name of the cluster parameter group.

                            " + "smithy.api#documentation": "

                            The list of parameter statuses.

                            \n

                            \nFor more information about parameters and parameter groups, go to \nAmazon Redshift Parameter Groups \nin the Amazon Redshift Cluster Management Guide.

                            " } } }, @@ -1316,16 +1322,16 @@ "com.amazonaws.redshift#ClusterParameterStatus": { "type": "structure", "members": { - "ParameterApplyStatus": { + "ParameterName": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The status of the parameter that indicates whether the parameter is in sync with\n the database, waiting for a cluster reboot, or encountered an error when being\n applied.

                            \n

                            The following are possible statuses and descriptions.

                            \n
                              \n
                            • \n

                              \n in-sync: The parameter value is in sync with the\n database.

                              \n
                            • \n
                            • \n

                              \n pending-reboot: The parameter value will be applied after the\n cluster reboots.

                              \n
                            • \n
                            • \n

                              \n applying: The parameter value is being applied to the\n database.

                              \n
                            • \n
                            • \n

                              \n invalid-parameter: Cannot apply the parameter value because it has\n an invalid value or syntax.

                              \n
                            • \n
                            • \n

                              \n apply-deferred: The parameter contains static property changes. The\n changes are deferred until the cluster reboots.

                              \n
                            • \n
                            • \n

                              \n apply-error: Cannot connect to the cluster. The parameter change\n will be applied after the cluster reboots.

                              \n
                            • \n
                            • \n

                              \n unknown-error: Cannot apply the parameter change right now. The\n change will be applied after the cluster reboots.

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            The name of the parameter.

                            " } }, - "ParameterName": { + "ParameterApplyStatus": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The name of the parameter.

                            " + "smithy.api#documentation": "

                            The status of the parameter that indicates whether the parameter is in sync with\n the database, waiting for a cluster reboot, or encountered an error when being\n applied.

                            \n

                            The following are possible statuses and descriptions.

                            \n
                              \n
                            • \n

                              \n in-sync: The parameter value is in sync with the\n database.

                              \n
                            • \n
                            • \n

                              \n pending-reboot: The parameter value will be applied after the\n cluster reboots.

                              \n
                            • \n
                            • \n

                              \n applying: The parameter value is being applied to the\n database.

                              \n
                            • \n
                            • \n

                              \n invalid-parameter: Cannot apply the parameter value because it has\n an invalid value or syntax.

                              \n
                            • \n
                            • \n

                              \n apply-deferred: The parameter contains static property changes. The\n changes are deferred until the cluster reboots.

                              \n
                            • \n
                            • \n

                              \n apply-error: Cannot connect to the cluster. The parameter change\n will be applied after the cluster reboots.

                              \n
                            • \n
                            • \n

                              \n unknown-error: Cannot apply the parameter change right now. The\n change will be applied after the cluster reboots.

                              \n
                            • \n
                            " } }, "ParameterApplyErrorDescription": { @@ -1361,6 +1367,18 @@ "com.amazonaws.redshift#ClusterSecurityGroup": { "type": "structure", "members": { + "ClusterSecurityGroupName": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            The name of the cluster security group to which the operation was\n applied.

                            " + } + }, + "Description": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            A description of the security group.

                            " + } + }, "EC2SecurityGroups": { "target": "com.amazonaws.redshift#EC2SecurityGroupList", "traits": { @@ -1373,23 +1391,11 @@ "smithy.api#documentation": "

                            A list of IP ranges (CIDR blocks) that are permitted to access clusters associated\n with this cluster security group.

                            " } }, - "ClusterSecurityGroupName": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            The name of the cluster security group to which the operation was\n applied.

                            " - } - }, "Tags": { "target": "com.amazonaws.redshift#TagList", "traits": { "smithy.api#documentation": "

                            The list of tags for the cluster security group.

                            " } - }, - "Description": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            A description of the security group.

                            " - } } }, "traits": { @@ -1518,10 +1524,10 @@ "com.amazonaws.redshift#ClusterSnapshotCopyStatus": { "type": "structure", "members": { - "SnapshotCopyGrantName": { + "DestinationRegion": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The name of the snapshot copy grant.

                            " + "smithy.api#documentation": "

                            The destination region that snapshots are automatically copied to when cross-region\n snapshot copy is enabled.

                            " } }, "RetentionPeriod": { @@ -1536,10 +1542,10 @@ "smithy.api#documentation": "

                            The number of days that automated snapshots are retained in the destination region\n after they are copied from a source region. If the value is -1, the manual snapshot is\n retained indefinitely.

                            \n

                            The value must be either -1 or an integer between 1 and 3,653.

                            " } }, - "DestinationRegion": { + "SnapshotCopyGrantName": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The destination region that snapshots are automatically copied to when cross-region\n snapshot copy is enabled.

                            " + "smithy.api#documentation": "

                            The name of the snapshot copy grant.

                            " } } }, @@ -1576,22 +1582,28 @@ "com.amazonaws.redshift#ClusterSubnetGroup": { "type": "structure", "members": { + "ClusterSubnetGroupName": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            The name of the cluster subnet group.

                            " + } + }, "Description": { "target": "com.amazonaws.redshift#String", "traits": { "smithy.api#documentation": "

                            The description of the cluster subnet group.

                            " } }, - "ClusterSubnetGroupName": { + "VpcId": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The name of the cluster subnet group.

                            " + "smithy.api#documentation": "

                            The VPC ID of the cluster subnet group.

                            " } }, - "Tags": { - "target": "com.amazonaws.redshift#TagList", + "SubnetGroupStatus": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The list of tags for the cluster subnet group.

                            " + "smithy.api#documentation": "

                            The status of the cluster subnet group. Possible values are Complete,\n Incomplete and Invalid.

                            " } }, "Subnets": { @@ -1600,16 +1612,10 @@ "smithy.api#documentation": "

                            A list of the VPC Subnet elements.

                            " } }, - "SubnetGroupStatus": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            The status of the cluster subnet group. Possible values are Complete,\n Incomplete and Invalid.

                            " - } - }, - "VpcId": { - "target": "com.amazonaws.redshift#String", + "Tags": { + "target": "com.amazonaws.redshift#TagList", "traits": { - "smithy.api#documentation": "

                            The VPC ID of the cluster subnet group.

                            " + "smithy.api#documentation": "

                            The list of tags for the cluster subnet group.

                            " } } }, @@ -1633,17 +1639,17 @@ "com.amazonaws.redshift#ClusterSubnetGroupMessage": { "type": "structure", "members": { - "ClusterSubnetGroups": { - "target": "com.amazonaws.redshift#ClusterSubnetGroups", - "traits": { - "smithy.api#documentation": "

                            A list of ClusterSubnetGroup instances.

                            " - } - }, "Marker": { "target": "com.amazonaws.redshift#String", "traits": { "smithy.api#documentation": "

                            A value that indicates the starting point for the next set of response records in a\n subsequent request. If a value is returned in a response, you can retrieve the next set\n of records by providing this returned marker value in the Marker parameter\n and retrying the command. If the Marker field is empty, all response\n records have been retrieved for the request.

                            " } + }, + "ClusterSubnetGroups": { + "target": "com.amazonaws.redshift#ClusterSubnetGroups", + "traits": { + "smithy.api#documentation": "

                            A list of ClusterSubnetGroup instances.

                            " + } } }, "traits": { @@ -1701,12 +1707,6 @@ "com.amazonaws.redshift#ClusterVersion": { "type": "structure", "members": { - "Description": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            The description of the cluster version.

                            " - } - }, "ClusterVersion": { "target": "com.amazonaws.redshift#String", "traits": { @@ -1718,6 +1718,12 @@ "traits": { "smithy.api#documentation": "

                            The name of the cluster parameter group family for the cluster.

                            " } + }, + "Description": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            The description of the cluster version.

                            " + } } }, "traits": { @@ -1736,17 +1742,17 @@ "com.amazonaws.redshift#ClusterVersionsMessage": { "type": "structure", "members": { - "ClusterVersions": { - "target": "com.amazonaws.redshift#ClusterVersionList", - "traits": { - "smithy.api#documentation": "

                            A list of Version elements.

                            " - } - }, "Marker": { "target": "com.amazonaws.redshift#String", "traits": { "smithy.api#documentation": "

                            A value that indicates the starting point for the next set of response records in a\n subsequent request. If a value is returned in a response, you can retrieve the next set\n of records by providing this returned marker value in the Marker parameter\n and retrying the command. If the Marker field is empty, all response\n records have been retrieved for the request.

                            " } + }, + "ClusterVersions": { + "target": "com.amazonaws.redshift#ClusterVersionList", + "traits": { + "smithy.api#documentation": "

                            A list of Version elements.

                            " + } } }, "traits": { @@ -1756,17 +1762,17 @@ "com.amazonaws.redshift#ClustersMessage": { "type": "structure", "members": { - "Clusters": { - "target": "com.amazonaws.redshift#ClusterList", - "traits": { - "smithy.api#documentation": "

                            A list of Cluster objects, where each object describes one cluster.\n

                            " - } - }, "Marker": { "target": "com.amazonaws.redshift#String", "traits": { "smithy.api#documentation": "

                            A value that indicates the starting point for the next set of response records in a\n subsequent request. If a value is returned in a response, you can retrieve the next set\n of records by providing this returned marker value in the Marker parameter\n and retrying the command. If the Marker field is empty, all response\n records have been retrieved for the request.

                            " } + }, + "Clusters": { + "target": "com.amazonaws.redshift#ClusterList", + "traits": { + "smithy.api#documentation": "

                            A list of Cluster objects, where each object describes one cluster.\n

                            " + } } }, "traits": { @@ -1805,16 +1811,17 @@ "com.amazonaws.redshift#CopyClusterSnapshotMessage": { "type": "structure", "members": { - "SourceSnapshotClusterIdentifier": { + "SourceSnapshotIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The identifier of the cluster the source snapshot was created from. This parameter\n is required if your IAM user has a policy containing a snapshot resource element that\n specifies anything other than * for the cluster name.

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Must be the identifier for a valid cluster.

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            The identifier for the source snapshot.

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Must be the identifier for a valid automated snapshot whose state is\n available.

                              \n
                            • \n
                            ", + "smithy.api#required": {} } }, - "ManualSnapshotRetentionPeriod": { - "target": "com.amazonaws.redshift#IntegerOptional", + "SourceSnapshotClusterIdentifier": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The number of days that a manual snapshot is retained. If the value is -1, the manual\n snapshot is retained indefinitely.

                            \n

                            The value must be either -1 or an integer between 1 and 3,653.

                            \n

                            The default value is -1.

                            " + "smithy.api#documentation": "

                            The identifier of the cluster the source snapshot was created from. This parameter\n is required if your IAM user has a policy containing a snapshot resource element that\n specifies anything other than * for the cluster name.

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Must be the identifier for a valid cluster.

                              \n
                            • \n
                            " } }, "TargetSnapshotIdentifier": { @@ -1824,11 +1831,10 @@ "smithy.api#required": {} } }, - "SourceSnapshotIdentifier": { - "target": "com.amazonaws.redshift#String", + "ManualSnapshotRetentionPeriod": { + "target": "com.amazonaws.redshift#IntegerOptional", "traits": { - "smithy.api#documentation": "

                            The identifier for the source snapshot.

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Must be the identifier for a valid automated snapshot whose state is\n available.

                              \n
                            • \n
                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The number of days that a manual snapshot is retained. If the value is -1, the manual\n snapshot is retained indefinitely.

                            \n

                            The value must be either -1 or an integer between 1 and 3,653.

                            \n

                            The default value is -1.

                            " } } }, @@ -1940,83 +1946,104 @@ "com.amazonaws.redshift#CreateClusterMessage": { "type": "structure", "members": { - "MasterUserPassword": { + "DBName": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The password associated with the master user account for the cluster that is being\n created.

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Must be between 8 and 64 characters in length.

                              \n
                            • \n
                            • \n

                              Must contain at least one uppercase letter.

                              \n
                            • \n
                            • \n

                              Must contain at least one lowercase letter.

                              \n
                            • \n
                            • \n

                              Must contain one number.

                              \n
                            • \n
                            • \n

                              Can be any printable ASCII character (ASCII code 33 to 126) except '\n (single quote), \" (double quote), \\, /, @, or space.

                              \n
                            • \n
                            ", + "smithy.api#documentation": "

                            The name of the first database to be created when the cluster is created.

                            \n

                            To create additional databases after the cluster is created, connect to the cluster\n with a SQL client and use SQL commands to create a database. For more information, go to\n Create\n a Database in the Amazon Redshift Database Developer Guide.

                            \n

                            Default: dev\n

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Must contain 1 to 64 alphanumeric characters.

                              \n
                            • \n
                            • \n

                              Must contain only lowercase letters.

                              \n
                            • \n
                            • \n

                              Cannot be a word that is reserved by the service. A list of reserved words\n can be found in Reserved Words in the\n Amazon Redshift Database Developer Guide.

                              \n
                            • \n
                            " + } + }, + "ClusterIdentifier": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            A unique identifier for the cluster. You use this identifier to refer to the\n cluster for any subsequent cluster operations such as deleting or modifying. The\n identifier also appears in the Amazon Redshift console.

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Must contain from 1 to 63 alphanumeric characters or hyphens.

                              \n
                            • \n
                            • \n

                              Alphabetic characters must be lowercase.

                              \n
                            • \n
                            • \n

                              First character must be a letter.

                              \n
                            • \n
                            • \n

                              Cannot end with a hyphen or contain two consecutive hyphens.

                              \n
                            • \n
                            • \n

                              Must be unique for all clusters within an AWS account.

                              \n
                            • \n
                            \n\n

                            Example: myexamplecluster\n

                            ", "smithy.api#required": {} } }, - "PubliclyAccessible": { - "target": "com.amazonaws.redshift#BooleanOptional", + "ClusterType": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            If true, the cluster can be accessed from a public network.

                            " + "smithy.api#documentation": "

                            The type of the cluster. When cluster type is specified as

                            \n
                              \n
                            • \n

                              \n single-node, the NumberOfNodes\n parameter is not required.

                              \n
                            • \n
                            • \n

                              \n multi-node, the NumberOfNodes\n parameter is required.

                              \n
                            • \n
                            \n

                            Valid Values: multi-node | single-node\n

                            \n

                            Default: multi-node\n

                            " } }, - "Tags": { - "target": "com.amazonaws.redshift#TagList", + "NodeType": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            A list of tag instances.

                            " + "smithy.api#documentation": "

                            The node type to be provisioned for the cluster. For information about node types,\n go to Working with\n Clusters in the Amazon Redshift Cluster Management Guide.

                            \n

                            Valid Values: ds2.xlarge | ds2.8xlarge |\n dc1.large | dc1.8xlarge | \n dc2.large | dc2.8xlarge | \n ra3.4xlarge | ra3.16xlarge\n

                            ", + "smithy.api#required": {} } }, - "HsmClientCertificateIdentifier": { + "MasterUsername": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to\n retrieve the data encryption keys stored in an HSM.

                            " + "smithy.api#documentation": "

                            The user name associated with the master user account for the cluster that is being\n created.

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Must be 1 - 128 alphanumeric characters. The user name can't be\n PUBLIC.

                              \n
                            • \n
                            • \n

                              First character must be a letter.

                              \n
                            • \n
                            • \n\n

                              Cannot be a reserved word. A list of reserved words can be found in Reserved\n Words in the Amazon Redshift Database Developer Guide.

                              \n
                            • \n
                            ", + "smithy.api#required": {} } }, - "Encrypted": { - "target": "com.amazonaws.redshift#BooleanOptional", + "MasterUserPassword": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            If true, the data in the cluster is encrypted at rest.

                            \n

                            Default: false

                            " + "smithy.api#documentation": "

                            The password associated with the master user account for the cluster that is being\n created.

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Must be between 8 and 64 characters in length.

                              \n
                            • \n
                            • \n

                              Must contain at least one uppercase letter.

                              \n
                            • \n
                            • \n

                              Must contain at least one lowercase letter.

                              \n
                            • \n
                            • \n

                              Must contain one number.

                              \n
                            • \n
                            • \n

                              Can be any printable ASCII character (ASCII code 33 to 126) except '\n (single quote), \" (double quote), \\, /, @, or space.

                              \n
                            • \n
                            ", + "smithy.api#required": {} } }, - "AutomatedSnapshotRetentionPeriod": { - "target": "com.amazonaws.redshift#IntegerOptional", + "ClusterSecurityGroups": { + "target": "com.amazonaws.redshift#ClusterSecurityGroupNameList", "traits": { - "smithy.api#documentation": "

                            The number of days that automated snapshots are retained. If the value is 0,\n automated snapshots are disabled. Even if automated snapshots are disabled, you can\n still create manual snapshots when you want with CreateClusterSnapshot.

                            \n

                            Default: 1\n

                            \n

                            Constraints: Must be a value from 0 to 35.

                            " + "smithy.api#documentation": "

                            A list of security groups to be associated with this cluster.

                            \n

                            Default: The default cluster security group for Amazon Redshift.

                            " } }, - "Port": { - "target": "com.amazonaws.redshift#IntegerOptional", + "VpcSecurityGroupIds": { + "target": "com.amazonaws.redshift#VpcSecurityGroupIdList", "traits": { - "smithy.api#documentation": "

                            The port number on which the cluster accepts incoming connections.

                            \n

                            The cluster is accessible only via the JDBC and ODBC connection strings. Part of\n the connection string requires the port on which the cluster will listen for incoming\n connections.

                            \n

                            Default: 5439\n

                            \n

                            Valid Values: 1150-65535\n

                            " + "smithy.api#documentation": "

                            A list of Virtual Private Cloud (VPC) security groups to be associated with the\n cluster.

                            \n

                            Default: The default VPC security group is associated with the cluster.

                            " } }, - "HsmConfigurationIdentifier": { + "ClusterSubnetGroupName": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            Specifies the name of the HSM configuration that contains the information the\n Amazon Redshift cluster can use to retrieve and store keys in an HSM.

                            " + "smithy.api#documentation": "

                            The name of a cluster subnet group to be associated with this cluster.

                            \n

                            If this parameter is not provided the resulting cluster will be deployed outside\n virtual private cloud (VPC).

                            " } }, - "ClusterVersion": { + "AvailabilityZone": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The version of the Amazon Redshift engine software that you want to deploy on the\n cluster.

                            \n

                            The version selected runs on all the nodes in the cluster.

                            \n

                            Constraints: Only version 1.0 is currently available.

                            \n

                            Example: 1.0\n

                            " + "smithy.api#documentation": "

                            The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision the\n cluster. For example, if you have several EC2 instances running in a specific\n Availability Zone, then you might want the cluster to be provisioned in the same zone in\n order to decrease network latency.

                            \n

                            Default: A random, system-chosen Availability Zone in the region that is specified\n by the endpoint.

                            \n

                            Example: us-east-2d\n

                            \n

                            Constraint: The specified Availability Zone must be in the same region as the\n current endpoint.

                            " } }, - "ClusterType": { + "PreferredMaintenanceWindow": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The type of the cluster. When cluster type is specified as

                            \n
                              \n
                            • \n

                              \n single-node, the NumberOfNodes\n parameter is not required.

                              \n
                            • \n
                            • \n

                              \n multi-node, the NumberOfNodes\n parameter is required.

                              \n
                            • \n
                            \n

                            Valid Values: multi-node | single-node\n

                            \n

                            Default: multi-node\n

                            " + "smithy.api#documentation": "

                            The weekly time range (in UTC) during which automated cluster maintenance can\n occur.

                            \n

                            Format: ddd:hh24:mi-ddd:hh24:mi\n

                            \n

                            Default: A 30-minute window selected at random from an 8-hour block of time per\n region, occurring on a random day of the week. For more information about the time\n blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management Guide.

                            \n

                            Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

                            \n

                            Constraints: Minimum 30-minute window.

                            " } }, - "SnapshotScheduleIdentifier": { + "ClusterParameterGroupName": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            A unique identifier for the snapshot schedule.

                            " + "smithy.api#documentation": "

                            The name of the parameter group to be associated with this cluster.

                            \n

                            Default: The default Amazon Redshift cluster parameter group. For information about the\n default parameter group, go to Working with Amazon\n Redshift Parameter Groups\n

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Must be 1 to 255 alphanumeric characters or hyphens.

                              \n
                            • \n
                            • \n

                              First character must be a letter.

                              \n
                            • \n
                            • \n

                              Cannot end with a hyphen or contain two consecutive hyphens.

                              \n
                            • \n
                            " } }, - "VpcSecurityGroupIds": { - "target": "com.amazonaws.redshift#VpcSecurityGroupIdList", + "AutomatedSnapshotRetentionPeriod": { + "target": "com.amazonaws.redshift#IntegerOptional", "traits": { - "smithy.api#documentation": "

                            A list of Virtual Private Cloud (VPC) security groups to be associated with the\n cluster.

                            \n

                            Default: The default VPC security group is associated with the cluster.

                            " + "smithy.api#documentation": "

                            The number of days that automated snapshots are retained. If the value is 0,\n automated snapshots are disabled. Even if automated snapshots are disabled, you can\n still create manual snapshots when you want with CreateClusterSnapshot.

                            \n

                            Default: 1\n

                            \n

                            Constraints: Must be a value from 0 to 35.

                            " } }, - "ClusterSubnetGroupName": { + "ManualSnapshotRetentionPeriod": { + "target": "com.amazonaws.redshift#IntegerOptional", + "traits": { + "smithy.api#documentation": "

                            The default number of days to retain a manual snapshot. If the value is -1, the\n snapshot is retained indefinitely. This setting doesn't change the retention period\n of existing snapshots.

                            \n

                            The value must be either -1 or an integer between 1 and 3,653.

                            " + } + }, + "Port": { + "target": "com.amazonaws.redshift#IntegerOptional", + "traits": { + "smithy.api#documentation": "

                            The port number on which the cluster accepts incoming connections.

                            \n

                            The cluster is accessible only via the JDBC and ODBC connection strings. Part of\n the connection string requires the port on which the cluster will listen for incoming\n connections.

                            \n

                            Default: 5439\n

                            \n

                            Valid Values: 1150-65535\n

                            " + } + }, + "ClusterVersion": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The name of a cluster subnet group to be associated with this cluster.

                            \n

                            If this parameter is not provided the resulting cluster will be deployed outside\n virtual private cloud (VPC).

                            " + "smithy.api#documentation": "

                            The version of the Amazon Redshift engine software that you want to deploy on the\n cluster.

                            \n

                            The version selected runs on all the nodes in the cluster.

                            \n

                            Constraints: Only version 1.0 is currently available.

                            \n

                            Example: 1.0\n

                            " } }, "AllowVersionUpgrade": { @@ -2025,41 +2052,34 @@ "smithy.api#documentation": "

                            If true, major version upgrades can be applied during the maintenance\n window to the Amazon Redshift engine that is running on the cluster.

                            \n

                            When a new major version of the Amazon Redshift engine is released, you can request that\n the service automatically apply upgrades during the maintenance window to the Amazon Redshift\n engine that is running on your cluster.

                            \n

                            Default: true\n

                            " } }, - "ManualSnapshotRetentionPeriod": { + "NumberOfNodes": { "target": "com.amazonaws.redshift#IntegerOptional", "traits": { - "smithy.api#documentation": "

                            The default number of days to retain a manual snapshot. If the value is -1, the\n snapshot is retained indefinitely. This setting doesn't change the retention period\n of existing snapshots.

                            \n

                            The value must be either -1 or an integer between 1 and 3,653.

                            " + "smithy.api#documentation": "

                            The number of compute nodes in the cluster. This parameter is required when the\n ClusterType parameter is specified as\n multi-node.

                            \n

                            For information about determining how many nodes you need, go to Working with\n Clusters in the Amazon Redshift Cluster Management Guide.

                            \n

                            If you don't specify this parameter, you get a single-node cluster. When requesting\n a multi-node cluster, you must specify the number of nodes that you want in the\n cluster.

                            \n

                            Default: 1\n

                            \n

                            Constraints: Value must be at least 1 and no more than 100.

                            " } }, - "MaintenanceTrackName": { - "target": "com.amazonaws.redshift#String", + "PubliclyAccessible": { + "target": "com.amazonaws.redshift#BooleanOptional", "traits": { - "smithy.api#documentation": "

                            An optional parameter for the name of the maintenance track for the cluster. If you\n don't provide a maintenance track name, the cluster is assigned to the\n current track.

                            " + "smithy.api#documentation": "

                            If true, the cluster can be accessed from a public network.

                            " } }, - "AdditionalInfo": { - "target": "com.amazonaws.redshift#String", + "Encrypted": { + "target": "com.amazonaws.redshift#BooleanOptional", "traits": { - "smithy.api#documentation": "

                            Reserved.

                            " + "smithy.api#documentation": "

                            If true, the data in the cluster is encrypted at rest.

                            \n

                            Default: false

                            " } }, - "NodeType": { + "HsmClientCertificateIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The node type to be provisioned for the cluster. For information about node types,\n go to Working with\n Clusters in the Amazon Redshift Cluster Management Guide.

                            \n

                            Valid Values: ds2.xlarge | ds2.8xlarge |\n dc1.large | dc1.8xlarge | \n dc2.large | dc2.8xlarge | \n ra3.4xlarge | ra3.16xlarge\n

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to\n retrieve the data encryption keys stored in an HSM.

                            " } }, - "KmsKeyId": { + "HsmConfigurationIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The AWS Key Management Service (KMS) key ID of the encryption key that you want to\n use to encrypt data in the cluster.

                            " - } - }, - "IamRoles": { - "target": "com.amazonaws.redshift#IamRoleArnList", - "traits": { - "smithy.api#documentation": "

                            A list of AWS Identity and Access Management (IAM) roles that can be used by the\n cluster to access other AWS services. You must supply the IAM roles in their Amazon\n Resource Name (ARN) format. You can supply up to 10 IAM roles in a single\n request.

                            \n

                            A cluster can have up to 10 IAM roles associated with it at any time.

                            " + "smithy.api#documentation": "

                            Specifies the name of the HSM configuration that contains the information the\n Amazon Redshift cluster can use to retrieve and store keys in an HSM.

                            " } }, "ElasticIp": { @@ -2068,16 +2088,16 @@ "smithy.api#documentation": "

                            The Elastic IP (EIP) address for the cluster.

                            \n

                            Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible\n through an Internet gateway. For more information about provisioning clusters in\n EC2-VPC, go to Supported\n Platforms to Launch Your Cluster in the Amazon Redshift Cluster Management Guide.

                            " } }, - "DBName": { - "target": "com.amazonaws.redshift#String", + "Tags": { + "target": "com.amazonaws.redshift#TagList", "traits": { - "smithy.api#documentation": "

                            The name of the first database to be created when the cluster is created.

                            \n

                            To create additional databases after the cluster is created, connect to the cluster\n with a SQL client and use SQL commands to create a database. For more information, go to\n Create\n a Database in the Amazon Redshift Database Developer Guide.

                            \n

                            Default: dev\n

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Must contain 1 to 64 alphanumeric characters.

                              \n
                            • \n
                            • \n

                              Must contain only lowercase letters.

                              \n
                            • \n
                            • \n

                              Cannot be a word that is reserved by the service. A list of reserved words\n can be found in Reserved Words in the\n Amazon Redshift Database Developer Guide.

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            A list of tag instances.

                            " } }, - "NumberOfNodes": { - "target": "com.amazonaws.redshift#IntegerOptional", + "KmsKeyId": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The number of compute nodes in the cluster. This parameter is required when the\n ClusterType parameter is specified as\n multi-node.

                            \n

                            For information about determining how many nodes you need, go to Working with\n Clusters in the Amazon Redshift Cluster Management Guide.

                            \n

                            If you don't specify this parameter, you get a single-node cluster. When requesting\n a multi-node cluster, you must specify the number of nodes that you want in the\n cluster.

                            \n

                            Default: 1\n

                            \n

                            Constraints: Value must be at least 1 and no more than 100.

                            " + "smithy.api#documentation": "

                            The AWS Key Management Service (KMS) key ID of the encryption key that you want to\n use to encrypt data in the cluster.

                            " } }, "EnhancedVpcRouting": { @@ -2086,42 +2106,28 @@ "smithy.api#documentation": "

                            An option that specifies whether to create the cluster with enhanced VPC routing\n enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a\n VPC. For more information, see Enhanced VPC Routing in\n the Amazon Redshift Cluster Management Guide.

                            \n

                            If this option is true, enhanced VPC routing is enabled.

                            \n

                            Default: false

                            " } }, - "PreferredMaintenanceWindow": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            The weekly time range (in UTC) during which automated cluster maintenance can\n occur.

                            \n

                            Format: ddd:hh24:mi-ddd:hh24:mi\n

                            \n

                            Default: A 30-minute window selected at random from an 8-hour block of time per\n region, occurring on a random day of the week. For more information about the time\n blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management Guide.

                            \n

                            Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

                            \n

                            Constraints: Minimum 30-minute window.

                            " - } - }, - "ClusterParameterGroupName": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            The name of the parameter group to be associated with this cluster.

                            \n

                            Default: The default Amazon Redshift cluster parameter group. For information about the\n default parameter group, go to Working with Amazon\n Redshift Parameter Groups\n

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Must be 1 to 255 alphanumeric characters or hyphens.

                              \n
                            • \n
                            • \n

                              First character must be a letter.

                              \n
                            • \n
                            • \n

                              Cannot end with a hyphen or contain two consecutive hyphens.

                              \n
                            • \n
                            " - } - }, - "ClusterIdentifier": { + "AdditionalInfo": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            A unique identifier for the cluster. You use this identifier to refer to the\n cluster for any subsequent cluster operations such as deleting or modifying. The\n identifier also appears in the Amazon Redshift console.

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Must contain from 1 to 63 alphanumeric characters or hyphens.

                              \n
                            • \n
                            • \n

                              Alphabetic characters must be lowercase.

                              \n
                            • \n
                            • \n

                              First character must be a letter.

                              \n
                            • \n
                            • \n

                              Cannot end with a hyphen or contain two consecutive hyphens.

                              \n
                            • \n
                            • \n

                              Must be unique for all clusters within an AWS account.

                              \n
                            • \n
                            \n\n

                            Example: myexamplecluster\n

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            Reserved.

                            " } }, - "ClusterSecurityGroups": { - "target": "com.amazonaws.redshift#ClusterSecurityGroupNameList", + "IamRoles": { + "target": "com.amazonaws.redshift#IamRoleArnList", "traits": { - "smithy.api#documentation": "

                            A list of security groups to be associated with this cluster.

                            \n

                            Default: The default cluster security group for Amazon Redshift.

                            " + "smithy.api#documentation": "

                            A list of AWS Identity and Access Management (IAM) roles that can be used by the\n cluster to access other AWS services. You must supply the IAM roles in their Amazon\n Resource Name (ARN) format. You can supply up to 10 IAM roles in a single\n request.

                            \n

                            A cluster can have up to 10 IAM roles associated with it at any time.

                            " } }, - "MasterUsername": { + "MaintenanceTrackName": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The user name associated with the master user account for the cluster that is being\n created.

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Must be 1 - 128 alphanumeric characters. The user name can't be\n PUBLIC.

                              \n
                            • \n
                            • \n

                              First character must be a letter.

                              \n
                            • \n
                            • \n\n

                              Cannot be a reserved word. A list of reserved words can be found in Reserved\n Words in the Amazon Redshift Database Developer Guide.

                              \n
                            • \n
                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            An optional parameter for the name of the maintenance track for the cluster. If you\n don't provide a maintenance track name, the cluster is assigned to the\n current track.

                            " } }, - "AvailabilityZone": { + "SnapshotScheduleIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision the\n cluster. For example, if you have several EC2 instances running in a specific\n Availability Zone, then you might want the cluster to be provisioned in the same zone in\n order to decrease network latency.

                            \n

                            Default: A random, system-chosen Availability Zone in the region that is specified\n by the endpoint.

                            \n

                            Example: us-east-2d\n

                            \n

                            Constraint: The specified Availability Zone must be in the same region as the\n current endpoint.

                            " + "smithy.api#documentation": "

                            A unique identifier for the snapshot schedule.

                            " } } }, @@ -2158,24 +2164,24 @@ "com.amazonaws.redshift#CreateClusterParameterGroupMessage": { "type": "structure", "members": { - "Description": { + "ParameterGroupName": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            A description of the parameter group.

                            ", + "smithy.api#documentation": "

                            The name of the cluster parameter group.

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Must be 1 to 255 alphanumeric characters or hyphens

                              \n
                            • \n
                            • \n

                              First character must be a letter.

                              \n
                            • \n
                            • \n

                              Cannot end with a hyphen or contain two consecutive hyphens.

                              \n
                            • \n
                            • \n

                              Must be unique withing your AWS account.

                              \n
                            • \n
                            \n \n

                            This value is stored as a lower-case string.

                            \n
                            ", "smithy.api#required": {} } }, - "ParameterGroupName": { + "ParameterGroupFamily": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The name of the cluster parameter group.

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Must be 1 to 255 alphanumeric characters or hyphens

                              \n
                            • \n
                            • \n

                              First character must be a letter.

                              \n
                            • \n
                            • \n

                              Cannot end with a hyphen or contain two consecutive hyphens.

                              \n
                            • \n
                            • \n

                              Must be unique withing your AWS account.

                              \n
                            • \n
                            \n \n

                            This value is stored as a lower-case string.

                            \n
                            ", + "smithy.api#documentation": "

                            The Amazon Redshift engine version to which the cluster parameter group applies. The\n cluster engine version determines the set of parameters.

                            \n

                            To get a list of valid parameter group family names, you can call DescribeClusterParameterGroups. By default, Amazon Redshift returns a list of\n all the parameter groups that are owned by your AWS account, including the default\n parameter groups for each Amazon Redshift engine version. The parameter group family names\n associated with the default parameter groups provide you the valid values. For example,\n a valid family name is \"redshift-1.0\".

                            ", "smithy.api#required": {} } }, - "ParameterGroupFamily": { + "Description": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The Amazon Redshift engine version to which the cluster parameter group applies. The\n cluster engine version determines the set of parameters.

                            \n

                            To get a list of valid parameter group family names, you can call DescribeClusterParameterGroups. By default, Amazon Redshift returns a list of\n all the parameter groups that are owned by your AWS account, including the default\n parameter groups for each Amazon Redshift engine version. The parameter group family names\n associated with the default parameter groups provide you the valid values. For example,\n a valid family name is \"redshift-1.0\".

                            ", + "smithy.api#documentation": "

                            A description of the parameter group.

                            ", "smithy.api#required": {} } }, @@ -2242,18 +2248,18 @@ "smithy.api#required": {} } }, - "Tags": { - "target": "com.amazonaws.redshift#TagList", - "traits": { - "smithy.api#documentation": "

                            A list of tag instances.

                            " - } - }, "Description": { "target": "com.amazonaws.redshift#String", "traits": { "smithy.api#documentation": "

                            A description for the security group.

                            ", "smithy.api#required": {} } + }, + "Tags": { + "target": "com.amazonaws.redshift#TagList", + "traits": { + "smithy.api#documentation": "

                            A list of tag instances.

                            " + } } }, "traits": { @@ -2306,6 +2312,13 @@ "com.amazonaws.redshift#CreateClusterSnapshotMessage": { "type": "structure", "members": { + "SnapshotIdentifier": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            A unique identifier for the snapshot that you are requesting. This identifier must\n be unique for all snapshots within the AWS account.

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Cannot be null, empty, or blank

                              \n
                            • \n
                            • \n

                              Must contain from 1 to 255 alphanumeric characters or hyphens

                              \n
                            • \n
                            • \n

                              First character must be a letter

                              \n
                            • \n
                            • \n

                              Cannot end with a hyphen or contain two consecutive hyphens

                              \n
                            • \n
                            \n

                            Example: my-snapshot-id\n

                            ", + "smithy.api#required": {} + } + }, "ClusterIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { @@ -2313,24 +2326,17 @@ "smithy.api#required": {} } }, - "Tags": { - "target": "com.amazonaws.redshift#TagList", - "traits": { - "smithy.api#documentation": "

                            A list of tag instances.

                            " - } - }, - "SnapshotIdentifier": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            A unique identifier for the snapshot that you are requesting. This identifier must\n be unique for all snapshots within the AWS account.

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Cannot be null, empty, or blank

                              \n
                            • \n
                            • \n

                              Must contain from 1 to 255 alphanumeric characters or hyphens

                              \n
                            • \n
                            • \n

                              First character must be a letter

                              \n
                            • \n
                            • \n

                              Cannot end with a hyphen or contain two consecutive hyphens

                              \n
                            • \n
                            \n

                            Example: my-snapshot-id\n

                            ", - "smithy.api#required": {} - } - }, "ManualSnapshotRetentionPeriod": { "target": "com.amazonaws.redshift#IntegerOptional", "traits": { "smithy.api#documentation": "

                            The number of days that a manual snapshot is retained. If the value is -1, the manual\n snapshot is retained indefinitely.

                            \n\n

                            The value must be either -1 or an integer between 1 and 3,653.

                            \n\n

                            The default value is -1.

                            " } + }, + "Tags": { + "target": "com.amazonaws.redshift#TagList", + "traits": { + "smithy.api#documentation": "

                            A list of tag instances.

                            " + } } }, "traits": { @@ -2386,16 +2392,10 @@ "com.amazonaws.redshift#CreateClusterSubnetGroupMessage": { "type": "structure", "members": { - "Tags": { - "target": "com.amazonaws.redshift#TagList", - "traits": { - "smithy.api#documentation": "

                            A list of tag instances.

                            " - } - }, - "SubnetIds": { - "target": "com.amazonaws.redshift#SubnetIdentifierList", + "ClusterSubnetGroupName": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            An array of VPC subnet IDs. A maximum of 20 subnets can be modified in a single\n request.

                            ", + "smithy.api#documentation": "

                            The name for the subnet group. Amazon Redshift stores the value as a lowercase\n string.

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Must contain no more than 255 alphanumeric characters or hyphens.

                              \n
                            • \n
                            • \n

                              Must not be \"Default\".

                              \n
                            • \n
                            • \n

                              Must be unique for all subnet groups that are created by your AWS\n account.

                              \n
                            • \n
                            \n

                            Example: examplesubnetgroup\n

                            ", "smithy.api#required": {} } }, @@ -2406,12 +2406,18 @@ "smithy.api#required": {} } }, - "ClusterSubnetGroupName": { - "target": "com.amazonaws.redshift#String", + "SubnetIds": { + "target": "com.amazonaws.redshift#SubnetIdentifierList", "traits": { - "smithy.api#documentation": "

                            The name for the subnet group. Amazon Redshift stores the value as a lowercase\n string.

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Must contain no more than 255 alphanumeric characters or hyphens.

                              \n
                            • \n
                            • \n

                              Must not be \"Default\".

                              \n
                            • \n
                            • \n

                              Must be unique for all subnet groups that are created by your AWS\n account.

                              \n
                            • \n
                            \n

                            Example: examplesubnetgroup\n

                            ", + "smithy.api#documentation": "

                            An array of VPC subnet IDs. A maximum of 20 subnets can be modified in a single\n request.

                            ", "smithy.api#required": {} } + }, + "Tags": { + "target": "com.amazonaws.redshift#TagList", + "traits": { + "smithy.api#documentation": "

                            A list of tag instances.

                            " + } } }, "traits": { @@ -2476,23 +2482,18 @@ "com.amazonaws.redshift#CreateEventSubscriptionMessage": { "type": "structure", "members": { - "SnsTopicArn": { + "SubscriptionName": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the Amazon SNS topic used to transmit the event\n notifications. The ARN is created by Amazon SNS when you create a topic and subscribe to\n it.

                            ", + "smithy.api#documentation": "

                            The name of the event subscription to be created.

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Cannot be null, empty, or blank.

                              \n
                            • \n
                            • \n

                              Must contain from 1 to 255 alphanumeric characters or hyphens.

                              \n
                            • \n
                            • \n

                              First character must be a letter.

                              \n
                            • \n
                            • \n

                              Cannot end with a hyphen or contain two consecutive hyphens.

                              \n
                            • \n
                            ", "smithy.api#required": {} } }, - "EventCategories": { - "target": "com.amazonaws.redshift#EventCategoriesList", - "traits": { - "smithy.api#documentation": "

                            Specifies the Amazon Redshift event categories to be published by the event notification\n subscription.

                            \n

                            Values: configuration, management, monitoring, security

                            " - } - }, - "Enabled": { - "target": "com.amazonaws.redshift#BooleanOptional", + "SnsTopicArn": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            A boolean value; set to true to activate the subscription, and set to\n false to create the subscription but not activate it.

                            " + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the Amazon SNS topic used to transmit the event\n notifications. The ARN is created by Amazon SNS when you create a topic and subscribe to\n it.

                            ", + "smithy.api#required": {} } }, "SourceType": { @@ -2501,11 +2502,16 @@ "smithy.api#documentation": "

                            The type of source that will be generating the events. For example, if you want to\n be notified of events generated by a cluster, you would set this parameter to cluster.\n If this value is not specified, events are returned for all Amazon Redshift objects in your\n AWS account. You must specify a source type in order to specify source IDs.

                            \n

                            Valid values: cluster, cluster-parameter-group, cluster-security-group, cluster-snapshot, and scheduled-action.

                            " } }, - "SubscriptionName": { - "target": "com.amazonaws.redshift#String", + "SourceIds": { + "target": "com.amazonaws.redshift#SourceIdsList", "traits": { - "smithy.api#documentation": "

                            The name of the event subscription to be created.

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Cannot be null, empty, or blank.

                              \n
                            • \n
                            • \n

                              Must contain from 1 to 255 alphanumeric characters or hyphens.

                              \n
                            • \n
                            • \n

                              First character must be a letter.

                              \n
                            • \n
                            • \n

                              Cannot end with a hyphen or contain two consecutive hyphens.

                              \n
                            • \n
                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            A list of one or more identifiers of Amazon Redshift source objects. All of the objects\n must be of the same type as was specified in the source type parameter. The event\n subscription will return only events generated by the specified objects. If not\n specified, then events are returned for all objects within the source type\n specified.

                            \n

                            Example: my-cluster-1, my-cluster-2

                            \n

                            Example: my-snapshot-20131010

                            " + } + }, + "EventCategories": { + "target": "com.amazonaws.redshift#EventCategoriesList", + "traits": { + "smithy.api#documentation": "

                            Specifies the Amazon Redshift event categories to be published by the event notification\n subscription.

                            \n

                            Values: configuration, management, monitoring, security

                            " } }, "Severity": { @@ -2514,10 +2520,10 @@ "smithy.api#documentation": "

                            Specifies the Amazon Redshift event severity to be published by the event notification\n subscription.

                            \n

                            Values: ERROR, INFO

                            " } }, - "SourceIds": { - "target": "com.amazonaws.redshift#SourceIdsList", + "Enabled": { + "target": "com.amazonaws.redshift#BooleanOptional", "traits": { - "smithy.api#documentation": "

                            A list of one or more identifiers of Amazon Redshift source objects. All of the objects\n must be of the same type as was specified in the source type parameter. The event\n subscription will return only events generated by the specified objects. If not\n specified, then events are returned for all objects within the source type\n specified.

                            \n

                            Example: my-cluster-1, my-cluster-2

                            \n

                            Example: my-snapshot-20131010

                            " + "smithy.api#documentation": "

                            A boolean value; set to true to activate the subscription, and set to\n false to create the subscription but not activate it.

                            " } }, "Tags": { @@ -2568,18 +2574,18 @@ "com.amazonaws.redshift#CreateHsmClientCertificateMessage": { "type": "structure", "members": { - "Tags": { - "target": "com.amazonaws.redshift#TagList", - "traits": { - "smithy.api#documentation": "

                            A list of tag instances.

                            " - } - }, "HsmClientCertificateIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { "smithy.api#documentation": "

                            The identifier to be assigned to the new HSM client certificate that the cluster\n will use to connect to the HSM to use the database encryption keys.

                            ", "smithy.api#required": {} } + }, + "Tags": { + "target": "com.amazonaws.redshift#TagList", + "traits": { + "smithy.api#documentation": "

                            A list of tag instances.

                            " + } } }, "traits": { @@ -2623,23 +2629,17 @@ "com.amazonaws.redshift#CreateHsmConfigurationMessage": { "type": "structure", "members": { - "HsmPartitionName": { + "HsmConfigurationIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The name of the partition in the HSM where the Amazon Redshift clusters will store their\n database encryption keys.

                            ", + "smithy.api#documentation": "

                            The identifier to be assigned to the new Amazon Redshift HSM configuration.

                            ", "smithy.api#required": {} } }, - "Tags": { - "target": "com.amazonaws.redshift#TagList", - "traits": { - "smithy.api#documentation": "

                            A list of tag instances.

                            " - } - }, - "HsmConfigurationIdentifier": { + "Description": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The identifier to be assigned to the new Amazon Redshift HSM configuration.

                            ", + "smithy.api#documentation": "

                            A text description of the HSM configuration to be created.

                            ", "smithy.api#required": {} } }, @@ -2650,17 +2650,17 @@ "smithy.api#required": {} } }, - "HsmPartitionPassword": { + "HsmPartitionName": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The password required to access the HSM partition.

                            ", + "smithy.api#documentation": "

                            The name of the partition in the HSM where the Amazon Redshift clusters will store their\n database encryption keys.

                            ", "smithy.api#required": {} } }, - "Description": { + "HsmPartitionPassword": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            A text description of the HSM configuration to be created.

                            ", + "smithy.api#documentation": "

                            The password required to access the HSM partition.

                            ", "smithy.api#required": {} } }, @@ -2670,6 +2670,12 @@ "smithy.api#documentation": "

                            The HSMs public certificate file. When using Cloud HSM, the file name is\n server.pem.

                            ", "smithy.api#required": {} } + }, + "Tags": { + "target": "com.amazonaws.redshift#TagList", + "traits": { + "smithy.api#documentation": "

                            A list of tag instances.

                            " + } } }, "traits": { @@ -2719,10 +2725,11 @@ "com.amazonaws.redshift#CreateScheduledActionMessage": { "type": "structure", "members": { - "Enable": { - "target": "com.amazonaws.redshift#BooleanOptional", + "ScheduledActionName": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            If true, the schedule is enabled. If false, the scheduled action does not trigger. \n For more information about state of the scheduled action, see ScheduledAction.

                            " + "smithy.api#documentation": "

                            The name of the scheduled action. The name must be unique within an account. \n For more information about this parameter, see ScheduledAction.

                            ", + "smithy.api#required": {} } }, "TargetAction": { @@ -2732,6 +2739,13 @@ "smithy.api#required": {} } }, + "Schedule": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            The schedule in at( ) or cron( ) format. \n For more information about this parameter, see ScheduledAction.

                            ", + "smithy.api#required": {} + } + }, "IamRole": { "target": "com.amazonaws.redshift#String", "traits": { @@ -2739,6 +2753,12 @@ "smithy.api#required": {} } }, + "ScheduledActionDescription": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            The description of the scheduled action. \n

                            " + } + }, "StartTime": { "target": "com.amazonaws.redshift#TStamp", "traits": { @@ -2751,24 +2771,10 @@ "smithy.api#documentation": "

                            The end time in UTC of the scheduled action. After this time, the scheduled action does not trigger. \n For more information about this parameter, see ScheduledAction.

                            " } }, - "ScheduledActionDescription": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            The description of the scheduled action. \n

                            " - } - }, - "Schedule": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            The schedule in at( ) or cron( ) format. \n For more information about this parameter, see ScheduledAction.

                            ", - "smithy.api#required": {} - } - }, - "ScheduledActionName": { - "target": "com.amazonaws.redshift#String", + "Enable": { + "target": "com.amazonaws.redshift#BooleanOptional", "traits": { - "smithy.api#documentation": "

                            The name of the scheduled action. The name must be unique within an account. \n For more information about this parameter, see ScheduledAction.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            If true, the schedule is enabled. If false, the scheduled action does not trigger. \n For more information about state of the scheduled action, see ScheduledAction.

                            " } } } @@ -2808,17 +2814,17 @@ "com.amazonaws.redshift#CreateSnapshotCopyGrantMessage": { "type": "structure", "members": { - "KmsKeyId": { + "SnapshotCopyGrantName": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The unique identifier of the customer master key (CMK) to which to grant Amazon Redshift\n permission. If no key is specified, the default key is used.

                            " + "smithy.api#documentation": "

                            The name of the snapshot copy grant. This name must be unique in the region for the\n AWS account.

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Must contain from 1 to 63 alphanumeric characters or hyphens.

                              \n
                            • \n
                            • \n

                              Alphabetic characters must be lowercase.

                              \n
                            • \n
                            • \n

                              First character must be a letter.

                              \n
                            • \n
                            • \n

                              Cannot end with a hyphen or contain two consecutive hyphens.

                              \n
                            • \n
                            • \n

                              Must be unique for all clusters within an AWS account.

                              \n
                            • \n
                            ", + "smithy.api#required": {} } }, - "SnapshotCopyGrantName": { + "KmsKeyId": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The name of the snapshot copy grant. This name must be unique in the region for the\n AWS account.

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Must contain from 1 to 63 alphanumeric characters or hyphens.

                              \n
                            • \n
                            • \n

                              Alphabetic characters must be lowercase.

                              \n
                            • \n
                            • \n

                              First character must be a letter.

                              \n
                            • \n
                            • \n

                              Cannot end with a hyphen or contain two consecutive hyphens.

                              \n
                            • \n
                            • \n

                              Must be unique for all clusters within an AWS account.

                              \n
                            • \n
                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The unique identifier of the customer master key (CMK) to which to grant Amazon Redshift\n permission. If no key is specified, the default key is used.

                            " } }, "Tags": { @@ -2872,28 +2878,28 @@ "com.amazonaws.redshift#CreateSnapshotScheduleMessage": { "type": "structure", "members": { - "ScheduleDescription": { - "target": "com.amazonaws.redshift#String", + "ScheduleDefinitions": { + "target": "com.amazonaws.redshift#ScheduleDefinitionList", "traits": { - "smithy.api#documentation": "

                            The description of the snapshot schedule.

                            " + "smithy.api#documentation": "

                            The definition of the snapshot schedule. The definition is made up of schedule\n expressions, for example \"cron(30 12 *)\" or \"rate(12 hours)\".

                            " } }, - "Tags": { - "target": "com.amazonaws.redshift#TagList", + "ScheduleIdentifier": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            An optional set of tags you can use to search for the schedule.

                            " + "smithy.api#documentation": "

                            A unique identifier for a snapshot schedule. Only alphanumeric characters are allowed\n for the identifier.

                            " } }, - "NextInvocations": { - "target": "com.amazonaws.redshift#IntegerOptional", + "ScheduleDescription": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            " + "smithy.api#documentation": "

                            The description of the snapshot schedule.

                            " } }, - "ScheduleIdentifier": { - "target": "com.amazonaws.redshift#String", + "Tags": { + "target": "com.amazonaws.redshift#TagList", "traits": { - "smithy.api#documentation": "

                            A unique identifier for a snapshot schedule. Only alphanumeric characters are allowed\n for the identifier.

                            " + "smithy.api#documentation": "

                            An optional set of tags you can use to search for the schedule.

                            " } }, "DryRun": { @@ -2902,10 +2908,10 @@ "smithy.api#documentation": "

                            " } }, - "ScheduleDefinitions": { - "target": "com.amazonaws.redshift#ScheduleDefinitionList", + "NextInvocations": { + "target": "com.amazonaws.redshift#IntegerOptional", "traits": { - "smithy.api#documentation": "

                            The definition of the snapshot schedule. The definition is made up of schedule\n expressions, for example \"cron(30 12 *)\" or \"rate(12 hours)\".

                            " + "smithy.api#documentation": "

                            " } } } @@ -2990,10 +2996,25 @@ "com.amazonaws.redshift#CreateUsageLimitMessage": { "type": "structure", "members": { - "Tags": { - "target": "com.amazonaws.redshift#TagList", + "ClusterIdentifier": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            A list of tag instances.

                            " + "smithy.api#documentation": "

                            The identifier of the cluster that you want to limit usage.

                            ", + "smithy.api#required": {} + } + }, + "FeatureType": { + "target": "com.amazonaws.redshift#UsageLimitFeatureType", + "traits": { + "smithy.api#documentation": "

                            The Amazon Redshift feature that you want to limit.

                            ", + "smithy.api#required": {} + } + }, + "LimitType": { + "target": "com.amazonaws.redshift#UsageLimitLimitType", + "traits": { + "smithy.api#documentation": "

                            The type of limit. Depending on the feature type, this can be based on a time duration or data size.\n If FeatureType is spectrum, then LimitType must be data-scanned.\n If FeatureType is concurrency-scaling, then LimitType must be time.\n

                            ", + "smithy.api#required": {} } }, "Amount": { @@ -3015,25 +3036,10 @@ "smithy.api#documentation": "

                            The action that Amazon Redshift takes when the limit is reached. The default is log. \n For more information about this parameter, see UsageLimit.

                            " } }, - "FeatureType": { - "target": "com.amazonaws.redshift#UsageLimitFeatureType", - "traits": { - "smithy.api#documentation": "

                            The Amazon Redshift feature that you want to limit.

                            ", - "smithy.api#required": {} - } - }, - "ClusterIdentifier": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            The identifier of the cluster that you want to limit usage.

                            ", - "smithy.api#required": {} - } - }, - "LimitType": { - "target": "com.amazonaws.redshift#UsageLimitLimitType", + "Tags": { + "target": "com.amazonaws.redshift#TagList", "traits": { - "smithy.api#documentation": "

                            The type of limit. Depending on the feature type, this can be based on a time duration or data size.\n If FeatureType is spectrum, then LimitType must be data-scanned.\n If FeatureType is concurrency-scaling, then LimitType must be time.\n

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            A list of tag instances.

                            " } } } @@ -3041,16 +3047,16 @@ "com.amazonaws.redshift#CustomerStorageMessage": { "type": "structure", "members": { - "TotalProvisionedStorageInMegaBytes": { + "TotalBackupSizeInMegaBytes": { "target": "com.amazonaws.redshift#Double", "traits": { - "smithy.api#documentation": "

                            The total amount of storage currently provisioned.

                            " + "smithy.api#documentation": "

                            The total amount of storage currently used for snapshots.

                            " } }, - "TotalBackupSizeInMegaBytes": { + "TotalProvisionedStorageInMegaBytes": { "target": "com.amazonaws.redshift#Double", "traits": { - "smithy.api#documentation": "

                            The total amount of storage currently used for snapshots.

                            " + "smithy.api#documentation": "

                            The total amount of storage currently provisioned.

                            " } } } @@ -3058,12 +3064,6 @@ "com.amazonaws.redshift#DataTransferProgress": { "type": "structure", "members": { - "EstimatedTimeToCompletionInSeconds": { - "target": "com.amazonaws.redshift#LongOptional", - "traits": { - "smithy.api#documentation": "

                            Describes the estimated number of seconds remaining to complete the transfer.

                            " - } - }, "Status": { "target": "com.amazonaws.redshift#String", "traits": { @@ -3076,12 +3076,6 @@ "smithy.api#documentation": "

                            Describes the data transfer rate in MB's per second.

                            " } }, - "ElapsedTimeInSeconds": { - "target": "com.amazonaws.redshift#LongOptional", - "traits": { - "smithy.api#documentation": "

                            Describes the number of seconds that have elapsed during the data transfer.

                            " - } - }, "TotalDataInMegaBytes": { "target": "com.amazonaws.redshift#Long", "traits": { @@ -3093,6 +3087,18 @@ "traits": { "smithy.api#documentation": "

                            Describes the total amount of data that has been transfered in MB's.

                            " } + }, + "EstimatedTimeToCompletionInSeconds": { + "target": "com.amazonaws.redshift#LongOptional", + "traits": { + "smithy.api#documentation": "

                            Describes the estimated number of seconds remaining to complete the transfer.

                            " + } + }, + "ElapsedTimeInSeconds": { + "target": "com.amazonaws.redshift#LongOptional", + "traits": { + "smithy.api#documentation": "

                            Describes the number of seconds that have elapsed during the data transfer.

                            " + } } }, "traits": { @@ -3111,12 +3117,6 @@ "com.amazonaws.redshift#DefaultClusterParameters": { "type": "structure", "members": { - "Parameters": { - "target": "com.amazonaws.redshift#ParametersList", - "traits": { - "smithy.api#documentation": "

                            The list of cluster default parameters.

                            " - } - }, "ParameterGroupFamily": { "target": "com.amazonaws.redshift#String", "traits": { @@ -3128,6 +3128,12 @@ "traits": { "smithy.api#documentation": "

                            A value that indicates the starting point for the next set of response records in a\n subsequent request. If a value is returned in a response, you can retrieve the next set\n of records by providing this returned marker value in the Marker parameter\n and retrying the command. If the Marker field is empty, all response\n records have been retrieved for the request.

                            " } + }, + "Parameters": { + "target": "com.amazonaws.redshift#ParametersList", + "traits": { + "smithy.api#documentation": "

                            The list of cluster default parameters.

                            " + } } }, "traits": { @@ -3137,12 +3143,6 @@ "com.amazonaws.redshift#DeferredMaintenanceWindow": { "type": "structure", "members": { - "DeferMaintenanceEndTime": { - "target": "com.amazonaws.redshift#TStamp", - "traits": { - "smithy.api#documentation": "

                            A timestamp for the end of the time period when we defer maintenance.

                            " - } - }, "DeferMaintenanceIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { @@ -3154,6 +3154,12 @@ "traits": { "smithy.api#documentation": "

                            A timestamp for the beginning of the time period when we defer maintenance.

                            " } + }, + "DeferMaintenanceEndTime": { + "target": "com.amazonaws.redshift#TStamp", + "traits": { + "smithy.api#documentation": "

                            A timestamp for the end of the time period when we defer maintenance.

                            " + } } }, "traits": { @@ -3214,17 +3220,17 @@ "smithy.api#documentation": "

                            Determines whether a final snapshot of the cluster is created before Amazon Redshift\n deletes the cluster. If true, a final cluster snapshot is not created. If\n false, a final cluster snapshot is created before the cluster is\n deleted.

                            \n \n

                            The FinalClusterSnapshotIdentifier parameter must be\n specified if SkipFinalClusterSnapshot is\n false.

                            \n
                            \n

                            Default: false\n

                            " } }, - "FinalClusterSnapshotRetentionPeriod": { - "target": "com.amazonaws.redshift#IntegerOptional", - "traits": { - "smithy.api#documentation": "

                            The number of days that a manual snapshot is retained. If the value is -1, the manual\n snapshot is retained indefinitely.

                            \n

                            The value must be either -1 or an integer between 1 and 3,653.

                            \n

                            The default value is -1.

                            " - } - }, "FinalClusterSnapshotIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { "smithy.api#documentation": "

                            The identifier of the final snapshot that is to be created immediately before\n deleting the cluster. If this parameter is provided,\n SkipFinalClusterSnapshot must be false.

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Must be 1 to 255 alphanumeric characters.

                              \n
                            • \n
                            • \n

                              First character must be a letter.

                              \n
                            • \n
                            • \n

                              Cannot end with a hyphen or contain two consecutive hyphens.

                              \n
                            • \n
                            " } + }, + "FinalClusterSnapshotRetentionPeriod": { + "target": "com.amazonaws.redshift#IntegerOptional", + "traits": { + "smithy.api#documentation": "

                            The number of days that a manual snapshot is retained. If the value is -1, the manual\n snapshot is retained indefinitely.

                            \n

                            The value must be either -1 or an integer between 1 and 3,653.

                            \n

                            The default value is -1.

                            " + } } }, "traits": { @@ -3716,16 +3722,22 @@ } ], "traits": { - "smithy.api#documentation": "

                            Returns an array of ClusterDbRevision objects.

                            " + "smithy.api#documentation": "

                            Returns an array of ClusterDbRevision objects.

                            ", + "smithy.api#paginated": { + "inputToken": "Marker", + "outputToken": "Marker", + "items": "ClusterDbRevisions", + "pageSize": "MaxRecords" + } } }, "com.amazonaws.redshift#DescribeClusterDbRevisionsMessage": { "type": "structure", "members": { - "Marker": { + "ClusterIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            An optional parameter that specifies the starting point for returning a set of\n response records. When the results of a DescribeClusterDbRevisions request\n exceed the value specified in MaxRecords, Amazon Redshift returns a value\n in the marker field of the response. You can retrieve the next set of\n response records by providing the returned marker value in the\n marker parameter and retrying the request.

                            \n

                            Constraints: You can specify either the ClusterIdentifier parameter, or\n the marker parameter, but not both.

                            " + "smithy.api#documentation": "

                            A unique identifier for a cluster whose ClusterDbRevisions you are\n requesting. This parameter is case sensitive. All clusters defined for an account are\n returned by default.

                            " } }, "MaxRecords": { @@ -3734,10 +3746,10 @@ "smithy.api#documentation": "

                            The maximum number of response records to return in each call. If the number of\n remaining response records exceeds the specified MaxRecords value, a value is returned\n in the marker field of the response. You can retrieve the next set of\n response records by providing the returned marker value in the\n marker parameter and retrying the request.

                            \n

                            Default: 100

                            \n

                            Constraints: minimum 20, maximum 100.

                            " } }, - "ClusterIdentifier": { + "Marker": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            A unique identifier for a cluster whose ClusterDbRevisions you are\n requesting. This parameter is case sensitive. All clusters defined for an account are\n returned by default.

                            " + "smithy.api#documentation": "

                            An optional parameter that specifies the starting point for returning a set of\n response records. When the results of a DescribeClusterDbRevisions request\n exceed the value specified in MaxRecords, Amazon Redshift returns a value\n in the marker field of the response. You can retrieve the next set of\n response records by providing the returned marker value in the\n marker parameter and retrying the request.

                            \n

                            Constraints: You can specify either the ClusterIdentifier parameter, or\n the marker parameter, but not both.

                            " } } } @@ -3771,16 +3783,22 @@ "com.amazonaws.redshift#DescribeClusterParameterGroupsMessage": { "type": "structure", "members": { + "ParameterGroupName": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            The name of a specific parameter group for which to return details. By default,\n details about all parameter groups and the default parameter group are\n returned.

                            " + } + }, "MaxRecords": { "target": "com.amazonaws.redshift#IntegerOptional", "traits": { "smithy.api#documentation": "

                            The maximum number of response records to return in each call. If the number of\n remaining response records exceeds the specified MaxRecords value, a value\n is returned in a marker field of the response. You can retrieve the next\n set of records by retrying the command with the returned marker value.

                            \n

                            Default: 100\n

                            \n

                            Constraints: minimum 20, maximum 100.

                            " } }, - "ParameterGroupName": { + "Marker": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The name of a specific parameter group for which to return details. By default,\n details about all parameter groups and the default parameter group are\n returned.

                            " + "smithy.api#documentation": "

                            An optional parameter that specifies the starting point to return a set of response\n records. When the results of a DescribeClusterParameterGroups request\n exceed the value specified in MaxRecords, AWS returns a value in the\n Marker field of the response. You can retrieve the next set of response\n records by providing the returned marker value in the Marker parameter and\n retrying the request.

                            " } }, "TagKeys": { @@ -3789,12 +3807,6 @@ "smithy.api#documentation": "

                            A tag key or keys for which you want to return all matching cluster parameter\n groups that are associated with the specified key or keys. For example, suppose that you\n have parameter groups that are tagged with keys called owner and\n environment. If you specify both of these tag keys in the request,\n Amazon Redshift returns a response with the parameter groups that have either or both of these\n tag keys associated with them.

                            " } }, - "Marker": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            An optional parameter that specifies the starting point to return a set of response\n records. When the results of a DescribeClusterParameterGroups request\n exceed the value specified in MaxRecords, AWS returns a value in the\n Marker field of the response. You can retrieve the next set of response\n records by providing the returned marker value in the Marker parameter and\n retrying the request.

                            " - } - }, "TagValues": { "target": "com.amazonaws.redshift#TagValueList", "traits": { @@ -3832,17 +3844,17 @@ "com.amazonaws.redshift#DescribeClusterParametersMessage": { "type": "structure", "members": { - "Marker": { + "ParameterGroupName": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            An optional parameter that specifies the starting point to return a set of response\n records. When the results of a DescribeClusterParameters request\n exceed the value specified in MaxRecords, AWS returns a value in the\n Marker field of the response. You can retrieve the next set of response\n records by providing the returned marker value in the Marker parameter and\n retrying the request.

                            " + "smithy.api#documentation": "

                            The name of a cluster parameter group for which to return details.

                            ", + "smithy.api#required": {} } }, - "ParameterGroupName": { + "Source": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The name of a cluster parameter group for which to return details.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The parameter types to return. Specify user to show parameters that\n are different form the default. Similarly, specify engine-default to show\n parameters that are the same as the default parameter group.

                            \n

                            Default: All parameter types returned.

                            \n

                            Valid Values: user | engine-default\n

                            " } }, "MaxRecords": { @@ -3851,10 +3863,10 @@ "smithy.api#documentation": "

                            The maximum number of response records to return in each call. If the number of\n remaining response records exceeds the specified MaxRecords value, a value\n is returned in a marker field of the response. You can retrieve the next\n set of records by retrying the command with the returned marker value.

                            \n

                            Default: 100\n

                            \n

                            Constraints: minimum 20, maximum 100.

                            " } }, - "Source": { + "Marker": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The parameter types to return. Specify user to show parameters that\n are different form the default. Similarly, specify engine-default to show\n parameters that are the same as the default parameter group.

                            \n

                            Default: All parameter types returned.

                            \n

                            Valid Values: user | engine-default\n

                            " + "smithy.api#documentation": "

                            An optional parameter that specifies the starting point to return a set of response\n records. When the results of a DescribeClusterParameters request\n exceed the value specified in MaxRecords, AWS returns a value in the\n Marker field of the response. You can retrieve the next set of response\n records by providing the returned marker value in the Marker parameter and\n retrying the request.

                            " } } }, @@ -3891,22 +3903,22 @@ "com.amazonaws.redshift#DescribeClusterSecurityGroupsMessage": { "type": "structure", "members": { - "Marker": { + "ClusterSecurityGroupName": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            An optional parameter that specifies the starting point to return a set of response\n records. When the results of a DescribeClusterSecurityGroups request\n exceed the value specified in MaxRecords, AWS returns a value in the\n Marker field of the response. You can retrieve the next set of response\n records by providing the returned marker value in the Marker parameter and\n retrying the request.

                            \n

                            Constraints: You can specify either the ClusterSecurityGroupName parameter or the Marker parameter, but not both.

                            " + "smithy.api#documentation": "

                            The name of a cluster security group for which you are requesting details. You can\n specify either the Marker parameter or a ClusterSecurityGroupName parameter, but not both.

                            \n

                            Example: securitygroup1\n

                            " } }, - "TagValues": { - "target": "com.amazonaws.redshift#TagValueList", + "MaxRecords": { + "target": "com.amazonaws.redshift#IntegerOptional", "traits": { - "smithy.api#documentation": "

                            A tag value or values for which you want to return all matching cluster security\n groups that are associated with the specified tag value or values. For example, suppose\n that you have security groups that are tagged with values called admin and\n test. If you specify both of these tag values in the request, Amazon Redshift\n returns a response with the security groups that have either or both of these tag values\n associated with them.

                            " + "smithy.api#documentation": "

                            The maximum number of response records to return in each call. If the number of\n remaining response records exceeds the specified MaxRecords value, a value\n is returned in a marker field of the response. You can retrieve the next\n set of records by retrying the command with the returned marker value.

                            \n

                            Default: 100\n

                            \n

                            Constraints: minimum 20, maximum 100.

                            " } }, - "ClusterSecurityGroupName": { + "Marker": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The name of a cluster security group for which you are requesting details. You can\n specify either the Marker parameter or a ClusterSecurityGroupName parameter, but not both.

                            \n

                            Example: securitygroup1\n

                            " + "smithy.api#documentation": "

                            An optional parameter that specifies the starting point to return a set of response\n records. When the results of a DescribeClusterSecurityGroups request\n exceed the value specified in MaxRecords, AWS returns a value in the\n Marker field of the response. You can retrieve the next set of response\n records by providing the returned marker value in the Marker parameter and\n retrying the request.

                            \n

                            Constraints: You can specify either the ClusterSecurityGroupName parameter or the Marker parameter, but not both.

                            " } }, "TagKeys": { @@ -3915,10 +3927,10 @@ "smithy.api#documentation": "

                            A tag key or keys for which you want to return all matching cluster security groups\n that are associated with the specified key or keys. For example, suppose that you have\n security groups that are tagged with keys called owner and\n environment. If you specify both of these tag keys in the request,\n Amazon Redshift returns a response with the security groups that have either or both of these\n tag keys associated with them.

                            " } }, - "MaxRecords": { - "target": "com.amazonaws.redshift#IntegerOptional", + "TagValues": { + "target": "com.amazonaws.redshift#TagValueList", "traits": { - "smithy.api#documentation": "

                            The maximum number of response records to return in each call. If the number of\n remaining response records exceeds the specified MaxRecords value, a value\n is returned in a marker field of the response. You can retrieve the next\n set of records by retrying the command with the returned marker value.

                            \n

                            Default: 100\n

                            \n

                            Constraints: minimum 20, maximum 100.

                            " + "smithy.api#documentation": "

                            A tag value or values for which you want to return all matching cluster security\n groups that are associated with the specified tag value or values. For example, suppose\n that you have security groups that are tagged with values called admin and\n test. If you specify both of these tag values in the request, Amazon Redshift\n returns a response with the security groups that have either or both of these tag values\n associated with them.

                            " } } }, @@ -3964,16 +3976,10 @@ "smithy.api#documentation": "

                            The identifier of the cluster which generated the requested snapshots.

                            " } }, - "Marker": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            An optional parameter that specifies the starting point to return a set of response\n records. When the results of a DescribeClusterSnapshots request exceed\n the value specified in MaxRecords, AWS returns a value in the\n Marker field of the response. You can retrieve the next set of response\n records by providing the returned marker value in the Marker parameter and\n retrying the request.

                            " - } - }, - "OwnerAccount": { + "SnapshotIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The AWS customer account used to create or copy the snapshot. Use this field to\n filter the results to snapshots owned by a particular account. To describe snapshots you\n own, either specify your AWS customer account, or do not specify the\n parameter.

                            " + "smithy.api#documentation": "

                            The snapshot identifier of the snapshot about which to return\n information.

                            " } }, "SnapshotType": { @@ -3982,46 +3988,46 @@ "smithy.api#documentation": "

                            The type of snapshots for which you are requesting information. By default,\n snapshots of all types are returned.

                            \n

                            Valid Values: automated | manual\n

                            " } }, - "SnapshotIdentifier": { - "target": "com.amazonaws.redshift#String", + "StartTime": { + "target": "com.amazonaws.redshift#TStamp", "traits": { - "smithy.api#documentation": "

                            The snapshot identifier of the snapshot about which to return\n information.

                            " + "smithy.api#documentation": "

                            A value that requests only snapshots created at or after the specified time. The\n time value is specified in ISO 8601 format. For more information about ISO 8601, go to\n the ISO8601 Wikipedia page.\n

                            \n

                            Example: 2012-07-16T18:00:00Z\n

                            " } }, - "StartTime": { + "EndTime": { "target": "com.amazonaws.redshift#TStamp", "traits": { - "smithy.api#documentation": "

                            A value that requests only snapshots created at or after the specified time. The\n time value is specified in ISO 8601 format. For more information about ISO 8601, go to\n the ISO8601 Wikipedia page.\n

                            \n

                            Example: 2012-07-16T18:00:00Z\n

                            " + "smithy.api#documentation": "

                            A time value that requests only snapshots created at or before the specified time.\n The time value is specified in ISO 8601 format. For more information about ISO 8601, go\n to the ISO8601 Wikipedia\n page.\n

                            \n

                            Example: 2012-07-16T18:00:00Z\n

                            " } }, - "TagKeys": { - "target": "com.amazonaws.redshift#TagKeyList", + "MaxRecords": { + "target": "com.amazonaws.redshift#IntegerOptional", "traits": { - "smithy.api#documentation": "

                            A tag key or keys for which you want to return all matching cluster snapshots that\n are associated with the specified key or keys. For example, suppose that you have\n snapshots that are tagged with keys called owner and\n environment. If you specify both of these tag keys in the request,\n Amazon Redshift returns a response with the snapshots that have either or both of these tag\n keys associated with them.

                            " + "smithy.api#documentation": "

                            The maximum number of response records to return in each call. If the number of\n remaining response records exceeds the specified MaxRecords value, a value\n is returned in a marker field of the response. You can retrieve the next\n set of records by retrying the command with the returned marker value.

                            \n

                            Default: 100\n

                            \n

                            Constraints: minimum 20, maximum 100.

                            " } }, - "SortingEntities": { - "target": "com.amazonaws.redshift#SnapshotSortingEntityList", + "Marker": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            " + "smithy.api#documentation": "

                            An optional parameter that specifies the starting point to return a set of response\n records. When the results of a DescribeClusterSnapshots request exceed\n the value specified in MaxRecords, AWS returns a value in the\n Marker field of the response. You can retrieve the next set of response\n records by providing the returned marker value in the Marker parameter and\n retrying the request.

                            " } }, - "EndTime": { - "target": "com.amazonaws.redshift#TStamp", + "OwnerAccount": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            A time value that requests only snapshots created at or before the specified time.\n The time value is specified in ISO 8601 format. For more information about ISO 8601, go\n to the ISO8601 Wikipedia\n page.\n

                            \n

                            Example: 2012-07-16T18:00:00Z\n

                            " + "smithy.api#documentation": "

                            The AWS customer account used to create or copy the snapshot. Use this field to\n filter the results to snapshots owned by a particular account. To describe snapshots you\n own, either specify your AWS customer account, or do not specify the\n parameter.

                            " } }, - "TagValues": { - "target": "com.amazonaws.redshift#TagValueList", + "TagKeys": { + "target": "com.amazonaws.redshift#TagKeyList", "traits": { - "smithy.api#documentation": "

                            A tag value or values for which you want to return all matching cluster snapshots\n that are associated with the specified tag value or values. For example, suppose that\n you have snapshots that are tagged with values called admin and\n test. If you specify both of these tag values in the request, Amazon Redshift\n returns a response with the snapshots that have either or both of these tag values\n associated with them.

                            " + "smithy.api#documentation": "

                            A tag key or keys for which you want to return all matching cluster snapshots that\n are associated with the specified key or keys. For example, suppose that you have\n snapshots that are tagged with keys called owner and\n environment. If you specify both of these tag keys in the request,\n Amazon Redshift returns a response with the snapshots that have either or both of these tag\n keys associated with them.

                            " } }, - "MaxRecords": { - "target": "com.amazonaws.redshift#IntegerOptional", + "TagValues": { + "target": "com.amazonaws.redshift#TagValueList", "traits": { - "smithy.api#documentation": "

                            The maximum number of response records to return in each call. If the number of\n remaining response records exceeds the specified MaxRecords value, a value\n is returned in a marker field of the response. You can retrieve the next\n set of records by retrying the command with the returned marker value.

                            \n

                            Default: 100\n

                            \n

                            Constraints: minimum 20, maximum 100.

                            " + "smithy.api#documentation": "

                            A tag value or values for which you want to return all matching cluster snapshots\n that are associated with the specified tag value or values. For example, suppose that\n you have snapshots that are tagged with values called admin and\n test. If you specify both of these tag values in the request, Amazon Redshift\n returns a response with the snapshots that have either or both of these tag values\n associated with them.

                            " } }, "ClusterExists": { @@ -4029,6 +4035,12 @@ "traits": { "smithy.api#documentation": "

                            A value that indicates whether to return snapshots only for an existing cluster.\n You can perform table-level restore only by using a snapshot of an existing cluster,\n that is, a cluster that has not been deleted. Values for this parameter work as follows:

                            \n
                              \n
                            • \n

                              If ClusterExists is set to true,\n ClusterIdentifier is required.

                              \n
                            • \n
                            • \n

                              If ClusterExists is set to false and\n ClusterIdentifier isn't specified, all snapshots\n associated with deleted clusters (orphaned snapshots) are returned.

                              \n
                            • \n
                            • \n

                              If ClusterExists is set to false and\n ClusterIdentifier is specified for a deleted cluster, snapshots\n associated with that cluster are returned.

                              \n
                            • \n
                            • \n

                              If ClusterExists is set to false and\n ClusterIdentifier is specified for an existing cluster, no\n snapshots are returned.

                              \n
                            • \n
                            " } + }, + "SortingEntities": { + "target": "com.amazonaws.redshift#SnapshotSortingEntityList", + "traits": { + "smithy.api#documentation": "

                            " + } } }, "traits": { @@ -4064,12 +4076,6 @@ "com.amazonaws.redshift#DescribeClusterSubnetGroupsMessage": { "type": "structure", "members": { - "Marker": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            An optional parameter that specifies the starting point to return a set of response\n records. When the results of a DescribeClusterSubnetGroups request\n exceed the value specified in MaxRecords, AWS returns a value in the\n Marker field of the response. You can retrieve the next set of response\n records by providing the returned marker value in the Marker parameter and\n retrying the request.

                            " - } - }, "ClusterSubnetGroupName": { "target": "com.amazonaws.redshift#String", "traits": { @@ -4082,6 +4088,12 @@ "smithy.api#documentation": "

                            The maximum number of response records to return in each call. If the number of\n remaining response records exceeds the specified MaxRecords value, a value\n is returned in a marker field of the response. You can retrieve the next\n set of records by retrying the command with the returned marker value.

                            \n

                            Default: 100\n

                            \n

                            Constraints: minimum 20, maximum 100.

                            " } }, + "Marker": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            An optional parameter that specifies the starting point to return a set of response\n records. When the results of a DescribeClusterSubnetGroups request\n exceed the value specified in MaxRecords, AWS returns a value in the\n Marker field of the response. You can retrieve the next set of response\n records by providing the returned marker value in the Marker parameter and\n retrying the request.

                            " + } + }, "TagKeys": { "target": "com.amazonaws.redshift#TagKeyList", "traits": { @@ -4116,12 +4128,24 @@ } ], "traits": { - "smithy.api#documentation": "

                            Returns a list of all the available maintenance tracks.

                            " + "smithy.api#documentation": "

                            Returns a list of all the available maintenance tracks.

                            ", + "smithy.api#paginated": { + "inputToken": "Marker", + "outputToken": "Marker", + "items": "MaintenanceTracks", + "pageSize": "MaxRecords" + } } }, "com.amazonaws.redshift#DescribeClusterTracksMessage": { "type": "structure", "members": { + "MaintenanceTrackName": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            The name of the maintenance track.

                            " + } + }, "MaxRecords": { "target": "com.amazonaws.redshift#IntegerOptional", "traits": { @@ -4133,12 +4157,6 @@ "traits": { "smithy.api#documentation": "

                            An optional parameter that specifies the starting point to return a set of response\n records. When the results of a DescribeClusterTracks request exceed the\n value specified in MaxRecords, Amazon Redshift returns a value in the\n Marker field of the response. You can retrieve the next set of response\n records by providing the returned marker value in the Marker parameter and\n retrying the request.

                            " } - }, - "MaintenanceTrackName": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            The name of the maintenance track.

                            " - } } } }, @@ -4163,6 +4181,12 @@ "com.amazonaws.redshift#DescribeClusterVersionsMessage": { "type": "structure", "members": { + "ClusterVersion": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            The specific cluster version to return.

                            \n

                            Example: 1.0\n

                            " + } + }, "ClusterParameterGroupFamily": { "target": "com.amazonaws.redshift#String", "traits": { @@ -4180,12 +4204,6 @@ "traits": { "smithy.api#documentation": "

                            An optional parameter that specifies the starting point to return a set of response\n records. When the results of a DescribeClusterVersions request exceed\n the value specified in MaxRecords, AWS returns a value in the\n Marker field of the response. You can retrieve the next set of response\n records by providing the returned marker value in the Marker parameter and\n retrying the request.

                            " } - }, - "ClusterVersion": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            The specific cluster version to return.

                            \n

                            Example: 1.0\n

                            " - } } }, "traits": { @@ -4227,22 +4245,16 @@ "smithy.api#documentation": "

                            The unique identifier of a cluster whose properties you are requesting. This\n parameter is case sensitive.

                            \n

                            The default is that all clusters defined for an account are returned.

                            " } }, - "Marker": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            An optional parameter that specifies the starting point to return a set of response\n records. When the results of a DescribeClusters request exceed the\n value specified in MaxRecords, AWS returns a value in the\n Marker field of the response. You can retrieve the next set of response\n records by providing the returned marker value in the Marker parameter and\n retrying the request.

                            \n

                            Constraints: You can specify either the ClusterIdentifier parameter or the Marker parameter, but not both.

                            " - } - }, "MaxRecords": { "target": "com.amazonaws.redshift#IntegerOptional", "traits": { "smithy.api#documentation": "

                            The maximum number of response records to return in each call. If the number of\n remaining response records exceeds the specified MaxRecords value, a value\n is returned in a marker field of the response. You can retrieve the next\n set of records by retrying the command with the returned marker value.

                            \n

                            Default: 100\n

                            \n

                            Constraints: minimum 20, maximum 100.

                            " } }, - "TagValues": { - "target": "com.amazonaws.redshift#TagValueList", + "Marker": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            A tag value or values for which you want to return all matching clusters that are\n associated with the specified tag value or values. For example, suppose that you have\n clusters that are tagged with values called admin and test. If\n you specify both of these tag values in the request, Amazon Redshift returns a response with\n the clusters that have either or both of these tag values associated with\n them.

                            " + "smithy.api#documentation": "

                            An optional parameter that specifies the starting point to return a set of response\n records. When the results of a DescribeClusters request exceed the\n value specified in MaxRecords, AWS returns a value in the\n Marker field of the response. You can retrieve the next set of response\n records by providing the returned marker value in the Marker parameter and\n retrying the request.

                            \n

                            Constraints: You can specify either the ClusterIdentifier parameter or the Marker parameter, but not both.

                            " } }, "TagKeys": { @@ -4250,6 +4262,12 @@ "traits": { "smithy.api#documentation": "

                            A tag key or keys for which you want to return all matching clusters that are\n associated with the specified key or keys. For example, suppose that you have clusters\n that are tagged with keys called owner and environment. If you\n specify both of these tag keys in the request, Amazon Redshift returns a response with the\n clusters that have either or both of these tag keys associated with them.

                            " } + }, + "TagValues": { + "target": "com.amazonaws.redshift#TagValueList", + "traits": { + "smithy.api#documentation": "

                            A tag value or values for which you want to return all matching clusters that are\n associated with the specified tag value or values. For example, suppose that you have\n clusters that are tagged with values called admin and test. If\n you specify both of these tag values in the request, Amazon Redshift returns a response with\n the clusters that have either or both of these tag values associated with\n them.

                            " + } } }, "traits": { @@ -4370,10 +4388,10 @@ "smithy.api#documentation": "

                            The name of the Amazon Redshift event notification subscription to be\n described.

                            " } }, - "TagValues": { - "target": "com.amazonaws.redshift#TagValueList", + "MaxRecords": { + "target": "com.amazonaws.redshift#IntegerOptional", "traits": { - "smithy.api#documentation": "

                            A tag value or values for which you want to return all matching event notification\n subscriptions that are associated with the specified tag value or values. For example,\n suppose that you have subscriptions that are tagged with values called\n admin and test. If you specify both of these tag values in\n the request, Amazon Redshift returns a response with the subscriptions that have either or\n both of these tag values associated with them.

                            " + "smithy.api#documentation": "

                            The maximum number of response records to return in each call. If the number of\n remaining response records exceeds the specified MaxRecords value, a value\n is returned in a marker field of the response. You can retrieve the next\n set of records by retrying the command with the returned marker value.

                            \n

                            Default: 100\n

                            \n

                            Constraints: minimum 20, maximum 100.

                            " } }, "Marker": { @@ -4388,10 +4406,10 @@ "smithy.api#documentation": "

                            A tag key or keys for which you want to return all matching event notification\n subscriptions that are associated with the specified key or keys. For example, suppose\n that you have subscriptions that are tagged with keys called owner and\n environment. If you specify both of these tag keys in the request,\n Amazon Redshift returns a response with the subscriptions that have either or both of these\n tag keys associated with them.

                            " } }, - "MaxRecords": { - "target": "com.amazonaws.redshift#IntegerOptional", + "TagValues": { + "target": "com.amazonaws.redshift#TagValueList", "traits": { - "smithy.api#documentation": "

                            The maximum number of response records to return in each call. If the number of\n remaining response records exceeds the specified MaxRecords value, a value\n is returned in a marker field of the response. You can retrieve the next\n set of records by retrying the command with the returned marker value.

                            \n

                            Default: 100\n

                            \n

                            Constraints: minimum 20, maximum 100.

                            " + "smithy.api#documentation": "

                            A tag value or values for which you want to return all matching event notification\n subscriptions that are associated with the specified tag value or values. For example,\n suppose that you have subscriptions that are tagged with values called\n admin and test. If you specify both of these tag values in\n the request, Amazon Redshift returns a response with the subscriptions that have either or\n both of these tag values associated with them.

                            " } } }, @@ -4420,16 +4438,22 @@ "com.amazonaws.redshift#DescribeEventsMessage": { "type": "structure", "members": { + "SourceIdentifier": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            The identifier of the event source for which events will be returned. If this\n parameter is not specified, then all sources are included in the response.

                            \n

                            Constraints:

                            \n

                            If SourceIdentifier is supplied,\n SourceType must also be provided.

                            \n
                              \n
                            • \n

                              Specify a cluster identifier when SourceType is\n cluster.

                              \n
                            • \n
                            • \n

                              Specify a cluster security group name when SourceType\n is cluster-security-group.

                              \n
                            • \n
                            • \n

                              Specify a cluster parameter group name when SourceType\n is cluster-parameter-group.

                              \n
                            • \n
                            • \n

                              Specify a cluster snapshot identifier when SourceType\n is cluster-snapshot.

                              \n
                            • \n
                            " + } + }, "SourceType": { "target": "com.amazonaws.redshift#SourceType", "traits": { "smithy.api#documentation": "

                            The event source to retrieve events for. If no value is specified, all events are\n returned.

                            \n

                            Constraints:

                            \n

                            If SourceType is supplied,\n SourceIdentifier must also be provided.

                            \n
                              \n
                            • \n

                              Specify cluster when SourceIdentifier is\n a cluster identifier.

                              \n
                            • \n
                            • \n

                              Specify cluster-security-group when\n SourceIdentifier is a cluster security group\n name.

                              \n
                            • \n
                            • \n

                              Specify cluster-parameter-group when\n SourceIdentifier is a cluster parameter group\n name.

                              \n
                            • \n
                            • \n

                              Specify cluster-snapshot when\n SourceIdentifier is a cluster snapshot\n identifier.

                              \n
                            • \n
                            " } }, - "Duration": { - "target": "com.amazonaws.redshift#IntegerOptional", + "StartTime": { + "target": "com.amazonaws.redshift#TStamp", "traits": { - "smithy.api#documentation": "

                            The number of minutes prior to the time of the request for which to retrieve\n events. For example, if the request is sent at 18:00 and you specify a duration of 60,\n then only events which have occurred after 17:00 will be returned.

                            \n

                            Default: 60\n

                            " + "smithy.api#documentation": "

                            The beginning of the time interval to retrieve events for, specified in ISO 8601\n format. For more information about ISO 8601, go to the ISO8601 Wikipedia page.\n

                            \n

                            Example: 2009-07-08T18:00Z\n

                            " } }, "EndTime": { @@ -4438,10 +4462,10 @@ "smithy.api#documentation": "

                            The end of the time interval for which to retrieve events, specified in ISO 8601\n format. For more information about ISO 8601, go to the ISO8601 Wikipedia page.\n

                            \n

                            Example: 2009-07-08T18:00Z\n

                            " } }, - "SourceIdentifier": { - "target": "com.amazonaws.redshift#String", + "Duration": { + "target": "com.amazonaws.redshift#IntegerOptional", "traits": { - "smithy.api#documentation": "

                            The identifier of the event source for which events will be returned. If this\n parameter is not specified, then all sources are included in the response.

                            \n

                            Constraints:

                            \n

                            If SourceIdentifier is supplied,\n SourceType must also be provided.

                            \n
                              \n
                            • \n

                              Specify a cluster identifier when SourceType is\n cluster.

                              \n
                            • \n
                            • \n

                              Specify a cluster security group name when SourceType\n is cluster-security-group.

                              \n
                            • \n
                            • \n

                              Specify a cluster parameter group name when SourceType\n is cluster-parameter-group.

                              \n
                            • \n
                            • \n

                              Specify a cluster snapshot identifier when SourceType\n is cluster-snapshot.

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            The number of minutes prior to the time of the request for which to retrieve\n events. For example, if the request is sent at 18:00 and you specify a duration of 60,\n then only events which have occurred after 17:00 will be returned.

                            \n

                            Default: 60\n

                            " } }, "MaxRecords": { @@ -4450,12 +4474,6 @@ "smithy.api#documentation": "

                            The maximum number of response records to return in each call. If the number of\n remaining response records exceeds the specified MaxRecords value, a value\n is returned in a marker field of the response. You can retrieve the next\n set of records by retrying the command with the returned marker value.

                            \n

                            Default: 100\n

                            \n

                            Constraints: minimum 20, maximum 100.

                            " } }, - "StartTime": { - "target": "com.amazonaws.redshift#TStamp", - "traits": { - "smithy.api#documentation": "

                            The beginning of the time interval to retrieve events for, specified in ISO 8601\n format. For more information about ISO 8601, go to the ISO8601 Wikipedia page.\n

                            \n

                            Example: 2009-07-08T18:00Z\n

                            " - } - }, "Marker": { "target": "com.amazonaws.redshift#String", "traits": { @@ -4514,17 +4532,17 @@ "smithy.api#documentation": "

                            An optional parameter that specifies the starting point to return a set of response\n records. When the results of a DescribeHsmClientCertificates request\n exceed the value specified in MaxRecords, AWS returns a value in the\n Marker field of the response. You can retrieve the next set of response\n records by providing the returned marker value in the Marker parameter and\n retrying the request.

                            " } }, - "TagValues": { - "target": "com.amazonaws.redshift#TagValueList", - "traits": { - "smithy.api#documentation": "

                            A tag value or values for which you want to return all matching HSM client\n certificates that are associated with the specified tag value or values. For example,\n suppose that you have HSM client certificates that are tagged with values called\n admin and test. If you specify both of these tag values in\n the request, Amazon Redshift returns a response with the HSM client certificates that have\n either or both of these tag values associated with them.

                            " - } - }, "TagKeys": { "target": "com.amazonaws.redshift#TagKeyList", "traits": { "smithy.api#documentation": "

                            A tag key or keys for which you want to return all matching HSM client certificates\n that are associated with the specified key or keys. For example, suppose that you have\n HSM client certificates that are tagged with keys called owner and\n environment. If you specify both of these tag keys in the request,\n Amazon Redshift returns a response with the HSM client certificates that have either or both\n of these tag keys associated with them.

                            " } + }, + "TagValues": { + "target": "com.amazonaws.redshift#TagValueList", + "traits": { + "smithy.api#documentation": "

                            A tag value or values for which you want to return all matching HSM client\n certificates that are associated with the specified tag value or values. For example,\n suppose that you have HSM client certificates that are tagged with values called\n admin and test. If you specify both of these tag values in\n the request, Amazon Redshift returns a response with the HSM client certificates that have\n either or both of these tag values associated with them.

                            " + } } }, "traits": { @@ -4560,10 +4578,16 @@ "com.amazonaws.redshift#DescribeHsmConfigurationsMessage": { "type": "structure", "members": { - "TagKeys": { - "target": "com.amazonaws.redshift#TagKeyList", + "HsmConfigurationIdentifier": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            A tag key or keys for which you want to return all matching HSM configurations that\n are associated with the specified key or keys. For example, suppose that you have HSM\n configurations that are tagged with keys called owner and\n environment. If you specify both of these tag keys in the request,\n Amazon Redshift returns a response with the HSM configurations that have either or both of\n these tag keys associated with them.

                            " + "smithy.api#documentation": "

                            The identifier of a specific Amazon Redshift HSM configuration to be described. If no\n identifier is specified, information is returned for all HSM configurations owned by\n your AWS customer account.

                            " + } + }, + "MaxRecords": { + "target": "com.amazonaws.redshift#IntegerOptional", + "traits": { + "smithy.api#documentation": "

                            The maximum number of response records to return in each call. If the number of\n remaining response records exceeds the specified MaxRecords value, a value\n is returned in a marker field of the response. You can retrieve the next\n set of records by retrying the command with the returned marker value.

                            \n

                            Default: 100\n

                            \n

                            Constraints: minimum 20, maximum 100.

                            " } }, "Marker": { @@ -4572,10 +4596,10 @@ "smithy.api#documentation": "

                            An optional parameter that specifies the starting point to return a set of response\n records. When the results of a DescribeHsmConfigurations request\n exceed the value specified in MaxRecords, AWS returns a value in the\n Marker field of the response. You can retrieve the next set of response\n records by providing the returned marker value in the Marker parameter and\n retrying the request.

                            " } }, - "HsmConfigurationIdentifier": { - "target": "com.amazonaws.redshift#String", + "TagKeys": { + "target": "com.amazonaws.redshift#TagKeyList", "traits": { - "smithy.api#documentation": "

                            The identifier of a specific Amazon Redshift HSM configuration to be described. If no\n identifier is specified, information is returned for all HSM configurations owned by\n your AWS customer account.

                            " + "smithy.api#documentation": "

                            A tag key or keys for which you want to return all matching HSM configurations that\n are associated with the specified key or keys. For example, suppose that you have HSM\n configurations that are tagged with keys called owner and\n environment. If you specify both of these tag keys in the request,\n Amazon Redshift returns a response with the HSM configurations that have either or both of\n these tag keys associated with them.

                            " } }, "TagValues": { @@ -4583,12 +4607,6 @@ "traits": { "smithy.api#documentation": "

                            A tag value or values for which you want to return all matching HSM configurations\n that are associated with the specified tag value or values. For example, suppose that\n you have HSM configurations that are tagged with values called admin and\n test. If you specify both of these tag values in the request, Amazon Redshift\n returns a response with the HSM configurations that have either or both of these tag\n values associated with them.

                            " } - }, - "MaxRecords": { - "target": "com.amazonaws.redshift#IntegerOptional", - "traits": { - "smithy.api#documentation": "

                            The maximum number of response records to return in each call. If the number of\n remaining response records exceeds the specified MaxRecords value, a value\n is returned in a marker field of the response. You can retrieve the next\n set of records by retrying the command with the returned marker value.

                            \n

                            Default: 100\n

                            \n

                            Constraints: minimum 20, maximum 100.

                            " - } } }, "traits": { @@ -4669,16 +4687,16 @@ "smithy.api#required": {} } }, - "MaxRecords": { - "target": "com.amazonaws.redshift#IntegerOptional", + "ClusterIdentifier": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The maximum number of response records to return in each call. If the number of\n remaining response records exceeds the specified MaxRecords value, a value\n is returned in a marker field of the response. You can retrieve the next\n set of records by retrying the command with the returned marker value.

                            \n

                            Default: 500\n

                            \n

                            Constraints: minimum 100, maximum 500.

                            " + "smithy.api#documentation": "

                            The identifier of the cluster to evaluate for possible node configurations.

                            " } }, - "Marker": { + "SnapshotIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            An optional parameter that specifies the starting point to return a set of response\n records. When the results of a DescribeNodeConfigurationOptions request\n exceed the value specified in MaxRecords, AWS returns a value in the\n Marker field of the response. You can retrieve the next set of response\n records by providing the returned marker value in the Marker parameter and\n retrying the request.

                            " + "smithy.api#documentation": "

                            The identifier of the snapshot to evaluate for possible node configurations.

                            " } }, "OwnerAccount": { @@ -4687,12 +4705,6 @@ "smithy.api#documentation": "

                            The AWS customer account used to create or copy the snapshot. \n Required if you are restoring a snapshot you do not own, \n optional if you own the snapshot.

                            " } }, - "SnapshotIdentifier": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            The identifier of the snapshot to evaluate for possible node configurations.

                            " - } - }, "Filters": { "target": "com.amazonaws.redshift#NodeConfigurationOptionsFilterList", "traits": { @@ -4700,10 +4712,16 @@ "smithy.api#xmlName": "Filter" } }, - "ClusterIdentifier": { + "Marker": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The identifier of the cluster to evaluate for possible node configurations.

                            " + "smithy.api#documentation": "

                            An optional parameter that specifies the starting point to return a set of response\n records. When the results of a DescribeNodeConfigurationOptions request\n exceed the value specified in MaxRecords, AWS returns a value in the\n Marker field of the response. You can retrieve the next set of response\n records by providing the returned marker value in the Marker parameter and\n retrying the request.

                            " + } + }, + "MaxRecords": { + "target": "com.amazonaws.redshift#IntegerOptional", + "traits": { + "smithy.api#documentation": "

                            The maximum number of response records to return in each call. If the number of\n remaining response records exceeds the specified MaxRecords value, a value\n is returned in a marker field of the response. You can retrieve the next\n set of records by retrying the command with the returned marker value.

                            \n

                            Default: 500\n

                            \n

                            Constraints: minimum 100, maximum 500.

                            " } } } @@ -4729,28 +4747,28 @@ "com.amazonaws.redshift#DescribeOrderableClusterOptionsMessage": { "type": "structure", "members": { - "MaxRecords": { - "target": "com.amazonaws.redshift#IntegerOptional", + "ClusterVersion": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The maximum number of response records to return in each call. If the number of\n remaining response records exceeds the specified MaxRecords value, a value\n is returned in a marker field of the response. You can retrieve the next\n set of records by retrying the command with the returned marker value.

                            \n

                            Default: 100\n

                            \n

                            Constraints: minimum 20, maximum 100.

                            " + "smithy.api#documentation": "

                            The version filter value. Specify this parameter to show only the available\n offerings matching the specified version.

                            \n

                            Default: All versions.

                            \n

                            Constraints: Must be one of the version returned from DescribeClusterVersions.

                            " } }, - "Marker": { + "NodeType": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            An optional parameter that specifies the starting point to return a set of response\n records. When the results of a DescribeOrderableClusterOptions request\n exceed the value specified in MaxRecords, AWS returns a value in the\n Marker field of the response. You can retrieve the next set of response\n records by providing the returned marker value in the Marker parameter and\n retrying the request.

                            " + "smithy.api#documentation": "

                            The node type filter value. Specify this parameter to show only the available\n offerings matching the specified node type.

                            " } }, - "ClusterVersion": { - "target": "com.amazonaws.redshift#String", + "MaxRecords": { + "target": "com.amazonaws.redshift#IntegerOptional", "traits": { - "smithy.api#documentation": "

                            The version filter value. Specify this parameter to show only the available\n offerings matching the specified version.

                            \n

                            Default: All versions.

                            \n

                            Constraints: Must be one of the version returned from DescribeClusterVersions.

                            " + "smithy.api#documentation": "

                            The maximum number of response records to return in each call. If the number of\n remaining response records exceeds the specified MaxRecords value, a value\n is returned in a marker field of the response. You can retrieve the next\n set of records by retrying the command with the returned marker value.

                            \n

                            Default: 100\n

                            \n

                            Constraints: minimum 20, maximum 100.

                            " } }, - "NodeType": { + "Marker": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The node type filter value. Specify this parameter to show only the available\n offerings matching the specified node type.

                            " + "smithy.api#documentation": "

                            An optional parameter that specifies the starting point to return a set of response\n records. When the results of a DescribeOrderableClusterOptions request\n exceed the value specified in MaxRecords, AWS returns a value in the\n Marker field of the response. You can retrieve the next set of response\n records by providing the returned marker value in the Marker parameter and\n retrying the request.

                            " } } }, @@ -4929,34 +4947,22 @@ "com.amazonaws.redshift#DescribeScheduledActionsMessage": { "type": "structure", "members": { - "Filters": { - "target": "com.amazonaws.redshift#ScheduledActionFilterList", - "traits": { - "smithy.api#documentation": "

                            List of scheduled action filters.

                            " - } - }, - "Active": { - "target": "com.amazonaws.redshift#BooleanOptional", - "traits": { - "smithy.api#documentation": "

                            If true, retrieve only active scheduled actions. \n If false, retrieve only disabled scheduled actions.

                            " - } - }, "ScheduledActionName": { "target": "com.amazonaws.redshift#String", "traits": { "smithy.api#documentation": "

                            The name of the scheduled action to retrieve.

                            " } }, - "Marker": { - "target": "com.amazonaws.redshift#String", + "TargetActionType": { + "target": "com.amazonaws.redshift#ScheduledActionTypeValues", "traits": { - "smithy.api#documentation": "

                            An optional parameter that specifies the starting point to return a set of response\n records. When the results of a DescribeScheduledActions request\n exceed the value specified in MaxRecords, AWS returns a value in the\n Marker field of the response. You can retrieve the next set of response\n records by providing the returned marker value in the Marker parameter and\n retrying the request.

                            " + "smithy.api#documentation": "

                            The type of the scheduled actions to retrieve.

                            " } }, - "MaxRecords": { - "target": "com.amazonaws.redshift#IntegerOptional", + "StartTime": { + "target": "com.amazonaws.redshift#TStamp", "traits": { - "smithy.api#documentation": "

                            The maximum number of response records to return in each call. If the number of\n remaining response records exceeds the specified MaxRecords value, a value\n is returned in a marker field of the response. You can retrieve the next\n set of records by retrying the command with the returned marker value.

                            \n

                            Default: 100\n

                            \n

                            Constraints: minimum 20, maximum 100.

                            " + "smithy.api#documentation": "

                            The start time in UTC of the scheduled actions to retrieve. \n Only active scheduled actions that have invocations after this time are retrieved.

                            " } }, "EndTime": { @@ -4965,16 +4971,28 @@ "smithy.api#documentation": "

                            The end time in UTC of the scheduled action to retrieve. \n Only active scheduled actions that have invocations before this time are retrieved.

                            " } }, - "StartTime": { - "target": "com.amazonaws.redshift#TStamp", + "Active": { + "target": "com.amazonaws.redshift#BooleanOptional", "traits": { - "smithy.api#documentation": "

                            The start time in UTC of the scheduled actions to retrieve. \n Only active scheduled actions that have invocations after this time are retrieved.

                            " + "smithy.api#documentation": "

                            If true, retrieve only active scheduled actions. \n If false, retrieve only disabled scheduled actions.

                            " } }, - "TargetActionType": { - "target": "com.amazonaws.redshift#ScheduledActionTypeValues", + "Filters": { + "target": "com.amazonaws.redshift#ScheduledActionFilterList", "traits": { - "smithy.api#documentation": "

                            The type of the scheduled actions to retrieve.

                            " + "smithy.api#documentation": "

                            List of scheduled action filters.

                            " + } + }, + "Marker": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            An optional parameter that specifies the starting point to return a set of response\n records. When the results of a DescribeScheduledActions request\n exceed the value specified in MaxRecords, AWS returns a value in the\n Marker field of the response. You can retrieve the next set of response\n records by providing the returned marker value in the Marker parameter and\n retrying the request.

                            " + } + }, + "MaxRecords": { + "target": "com.amazonaws.redshift#IntegerOptional", + "traits": { + "smithy.api#documentation": "

                            The maximum number of response records to return in each call. If the number of\n remaining response records exceeds the specified MaxRecords value, a value\n is returned in a marker field of the response. You can retrieve the next\n set of records by retrying the command with the returned marker value.

                            \n

                            Default: 100\n

                            \n

                            Constraints: minimum 20, maximum 100.

                            " } } } @@ -4996,16 +5014,22 @@ } ], "traits": { - "smithy.api#documentation": "

                            Returns a list of snapshot copy grants owned by the AWS account in the destination\n region.

                            \n

                            \nFor more information about managing snapshot copy grants, go to \nAmazon Redshift Database Encryption \nin the Amazon Redshift Cluster Management Guide.\n

                            " + "smithy.api#documentation": "

                            Returns a list of snapshot copy grants owned by the AWS account in the destination\n region.

                            \n

                            \nFor more information about managing snapshot copy grants, go to \nAmazon Redshift Database Encryption \nin the Amazon Redshift Cluster Management Guide.\n

                            ", + "smithy.api#paginated": { + "inputToken": "Marker", + "outputToken": "Marker", + "items": "SnapshotCopyGrants", + "pageSize": "MaxRecords" + } } }, "com.amazonaws.redshift#DescribeSnapshotCopyGrantsMessage": { "type": "structure", "members": { - "TagKeys": { - "target": "com.amazonaws.redshift#TagKeyList", + "SnapshotCopyGrantName": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            A tag key or keys for which you want to return all matching resources that are\n associated with the specified key or keys. For example, suppose that you have resources\n tagged with keys called owner and environment. If you specify\n both of these tag keys in the request, Amazon Redshift returns a response with all resources\n that have either or both of these tag keys associated with them.

                            " + "smithy.api#documentation": "

                            The name of the snapshot copy grant.

                            " } }, "MaxRecords": { @@ -5020,10 +5044,10 @@ "smithy.api#documentation": "

                            An optional parameter that specifies the starting point to return a set of response\n records. When the results of a DescribeSnapshotCopyGrant request exceed the\n value specified in MaxRecords, AWS returns a value in the\n Marker field of the response. You can retrieve the next set of response\n records by providing the returned marker value in the Marker parameter and\n retrying the request.

                            \n

                            Constraints: You can specify either the SnapshotCopyGrantName parameter or the Marker parameter, but not both.

                            " } }, - "SnapshotCopyGrantName": { - "target": "com.amazonaws.redshift#String", + "TagKeys": { + "target": "com.amazonaws.redshift#TagKeyList", "traits": { - "smithy.api#documentation": "

                            The name of the snapshot copy grant.

                            " + "smithy.api#documentation": "

                            A tag key or keys for which you want to return all matching resources that are\n associated with the specified key or keys. For example, suppose that you have resources\n tagged with keys called owner and environment. If you specify\n both of these tag keys in the request, Amazon Redshift returns a response with all resources\n that have either or both of these tag keys associated with them.

                            " } }, "TagValues": { @@ -5046,7 +5070,13 @@ "target": "com.amazonaws.redshift#DescribeSnapshotSchedulesOutputMessage" }, "traits": { - "smithy.api#documentation": "

                            Returns a list of snapshot schedules.

                            " + "smithy.api#documentation": "

                            Returns a list of snapshot schedules.

                            ", + "smithy.api#paginated": { + "inputToken": "Marker", + "outputToken": "Marker", + "items": "SnapshotSchedules", + "pageSize": "MaxRecords" + } } }, "com.amazonaws.redshift#DescribeSnapshotSchedulesMessage": { @@ -5058,16 +5088,10 @@ "smithy.api#documentation": "

                            The unique identifier for the cluster whose snapshot schedules you want to\n view.

                            " } }, - "TagValues": { - "target": "com.amazonaws.redshift#TagValueList", - "traits": { - "smithy.api#documentation": "

                            The value corresponding to the key of the snapshot schedule tag.

                            " - } - }, - "MaxRecords": { - "target": "com.amazonaws.redshift#IntegerOptional", + "ScheduleIdentifier": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The maximum number or response records to return in each call. If the number of\n remaining response records exceeds the specified MaxRecords value, a value\n is returned in a marker field of the response. You can retrieve the next\n set of records by retrying the command with the returned marker\n value.

                            " + "smithy.api#documentation": "

                            A unique identifier for a snapshot schedule.

                            " } }, "TagKeys": { @@ -5076,10 +5100,10 @@ "smithy.api#documentation": "

                            The key value for a snapshot schedule tag.

                            " } }, - "ScheduleIdentifier": { - "target": "com.amazonaws.redshift#String", + "TagValues": { + "target": "com.amazonaws.redshift#TagValueList", "traits": { - "smithy.api#documentation": "

                            A unique identifier for a snapshot schedule.

                            " + "smithy.api#documentation": "

                            The value corresponding to the key of the snapshot schedule tag.

                            " } }, "Marker": { @@ -5087,6 +5111,12 @@ "traits": { "smithy.api#documentation": "

                            A value that indicates the starting point for the next set of response records in a\n subsequent request. If a value is returned in a response, you can retrieve the next set\n of records by providing this returned marker value in the marker parameter\n and retrying the command. If the marker field is empty, all response\n records have been retrieved for the request.

                            " } + }, + "MaxRecords": { + "target": "com.amazonaws.redshift#IntegerOptional", + "traits": { + "smithy.api#documentation": "

                            The maximum number or response records to return in each call. If the number of\n remaining response records exceeds the specified MaxRecords value, a value\n is returned in a marker field of the response. You can retrieve the next\n set of records by retrying the command with the returned marker\n value.

                            " + } } } }, @@ -5133,16 +5163,22 @@ } ], "traits": { - "smithy.api#documentation": "

                            Lists the status of one or more table restore requests made using the RestoreTableFromClusterSnapshot API action. If you don't specify a value\n for the TableRestoreRequestId parameter, then\n DescribeTableRestoreStatus returns the status of all table restore\n requests ordered by the date and time of the request in ascending order. Otherwise\n DescribeTableRestoreStatus returns the status of the table specified by\n TableRestoreRequestId.

                            " + "smithy.api#documentation": "

                            Lists the status of one or more table restore requests made using the RestoreTableFromClusterSnapshot API action. If you don't specify a value\n for the TableRestoreRequestId parameter, then\n DescribeTableRestoreStatus returns the status of all table restore\n requests ordered by the date and time of the request in ascending order. Otherwise\n DescribeTableRestoreStatus returns the status of the table specified by\n TableRestoreRequestId.

                            ", + "smithy.api#paginated": { + "inputToken": "Marker", + "outputToken": "Marker", + "items": "TableRestoreStatusDetails", + "pageSize": "MaxRecords" + } } }, "com.amazonaws.redshift#DescribeTableRestoreStatusMessage": { "type": "structure", "members": { - "MaxRecords": { - "target": "com.amazonaws.redshift#IntegerOptional", + "ClusterIdentifier": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The maximum number of records to include in the response. If more records exist\n than the specified MaxRecords value, a pagination token called a marker is\n included in the response so that the remaining results can be retrieved.

                            " + "smithy.api#documentation": "

                            The Amazon Redshift cluster that the table is being restored to.

                            " } }, "TableRestoreRequestId": { @@ -5151,16 +5187,16 @@ "smithy.api#documentation": "

                            The identifier of the table restore request to return status for. If you don't\n specify a TableRestoreRequestId value, then\n DescribeTableRestoreStatus returns the status of all in-progress table\n restore requests.

                            " } }, - "Marker": { - "target": "com.amazonaws.redshift#String", + "MaxRecords": { + "target": "com.amazonaws.redshift#IntegerOptional", "traits": { - "smithy.api#documentation": "

                            An optional pagination token provided by a previous\n DescribeTableRestoreStatus request. If this parameter is specified, the\n response includes only records beyond the marker, up to the value specified by the\n MaxRecords parameter.

                            " + "smithy.api#documentation": "

                            The maximum number of records to include in the response. If more records exist\n than the specified MaxRecords value, a pagination token called a marker is\n included in the response so that the remaining results can be retrieved.

                            " } }, - "ClusterIdentifier": { + "Marker": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The Amazon Redshift cluster that the table is being restored to.

                            " + "smithy.api#documentation": "

                            An optional pagination token provided by a previous\n DescribeTableRestoreStatus request. If this parameter is specified, the\n response includes only records beyond the marker, up to the value specified by the\n MaxRecords parameter.

                            " } } }, @@ -5185,16 +5221,22 @@ } ], "traits": { - "smithy.api#documentation": "

                            Returns a list of tags. You can return tags from a specific resource by specifying\n an ARN, or you can return all tags for a given type of resource, such as clusters,\n snapshots, and so on.

                            \n

                            The following are limitations for DescribeTags:

                            \n
                              \n
                            • \n

                              You cannot specify an ARN and a resource-type value together in the same\n request.

                              \n
                            • \n
                            • \n

                              You cannot use the MaxRecords and Marker\n parameters together with the ARN parameter.

                              \n
                            • \n
                            • \n

                              The MaxRecords parameter can be a range from 10 to 50 results\n to return in a request.

                              \n
                            • \n
                            \n

                            If you specify both tag keys and tag values in the same request, Amazon Redshift returns\n all resources that match any combination of the specified keys and values. For example,\n if you have owner and environment for tag keys, and\n admin and test for tag values, all resources that have any\n combination of those values are returned.

                            \n

                            If both tag keys and values are omitted from the request, resources are returned\n regardless of whether they have tag keys or values associated with them.

                            " + "smithy.api#documentation": "

                            Returns a list of tags. You can return tags from a specific resource by specifying\n an ARN, or you can return all tags for a given type of resource, such as clusters,\n snapshots, and so on.

                            \n

                            The following are limitations for DescribeTags:

                            \n
                              \n
                            • \n

                              You cannot specify an ARN and a resource-type value together in the same\n request.

                              \n
                            • \n
                            • \n

                              You cannot use the MaxRecords and Marker\n parameters together with the ARN parameter.

                              \n
                            • \n
                            • \n

                              The MaxRecords parameter can be a range from 10 to 50 results\n to return in a request.

                              \n
                            • \n
                            \n

                            If you specify both tag keys and tag values in the same request, Amazon Redshift returns\n all resources that match any combination of the specified keys and values. For example,\n if you have owner and environment for tag keys, and\n admin and test for tag values, all resources that have any\n combination of those values are returned.

                            \n

                            If both tag keys and values are omitted from the request, resources are returned\n regardless of whether they have tag keys or values associated with them.

                            ", + "smithy.api#paginated": { + "inputToken": "Marker", + "outputToken": "Marker", + "items": "TaggedResources", + "pageSize": "MaxRecords" + } } }, "com.amazonaws.redshift#DescribeTagsMessage": { "type": "structure", "members": { - "Marker": { + "ResourceName": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            A value that indicates the starting point for the next set of response records in a\n subsequent request. If a value is returned in a response, you can retrieve the next set\n of records by providing this returned marker value in the marker parameter\n and retrying the command. If the marker field is empty, all response\n records have been retrieved for the request.

                            " + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) for which you want to describe the tag or tags. For\n example, arn:aws:redshift:us-east-2:123456789:cluster:t1.

                            " } }, "ResourceType": { @@ -5209,6 +5251,12 @@ "smithy.api#documentation": "

                            The maximum number or response records to return in each call. If the number of\n remaining response records exceeds the specified MaxRecords value, a value\n is returned in a marker field of the response. You can retrieve the next\n set of records by retrying the command with the returned marker value.\n

                            " } }, + "Marker": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            A value that indicates the starting point for the next set of response records in a\n subsequent request. If a value is returned in a response, you can retrieve the next set\n of records by providing this returned marker value in the marker parameter\n and retrying the command. If the marker field is empty, all response\n records have been retrieved for the request.

                            " + } + }, "TagKeys": { "target": "com.amazonaws.redshift#TagKeyList", "traits": { @@ -5220,12 +5268,6 @@ "traits": { "smithy.api#documentation": "

                            A tag value or values for which you want to return all matching resources that are\n associated with the specified value or values. For example, suppose that you have\n resources tagged with values called admin and test. If you\n specify both of these tag values in the request, Amazon Redshift returns a response with all\n resources that have either or both of these tag values associated with them.

                            " } - }, - "ResourceName": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) for which you want to describe the tag or tags. For\n example, arn:aws:redshift:us-east-2:123456789:cluster:t1.

                            " - } } }, "traits": { @@ -5261,6 +5303,18 @@ "com.amazonaws.redshift#DescribeUsageLimitsMessage": { "type": "structure", "members": { + "UsageLimitId": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            The identifier of the usage limit to describe.

                            " + } + }, + "ClusterIdentifier": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            The identifier of the cluster for which you want to describe usage limits.

                            " + } + }, "FeatureType": { "target": "com.amazonaws.redshift#UsageLimitFeatureType", "traits": { @@ -5273,22 +5327,16 @@ "smithy.api#documentation": "

                            The maximum number of response records to return in each call. If the number of\n remaining response records exceeds the specified MaxRecords value, a value\n is returned in a marker field of the response. You can retrieve the next\n set of records by retrying the command with the returned marker value.

                            \n

                            Default: 100\n

                            \n

                            Constraints: minimum 20, maximum 100.

                            " } }, - "TagKeys": { - "target": "com.amazonaws.redshift#TagKeyList", - "traits": { - "smithy.api#documentation": "

                            A tag key or keys for which you want to return all matching usage limit objects\n that are associated with the specified key or keys. For example, suppose that you\n have parameter groups that are tagged with keys called owner and\n environment. If you specify both of these tag keys in the request,\n Amazon Redshift returns a response with the usage limit objects have either or both of these\n tag keys associated with them.

                            " - } - }, - "UsageLimitId": { + "Marker": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The identifier of the usage limit to describe.

                            " + "smithy.api#documentation": "

                            An optional parameter that specifies the starting point to return a set of response\n records. When the results of a DescribeUsageLimits request\n exceed the value specified in MaxRecords, AWS returns a value in the\n Marker field of the response. You can retrieve the next set of response\n records by providing the returned marker value in the Marker parameter and\n retrying the request.

                            " } }, - "Marker": { - "target": "com.amazonaws.redshift#String", + "TagKeys": { + "target": "com.amazonaws.redshift#TagKeyList", "traits": { - "smithy.api#documentation": "

                            An optional parameter that specifies the starting point to return a set of response\n records. When the results of a DescribeUsageLimits request\n exceed the value specified in MaxRecords, AWS returns a value in the\n Marker field of the response. You can retrieve the next set of response\n records by providing the returned marker value in the Marker parameter and\n retrying the request.

                            " + "smithy.api#documentation": "

                            A tag key or keys for which you want to return all matching usage limit objects\n that are associated with the specified key or keys. For example, suppose that you\n have parameter groups that are tagged with keys called owner and\n environment. If you specify both of these tag keys in the request,\n Amazon Redshift returns a response with the usage limit objects have either or both of these\n tag keys associated with them.

                            " } }, "TagValues": { @@ -5296,12 +5344,6 @@ "traits": { "smithy.api#documentation": "

                            A tag value or values for which you want to return all matching usage limit objects\n that are associated with the specified tag value or values. For example, suppose\n that you have parameter groups that are tagged with values called admin and\n test. If you specify both of these tag values in the request, Amazon Redshift\n returns a response with the usage limit objects that have either or both of these tag\n values associated with them.

                            " } - }, - "ClusterIdentifier": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            The identifier of the cluster for which you want to describe usage limits.

                            " - } } } }, @@ -5398,16 +5440,10 @@ "com.amazonaws.redshift#EC2SecurityGroup": { "type": "structure", "members": { - "EC2SecurityGroupOwnerId": { + "Status": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The AWS ID of the owner of the EC2 security group specified in the\n EC2SecurityGroupName field.

                            " - } - }, - "Tags": { - "target": "com.amazonaws.redshift#TagList", - "traits": { - "smithy.api#documentation": "

                            The list of tags for the EC2 security group.

                            " + "smithy.api#documentation": "

                            The status of the EC2 security group.

                            " } }, "EC2SecurityGroupName": { @@ -5416,10 +5452,16 @@ "smithy.api#documentation": "

                            The name of the EC2 Security Group.

                            " } }, - "Status": { + "EC2SecurityGroupOwnerId": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The status of the EC2 security group.

                            " + "smithy.api#documentation": "

                            The AWS ID of the owner of the EC2 security group specified in the\n EC2SecurityGroupName field.

                            " + } + }, + "Tags": { + "target": "com.amazonaws.redshift#TagList", + "traits": { + "smithy.api#documentation": "

                            The list of tags for the EC2 security group.

                            " } } }, @@ -5575,16 +5617,17 @@ "com.amazonaws.redshift#EnableSnapshotCopyMessage": { "type": "structure", "members": { - "SnapshotCopyGrantName": { + "ClusterIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The name of the snapshot copy grant to use when snapshots of an AWS KMS-encrypted\n cluster are copied to the destination region.

                            " + "smithy.api#documentation": "

                            The unique identifier of the source cluster to copy snapshots from.

                            \n

                            Constraints: Must be the valid name of an existing cluster that does not already\n have cross-region snapshot copy enabled.

                            ", + "smithy.api#required": {} } }, - "ClusterIdentifier": { + "DestinationRegion": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The unique identifier of the source cluster to copy snapshots from.

                            \n

                            Constraints: Must be the valid name of an existing cluster that does not already\n have cross-region snapshot copy enabled.

                            ", + "smithy.api#documentation": "

                            The destination AWS Region that you want to copy snapshots to.

                            \n

                            Constraints: Must be the name of a valid AWS Region. For more information, see\n Regions and Endpoints in the Amazon Web Services General Reference.\n

                            ", "smithy.api#required": {} } }, @@ -5594,11 +5637,10 @@ "smithy.api#documentation": "

                            The number of days to retain automated snapshots in the destination region after\n they are copied from the source region.

                            \n

                            Default: 7.

                            \n

                            Constraints: Must be at least 1 and no more than 35.

                            " } }, - "DestinationRegion": { + "SnapshotCopyGrantName": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The destination AWS Region that you want to copy snapshots to.

                            \n

                            Constraints: Must be the name of a valid AWS Region. For more information, see\n Regions and Endpoints in the Amazon Web Services General Reference.\n

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The name of the snapshot copy grant to use when snapshots of an AWS KMS-encrypted\n cluster are copied to the destination region.

                            " } }, "ManualSnapshotRetentionPeriod": { @@ -5643,10 +5685,10 @@ "com.amazonaws.redshift#Event": { "type": "structure", "members": { - "Message": { + "SourceIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The text of this event.

                            " + "smithy.api#documentation": "

                            The identifier for the source of the event.

                            " } }, "SourceType": { @@ -5655,16 +5697,10 @@ "smithy.api#documentation": "

                            The source type for this event.

                            " } }, - "SourceIdentifier": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            The identifier for the source of the event.

                            " - } - }, - "EventId": { + "Message": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The identifier of the event.

                            " + "smithy.api#documentation": "

                            The text of this event.

                            " } }, "EventCategories": { @@ -5684,6 +5720,12 @@ "traits": { "smithy.api#documentation": "

                            The date and time of the event.

                            " } + }, + "EventId": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            The identifier of the event.

                            " + } } }, "traits": { @@ -5702,17 +5744,17 @@ "com.amazonaws.redshift#EventCategoriesMap": { "type": "structure", "members": { - "Events": { - "target": "com.amazonaws.redshift#EventInfoMapList", - "traits": { - "smithy.api#documentation": "

                            The events in the event category.

                            " - } - }, "SourceType": { "target": "com.amazonaws.redshift#String", "traits": { "smithy.api#documentation": "

                            The source type, such as cluster or cluster-snapshot, that the returned categories\n belong to.

                            " } + }, + "Events": { + "target": "com.amazonaws.redshift#EventInfoMapList", + "traits": { + "smithy.api#documentation": "

                            The events in the event category.

                            " + } } }, "traits": { @@ -5745,18 +5787,18 @@ "com.amazonaws.redshift#EventInfoMap": { "type": "structure", "members": { - "EventCategories": { - "target": "com.amazonaws.redshift#EventCategoriesList", - "traits": { - "smithy.api#documentation": "

                            The category of an Amazon Redshift event.

                            " - } - }, "EventId": { "target": "com.amazonaws.redshift#String", "traits": { "smithy.api#documentation": "

                            The identifier of an Amazon Redshift event.

                            " } }, + "EventCategories": { + "target": "com.amazonaws.redshift#EventCategoriesList", + "traits": { + "smithy.api#documentation": "

                            The category of an Amazon Redshift event.

                            " + } + }, "EventDescription": { "target": "com.amazonaws.redshift#String", "traits": { @@ -5795,34 +5837,28 @@ "com.amazonaws.redshift#EventSubscription": { "type": "structure", "members": { - "Status": { + "CustomerAwsId": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The status of the Amazon Redshift event notification subscription.

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Can be one of the following: active | no-permission |\n topic-not-exist

                              \n
                            • \n
                            • \n

                              The status \"no-permission\" indicates that Amazon Redshift no longer has\n permission to post to the Amazon SNS topic. The status \"topic-not-exist\"\n indicates that the topic was deleted after the subscription was\n created.

                              \n
                            • \n
                            " - } - }, - "Tags": { - "target": "com.amazonaws.redshift#TagList", - "traits": { - "smithy.api#documentation": "

                            The list of tags for the event subscription.

                            " + "smithy.api#documentation": "

                            The AWS customer account associated with the Amazon Redshift event notification\n subscription.

                            " } }, - "SourceIdsList": { - "target": "com.amazonaws.redshift#SourceIdsList", + "CustSubscriptionId": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            A list of the sources that publish events to the Amazon Redshift event notification\n subscription.

                            " + "smithy.api#documentation": "

                            The name of the Amazon Redshift event notification subscription.

                            " } }, - "CustSubscriptionId": { + "SnsTopicArn": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The name of the Amazon Redshift event notification subscription.

                            " + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the Amazon SNS topic used by the event\n notification subscription.

                            " } }, - "CustomerAwsId": { + "Status": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The AWS customer account associated with the Amazon Redshift event notification\n subscription.

                            " + "smithy.api#documentation": "

                            The status of the Amazon Redshift event notification subscription.

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Can be one of the following: active | no-permission |\n topic-not-exist

                              \n
                            • \n
                            • \n

                              The status \"no-permission\" indicates that Amazon Redshift no longer has\n permission to post to the Amazon SNS topic. The status \"topic-not-exist\"\n indicates that the topic was deleted after the subscription was\n created.

                              \n
                            • \n
                            " } }, "SubscriptionCreationTime": { @@ -5831,34 +5867,40 @@ "smithy.api#documentation": "

                            The date and time the Amazon Redshift event notification subscription was\n created.

                            " } }, - "Severity": { + "SourceType": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The event severity specified in the Amazon Redshift event notification\n subscription.

                            \n

                            Values: ERROR, INFO

                            " + "smithy.api#documentation": "

                            The source type of the events returned by the Amazon Redshift event notification, such as\n cluster, cluster-snapshot, cluster-parameter-group, cluster-security-group, or scheduled-action.

                            " } }, - "Enabled": { - "target": "com.amazonaws.redshift#Boolean", + "SourceIdsList": { + "target": "com.amazonaws.redshift#SourceIdsList", "traits": { - "smithy.api#documentation": "

                            A boolean value indicating whether the subscription is enabled; true\n indicates that the subscription is enabled.

                            " + "smithy.api#documentation": "

                            A list of the sources that publish events to the Amazon Redshift event notification\n subscription.

                            " } }, - "SnsTopicArn": { - "target": "com.amazonaws.redshift#String", + "EventCategoriesList": { + "target": "com.amazonaws.redshift#EventCategoriesList", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the Amazon SNS topic used by the event\n notification subscription.

                            " + "smithy.api#documentation": "

                            The list of Amazon Redshift event categories specified in the event notification\n subscription.

                            \n

                            Values: Configuration, Management, Monitoring, Security

                            " } }, - "SourceType": { + "Severity": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The source type of the events returned by the Amazon Redshift event notification, such as\n cluster, cluster-snapshot, cluster-parameter-group, cluster-security-group, or scheduled-action.

                            " + "smithy.api#documentation": "

                            The event severity specified in the Amazon Redshift event notification\n subscription.

                            \n

                            Values: ERROR, INFO

                            " } }, - "EventCategoriesList": { - "target": "com.amazonaws.redshift#EventCategoriesList", + "Enabled": { + "target": "com.amazonaws.redshift#Boolean", "traits": { - "smithy.api#documentation": "

                            The list of Amazon Redshift event categories specified in the event notification\n subscription.

                            \n

                            Values: Configuration, Management, Monitoring, Security

                            " + "smithy.api#documentation": "

                            A boolean value indicating whether the subscription is enabled; true\n indicates that the subscription is enabled.

                            " + } + }, + "Tags": { + "target": "com.amazonaws.redshift#TagList", + "traits": { + "smithy.api#documentation": "

                            The list of tags for the event subscription.

                            " } } }, @@ -5911,17 +5953,17 @@ "com.amazonaws.redshift#EventsMessage": { "type": "structure", "members": { - "Events": { - "target": "com.amazonaws.redshift#EventList", - "traits": { - "smithy.api#documentation": "

                            A list of Event instances.

                            " - } - }, "Marker": { "target": "com.amazonaws.redshift#String", "traits": { "smithy.api#documentation": "

                            A value that indicates the starting point for the next set of response records in a\n subsequent request. If a value is returned in a response, you can retrieve the next set\n of records by providing this returned marker value in the Marker parameter\n and retrying the command. If the Marker field is empty, all response\n records have been retrieved for the request.

                            " } + }, + "Events": { + "target": "com.amazonaws.redshift#EventList", + "traits": { + "smithy.api#documentation": "

                            A list of Event instances.

                            " + } } }, "traits": { @@ -5954,12 +5996,6 @@ "com.amazonaws.redshift#GetClusterCredentialsMessage": { "type": "structure", "members": { - "DurationSeconds": { - "target": "com.amazonaws.redshift#IntegerOptional", - "traits": { - "smithy.api#documentation": "

                            The number of seconds until the returned temporary password expires.

                            \n

                            Constraint: minimum 900, maximum 3600.

                            \n

                            Default: 900

                            " - } - }, "DbUser": { "target": "com.amazonaws.redshift#String", "traits": { @@ -5967,12 +6003,6 @@ "smithy.api#required": {} } }, - "AutoCreate": { - "target": "com.amazonaws.redshift#BooleanOptional", - "traits": { - "smithy.api#documentation": "

                            Create a database user with the name specified for the user named in\n DbUser if one does not exist.

                            " - } - }, "DbName": { "target": "com.amazonaws.redshift#String", "traits": { @@ -5986,6 +6016,18 @@ "smithy.api#required": {} } }, + "DurationSeconds": { + "target": "com.amazonaws.redshift#IntegerOptional", + "traits": { + "smithy.api#documentation": "

                            The number of seconds until the returned temporary password expires.

                            \n

                            Constraint: minimum 900, maximum 3600.

                            \n

                            Default: 900

                            " + } + }, + "AutoCreate": { + "target": "com.amazonaws.redshift#BooleanOptional", + "traits": { + "smithy.api#documentation": "

                            Create a database user with the name specified for the user named in\n DbUser if one does not exist.

                            " + } + }, "DbGroups": { "target": "com.amazonaws.redshift#DbGroupList", "traits": { @@ -6026,18 +6068,18 @@ } ], "traits": { - "smithy.api#documentation": "

                            Returns an array of DC2 ReservedNodeOfferings that matches the payment type, term,\n and usage price of the given DC1 reserved node.

                            " + "smithy.api#documentation": "

                            Returns an array of DC2 ReservedNodeOfferings that matches the payment type, term,\n and usage price of the given DC1 reserved node.

                            ", + "smithy.api#paginated": { + "inputToken": "Marker", + "outputToken": "Marker", + "items": "ReservedNodeOfferings", + "pageSize": "MaxRecords" + } } }, "com.amazonaws.redshift#GetReservedNodeExchangeOfferingsInputMessage": { "type": "structure", "members": { - "MaxRecords": { - "target": "com.amazonaws.redshift#IntegerOptional", - "traits": { - "smithy.api#documentation": "

                            An integer setting the maximum number of ReservedNodeOfferings to\n retrieve.

                            " - } - }, "ReservedNodeId": { "target": "com.amazonaws.redshift#String", "traits": { @@ -6045,6 +6087,12 @@ "smithy.api#required": {} } }, + "MaxRecords": { + "target": "com.amazonaws.redshift#IntegerOptional", + "traits": { + "smithy.api#documentation": "

                            An integer setting the maximum number of ReservedNodeOfferings to\n retrieve.

                            " + } + }, "Marker": { "target": "com.amazonaws.redshift#String", "traits": { @@ -6059,29 +6107,23 @@ "com.amazonaws.redshift#GetReservedNodeExchangeOfferingsOutputMessage": { "type": "structure", "members": { - "ReservedNodeOfferings": { - "target": "com.amazonaws.redshift#ReservedNodeOfferingList", - "traits": { - "smithy.api#documentation": "

                            Returns an array of ReservedNodeOffering objects.

                            " - } - }, "Marker": { "target": "com.amazonaws.redshift#String", "traits": { "smithy.api#documentation": "

                            An optional parameter that specifies the starting point for returning a set of\n response records. When the results of a GetReservedNodeExchangeOfferings\n request exceed the value specified in MaxRecords, Amazon Redshift returns a value in the\n marker field of the response. You can retrieve the next set of response records by\n providing the returned marker value in the marker parameter and retrying the request.\n

                            " } + }, + "ReservedNodeOfferings": { + "target": "com.amazonaws.redshift#ReservedNodeOfferingList", + "traits": { + "smithy.api#documentation": "

                            Returns an array of ReservedNodeOffering objects.

                            " + } } } }, "com.amazonaws.redshift#HsmClientCertificate": { "type": "structure", "members": { - "Tags": { - "target": "com.amazonaws.redshift#TagList", - "traits": { - "smithy.api#documentation": "

                            The list of tags for the HSM client certificate.

                            " - } - }, "HsmClientCertificateIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { @@ -6093,6 +6135,12 @@ "traits": { "smithy.api#documentation": "

                            The public key that the Amazon Redshift cluster will use to connect to the HSM. You must\n register the public key in the HSM.

                            " } + }, + "Tags": { + "target": "com.amazonaws.redshift#TagList", + "traits": { + "smithy.api#documentation": "

                            The list of tags for the HSM client certificate.

                            " + } } }, "traits": { @@ -6124,17 +6172,17 @@ "com.amazonaws.redshift#HsmClientCertificateMessage": { "type": "structure", "members": { - "HsmClientCertificates": { - "target": "com.amazonaws.redshift#HsmClientCertificateList", - "traits": { - "smithy.api#documentation": "

                            A list of the identifiers for one or more HSM client certificates used by Amazon Redshift\n clusters to store and retrieve database encryption keys in an HSM.

                            " - } - }, "Marker": { "target": "com.amazonaws.redshift#String", "traits": { "smithy.api#documentation": "

                            A value that indicates the starting point for the next set of response records in a\n subsequent request. If a value is returned in a response, you can retrieve the next set\n of records by providing this returned marker value in the Marker parameter\n and retrying the command. If the Marker field is empty, all response\n records have been retrieved for the request.

                            " } + }, + "HsmClientCertificates": { + "target": "com.amazonaws.redshift#HsmClientCertificateList", + "traits": { + "smithy.api#documentation": "

                            A list of the identifiers for one or more HSM client certificates used by Amazon Redshift\n clusters to store and retrieve database encryption keys in an HSM.

                            " + } } }, "traits": { @@ -6170,6 +6218,12 @@ "com.amazonaws.redshift#HsmConfiguration": { "type": "structure", "members": { + "HsmConfigurationIdentifier": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            The name of the Amazon Redshift HSM configuration.

                            " + } + }, "Description": { "target": "com.amazonaws.redshift#String", "traits": { @@ -6182,10 +6236,10 @@ "smithy.api#documentation": "

                            The IP address that the Amazon Redshift cluster must use to access the HSM.

                            " } }, - "HsmConfigurationIdentifier": { + "HsmPartitionName": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The name of the Amazon Redshift HSM configuration.

                            " + "smithy.api#documentation": "

                            The name of the partition in the HSM where the Amazon Redshift clusters will store their\n database encryption keys.

                            " } }, "Tags": { @@ -6193,12 +6247,6 @@ "traits": { "smithy.api#documentation": "

                            The list of tags for the HSM configuration.

                            " } - }, - "HsmPartitionName": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            The name of the partition in the HSM where the Amazon Redshift clusters will store their\n database encryption keys.

                            " - } } }, "traits": { @@ -6230,21 +6278,21 @@ "com.amazonaws.redshift#HsmConfigurationMessage": { "type": "structure", "members": { - "HsmConfigurations": { - "target": "com.amazonaws.redshift#HsmConfigurationList", - "traits": { - "smithy.api#documentation": "

                            A list of HsmConfiguration objects.

                            " - } - }, "Marker": { "target": "com.amazonaws.redshift#String", "traits": { "smithy.api#documentation": "

                            A value that indicates the starting point for the next set of response records in a\n subsequent request. If a value is returned in a response, you can retrieve the next set\n of records by providing this returned marker value in the Marker parameter\n and retrying the command. If the Marker field is empty, all response\n records have been retrieved for the request.

                            " } - } - }, - "traits": { - "smithy.api#documentation": "

                            " + }, + "HsmConfigurations": { + "target": "com.amazonaws.redshift#HsmConfigurationList", + "traits": { + "smithy.api#documentation": "

                            A list of HsmConfiguration objects.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            " } }, "com.amazonaws.redshift#HsmConfigurationNotFoundFault": { @@ -6282,16 +6330,16 @@ "smithy.api#documentation": "

                            Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to\n retrieve the data encryption keys stored in an HSM.

                            " } }, - "Status": { + "HsmConfigurationIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            Reports whether the Amazon Redshift cluster has finished applying any HSM settings\n changes specified in a modify cluster command.

                            \n

                            Values: active, applying

                            " + "smithy.api#documentation": "

                            Specifies the name of the HSM configuration that contains the information the\n Amazon Redshift cluster can use to retrieve and store keys in an HSM.

                            " } }, - "HsmConfigurationIdentifier": { + "Status": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            Specifies the name of the HSM configuration that contains the information the\n Amazon Redshift cluster can use to retrieve and store keys in an HSM.

                            " + "smithy.api#documentation": "

                            Reports whether the Amazon Redshift cluster has finished applying any HSM settings\n changes specified in a modify cluster command.

                            \n

                            Values: active, applying

                            " } } }, @@ -6302,10 +6350,10 @@ "com.amazonaws.redshift#IPRange": { "type": "structure", "members": { - "Tags": { - "target": "com.amazonaws.redshift#TagList", + "Status": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The list of tags for the IP range.

                            " + "smithy.api#documentation": "

                            The status of the IP range, for example, \"authorized\".

                            " } }, "CIDRIP": { @@ -6314,10 +6362,10 @@ "smithy.api#documentation": "

                            The IP range in Classless Inter-Domain Routing (CIDR) notation.

                            " } }, - "Status": { - "target": "com.amazonaws.redshift#String", + "Tags": { + "target": "com.amazonaws.redshift#TagList", "traits": { - "smithy.api#documentation": "

                            The status of the IP range, for example, \"authorized\".

                            " + "smithy.api#documentation": "

                            The list of tags for the IP range.

                            " } } }, @@ -6769,10 +6817,16 @@ "smithy.api#documentation": "

                            \n true if logging is on, false if logging is off.

                            " } }, - "LastFailureTime": { - "target": "com.amazonaws.redshift#TStamp", + "BucketName": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The last time when logs failed to be delivered.

                            " + "smithy.api#documentation": "

                            The name of the S3 bucket where the log files are stored.

                            " + } + }, + "S3KeyPrefix": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            The prefix applied to the log file names.

                            " } }, "LastSuccessfulDeliveryTime": { @@ -6781,10 +6835,10 @@ "smithy.api#documentation": "

                            The last time that logs were delivered.

                            " } }, - "BucketName": { - "target": "com.amazonaws.redshift#String", + "LastFailureTime": { + "target": "com.amazonaws.redshift#TStamp", "traits": { - "smithy.api#documentation": "

                            The name of the S3 bucket where the log files are stored.

                            " + "smithy.api#documentation": "

                            The last time when logs failed to be delivered.

                            " } }, "LastFailureMessage": { @@ -6792,12 +6846,6 @@ "traits": { "smithy.api#documentation": "

                            The message indicating that logs failed to be delivered.

                            " } - }, - "S3KeyPrefix": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            The prefix applied to the log file names.

                            " - } } }, "traits": { @@ -6816,12 +6864,6 @@ "com.amazonaws.redshift#MaintenanceTrack": { "type": "structure", "members": { - "UpdateTargets": { - "target": "com.amazonaws.redshift#EligibleTracksToUpdateList", - "traits": { - "smithy.api#documentation": "

                            An array of UpdateTarget objects to update with the maintenance\n track.

                            " - } - }, "MaintenanceTrackName": { "target": "com.amazonaws.redshift#String", "traits": { @@ -6833,6 +6875,12 @@ "traits": { "smithy.api#documentation": "

                            The version number for the cluster release.

                            " } + }, + "UpdateTargets": { + "target": "com.amazonaws.redshift#EligibleTracksToUpdateList", + "traits": { + "smithy.api#documentation": "

                            An array of UpdateTarget objects to update with the maintenance\n track.

                            " + } } }, "traits": { @@ -6951,17 +6999,17 @@ "com.amazonaws.redshift#ModifyClusterDbRevisionMessage": { "type": "structure", "members": { - "RevisionTarget": { + "ClusterIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The identifier of the database revision. You can retrieve this value from the\n response to the DescribeClusterDbRevisions request.

                            ", + "smithy.api#documentation": "

                            The unique identifier of a cluster whose database revision you want to modify.

                            \n

                            Example: examplecluster\n

                            ", "smithy.api#required": {} } }, - "ClusterIdentifier": { + "RevisionTarget": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The unique identifier of a cluster whose database revision you want to modify.

                            \n

                            Example: examplecluster\n

                            ", + "smithy.api#documentation": "

                            The identifier of the database revision. You can retrieve this value from the\n response to the DescribeClusterDbRevisions request.

                            ", "smithy.api#required": {} } } @@ -7005,16 +7053,16 @@ "smithy.api#required": {} } }, - "RemoveIamRoles": { + "AddIamRoles": { "target": "com.amazonaws.redshift#IamRoleArnList", "traits": { - "smithy.api#documentation": "

                            Zero or more IAM roles in ARN format to disassociate from the cluster. You can\n disassociate up to 10 IAM roles from a single cluster in a single request.

                            " + "smithy.api#documentation": "

                            Zero or more IAM roles to associate with the cluster. The roles must be in their\n Amazon Resource Name (ARN) format. You can associate up to 10 IAM roles with a single\n cluster in a single request.

                            " } }, - "AddIamRoles": { + "RemoveIamRoles": { "target": "com.amazonaws.redshift#IamRoleArnList", "traits": { - "smithy.api#documentation": "

                            Zero or more IAM roles to associate with the cluster. The roles must be in their\n Amazon Resource Name (ARN) format. You can associate up to 10 IAM roles with a single\n cluster in a single request.

                            " + "smithy.api#documentation": "

                            Zero or more IAM roles in ARN format to disassociate from the cluster. You can\n disassociate up to 10 IAM roles from a single cluster in a single request.

                            " } } }, @@ -7053,29 +7101,29 @@ "com.amazonaws.redshift#ModifyClusterMaintenanceMessage": { "type": "structure", "members": { - "DeferMaintenance": { - "target": "com.amazonaws.redshift#BooleanOptional", + "ClusterIdentifier": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            A boolean indicating whether to enable the deferred maintenance window.

                            " + "smithy.api#documentation": "

                            A unique identifier for the cluster.

                            ", + "smithy.api#required": {} } }, - "DeferMaintenanceStartTime": { - "target": "com.amazonaws.redshift#TStamp", + "DeferMaintenance": { + "target": "com.amazonaws.redshift#BooleanOptional", "traits": { - "smithy.api#documentation": "

                            A timestamp indicating the start time for the deferred maintenance window.

                            " + "smithy.api#documentation": "

                            A boolean indicating whether to enable the deferred maintenance window.

                            " } }, - "DeferMaintenanceDuration": { - "target": "com.amazonaws.redshift#IntegerOptional", + "DeferMaintenanceIdentifier": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            An integer indicating the duration of the maintenance window in days. If you specify a\n duration, you can't specify an end time. The duration must be 45 days or less.

                            " + "smithy.api#documentation": "

                            A unique identifier for the deferred maintenance window.

                            " } }, - "ClusterIdentifier": { - "target": "com.amazonaws.redshift#String", + "DeferMaintenanceStartTime": { + "target": "com.amazonaws.redshift#TStamp", "traits": { - "smithy.api#documentation": "

                            A unique identifier for the cluster.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            A timestamp indicating the start time for the deferred maintenance window.

                            " } }, "DeferMaintenanceEndTime": { @@ -7084,10 +7132,10 @@ "smithy.api#documentation": "

                            A timestamp indicating end time for the deferred maintenance window. If you specify an\n end time, you can't specify a duration.

                            " } }, - "DeferMaintenanceIdentifier": { - "target": "com.amazonaws.redshift#String", + "DeferMaintenanceDuration": { + "target": "com.amazonaws.redshift#IntegerOptional", "traits": { - "smithy.api#documentation": "

                            A unique identifier for the deferred maintenance window.

                            " + "smithy.api#documentation": "

                            An integer indicating the duration of the maintenance window in days. If you specify a\n duration, you can't specify an end time. The duration must be 45 days or less.

                            " } } } @@ -7103,16 +7151,41 @@ "com.amazonaws.redshift#ModifyClusterMessage": { "type": "structure", "members": { + "ClusterIdentifier": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            The unique identifier of the cluster to be modified.

                            \n

                            Example: examplecluster\n

                            ", + "smithy.api#required": {} + } + }, + "ClusterType": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            The new cluster type.

                            \n

                            When you submit your cluster resize request, your existing cluster goes into a\n read-only mode. After Amazon Redshift provisions a new cluster based on your resize\n requirements, there will be outage for a period while the old cluster is deleted and\n your connection is switched to the new cluster. You can use DescribeResize to track the progress of the resize request.

                            \n

                            Valid Values: multi-node | single-node \n

                            " + } + }, "NodeType": { "target": "com.amazonaws.redshift#String", "traits": { "smithy.api#documentation": "

                            The new node type of the cluster. If you specify a new node type, you must also\n specify the number of nodes parameter.

                            \n

                            \nFor more information about resizing clusters, go to \nResizing Clusters in Amazon Redshift \nin the Amazon Redshift Cluster Management Guide.

                            \n \n

                            Valid Values: ds2.xlarge | ds2.8xlarge |\n dc1.large | dc1.8xlarge | \n dc2.large | dc2.8xlarge | \n ra3.4xlarge | ra3.16xlarge \n

                            " } }, - "AllowVersionUpgrade": { - "target": "com.amazonaws.redshift#BooleanOptional", + "NumberOfNodes": { + "target": "com.amazonaws.redshift#IntegerOptional", "traits": { - "smithy.api#documentation": "

                            If true, major version upgrades will be applied automatically to the\n cluster during the maintenance window.

                            \n

                            Default: false\n

                            " + "smithy.api#documentation": "

                            The new number of nodes of the cluster. If you specify a new number of nodes, you\n must also specify the node type parameter.

                            \n

                            \nFor more information about resizing clusters, go to \nResizing Clusters in Amazon Redshift \nin the Amazon Redshift Cluster Management Guide.

                            \n \n

                            Valid Values: Integer greater than 0.

                            " + } + }, + "ClusterSecurityGroups": { + "target": "com.amazonaws.redshift#ClusterSecurityGroupNameList", + "traits": { + "smithy.api#documentation": "

                            A list of cluster security groups to be authorized on this cluster. This change is\n asynchronously applied as soon as possible.

                            \n

                            Security groups currently associated with the cluster, and not in the list of\n groups to apply, will be revoked from the cluster.

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Must be 1 to 255 alphanumeric characters or hyphens

                              \n
                            • \n
                            • \n

                              First character must be a letter

                              \n
                            • \n
                            • \n

                              Cannot end with a hyphen or contain two consecutive hyphens

                              \n
                            • \n
                            " + } + }, + "VpcSecurityGroupIds": { + "target": "com.amazonaws.redshift#VpcSecurityGroupIdList", + "traits": { + "smithy.api#documentation": "

                            A list of virtual private cloud (VPC) security groups to be associated with the\n cluster. This change is asynchronously applied as soon as possible.

                            " } }, "MasterUserPassword": { @@ -7121,16 +7194,22 @@ "smithy.api#documentation": "

                            The new password for the cluster master user. This change is asynchronously applied\n as soon as possible. Between the time of the request and the completion of the request,\n the MasterUserPassword element exists in the\n PendingModifiedValues element of the operation response.

                            \n \n

                            Operations never return the password, so this operation provides a way to\n regain access to the master user account for a cluster if the password is\n lost.

                            \n
                            \n

                            Default: Uses existing setting.

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Must be between 8 and 64 characters in length.

                              \n
                            • \n
                            • \n

                              Must contain at least one uppercase letter.

                              \n
                            • \n
                            • \n

                              Must contain at least one lowercase letter.

                              \n
                            • \n
                            • \n

                              Must contain one number.

                              \n
                            • \n
                            • \n

                              Can be any printable ASCII character (ASCII code 33 to 126) except '\n (single quote), \" (double quote), \\, /, @, or space.

                              \n
                            • \n
                            " } }, - "ManualSnapshotRetentionPeriod": { + "ClusterParameterGroupName": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            The name of the cluster parameter group to apply to this cluster. This change is\n applied only after the cluster is rebooted. To reboot a cluster use RebootCluster.

                            \n

                            Default: Uses existing setting.

                            \n

                            Constraints: The cluster parameter group must be in the same parameter group family\n that matches the cluster version.

                            " + } + }, + "AutomatedSnapshotRetentionPeriod": { "target": "com.amazonaws.redshift#IntegerOptional", "traits": { - "smithy.api#documentation": "

                            The default for number of days that a newly created manual snapshot is retained. If\n the value is -1, the manual snapshot is retained indefinitely. This value doesn't\n retroactively change the retention periods of existing manual snapshots.

                            \n

                            The value must be either -1 or an integer between 1 and 3,653.

                            \n

                            The default value is -1.

                            " + "smithy.api#documentation": "

                            The number of days that automated snapshots are retained. If the value is 0,\n automated snapshots are disabled. Even if automated snapshots are disabled, you can\n still create manual snapshots when you want with CreateClusterSnapshot.

                            \n

                            If you decrease the automated snapshot retention period from its current value,\n existing automated snapshots that fall outside of the new retention period will be\n immediately deleted.

                            \n

                            Default: Uses existing setting.

                            \n

                            Constraints: Must be a value from 0 to 35.

                            " } }, - "MaintenanceTrackName": { - "target": "com.amazonaws.redshift#String", + "ManualSnapshotRetentionPeriod": { + "target": "com.amazonaws.redshift#IntegerOptional", "traits": { - "smithy.api#documentation": "

                            The name for the maintenance track that you want to assign for the cluster. This name\n change is asynchronous. The new track name stays in the\n PendingModifiedValues for the cluster until the next maintenance\n window. When the maintenance track changes, the cluster is switched to the latest\n cluster release available for the maintenance track. At this point, the maintenance\n track name is applied.

                            " + "smithy.api#documentation": "

                            The default for number of days that a newly created manual snapshot is retained. If\n the value is -1, the manual snapshot is retained indefinitely. This value doesn't\n retroactively change the retention periods of existing manual snapshots.

                            \n

                            The value must be either -1 or an integer between 1 and 3,653.

                            \n

                            The default value is -1.

                            " } }, "PreferredMaintenanceWindow": { @@ -7139,22 +7218,16 @@ "smithy.api#documentation": "

                            The weekly time range (in UTC) during which system maintenance can occur, if\n necessary. If system maintenance is necessary during the window, it may result in an\n outage.

                            \n

                            This maintenance window change is made immediately. If the new maintenance window\n indicates the current time, there must be at least 120 minutes between the current time\n and end of the window in order to ensure that pending changes are applied.

                            \n

                            Default: Uses existing setting.

                            \n

                            Format: ddd:hh24:mi-ddd:hh24:mi, for example\n wed:07:30-wed:08:00.

                            \n

                            Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

                            \n

                            Constraints: Must be at least 30 minutes.

                            " } }, - "NumberOfNodes": { - "target": "com.amazonaws.redshift#IntegerOptional", - "traits": { - "smithy.api#documentation": "

                            The new number of nodes of the cluster. If you specify a new number of nodes, you\n must also specify the node type parameter.

                            \n

                            \nFor more information about resizing clusters, go to \nResizing Clusters in Amazon Redshift \nin the Amazon Redshift Cluster Management Guide.

                            \n \n

                            Valid Values: Integer greater than 0.

                            " - } - }, - "PubliclyAccessible": { - "target": "com.amazonaws.redshift#BooleanOptional", + "ClusterVersion": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            If true, the cluster can be accessed from a public network. Only\n clusters in VPCs can be set to be publicly available.

                            " + "smithy.api#documentation": "

                            The new version number of the Amazon Redshift engine to upgrade to.

                            \n

                            For major version upgrades, if a non-default cluster parameter group is currently\n in use, a new cluster parameter group in the cluster parameter group family for the new\n version must be specified. The new cluster parameter group can be the default for that\n cluster parameter group family. \nFor more information about parameters and parameter groups, go to \nAmazon Redshift Parameter Groups \nin the Amazon Redshift Cluster Management Guide.

                            \n

                            Example: 1.0\n

                            " } }, - "Encrypted": { + "AllowVersionUpgrade": { "target": "com.amazonaws.redshift#BooleanOptional", "traits": { - "smithy.api#documentation": "

                            Indicates whether the cluster is encrypted. If the value is encrypted (true) and you\n provide a value for the KmsKeyId parameter, we encrypt the cluster\n with the provided KmsKeyId. If you don't provide a KmsKeyId,\n we encrypt with the default key.

                            \n

                            If the value is not encrypted (false), then the cluster is decrypted.

                            " + "smithy.api#documentation": "

                            If true, major version upgrades will be applied automatically to the\n cluster during the maintenance window.

                            \n

                            Default: false\n

                            " } }, "HsmClientCertificateIdentifier": { @@ -7163,10 +7236,10 @@ "smithy.api#documentation": "

                            Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to\n retrieve the data encryption keys stored in an HSM.

                            " } }, - "ElasticIp": { + "HsmConfigurationIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The Elastic IP (EIP) address for the cluster.

                            \n

                            Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible\n through an Internet gateway. For more information about provisioning clusters in\n EC2-VPC, go to Supported\n Platforms to Launch Your Cluster in the Amazon Redshift Cluster Management Guide.

                            " + "smithy.api#documentation": "

                            Specifies the name of the HSM configuration that contains the information the\n Amazon Redshift cluster can use to retrieve and store keys in an HSM.

                            " } }, "NewClusterIdentifier": { @@ -7175,47 +7248,34 @@ "smithy.api#documentation": "

                            The new identifier for the cluster.

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Must contain from 1 to 63 alphanumeric characters or hyphens.

                              \n
                            • \n
                            • \n

                              Alphabetic characters must be lowercase.

                              \n
                            • \n
                            • \n

                              First character must be a letter.

                              \n
                            • \n
                            • \n

                              Cannot end with a hyphen or contain two consecutive hyphens.

                              \n
                            • \n
                            • \n

                              Must be unique for all clusters within an AWS account.

                              \n
                            • \n
                            \n\n

                            Example: examplecluster\n

                            " } }, - "AutomatedSnapshotRetentionPeriod": { - "target": "com.amazonaws.redshift#IntegerOptional", - "traits": { - "smithy.api#documentation": "

                            The number of days that automated snapshots are retained. If the value is 0,\n automated snapshots are disabled. Even if automated snapshots are disabled, you can\n still create manual snapshots when you want with CreateClusterSnapshot.

                            \n

                            If you decrease the automated snapshot retention period from its current value,\n existing automated snapshots that fall outside of the new retention period will be\n immediately deleted.

                            \n

                            Default: Uses existing setting.

                            \n

                            Constraints: Must be a value from 0 to 35.

                            " - } - }, - "EnhancedVpcRouting": { + "PubliclyAccessible": { "target": "com.amazonaws.redshift#BooleanOptional", "traits": { - "smithy.api#documentation": "

                            An option that specifies whether to create the cluster with enhanced VPC routing\n enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a\n VPC. For more information, see Enhanced VPC Routing in\n the Amazon Redshift Cluster Management Guide.

                            \n

                            If this option is true, enhanced VPC routing is enabled.

                            \n

                            Default: false

                            " - } - }, - "ClusterSecurityGroups": { - "target": "com.amazonaws.redshift#ClusterSecurityGroupNameList", - "traits": { - "smithy.api#documentation": "

                            A list of cluster security groups to be authorized on this cluster. This change is\n asynchronously applied as soon as possible.

                            \n

                            Security groups currently associated with the cluster, and not in the list of\n groups to apply, will be revoked from the cluster.

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Must be 1 to 255 alphanumeric characters or hyphens

                              \n
                            • \n
                            • \n

                              First character must be a letter

                              \n
                            • \n
                            • \n

                              Cannot end with a hyphen or contain two consecutive hyphens

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            If true, the cluster can be accessed from a public network. Only\n clusters in VPCs can be set to be publicly available.

                            " } }, - "ClusterType": { + "ElasticIp": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The new cluster type.

                            \n

                            When you submit your cluster resize request, your existing cluster goes into a\n read-only mode. After Amazon Redshift provisions a new cluster based on your resize\n requirements, there will be outage for a period while the old cluster is deleted and\n your connection is switched to the new cluster. You can use DescribeResize to track the progress of the resize request.

                            \n

                            Valid Values: multi-node | single-node \n

                            " + "smithy.api#documentation": "

                            The Elastic IP (EIP) address for the cluster.

                            \n

                            Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible\n through an Internet gateway. For more information about provisioning clusters in\n EC2-VPC, go to Supported\n Platforms to Launch Your Cluster in the Amazon Redshift Cluster Management Guide.

                            " } }, - "ClusterIdentifier": { - "target": "com.amazonaws.redshift#String", + "EnhancedVpcRouting": { + "target": "com.amazonaws.redshift#BooleanOptional", "traits": { - "smithy.api#documentation": "

                            The unique identifier of the cluster to be modified.

                            \n

                            Example: examplecluster\n

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            An option that specifies whether to create the cluster with enhanced VPC routing\n enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a\n VPC. For more information, see Enhanced VPC Routing in\n the Amazon Redshift Cluster Management Guide.

                            \n

                            If this option is true, enhanced VPC routing is enabled.

                            \n

                            Default: false

                            " } }, - "ClusterParameterGroupName": { + "MaintenanceTrackName": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The name of the cluster parameter group to apply to this cluster. This change is\n applied only after the cluster is rebooted. To reboot a cluster use RebootCluster.

                            \n

                            Default: Uses existing setting.

                            \n

                            Constraints: The cluster parameter group must be in the same parameter group family\n that matches the cluster version.

                            " + "smithy.api#documentation": "

                            The name for the maintenance track that you want to assign for the cluster. This name\n change is asynchronous. The new track name stays in the\n PendingModifiedValues for the cluster until the next maintenance\n window. When the maintenance track changes, the cluster is switched to the latest\n cluster release available for the maintenance track. At this point, the maintenance\n track name is applied.

                            " } }, - "HsmConfigurationIdentifier": { - "target": "com.amazonaws.redshift#String", + "Encrypted": { + "target": "com.amazonaws.redshift#BooleanOptional", "traits": { - "smithy.api#documentation": "

                            Specifies the name of the HSM configuration that contains the information the\n Amazon Redshift cluster can use to retrieve and store keys in an HSM.

                            " + "smithy.api#documentation": "

                            Indicates whether the cluster is encrypted. If the value is encrypted (true) and you\n provide a value for the KmsKeyId parameter, we encrypt the cluster\n with the provided KmsKeyId. If you don't provide a KmsKeyId,\n we encrypt with the default key.

                            \n

                            If the value is not encrypted (false), then the cluster is decrypted.

                            " } }, "KmsKeyId": { @@ -7223,18 +7283,6 @@ "traits": { "smithy.api#documentation": "

                            The AWS Key Management Service (KMS) key ID of the encryption key that you want to use\n to encrypt data in the cluster.

                            " } - }, - "ClusterVersion": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            The new version number of the Amazon Redshift engine to upgrade to.

                            \n

                            For major version upgrades, if a non-default cluster parameter group is currently\n in use, a new cluster parameter group in the cluster parameter group family for the new\n version must be specified. The new cluster parameter group can be the default for that\n cluster parameter group family. \nFor more information about parameters and parameter groups, go to \nAmazon Redshift Parameter Groups \nin the Amazon Redshift Cluster Management Guide.

                            \n

                            Example: 1.0\n

                            " - } - }, - "VpcSecurityGroupIds": { - "target": "com.amazonaws.redshift#VpcSecurityGroupIdList", - "traits": { - "smithy.api#documentation": "

                            A list of virtual private cloud (VPC) security groups to be associated with the\n cluster. This change is asynchronously applied as soon as possible.

                            " - } } }, "traits": { @@ -7264,17 +7312,17 @@ "com.amazonaws.redshift#ModifyClusterParameterGroupMessage": { "type": "structure", "members": { - "Parameters": { - "target": "com.amazonaws.redshift#ParametersList", + "ParameterGroupName": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            An array of parameters to be modified. A maximum of 20 parameters can be modified\n in a single request.

                            \n

                            For each parameter to be modified, you must supply at least the parameter name and\n parameter value; other name-value pairs of the parameter are optional.

                            \n

                            For the workload management (WLM) configuration, you must supply all the name-value\n pairs in the wlm_json_configuration parameter.

                            ", + "smithy.api#documentation": "

                            The name of the parameter group to be modified.

                            ", "smithy.api#required": {} } }, - "ParameterGroupName": { - "target": "com.amazonaws.redshift#String", + "Parameters": { + "target": "com.amazonaws.redshift#ParametersList", "traits": { - "smithy.api#documentation": "

                            The name of the parameter group to be modified.

                            ", + "smithy.api#documentation": "

                            An array of parameters to be modified. A maximum of 20 parameters can be modified\n in a single request.

                            \n

                            For each parameter to be modified, you must supply at least the parameter name and\n parameter value; other name-value pairs of the parameter are optional.

                            \n

                            For the workload management (WLM) configuration, you must supply all the name-value\n pairs in the wlm_json_configuration parameter.

                            ", "smithy.api#required": {} } } @@ -7317,6 +7365,13 @@ "com.amazonaws.redshift#ModifyClusterSnapshotMessage": { "type": "structure", "members": { + "SnapshotIdentifier": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            The identifier of the snapshot whose setting you want to modify.

                            ", + "smithy.api#required": {} + } + }, "ManualSnapshotRetentionPeriod": { "target": "com.amazonaws.redshift#IntegerOptional", "traits": { @@ -7328,13 +7383,6 @@ "traits": { "smithy.api#documentation": "

                            A Boolean option to override an exception if the retention period has already\n passed.

                            " } - }, - "SnapshotIdentifier": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            The identifier of the snapshot whose setting you want to modify.

                            ", - "smithy.api#required": {} - } } } }, @@ -7369,10 +7417,11 @@ "com.amazonaws.redshift#ModifyClusterSnapshotScheduleMessage": { "type": "structure", "members": { - "DisassociateSchedule": { - "target": "com.amazonaws.redshift#BooleanOptional", + "ClusterIdentifier": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            A boolean to indicate whether to remove the assoiciation between the cluster and the\n schedule.

                            " + "smithy.api#documentation": "

                            A unique identifier for the cluster whose snapshot schedule you want to modify.\n

                            ", + "smithy.api#required": {} } }, "ScheduleIdentifier": { @@ -7381,11 +7430,10 @@ "smithy.api#documentation": "

                            A unique alphanumeric identifier for the schedule that you want to associate with the\n cluster.

                            " } }, - "ClusterIdentifier": { - "target": "com.amazonaws.redshift#String", + "DisassociateSchedule": { + "target": "com.amazonaws.redshift#BooleanOptional", "traits": { - "smithy.api#documentation": "

                            A unique identifier for the cluster whose snapshot schedule you want to modify.\n

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            A boolean to indicate whether to remove the assoiciation between the cluster and the\n schedule.

                            " } } } @@ -7425,13 +7473,6 @@ "com.amazonaws.redshift#ModifyClusterSubnetGroupMessage": { "type": "structure", "members": { - "SubnetIds": { - "target": "com.amazonaws.redshift#SubnetIdentifierList", - "traits": { - "smithy.api#documentation": "

                            An array of VPC subnet IDs. A maximum of 20 subnets can be modified in a single\n request.

                            ", - "smithy.api#required": {} - } - }, "ClusterSubnetGroupName": { "target": "com.amazonaws.redshift#String", "traits": { @@ -7444,6 +7485,13 @@ "traits": { "smithy.api#documentation": "

                            A text description of the subnet group to be modified.

                            " } + }, + "SubnetIds": { + "target": "com.amazonaws.redshift#SubnetIdentifierList", + "traits": { + "smithy.api#documentation": "

                            An array of VPC subnet IDs. A maximum of 20 subnets can be modified in a single\n request.

                            ", + "smithy.api#required": {} + } } }, "traits": { @@ -7502,12 +7550,6 @@ "com.amazonaws.redshift#ModifyEventSubscriptionMessage": { "type": "structure", "members": { - "SourceIds": { - "target": "com.amazonaws.redshift#SourceIdsList", - "traits": { - "smithy.api#documentation": "

                            A list of one or more identifiers of Amazon Redshift source objects. All of the objects\n must be of the same type as was specified in the source type parameter. The event\n subscription will return only events generated by the specified objects. If not\n specified, then events are returned for all objects within the source type\n specified.

                            \n

                            Example: my-cluster-1, my-cluster-2

                            \n

                            Example: my-snapshot-20131010

                            " - } - }, "SubscriptionName": { "target": "com.amazonaws.redshift#String", "traits": { @@ -7515,28 +7557,34 @@ "smithy.api#required": {} } }, - "Severity": { + "SnsTopicArn": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            Specifies the Amazon Redshift event severity to be published by the event notification\n subscription.

                            \n

                            Values: ERROR, INFO

                            " + "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the SNS topic to be used by the event\n notification subscription.

                            " } }, - "EventCategories": { - "target": "com.amazonaws.redshift#EventCategoriesList", + "SourceType": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            Specifies the Amazon Redshift event categories to be published by the event notification\n subscription.

                            \n

                            Values: configuration, management, monitoring, security

                            " + "smithy.api#documentation": "

                            The type of source that will be generating the events. For example, if you want to\n be notified of events generated by a cluster, you would set this parameter to cluster.\n If this value is not specified, events are returned for all Amazon Redshift objects in your\n AWS account. You must specify a source type in order to specify source IDs.

                            \n

                            Valid values: cluster, cluster-parameter-group, cluster-security-group, cluster-snapshot, and scheduled-action.

                            " } }, - "SnsTopicArn": { - "target": "com.amazonaws.redshift#String", + "SourceIds": { + "target": "com.amazonaws.redshift#SourceIdsList", "traits": { - "smithy.api#documentation": "

                            The Amazon Resource Name (ARN) of the SNS topic to be used by the event\n notification subscription.

                            " + "smithy.api#documentation": "

                            A list of one or more identifiers of Amazon Redshift source objects. All of the objects\n must be of the same type as was specified in the source type parameter. The event\n subscription will return only events generated by the specified objects. If not\n specified, then events are returned for all objects within the source type\n specified.

                            \n

                            Example: my-cluster-1, my-cluster-2

                            \n

                            Example: my-snapshot-20131010

                            " } }, - "SourceType": { + "EventCategories": { + "target": "com.amazonaws.redshift#EventCategoriesList", + "traits": { + "smithy.api#documentation": "

                            Specifies the Amazon Redshift event categories to be published by the event notification\n subscription.

                            \n

                            Values: configuration, management, monitoring, security

                            " + } + }, + "Severity": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The type of source that will be generating the events. For example, if you want to\n be notified of events generated by a cluster, you would set this parameter to cluster.\n If this value is not specified, events are returned for all Amazon Redshift objects in your\n AWS account. You must specify a source type in order to specify source IDs.

                            \n

                            Valid values: cluster, cluster-parameter-group, cluster-security-group, cluster-snapshot, and scheduled-action.

                            " + "smithy.api#documentation": "

                            Specifies the Amazon Redshift event severity to be published by the event notification\n subscription.

                            \n

                            Values: ERROR, INFO

                            " } }, "Enabled": { @@ -7590,6 +7638,13 @@ "com.amazonaws.redshift#ModifyScheduledActionMessage": { "type": "structure", "members": { + "ScheduledActionName": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            The name of the scheduled action to modify.

                            ", + "smithy.api#required": {} + } + }, "TargetAction": { "target": "com.amazonaws.redshift#ScheduledActionType", "traits": { @@ -7602,6 +7657,12 @@ "smithy.api#documentation": "

                            A modified schedule in either at( ) or cron( ) format. \n For more information about this parameter, see ScheduledAction.

                            " } }, + "IamRole": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            A different IAM role to assume to run the target action. \n For more information about this parameter, see ScheduledAction.

                            " + } + }, "ScheduledActionDescription": { "target": "com.amazonaws.redshift#String", "traits": { @@ -7620,19 +7681,6 @@ "smithy.api#documentation": "

                            A modified end time of the scheduled action. \n For more information about this parameter, see ScheduledAction.

                            " } }, - "ScheduledActionName": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            The name of the scheduled action to modify.

                            ", - "smithy.api#required": {} - } - }, - "IamRole": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            A different IAM role to assume to run the target action. \n For more information about this parameter, see ScheduledAction.

                            " - } - }, "Enable": { "target": "com.amazonaws.redshift#BooleanOptional", "traits": { @@ -7673,6 +7721,13 @@ "com.amazonaws.redshift#ModifySnapshotCopyRetentionPeriodMessage": { "type": "structure", "members": { + "ClusterIdentifier": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            The unique identifier of the cluster for which you want to change the retention\n period for either automated or manual snapshots that are copied to a destination AWS\n Region.

                            \n

                            Constraints: Must be the valid name of an existing cluster that has cross-region\n snapshot copy enabled.

                            ", + "smithy.api#required": {} + } + }, "RetentionPeriod": { "target": "com.amazonaws.redshift#Integer", "traits": { @@ -7685,13 +7740,6 @@ "traits": { "smithy.api#documentation": "

                            Indicates whether to apply the snapshot retention period to newly copied manual\n snapshots instead of automated snapshots.

                            " } - }, - "ClusterIdentifier": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            The unique identifier of the cluster for which you want to change the retention\n period for either automated or manual snapshots that are copied to a destination AWS\n Region.

                            \n

                            Constraints: Must be the valid name of an existing cluster that has cross-region\n snapshot copy enabled.

                            ", - "smithy.api#required": {} - } } }, "traits": { @@ -7732,17 +7780,17 @@ "com.amazonaws.redshift#ModifySnapshotScheduleMessage": { "type": "structure", "members": { - "ScheduleDefinitions": { - "target": "com.amazonaws.redshift#ScheduleDefinitionList", + "ScheduleIdentifier": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            An updated list of schedule definitions. A schedule definition is made up of schedule\n expressions, for example, \"cron(30 12 *)\" or \"rate(12 hours)\".

                            ", + "smithy.api#documentation": "

                            A unique alphanumeric identifier of the schedule to modify.

                            ", "smithy.api#required": {} } }, - "ScheduleIdentifier": { - "target": "com.amazonaws.redshift#String", + "ScheduleDefinitions": { + "target": "com.amazonaws.redshift#ScheduleDefinitionList", "traits": { - "smithy.api#documentation": "

                            A unique alphanumeric identifier of the schedule to modify.

                            ", + "smithy.api#documentation": "

                            An updated list of schedule definitions. A schedule definition is made up of schedule\n expressions, for example, \"cron(30 12 *)\" or \"rate(12 hours)\".

                            ", "smithy.api#required": {} } } @@ -7774,12 +7822,6 @@ "com.amazonaws.redshift#ModifyUsageLimitMessage": { "type": "structure", "members": { - "BreachAction": { - "target": "com.amazonaws.redshift#UsageLimitBreachAction", - "traits": { - "smithy.api#documentation": "

                            The new action that Amazon Redshift takes when the limit is reached. \n For more information about this parameter, see UsageLimit.

                            " - } - }, "UsageLimitId": { "target": "com.amazonaws.redshift#String", "traits": { @@ -7792,35 +7834,41 @@ "traits": { "smithy.api#documentation": "

                            The new limit amount. \n For more information about this parameter, see UsageLimit.

                            " } + }, + "BreachAction": { + "target": "com.amazonaws.redshift#UsageLimitBreachAction", + "traits": { + "smithy.api#documentation": "

                            The new action that Amazon Redshift takes when the limit is reached. \n For more information about this parameter, see UsageLimit.

                            " + } } } }, "com.amazonaws.redshift#NodeConfigurationOption": { "type": "structure", "members": { - "EstimatedDiskUtilizationPercent": { - "target": "com.amazonaws.redshift#DoubleOptional", - "traits": { - "smithy.api#documentation": "

                            The estimated disk utilizaton percentage.

                            " - } - }, "NodeType": { "target": "com.amazonaws.redshift#String", "traits": { "smithy.api#documentation": "

                            The node type, such as, \"ds2.8xlarge\".

                            " } }, - "Mode": { - "target": "com.amazonaws.redshift#Mode", - "traits": { - "smithy.api#documentation": "

                            The category of the node configuration recommendation.

                            " - } - }, "NumberOfNodes": { "target": "com.amazonaws.redshift#Integer", "traits": { "smithy.api#documentation": "

                            The number of nodes.

                            " } + }, + "EstimatedDiskUtilizationPercent": { + "target": "com.amazonaws.redshift#DoubleOptional", + "traits": { + "smithy.api#documentation": "

                            The estimated disk utilizaton percentage.

                            " + } + }, + "Mode": { + "target": "com.amazonaws.redshift#Mode", + "traits": { + "smithy.api#documentation": "

                            The category of the node configuration recommendation.

                            " + } } }, "traits": { @@ -7845,18 +7893,18 @@ "smithy.api#documentation": "

                            The name of the element to filter.

                            " } }, + "Operator": { + "target": "com.amazonaws.redshift#OperatorType", + "traits": { + "smithy.api#documentation": "

                            The filter operator.\n If filter Name is NodeType only the 'in' operator is supported.\n Provide one value to evaluate for 'eq', 'lt', 'le', 'gt', and 'ge'. \n Provide two values to evaluate for 'between'.\n Provide a list of values for 'in'.

                            " + } + }, "Values": { "target": "com.amazonaws.redshift#ValueStringList", "traits": { "smithy.api#documentation": "

                            List of values. Compare Name using Operator to Values.\n If filter Name is NumberOfNodes, then values can range from 0 to 200.\n If filter Name is EstimatedDiskUtilizationPercent, then values can range from 0 to 100. \n For example, filter NumberOfNodes (name) GT (operator) 3 (values).

                            ", "smithy.api#xmlName": "Value" } - }, - "Operator": { - "target": "com.amazonaws.redshift#OperatorType", - "traits": { - "smithy.api#documentation": "

                            The filter operator.\n If filter Name is NodeType only the 'in' operator is supported.\n Provide one value to evaluate for 'eq', 'lt', 'le', 'gt', and 'ge'. \n Provide two values to evaluate for 'between'.\n Provide a list of values for 'in'.

                            " - } } }, "traits": { @@ -7976,16 +8024,22 @@ "com.amazonaws.redshift#OrderableClusterOption": { "type": "structure", "members": { + "ClusterVersion": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            The version of the orderable cluster.

                            " + } + }, "ClusterType": { "target": "com.amazonaws.redshift#String", "traits": { "smithy.api#documentation": "

                            The cluster type, for example multi-node.

                            " } }, - "ClusterVersion": { + "NodeType": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The version of the orderable cluster.

                            " + "smithy.api#documentation": "

                            The node type for the orderable cluster.

                            " } }, "AvailabilityZones": { @@ -7993,12 +8047,6 @@ "traits": { "smithy.api#documentation": "

                            A list of availability zones for the orderable cluster.

                            " } - }, - "NodeType": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            The node type for the orderable cluster.

                            " - } } }, "traits": { @@ -8037,46 +8085,40 @@ "com.amazonaws.redshift#Parameter": { "type": "structure", "members": { - "Source": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            The source of the parameter value, such as \"engine-default\" or \"user\".

                            " - } - }, "ParameterName": { "target": "com.amazonaws.redshift#String", "traits": { "smithy.api#documentation": "

                            The name of the parameter.

                            " } }, - "DataType": { + "ParameterValue": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The data type of the parameter.

                            " + "smithy.api#documentation": "

                            The value of the parameter.

                            " } }, - "MinimumEngineVersion": { + "Description": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The earliest engine version to which the parameter can apply.

                            " + "smithy.api#documentation": "

                            A description of the parameter.

                            " } }, - "AllowedValues": { + "Source": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The valid range of values for the parameter.

                            " + "smithy.api#documentation": "

                            The source of the parameter value, such as \"engine-default\" or \"user\".

                            " } }, - "ParameterValue": { + "DataType": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The value of the parameter.

                            " + "smithy.api#documentation": "

                            The data type of the parameter.

                            " } }, - "Description": { + "AllowedValues": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            A description of the parameter.

                            " + "smithy.api#documentation": "

                            The valid range of values for the parameter.

                            " } }, "ApplyType": { @@ -8090,6 +8132,12 @@ "traits": { "smithy.api#documentation": "

                            If true, the parameter can be modified. Some parameters have security\n or operational implications that prevent them from being changed.

                            " } + }, + "MinimumEngineVersion": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            The earliest engine version to which the parameter can apply.

                            " + } } }, "traits": { @@ -8179,52 +8227,52 @@ "com.amazonaws.redshift#PendingModifiedValues": { "type": "structure", "members": { - "ClusterType": { + "MasterUserPassword": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The pending or in-progress change of the cluster type.

                            " + "smithy.api#documentation": "

                            The pending or in-progress change of the master user password for the\n cluster.

                            " } }, - "PubliclyAccessible": { - "target": "com.amazonaws.redshift#BooleanOptional", + "NodeType": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The pending or in-progress change of the ability to connect to the cluster from the\n public network.

                            " + "smithy.api#documentation": "

                            The pending or in-progress change of the cluster's node type.

                            " } }, - "ClusterVersion": { - "target": "com.amazonaws.redshift#String", + "NumberOfNodes": { + "target": "com.amazonaws.redshift#IntegerOptional", "traits": { - "smithy.api#documentation": "

                            The pending or in-progress change of the service version.

                            " + "smithy.api#documentation": "

                            The pending or in-progress change of the number of nodes in the cluster.

                            " } }, - "MasterUserPassword": { + "ClusterType": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The pending or in-progress change of the master user password for the\n cluster.

                            " + "smithy.api#documentation": "

                            The pending or in-progress change of the cluster type.

                            " } }, - "ClusterIdentifier": { + "ClusterVersion": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The pending or in-progress change of the new identifier for the cluster.

                            " + "smithy.api#documentation": "

                            The pending or in-progress change of the service version.

                            " } }, - "EncryptionType": { - "target": "com.amazonaws.redshift#String", + "AutomatedSnapshotRetentionPeriod": { + "target": "com.amazonaws.redshift#IntegerOptional", "traits": { - "smithy.api#documentation": "

                            The encryption type for a cluster. Possible values are: KMS and None.

                            " + "smithy.api#documentation": "

                            The pending or in-progress change of the automated snapshot retention\n period.

                            " } }, - "MaintenanceTrackName": { + "ClusterIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The name of the maintenance track that the cluster will change to during the next\n maintenance window.

                            " + "smithy.api#documentation": "

                            The pending or in-progress change of the new identifier for the cluster.

                            " } }, - "NodeType": { - "target": "com.amazonaws.redshift#String", + "PubliclyAccessible": { + "target": "com.amazonaws.redshift#BooleanOptional", "traits": { - "smithy.api#documentation": "

                            The pending or in-progress change of the cluster's node type.

                            " + "smithy.api#documentation": "

                            The pending or in-progress change of the ability to connect to the cluster from the\n public network.

                            " } }, "EnhancedVpcRouting": { @@ -8233,16 +8281,16 @@ "smithy.api#documentation": "

                            An option that specifies whether to create the cluster with enhanced VPC routing\n enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a\n VPC. For more information, see Enhanced VPC Routing in\n the Amazon Redshift Cluster Management Guide.

                            \n

                            If this option is true, enhanced VPC routing is enabled.

                            \n

                            Default: false

                            " } }, - "AutomatedSnapshotRetentionPeriod": { - "target": "com.amazonaws.redshift#IntegerOptional", + "MaintenanceTrackName": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The pending or in-progress change of the automated snapshot retention\n period.

                            " + "smithy.api#documentation": "

                            The name of the maintenance track that the cluster will change to during the next\n maintenance window.

                            " } }, - "NumberOfNodes": { - "target": "com.amazonaws.redshift#IntegerOptional", + "EncryptionType": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The pending or in-progress change of the number of nodes in the cluster.

                            " + "smithy.api#documentation": "

                            The encryption type for a cluster. Possible values are: KMS and None.

                            " } } }, @@ -8279,18 +8327,18 @@ "com.amazonaws.redshift#PurchaseReservedNodeOfferingMessage": { "type": "structure", "members": { - "NodeCount": { - "target": "com.amazonaws.redshift#IntegerOptional", - "traits": { - "smithy.api#documentation": "

                            The number of reserved nodes that you want to purchase.

                            \n

                            Default: 1\n

                            " - } - }, "ReservedNodeOfferingId": { "target": "com.amazonaws.redshift#String", "traits": { "smithy.api#documentation": "

                            The unique identifier of the reserved node offering you want to purchase.

                            ", "smithy.api#required": {} } + }, + "NodeCount": { + "target": "com.amazonaws.redshift#IntegerOptional", + "traits": { + "smithy.api#documentation": "

                            The number of reserved nodes that you want to purchase.

                            \n

                            Default: 1\n

                            " + } } }, "traits": { @@ -8679,22 +8727,10 @@ "com.amazonaws.redshift#ReservedNode": { "type": "structure", "members": { - "FixedPrice": { - "target": "com.amazonaws.redshift#Double", - "traits": { - "smithy.api#documentation": "

                            The fixed cost Amazon Redshift charges you for this reserved node.

                            " - } - }, - "State": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            The state of the reserved compute node.

                            \n

                            Possible Values:

                            \n
                              \n
                            • \n

                              pending-payment-This reserved node has recently been purchased, and the\n sale has been approved, but payment has not yet been confirmed.

                              \n
                            • \n
                            • \n

                              active-This reserved node is owned by the caller and is available for\n use.

                              \n
                            • \n
                            • \n

                              payment-failed-Payment failed for the purchase attempt.

                              \n
                            • \n
                            • \n

                              retired-The reserved node is no longer available.

                              \n
                            • \n
                            • \n

                              exchanging-The owner is exchanging the reserved node for another reserved\n node.

                              \n
                            • \n
                            " - } - }, - "CurrencyCode": { + "ReservedNodeId": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The currency code for the reserved cluster.

                            " + "smithy.api#documentation": "

                            The unique identifier for the reservation.

                            " } }, "ReservedNodeOfferingId": { @@ -8709,52 +8745,64 @@ "smithy.api#documentation": "

                            The node type of the reserved node.

                            " } }, - "ReservedNodeOfferingType": { - "target": "com.amazonaws.redshift#ReservedNodeOfferingType", + "StartTime": { + "target": "com.amazonaws.redshift#TStamp", "traits": { - "smithy.api#documentation": "

                            " + "smithy.api#documentation": "

                            The time the reservation started. You purchase a reserved node offering for a\n duration. This is the start time of that duration.

                            " } }, - "RecurringCharges": { - "target": "com.amazonaws.redshift#RecurringChargeList", + "Duration": { + "target": "com.amazonaws.redshift#Integer", "traits": { - "smithy.api#documentation": "

                            The recurring charges for the reserved node.

                            " + "smithy.api#documentation": "

                            The duration of the node reservation in seconds.

                            " } }, - "NodeCount": { - "target": "com.amazonaws.redshift#Integer", + "FixedPrice": { + "target": "com.amazonaws.redshift#Double", "traits": { - "smithy.api#documentation": "

                            The number of reserved compute nodes.

                            " + "smithy.api#documentation": "

                            The fixed cost Amazon Redshift charges you for this reserved node.

                            " } }, - "OfferingType": { - "target": "com.amazonaws.redshift#String", + "UsagePrice": { + "target": "com.amazonaws.redshift#Double", "traits": { - "smithy.api#documentation": "

                            The anticipated utilization of the reserved node, as defined in the reserved node\n offering.

                            " + "smithy.api#documentation": "

                            The hourly rate Amazon Redshift charges you for this reserved node.

                            " } }, - "StartTime": { - "target": "com.amazonaws.redshift#TStamp", + "CurrencyCode": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The time the reservation started. You purchase a reserved node offering for a\n duration. This is the start time of that duration.

                            " + "smithy.api#documentation": "

                            The currency code for the reserved cluster.

                            " } }, - "Duration": { + "NodeCount": { "target": "com.amazonaws.redshift#Integer", "traits": { - "smithy.api#documentation": "

                            The duration of the node reservation in seconds.

                            " + "smithy.api#documentation": "

                            The number of reserved compute nodes.

                            " } }, - "UsagePrice": { - "target": "com.amazonaws.redshift#Double", + "State": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The hourly rate Amazon Redshift charges you for this reserved node.

                            " + "smithy.api#documentation": "

                            The state of the reserved compute node.

                            \n

                            Possible Values:

                            \n
                              \n
                            • \n

                              pending-payment-This reserved node has recently been purchased, and the\n sale has been approved, but payment has not yet been confirmed.

                              \n
                            • \n
                            • \n

                              active-This reserved node is owned by the caller and is available for\n use.

                              \n
                            • \n
                            • \n

                              payment-failed-Payment failed for the purchase attempt.

                              \n
                            • \n
                            • \n

                              retired-The reserved node is no longer available.

                              \n
                            • \n
                            • \n

                              exchanging-The owner is exchanging the reserved node for another reserved\n node.

                              \n
                            • \n
                            " } }, - "ReservedNodeId": { + "OfferingType": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The unique identifier for the reservation.

                            " + "smithy.api#documentation": "

                            The anticipated utilization of the reserved node, as defined in the reserved node\n offering.

                            " + } + }, + "RecurringCharges": { + "target": "com.amazonaws.redshift#RecurringChargeList", + "traits": { + "smithy.api#documentation": "

                            The recurring charges for the reserved node.

                            " + } + }, + "ReservedNodeOfferingType": { + "target": "com.amazonaws.redshift#ReservedNodeOfferingType", + "traits": { + "smithy.api#documentation": "

                            " } } }, @@ -8813,22 +8861,10 @@ "com.amazonaws.redshift#ReservedNodeOffering": { "type": "structure", "members": { - "ReservedNodeOfferingType": { - "target": "com.amazonaws.redshift#ReservedNodeOfferingType", - "traits": { - "smithy.api#documentation": "

                            " - } - }, - "OfferingType": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            The anticipated utilization of the reserved node, as defined in the reserved node\n offering.

                            " - } - }, - "CurrencyCode": { + "ReservedNodeOfferingId": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The currency code for the compute nodes offering.

                            " + "smithy.api#documentation": "

                            The offering identifier.

                            " } }, "NodeType": { @@ -8837,16 +8873,10 @@ "smithy.api#documentation": "

                            The node type offered by the reserved node offering.

                            " } }, - "ReservedNodeOfferingId": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            The offering identifier.

                            " - } - }, - "RecurringCharges": { - "target": "com.amazonaws.redshift#RecurringChargeList", + "Duration": { + "target": "com.amazonaws.redshift#Integer", "traits": { - "smithy.api#documentation": "

                            The charge to your account regardless of whether you are creating any clusters\n using the node offering. Recurring charges are only in effect for heavy-utilization\n reserved nodes.

                            " + "smithy.api#documentation": "

                            The duration, in seconds, for which the offering will reserve the node.

                            " } }, "FixedPrice": { @@ -8861,10 +8891,28 @@ "smithy.api#documentation": "

                            The rate you are charged for each hour the cluster that is using the offering is\n running.

                            " } }, - "Duration": { - "target": "com.amazonaws.redshift#Integer", + "CurrencyCode": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The duration, in seconds, for which the offering will reserve the node.

                            " + "smithy.api#documentation": "

                            The currency code for the compute nodes offering.

                            " + } + }, + "OfferingType": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            The anticipated utilization of the reserved node, as defined in the reserved node\n offering.

                            " + } + }, + "RecurringCharges": { + "target": "com.amazonaws.redshift#RecurringChargeList", + "traits": { + "smithy.api#documentation": "

                            The charge to your account regardless of whether you are creating any clusters\n using the node offering. Recurring charges are only in effect for heavy-utilization\n reserved nodes.

                            " + } + }, + "ReservedNodeOfferingType": { + "target": "com.amazonaws.redshift#ReservedNodeOfferingType", + "traits": { + "smithy.api#documentation": "

                            " } } }, @@ -8943,17 +8991,17 @@ "com.amazonaws.redshift#ReservedNodesMessage": { "type": "structure", "members": { - "ReservedNodes": { - "target": "com.amazonaws.redshift#ReservedNodeList", - "traits": { - "smithy.api#documentation": "

                            The list of ReservedNode objects.

                            " - } - }, "Marker": { "target": "com.amazonaws.redshift#String", "traits": { "smithy.api#documentation": "

                            A value that indicates the starting point for the next set of response records in a\n subsequent request. If a value is returned in a response, you can retrieve the next set\n of records by providing this returned marker value in the Marker parameter\n and retrying the command. If the Marker field is empty, all response\n records have been retrieved for the request.

                            " } + }, + "ReservedNodes": { + "target": "com.amazonaws.redshift#ReservedNodeList", + "traits": { + "smithy.api#documentation": "

                            The list of ReservedNode objects.

                            " + } } }, "traits": { @@ -9051,35 +9099,35 @@ "com.amazonaws.redshift#ResizeClusterMessage": { "type": "structure", "members": { - "NodeType": { + "ClusterIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The new node type for the nodes you are adding. If not specified, the cluster's current node type is used.

                            " + "smithy.api#documentation": "

                            The unique identifier for the cluster to resize.

                            ", + "smithy.api#required": {} } }, - "Classic": { - "target": "com.amazonaws.redshift#BooleanOptional", + "ClusterType": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            A boolean value indicating whether the resize operation is using the classic resize\n process. If you don't provide this parameter or set the value to\n false, the resize type is elastic.

                            " + "smithy.api#documentation": "

                            The new cluster type for the specified cluster.

                            " } }, - "NumberOfNodes": { - "target": "com.amazonaws.redshift#Integer", + "NodeType": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The new number of nodes for the cluster. If not specified, the cluster's current number of nodes is used.

                            " + "smithy.api#documentation": "

                            The new node type for the nodes you are adding. If not specified, the cluster's current node type is used.

                            " } }, - "ClusterType": { - "target": "com.amazonaws.redshift#String", + "NumberOfNodes": { + "target": "com.amazonaws.redshift#Integer", "traits": { - "smithy.api#documentation": "

                            The new cluster type for the specified cluster.

                            " + "smithy.api#documentation": "

                            The new number of nodes for the cluster. If not specified, the cluster's current number of nodes is used.

                            " } }, - "ClusterIdentifier": { - "target": "com.amazonaws.redshift#String", + "Classic": { + "target": "com.amazonaws.redshift#BooleanOptional", "traits": { - "smithy.api#documentation": "

                            The unique identifier for the cluster to resize.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            A boolean value indicating whether the resize operation is using the classic resize\n process. If you don't provide this parameter or set the value to\n false, the resize type is elastic.

                            " } } }, @@ -9131,22 +9179,16 @@ "com.amazonaws.redshift#ResizeProgressMessage": { "type": "structure", "members": { - "Status": { + "TargetNodeType": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The status of the resize operation.

                            \n

                            Valid Values: NONE | IN_PROGRESS | FAILED |\n SUCCEEDED | CANCELLING\n

                            " - } - }, - "ElapsedTimeInSeconds": { - "target": "com.amazonaws.redshift#LongOptional", - "traits": { - "smithy.api#documentation": "

                            The amount of seconds that have elapsed since the resize operation began. After the\n resize operation completes, this value shows the total actual time, in seconds, for the\n resize operation.

                            " + "smithy.api#documentation": "

                            The node type that the cluster will have after the resize operation is\n complete.

                            " } }, - "ImportTablesNotStarted": { - "target": "com.amazonaws.redshift#ImportTablesNotStarted", + "TargetNumberOfNodes": { + "target": "com.amazonaws.redshift#IntegerOptional", "traits": { - "smithy.api#documentation": "

                            The names of tables that have not been yet imported.

                            \n

                            Valid Values: List of table names

                            " + "smithy.api#documentation": "

                            The number of nodes that the cluster will have after the resize operation is\n complete.

                            " } }, "TargetClusterType": { @@ -9155,40 +9197,40 @@ "smithy.api#documentation": "

                            The cluster type after the resize operation is complete.

                            \n

                            Valid Values: multi-node | single-node\n

                            " } }, - "TargetEncryptionType": { + "Status": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The type of encryption for the cluster after the resize is complete.

                            \n

                            Possible values are KMS and None.

                            " + "smithy.api#documentation": "

                            The status of the resize operation.

                            \n

                            Valid Values: NONE | IN_PROGRESS | FAILED |\n SUCCEEDED | CANCELLING\n

                            " } }, - "EstimatedTimeToCompletionInSeconds": { - "target": "com.amazonaws.redshift#LongOptional", + "ImportTablesCompleted": { + "target": "com.amazonaws.redshift#ImportTablesCompleted", "traits": { - "smithy.api#documentation": "

                            The estimated time remaining, in seconds, until the resize operation is complete.\n This value is calculated based on the average resize rate and the estimated amount of\n data remaining to be processed. Once the resize operation is complete, this value will\n be 0.

                            " + "smithy.api#documentation": "

                            The names of tables that have been completely imported .

                            \n

                            Valid Values: List of table names.

                            " } }, - "TargetNodeType": { - "target": "com.amazonaws.redshift#String", + "ImportTablesInProgress": { + "target": "com.amazonaws.redshift#ImportTablesInProgress", "traits": { - "smithy.api#documentation": "

                            The node type that the cluster will have after the resize operation is\n complete.

                            " + "smithy.api#documentation": "

                            The names of tables that are being currently imported.

                            \n

                            Valid Values: List of table names.

                            " } }, - "ImportTablesCompleted": { - "target": "com.amazonaws.redshift#ImportTablesCompleted", + "ImportTablesNotStarted": { + "target": "com.amazonaws.redshift#ImportTablesNotStarted", "traits": { - "smithy.api#documentation": "

                            The names of tables that have been completely imported .

                            \n

                            Valid Values: List of table names.

                            " + "smithy.api#documentation": "

                            The names of tables that have not been yet imported.

                            \n

                            Valid Values: List of table names

                            " } }, - "TargetNumberOfNodes": { - "target": "com.amazonaws.redshift#IntegerOptional", + "AvgResizeRateInMegaBytesPerSecond": { + "target": "com.amazonaws.redshift#DoubleOptional", "traits": { - "smithy.api#documentation": "

                            The number of nodes that the cluster will have after the resize operation is\n complete.

                            " + "smithy.api#documentation": "

                            The average rate of the resize operation over the last few minutes, measured in\n megabytes per second. After the resize operation completes, this value shows the average\n rate of the entire resize operation.

                            " } }, - "ResizeType": { - "target": "com.amazonaws.redshift#String", + "TotalResizeDataInMegaBytes": { + "target": "com.amazonaws.redshift#LongOptional", "traits": { - "smithy.api#documentation": "

                            An enum with possible values of ClassicResize and\n ElasticResize. These values describe the type of resize operation being\n performed.

                            " + "smithy.api#documentation": "

                            The estimated total amount of data, in megabytes, on the cluster before the resize\n operation began.

                            " } }, "ProgressInMegaBytes": { @@ -9197,16 +9239,22 @@ "smithy.api#documentation": "

                            While the resize operation is in progress, this value shows the current amount of\n data, in megabytes, that has been processed so far. When the resize operation is\n complete, this value shows the total amount of data, in megabytes, on the cluster, which\n may be more or less than TotalResizeDataInMegaBytes (the estimated total amount of data\n before resize).

                            " } }, - "AvgResizeRateInMegaBytesPerSecond": { - "target": "com.amazonaws.redshift#DoubleOptional", + "ElapsedTimeInSeconds": { + "target": "com.amazonaws.redshift#LongOptional", "traits": { - "smithy.api#documentation": "

                            The average rate of the resize operation over the last few minutes, measured in\n megabytes per second. After the resize operation completes, this value shows the average\n rate of the entire resize operation.

                            " + "smithy.api#documentation": "

                            The amount of seconds that have elapsed since the resize operation began. After the\n resize operation completes, this value shows the total actual time, in seconds, for the\n resize operation.

                            " } }, - "ImportTablesInProgress": { - "target": "com.amazonaws.redshift#ImportTablesInProgress", + "EstimatedTimeToCompletionInSeconds": { + "target": "com.amazonaws.redshift#LongOptional", "traits": { - "smithy.api#documentation": "

                            The names of tables that are being currently imported.

                            \n

                            Valid Values: List of table names.

                            " + "smithy.api#documentation": "

                            The estimated time remaining, in seconds, until the resize operation is complete.\n This value is calculated based on the average resize rate and the estimated amount of\n data remaining to be processed. Once the resize operation is complete, this value will\n be 0.

                            " + } + }, + "ResizeType": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            An enum with possible values of ClassicResize and\n ElasticResize. These values describe the type of resize operation being\n performed.

                            " } }, "Message": { @@ -9215,10 +9263,10 @@ "smithy.api#documentation": "

                            An optional string to provide additional details about the resize action.

                            " } }, - "TotalResizeDataInMegaBytes": { - "target": "com.amazonaws.redshift#LongOptional", + "TargetEncryptionType": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The estimated total amount of data, in megabytes, on the cluster before the resize\n operation began.

                            " + "smithy.api#documentation": "

                            The type of encryption for the cluster after the resize is complete.

                            \n

                            Possible values are KMS and None.

                            " } }, "DataTransferProgressPercent": { @@ -9346,16 +9394,24 @@ "com.amazonaws.redshift#RestoreFromClusterSnapshotMessage": { "type": "structure", "members": { - "HsmClientCertificateIdentifier": { + "ClusterIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to\n retrieve the data encryption keys stored in an HSM.

                            " + "smithy.api#documentation": "

                            The identifier of the cluster that will be created from restoring the\n snapshot.

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Must contain from 1 to 63 alphanumeric characters or hyphens.

                              \n
                            • \n
                            • \n

                              Alphabetic characters must be lowercase.

                              \n
                            • \n
                            • \n

                              First character must be a letter.

                              \n
                            • \n
                            • \n

                              Cannot end with a hyphen or contain two consecutive hyphens.

                              \n
                            • \n
                            • \n

                              Must be unique for all clusters within an AWS account.

                              \n
                            • \n
                            ", + "smithy.api#required": {} } }, - "AutomatedSnapshotRetentionPeriod": { - "target": "com.amazonaws.redshift#IntegerOptional", + "SnapshotIdentifier": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The number of days that automated snapshots are retained. If the value is 0,\n automated snapshots are disabled. Even if automated snapshots are disabled, you can\n still create manual snapshots when you want with CreateClusterSnapshot.

                            \n

                            Default: The value selected for the cluster from which the snapshot was\n taken.

                            \n

                            Constraints: Must be a value from 0 to 35.

                            " + "smithy.api#documentation": "

                            The name of the snapshot from which to create the new cluster. This parameter isn't\n case sensitive.

                            \n

                            Example: my-snapshot-id\n

                            ", + "smithy.api#required": {} + } + }, + "SnapshotClusterIdentifier": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            The name of the cluster the source snapshot was created from. This parameter is\n required if your IAM user has a policy containing a snapshot resource element that\n specifies anything other than * for the cluster name.

                            " } }, "Port": { @@ -9364,47 +9420,58 @@ "smithy.api#documentation": "

                            The port number on which the cluster accepts connections.

                            \n

                            Default: The same port as the original cluster.

                            \n

                            Constraints: Must be between 1115 and 65535.

                            " } }, - "SnapshotIdentifier": { + "AvailabilityZone": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The name of the snapshot from which to create the new cluster. This parameter isn't\n case sensitive.

                            \n

                            Example: my-snapshot-id\n

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The Amazon EC2 Availability Zone in which to restore the cluster.

                            \n

                            Default: A random, system-chosen Availability Zone.

                            \n

                            Example: us-east-2a\n

                            " } }, - "NumberOfNodes": { - "target": "com.amazonaws.redshift#IntegerOptional", + "AllowVersionUpgrade": { + "target": "com.amazonaws.redshift#BooleanOptional", "traits": { - "smithy.api#documentation": "

                            The number of nodes specified when provisioning the restored cluster.

                            " + "smithy.api#documentation": "

                            If true, major version upgrades can be applied during the maintenance\n window to the Amazon Redshift engine that is running on the cluster.

                            \n

                            Default: true\n

                            " } }, - "ElasticIp": { + "ClusterSubnetGroupName": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The elastic IP (EIP) address for the cluster.

                            " + "smithy.api#documentation": "

                            The name of the subnet group where you want to cluster restored.

                            \n

                            A snapshot of cluster in VPC can be restored only in VPC. Therefore, you must\n provide subnet group name where you want the cluster restored.

                            " } }, - "AllowVersionUpgrade": { + "PubliclyAccessible": { "target": "com.amazonaws.redshift#BooleanOptional", "traits": { - "smithy.api#documentation": "

                            If true, major version upgrades can be applied during the maintenance\n window to the Amazon Redshift engine that is running on the cluster.

                            \n

                            Default: true\n

                            " + "smithy.api#documentation": "

                            If true, the cluster can be accessed from a public network.

                            " } }, - "ManualSnapshotRetentionPeriod": { - "target": "com.amazonaws.redshift#IntegerOptional", + "OwnerAccount": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The default number of days to retain a manual snapshot. If the value is -1, the\n snapshot is retained indefinitely. This setting doesn't change the retention period\n of existing snapshots.

                            \n

                            The value must be either -1 or an integer between 1 and 3,653.

                            " + "smithy.api#documentation": "

                            The AWS customer account used to create or copy the snapshot. Required if you are\n restoring a snapshot you do not own, optional if you own the snapshot.

                            " } }, - "ClusterSubnetGroupName": { + "HsmClientCertificateIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The name of the subnet group where you want to cluster restored.

                            \n

                            A snapshot of cluster in VPC can be restored only in VPC. Therefore, you must\n provide subnet group name where you want the cluster restored.

                            " + "smithy.api#documentation": "

                            Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to\n retrieve the data encryption keys stored in an HSM.

                            " } }, - "PreferredMaintenanceWindow": { + "HsmConfigurationIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The weekly time range (in UTC) during which automated cluster maintenance can\n occur.

                            \n

                            Format: ddd:hh24:mi-ddd:hh24:mi\n

                            \n

                            Default: The value selected for the cluster from which the snapshot was taken. For\n more information about the time blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management Guide.

                            \n

                            Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

                            \n

                            Constraints: Minimum 30-minute window.

                            " + "smithy.api#documentation": "

                            Specifies the name of the HSM configuration that contains the information the\n Amazon Redshift cluster can use to retrieve and store keys in an HSM.

                            " + } + }, + "ElasticIp": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            The elastic IP (EIP) address for the cluster.

                            " + } + }, + "ClusterParameterGroupName": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            The name of the parameter group to be associated with this cluster.

                            \n

                            Default: The default Amazon Redshift cluster parameter group. For information about the\n default parameter group, go to Working with Amazon\n Redshift Parameter Groups.

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Must be 1 to 255 alphanumeric characters or hyphens.

                              \n
                            • \n
                            • \n

                              First character must be a letter.

                              \n
                            • \n
                            • \n

                              Cannot end with a hyphen or contain two consecutive hyphens.

                              \n
                            • \n
                            " } }, "ClusterSecurityGroups": { @@ -9413,47 +9480,46 @@ "smithy.api#documentation": "

                            A list of security groups to be associated with this cluster.

                            \n

                            Default: The default cluster security group for Amazon Redshift.

                            \n

                            Cluster security groups only apply to clusters outside of VPCs.

                            " } }, - "EnhancedVpcRouting": { - "target": "com.amazonaws.redshift#BooleanOptional", + "VpcSecurityGroupIds": { + "target": "com.amazonaws.redshift#VpcSecurityGroupIdList", "traits": { - "smithy.api#documentation": "

                            An option that specifies whether to create the cluster with enhanced VPC routing\n enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a\n VPC. For more information, see Enhanced VPC Routing in\n the Amazon Redshift Cluster Management Guide.

                            \n

                            If this option is true, enhanced VPC routing is enabled.

                            \n

                            Default: false

                            " + "smithy.api#documentation": "

                            A list of Virtual Private Cloud (VPC) security groups to be associated with the\n cluster.

                            \n

                            Default: The default VPC security group is associated with the cluster.

                            \n

                            VPC security groups only apply to clusters in VPCs.

                            " } }, - "AvailabilityZone": { + "PreferredMaintenanceWindow": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The Amazon EC2 Availability Zone in which to restore the cluster.

                            \n

                            Default: A random, system-chosen Availability Zone.

                            \n

                            Example: us-east-2a\n

                            " + "smithy.api#documentation": "

                            The weekly time range (in UTC) during which automated cluster maintenance can\n occur.

                            \n

                            Format: ddd:hh24:mi-ddd:hh24:mi\n

                            \n

                            Default: The value selected for the cluster from which the snapshot was taken. For\n more information about the time blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management Guide.

                            \n

                            Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

                            \n

                            Constraints: Minimum 30-minute window.

                            " } }, - "IamRoles": { - "target": "com.amazonaws.redshift#IamRoleArnList", + "AutomatedSnapshotRetentionPeriod": { + "target": "com.amazonaws.redshift#IntegerOptional", "traits": { - "smithy.api#documentation": "

                            A list of AWS Identity and Access Management (IAM) roles that can be used by the\n cluster to access other AWS services. You must supply the IAM roles in their Amazon\n Resource Name (ARN) format. You can supply up to 10 IAM roles in a single\n request.

                            \n

                            A cluster can have up to 10 IAM roles associated at any time.

                            " + "smithy.api#documentation": "

                            The number of days that automated snapshots are retained. If the value is 0,\n automated snapshots are disabled. Even if automated snapshots are disabled, you can\n still create manual snapshots when you want with CreateClusterSnapshot.

                            \n

                            Default: The value selected for the cluster from which the snapshot was\n taken.

                            \n

                            Constraints: Must be a value from 0 to 35.

                            " } }, - "ClusterIdentifier": { - "target": "com.amazonaws.redshift#String", + "ManualSnapshotRetentionPeriod": { + "target": "com.amazonaws.redshift#IntegerOptional", "traits": { - "smithy.api#documentation": "

                            The identifier of the cluster that will be created from restoring the\n snapshot.

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Must contain from 1 to 63 alphanumeric characters or hyphens.

                              \n
                            • \n
                            • \n

                              Alphabetic characters must be lowercase.

                              \n
                            • \n
                            • \n

                              First character must be a letter.

                              \n
                            • \n
                            • \n

                              Cannot end with a hyphen or contain two consecutive hyphens.

                              \n
                            • \n
                            • \n

                              Must be unique for all clusters within an AWS account.

                              \n
                            • \n
                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The default number of days to retain a manual snapshot. If the value is -1, the\n snapshot is retained indefinitely. This setting doesn't change the retention period\n of existing snapshots.

                            \n

                            The value must be either -1 or an integer between 1 and 3,653.

                            " } }, - "ClusterParameterGroupName": { + "KmsKeyId": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The name of the parameter group to be associated with this cluster.

                            \n

                            Default: The default Amazon Redshift cluster parameter group. For information about the\n default parameter group, go to Working with Amazon\n Redshift Parameter Groups.

                            \n

                            Constraints:

                            \n
                              \n
                            • \n

                              Must be 1 to 255 alphanumeric characters or hyphens.

                              \n
                            • \n
                            • \n

                              First character must be a letter.

                              \n
                            • \n
                            • \n

                              Cannot end with a hyphen or contain two consecutive hyphens.

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            The AWS Key Management Service (KMS) key ID of the encryption key that you want to\n use to encrypt data in the cluster that you restore from a shared snapshot.

                            " } }, - "SnapshotClusterIdentifier": { + "NodeType": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The name of the cluster the source snapshot was created from. This parameter is\n required if your IAM user has a policy containing a snapshot resource element that\n specifies anything other than * for the cluster name.

                            " + "smithy.api#documentation": "

                            The node type that the restored cluster will be provisioned with.

                            \n

                            Default: The node type of the cluster from which the snapshot was taken. You can\n modify this if you are using any DS node type. In that case, you can choose to restore\n into another DS node type of the same size. For example, you can restore ds1.8xlarge\n into ds2.8xlarge, or ds1.xlarge into ds2.xlarge. If you have a DC instance type, you\n must restore into that same instance type and size. In other words, you can only restore\n a dc1.large instance type into another dc1.large instance type or dc2.large instance\n type. You can't restore dc1.8xlarge to dc2.8xlarge. First restore to a dc1.8xlarge\n cluster, then resize to a dc2.8large cluster. For more information about node types, see\n \n About Clusters and Nodes in the Amazon Redshift Cluster Management Guide.

                            " } }, - "KmsKeyId": { - "target": "com.amazonaws.redshift#String", + "EnhancedVpcRouting": { + "target": "com.amazonaws.redshift#BooleanOptional", "traits": { - "smithy.api#documentation": "

                            The AWS Key Management Service (KMS) key ID of the encryption key that you want to\n use to encrypt data in the cluster that you restore from a shared snapshot.

                            " + "smithy.api#documentation": "

                            An option that specifies whether to create the cluster with enhanced VPC routing\n enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a\n VPC. For more information, see Enhanced VPC Routing in\n the Amazon Redshift Cluster Management Guide.

                            \n

                            If this option is true, enhanced VPC routing is enabled.

                            \n

                            Default: false

                            " } }, "AdditionalInfo": { @@ -9462,10 +9528,10 @@ "smithy.api#documentation": "

                            Reserved.

                            " } }, - "OwnerAccount": { - "target": "com.amazonaws.redshift#String", + "IamRoles": { + "target": "com.amazonaws.redshift#IamRoleArnList", "traits": { - "smithy.api#documentation": "

                            The AWS customer account used to create or copy the snapshot. Required if you are\n restoring a snapshot you do not own, optional if you own the snapshot.

                            " + "smithy.api#documentation": "

                            A list of AWS Identity and Access Management (IAM) roles that can be used by the\n cluster to access other AWS services. You must supply the IAM roles in their Amazon\n Resource Name (ARN) format. You can supply up to 10 IAM roles in a single\n request.

                            \n

                            A cluster can have up to 10 IAM roles associated at any time.

                            " } }, "MaintenanceTrackName": { @@ -9474,34 +9540,16 @@ "smithy.api#documentation": "

                            The name of the maintenance track for the restored cluster. When you take a snapshot,\n the snapshot inherits the MaintenanceTrack value from the cluster. The\n snapshot might be on a different track than the cluster that was the source for the\n snapshot. For example, suppose that you take a snapshot of a cluster that is on the\n current track and then change the cluster to be on the trailing track. In this case, the\n snapshot and the source cluster are on different tracks.

                            " } }, - "PubliclyAccessible": { - "target": "com.amazonaws.redshift#BooleanOptional", - "traits": { - "smithy.api#documentation": "

                            If true, the cluster can be accessed from a public network.

                            " - } - }, "SnapshotScheduleIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { "smithy.api#documentation": "

                            A unique identifier for the snapshot schedule.

                            " } }, - "NodeType": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            The node type that the restored cluster will be provisioned with.

                            \n

                            Default: The node type of the cluster from which the snapshot was taken. You can\n modify this if you are using any DS node type. In that case, you can choose to restore\n into another DS node type of the same size. For example, you can restore ds1.8xlarge\n into ds2.8xlarge, or ds1.xlarge into ds2.xlarge. If you have a DC instance type, you\n must restore into that same instance type and size. In other words, you can only restore\n a dc1.large instance type into another dc1.large instance type or dc2.large instance\n type. You can't restore dc1.8xlarge to dc2.8xlarge. First restore to a dc1.8xlarge\n cluster, then resize to a dc2.8large cluster. For more information about node types, see\n \n About Clusters and Nodes in the Amazon Redshift Cluster Management Guide.

                            " - } - }, - "VpcSecurityGroupIds": { - "target": "com.amazonaws.redshift#VpcSecurityGroupIdList", - "traits": { - "smithy.api#documentation": "

                            A list of Virtual Private Cloud (VPC) security groups to be associated with the\n cluster.

                            \n

                            Default: The default VPC security group is associated with the cluster.

                            \n

                            VPC security groups only apply to clusters in VPCs.

                            " - } - }, - "HsmConfigurationIdentifier": { - "target": "com.amazonaws.redshift#String", + "NumberOfNodes": { + "target": "com.amazonaws.redshift#IntegerOptional", "traits": { - "smithy.api#documentation": "

                            Specifies the name of the HSM configuration that contains the information the\n Amazon Redshift cluster can use to retrieve and store keys in an HSM.

                            " + "smithy.api#documentation": "

                            The number of nodes specified when provisioning the restored cluster.

                            " } } }, @@ -9520,40 +9568,40 @@ "com.amazonaws.redshift#RestoreStatus": { "type": "structure", "members": { - "SnapshotSizeInMegaBytes": { - "target": "com.amazonaws.redshift#Long", + "Status": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The size of the set of snapshot data used to restore the cluster.\n This field is only updated when you restore to DC2 and DS2 node types.

                            " + "smithy.api#documentation": "

                            The status of the restore action. Returns starting, restoring, completed, or\n failed.

                            " } }, - "ElapsedTimeInSeconds": { - "target": "com.amazonaws.redshift#Long", + "CurrentRestoreRateInMegaBytesPerSecond": { + "target": "com.amazonaws.redshift#Double", "traits": { - "smithy.api#documentation": "

                            The amount of time an in-progress restore has been running, or the amount of time\n it took a completed restore to finish.\n This field is only updated when you restore to DC2 and DS2 node types.

                            " + "smithy.api#documentation": "

                            The number of megabytes per second being transferred from the backup storage.\n Returns the average rate for a completed backup.\n This field is only updated when you restore to DC2 and DS2 node types.

                            " } }, - "EstimatedTimeToCompletionInSeconds": { + "SnapshotSizeInMegaBytes": { "target": "com.amazonaws.redshift#Long", "traits": { - "smithy.api#documentation": "

                            The estimate of the time remaining before the restore will complete. Returns 0 for\n a completed restore.\n This field is only updated when you restore to DC2 and DS2 node types.

                            " + "smithy.api#documentation": "

                            The size of the set of snapshot data used to restore the cluster.\n This field is only updated when you restore to DC2 and DS2 node types.

                            " } }, - "Status": { - "target": "com.amazonaws.redshift#String", + "ProgressInMegaBytes": { + "target": "com.amazonaws.redshift#Long", "traits": { - "smithy.api#documentation": "

                            The status of the restore action. Returns starting, restoring, completed, or\n failed.

                            " + "smithy.api#documentation": "

                            The number of megabytes that have been transferred from snapshot storage.\n This field is only updated when you restore to DC2 and DS2 node types.

                            " } }, - "CurrentRestoreRateInMegaBytesPerSecond": { - "target": "com.amazonaws.redshift#Double", + "ElapsedTimeInSeconds": { + "target": "com.amazonaws.redshift#Long", "traits": { - "smithy.api#documentation": "

                            The number of megabytes per second being transferred from the backup storage.\n Returns the average rate for a completed backup.\n This field is only updated when you restore to DC2 and DS2 node types.

                            " + "smithy.api#documentation": "

                            The amount of time an in-progress restore has been running, or the amount of time\n it took a completed restore to finish.\n This field is only updated when you restore to DC2 and DS2 node types.

                            " } }, - "ProgressInMegaBytes": { + "EstimatedTimeToCompletionInSeconds": { "target": "com.amazonaws.redshift#Long", "traits": { - "smithy.api#documentation": "

                            The number of megabytes that have been transferred from snapshot storage.\n This field is only updated when you restore to DC2 and DS2 node types.

                            " + "smithy.api#documentation": "

                            The estimate of the time remaining before the restore will complete. Returns 0 for\n a completed restore.\n This field is only updated when you restore to DC2 and DS2 node types.

                            " } } }, @@ -9599,10 +9647,18 @@ "com.amazonaws.redshift#RestoreTableFromClusterSnapshotMessage": { "type": "structure", "members": { - "TargetSchemaName": { + "ClusterIdentifier": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            The identifier of the Amazon Redshift cluster to restore the table to.

                            ", + "smithy.api#required": {} + } + }, + "SnapshotIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The name of the schema to restore the table to.

                            " + "smithy.api#documentation": "

                            The identifier of the snapshot to restore the table from. This snapshot must have\n been created from the Amazon Redshift cluster specified by the\n ClusterIdentifier parameter.

                            ", + "smithy.api#required": {} } }, "SourceDatabaseName": { @@ -9618,12 +9674,6 @@ "smithy.api#documentation": "

                            The name of the source schema that contains the table to restore from. If you do\n not specify a SourceSchemaName value, the default is\n public.

                            " } }, - "TargetDatabaseName": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            The name of the database to restore the table to.

                            " - } - }, "SourceTableName": { "target": "com.amazonaws.redshift#String", "traits": { @@ -9631,24 +9681,22 @@ "smithy.api#required": {} } }, - "NewTableName": { + "TargetDatabaseName": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The name of the table to create as a result of the current request.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The name of the database to restore the table to.

                            " } }, - "SnapshotIdentifier": { + "TargetSchemaName": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The identifier of the snapshot to restore the table from. This snapshot must have\n been created from the Amazon Redshift cluster specified by the\n ClusterIdentifier parameter.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The name of the schema to restore the table to.

                            " } }, - "ClusterIdentifier": { + "NewTableName": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The identifier of the Amazon Redshift cluster to restore the table to.

                            ", + "smithy.api#documentation": "

                            The name of the table to create as a result of the current request.

                            ", "smithy.api#required": {} } } @@ -9711,10 +9759,10 @@ "com.amazonaws.redshift#RevisionTarget": { "type": "structure", "members": { - "DatabaseRevisionReleaseDate": { - "target": "com.amazonaws.redshift#TStamp", + "DatabaseRevision": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The date on which the database revision was released.

                            " + "smithy.api#documentation": "

                            A unique string that identifies the version to update the cluster to. You can use this\n value in ModifyClusterDbRevision.

                            " } }, "Description": { @@ -9723,10 +9771,10 @@ "smithy.api#documentation": "

                            A string that describes the changes and features that will be applied to the cluster\n when it is updated to the corresponding ClusterDbRevision.

                            " } }, - "DatabaseRevision": { - "target": "com.amazonaws.redshift#String", + "DatabaseRevisionReleaseDate": { + "target": "com.amazonaws.redshift#TStamp", "traits": { - "smithy.api#documentation": "

                            A unique string that identifies the version to update the cluster to. You can use this\n value in ModifyClusterDbRevision.

                            " + "smithy.api#documentation": "

                            The date on which the database revision was released.

                            " } } }, @@ -9769,10 +9817,11 @@ "com.amazonaws.redshift#RevokeClusterSecurityGroupIngressMessage": { "type": "structure", "members": { - "EC2SecurityGroupOwnerId": { + "ClusterSecurityGroupName": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The AWS account number of the owner of the security group specified in the\n EC2SecurityGroupName parameter. The AWS access key ID is not an\n acceptable value. If EC2SecurityGroupOwnerId is specified,\n EC2SecurityGroupName must also be provided. and CIDRIP\n cannot be provided.

                            \n

                            Example: 111122223333\n

                            " + "smithy.api#documentation": "

                            The name of the security Group from which to revoke the ingress rule.

                            ", + "smithy.api#required": {} } }, "CIDRIP": { @@ -9787,11 +9836,10 @@ "smithy.api#documentation": "

                            The name of the EC2 Security Group whose access is to be revoked. If\n EC2SecurityGroupName is specified, EC2SecurityGroupOwnerId\n must also be provided and CIDRIP cannot be provided.

                            " } }, - "ClusterSecurityGroupName": { + "EC2SecurityGroupOwnerId": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The name of the security Group from which to revoke the ingress rule.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The AWS account number of the owner of the security group specified in the\n EC2SecurityGroupName parameter. The AWS access key ID is not an\n acceptable value. If EC2SecurityGroupOwnerId is specified,\n EC2SecurityGroupName must also be provided. and CIDRIP\n cannot be provided.

                            \n

                            Example: 111122223333\n

                            " } } }, @@ -9833,23 +9881,23 @@ "com.amazonaws.redshift#RevokeSnapshotAccessMessage": { "type": "structure", "members": { - "SnapshotClusterIdentifier": { + "SnapshotIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The identifier of the cluster the snapshot was created from. This parameter is\n required if your IAM user has a policy containing a snapshot resource element that\n specifies anything other than * for the cluster name.

                            " + "smithy.api#documentation": "

                            The identifier of the snapshot that the account can no longer access.

                            ", + "smithy.api#required": {} } }, - "AccountWithRestoreAccess": { + "SnapshotClusterIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The identifier of the AWS customer account that can no longer restore the specified\n snapshot.

                            ", - "smithy.api#required": {} + "smithy.api#documentation": "

                            The identifier of the cluster the snapshot was created from. This parameter is\n required if your IAM user has a policy containing a snapshot resource element that\n specifies anything other than * for the cluster name.

                            " } }, - "SnapshotIdentifier": { + "AccountWithRestoreAccess": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The identifier of the snapshot that the account can no longer access.

                            ", + "smithy.api#documentation": "

                            The identifier of the AWS customer account that can no longer restore the specified\n snapshot.

                            ", "smithy.api#required": {} } } @@ -9992,22 +10040,10 @@ "com.amazonaws.redshift#ScheduledAction": { "type": "structure", "members": { - "IamRole": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            The IAM role to assume to run the scheduled action. \n This IAM role must have permission to run the Amazon Redshift API operation in the scheduled action.\n This IAM role must allow the Amazon Redshift scheduler (Principal scheduler.redshift.amazonaws.com) to assume permissions on your behalf.\n \nFor more information about the IAM role to use with the Amazon Redshift scheduler, see \nUsing Identity-Based Policies for Amazon Redshift \nin the Amazon Redshift Cluster Management Guide.\n

                            " - } - }, - "ScheduledActionDescription": { + "ScheduledActionName": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The description of the scheduled action.

                            " - } - }, - "EndTime": { - "target": "com.amazonaws.redshift#TStamp", - "traits": { - "smithy.api#documentation": "

                            The end time in UTC when the schedule is no longer active. After this time, the scheduled action does not trigger.

                            " + "smithy.api#documentation": "

                            The name of the scheduled action.

                            " } }, "TargetAction": { @@ -10016,16 +10052,22 @@ "smithy.api#documentation": "

                            A JSON format string of the Amazon Redshift API operation with input parameters.

                            \n

                            \"{\\\"ResizeCluster\\\":{\\\"NodeType\\\":\\\"ds2.8xlarge\\\",\\\"ClusterIdentifier\\\":\\\"my-test-cluster\\\",\\\"NumberOfNodes\\\":3}}\".

                            " } }, - "StartTime": { - "target": "com.amazonaws.redshift#TStamp", + "Schedule": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The start time in UTC when the schedule is active. Before this time, the scheduled action does not trigger.

                            " + "smithy.api#documentation": "

                            The schedule for a one-time (at format) or recurring (cron format) scheduled action. \n Schedule invocations must be separated by at least one hour.

                            \n

                            Format of at expressions is \"at(yyyy-mm-ddThh:mm:ss)\". For example, \"at(2016-03-04T17:27:00)\".

                            \n

                            Format of cron expressions is \"cron(Minutes Hours Day-of-month Month Day-of-week Year)\". \n For example, \"cron(0 10 ? * MON *)\". For more information, see \n Cron Expressions \n in the Amazon CloudWatch Events User Guide.

                            " } }, - "Schedule": { + "IamRole": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The schedule for a one-time (at format) or recurring (cron format) scheduled action. \n Schedule invocations must be separated by at least one hour.

                            \n

                            Format of at expressions is \"at(yyyy-mm-ddThh:mm:ss)\". For example, \"at(2016-03-04T17:27:00)\".

                            \n

                            Format of cron expressions is \"cron(Minutes Hours Day-of-month Month Day-of-week Year)\". \n For example, \"cron(0 10 ? * MON *)\". For more information, see \n Cron Expressions \n in the Amazon CloudWatch Events User Guide.

                            " + "smithy.api#documentation": "

                            The IAM role to assume to run the scheduled action. \n This IAM role must have permission to run the Amazon Redshift API operation in the scheduled action.\n This IAM role must allow the Amazon Redshift scheduler (Principal scheduler.redshift.amazonaws.com) to assume permissions on your behalf.\n \nFor more information about the IAM role to use with the Amazon Redshift scheduler, see \nUsing Identity-Based Policies for Amazon Redshift \nin the Amazon Redshift Cluster Management Guide.\n

                            " + } + }, + "ScheduledActionDescription": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            The description of the scheduled action.

                            " } }, "State": { @@ -10040,10 +10082,16 @@ "smithy.api#documentation": "

                            List of times when the scheduled action will run.

                            " } }, - "ScheduledActionName": { - "target": "com.amazonaws.redshift#String", + "StartTime": { + "target": "com.amazonaws.redshift#TStamp", "traits": { - "smithy.api#documentation": "

                            The name of the scheduled action.

                            " + "smithy.api#documentation": "

                            The start time in UTC when the schedule is active. Before this time, the scheduled action does not trigger.

                            " + } + }, + "EndTime": { + "target": "com.amazonaws.redshift#TStamp", + "traits": { + "smithy.api#documentation": "

                            The end time in UTC when the schedule is no longer active. After this time, the scheduled action does not trigger.

                            " } } }, @@ -10172,6 +10220,12 @@ "com.amazonaws.redshift#ScheduledActionType": { "type": "structure", "members": { + "ResizeCluster": { + "target": "com.amazonaws.redshift#ResizeClusterMessage", + "traits": { + "smithy.api#documentation": "

                            An action that runs a ResizeCluster API operation.

                            " + } + }, "PauseCluster": { "target": "com.amazonaws.redshift#PauseClusterMessage", "traits": { @@ -10183,12 +10237,6 @@ "traits": { "smithy.api#documentation": "

                            An action that runs a ResumeCluster API operation.

                            " } - }, - "ResizeCluster": { - "target": "com.amazonaws.redshift#ResizeClusterMessage", - "traits": { - "smithy.api#documentation": "

                            An action that runs a ResizeCluster API operation.

                            " - } } }, "traits": { @@ -10262,22 +10310,22 @@ "com.amazonaws.redshift#Snapshot": { "type": "structure", "members": { - "ClusterIdentifier": { + "SnapshotIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The identifier of the cluster for which the snapshot was taken.

                            " + "smithy.api#documentation": "

                            The snapshot identifier that is provided in the request.

                            " } }, - "VpcId": { + "ClusterIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The VPC identifier of the cluster if the snapshot is from a cluster in a VPC.\n Otherwise, this field is not in the output.

                            " + "smithy.api#documentation": "

                            The identifier of the cluster for which the snapshot was taken.

                            " } }, - "Tags": { - "target": "com.amazonaws.redshift#TagList", + "SnapshotCreateTime": { + "target": "com.amazonaws.redshift#TStamp", "traits": { - "smithy.api#documentation": "

                            The list of tags for the cluster snapshot.

                            " + "smithy.api#documentation": "

                            The time (in UTC format) when Amazon Redshift began the snapshot. A snapshot contains a\n copy of the cluster data as of this exact time.

                            " } }, "Status": { @@ -10286,142 +10334,142 @@ "smithy.api#documentation": "

                            The snapshot status. The value of the status depends on the API operation used:

                            \n " } }, - "ManualSnapshotRemainingDays": { - "target": "com.amazonaws.redshift#IntegerOptional", + "Port": { + "target": "com.amazonaws.redshift#Integer", "traits": { - "smithy.api#documentation": "

                            The number of days until a manual snapshot will pass its retention period.

                            " + "smithy.api#documentation": "

                            The port that the cluster is listening on.

                            " } }, - "Encrypted": { - "target": "com.amazonaws.redshift#Boolean", + "AvailabilityZone": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            If true, the data in the snapshot is encrypted at rest.

                            " + "smithy.api#documentation": "

                            The Availability Zone in which the cluster was created.

                            " } }, - "ElapsedTimeInSeconds": { - "target": "com.amazonaws.redshift#Long", + "ClusterCreateTime": { + "target": "com.amazonaws.redshift#TStamp", "traits": { - "smithy.api#documentation": "

                            The amount of time an in-progress snapshot backup has been running, or the amount\n of time it took a completed backup to finish.

                            " + "smithy.api#documentation": "

                            The time (UTC) when the cluster was originally created.

                            " } }, - "KmsKeyId": { + "MasterUsername": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The AWS Key Management Service (KMS) key ID of the encryption key that was used to\n encrypt data in the cluster from which the snapshot was taken.

                            " + "smithy.api#documentation": "

                            The master user name for the cluster.

                            " } }, - "SourceRegion": { + "ClusterVersion": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The source region from which the snapshot was copied.

                            " + "smithy.api#documentation": "

                            The version ID of the Amazon Redshift engine that is running on the cluster.

                            " } }, - "ManualSnapshotRetentionPeriod": { - "target": "com.amazonaws.redshift#IntegerOptional", + "SnapshotType": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The number of days that a manual snapshot is retained. If the value is -1, the manual\n snapshot is retained indefinitely.

                            \n\n

                            The value must be either -1 or an integer between 1 and 3,653.

                            " + "smithy.api#documentation": "

                            The snapshot type. Snapshots created using CreateClusterSnapshot\n and CopyClusterSnapshot are of type \"manual\".

                            " } }, - "DBName": { + "NodeType": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The name of the database that was created when the cluster was created.

                            " + "smithy.api#documentation": "

                            The node type of the nodes in the cluster.

                            " } }, - "AvailabilityZone": { - "target": "com.amazonaws.redshift#String", + "NumberOfNodes": { + "target": "com.amazonaws.redshift#Integer", "traits": { - "smithy.api#documentation": "

                            The Availability Zone in which the cluster was created.

                            " + "smithy.api#documentation": "

                            The number of nodes in the cluster.

                            " } }, - "BackupProgressInMegaBytes": { - "target": "com.amazonaws.redshift#Double", + "DBName": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The number of megabytes that have been transferred to the snapshot\n backup.

                            " + "smithy.api#documentation": "

                            The name of the database that was created when the cluster was created.

                            " } }, - "AccountsWithRestoreAccess": { - "target": "com.amazonaws.redshift#AccountsWithRestoreAccessList", + "VpcId": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            A list of the AWS customer accounts authorized to restore the snapshot. Returns\n null if no accounts are authorized. Visible only to the snapshot owner.\n

                            " + "smithy.api#documentation": "

                            The VPC identifier of the cluster if the snapshot is from a cluster in a VPC.\n Otherwise, this field is not in the output.

                            " } }, - "ActualIncrementalBackupSizeInMegaBytes": { - "target": "com.amazonaws.redshift#Double", + "Encrypted": { + "target": "com.amazonaws.redshift#Boolean", "traits": { - "smithy.api#documentation": "

                            The size of the incremental backup.

                            " + "smithy.api#documentation": "

                            If true, the data in the snapshot is encrypted at rest.

                            " } }, - "MasterUsername": { + "KmsKeyId": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The master user name for the cluster.

                            " + "smithy.api#documentation": "

                            The AWS Key Management Service (KMS) key ID of the encryption key that was used to\n encrypt data in the cluster from which the snapshot was taken.

                            " } }, - "CurrentBackupRateInMegaBytesPerSecond": { - "target": "com.amazonaws.redshift#Double", + "EncryptedWithHSM": { + "target": "com.amazonaws.redshift#Boolean", "traits": { - "smithy.api#documentation": "

                            The number of megabytes per second being transferred to the snapshot backup.\n Returns 0 for a completed backup.

                            " + "smithy.api#documentation": "

                            A boolean that indicates whether the snapshot data is encrypted using the HSM keys\n of the source cluster. true indicates that the data is encrypted using HSM\n keys.

                            " } }, - "TotalBackupSizeInMegaBytes": { - "target": "com.amazonaws.redshift#Double", + "AccountsWithRestoreAccess": { + "target": "com.amazonaws.redshift#AccountsWithRestoreAccessList", "traits": { - "smithy.api#documentation": "

                            The size of the complete set of backup data that would be used to restore the\n cluster.

                            " + "smithy.api#documentation": "

                            A list of the AWS customer accounts authorized to restore the snapshot. Returns\n null if no accounts are authorized. Visible only to the snapshot owner.\n

                            " } }, - "EstimatedSecondsToCompletion": { - "target": "com.amazonaws.redshift#Long", + "OwnerAccount": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The estimate of the time remaining before the snapshot backup will complete.\n Returns 0 for a completed backup.

                            " + "smithy.api#documentation": "

                            For manual snapshots, the AWS customer account used to create or copy the snapshot.\n For automatic snapshots, the owner of the cluster. The owner can perform all snapshot\n actions, such as sharing a manual snapshot.

                            " } }, - "Port": { - "target": "com.amazonaws.redshift#Integer", + "TotalBackupSizeInMegaBytes": { + "target": "com.amazonaws.redshift#Double", "traits": { - "smithy.api#documentation": "

                            The port that the cluster is listening on.

                            " + "smithy.api#documentation": "

                            The size of the complete set of backup data that would be used to restore the\n cluster.

                            " } }, - "SnapshotCreateTime": { - "target": "com.amazonaws.redshift#TStamp", + "ActualIncrementalBackupSizeInMegaBytes": { + "target": "com.amazonaws.redshift#Double", "traits": { - "smithy.api#documentation": "

                            The time (in UTC format) when Amazon Redshift began the snapshot. A snapshot contains a\n copy of the cluster data as of this exact time.

                            " + "smithy.api#documentation": "

                            The size of the incremental backup.

                            " } }, - "EnhancedVpcRouting": { - "target": "com.amazonaws.redshift#Boolean", + "BackupProgressInMegaBytes": { + "target": "com.amazonaws.redshift#Double", "traits": { - "smithy.api#documentation": "

                            An option that specifies whether to create the cluster with enhanced VPC routing\n enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a\n VPC. For more information, see Enhanced VPC Routing in\n the Amazon Redshift Cluster Management Guide.

                            \n

                            If this option is true, enhanced VPC routing is enabled.

                            \n

                            Default: false

                            " + "smithy.api#documentation": "

                            The number of megabytes that have been transferred to the snapshot\n backup.

                            " } }, - "SnapshotType": { - "target": "com.amazonaws.redshift#String", + "CurrentBackupRateInMegaBytesPerSecond": { + "target": "com.amazonaws.redshift#Double", "traits": { - "smithy.api#documentation": "

                            The snapshot type. Snapshots created using CreateClusterSnapshot\n and CopyClusterSnapshot are of type \"manual\".

                            " + "smithy.api#documentation": "

                            The number of megabytes per second being transferred to the snapshot backup.\n Returns 0 for a completed backup.

                            " } }, - "ClusterCreateTime": { - "target": "com.amazonaws.redshift#TStamp", + "EstimatedSecondsToCompletion": { + "target": "com.amazonaws.redshift#Long", "traits": { - "smithy.api#documentation": "

                            The time (UTC) when the cluster was originally created.

                            " + "smithy.api#documentation": "

                            The estimate of the time remaining before the snapshot backup will complete.\n Returns 0 for a completed backup.

                            " } }, - "NumberOfNodes": { - "target": "com.amazonaws.redshift#Integer", + "ElapsedTimeInSeconds": { + "target": "com.amazonaws.redshift#Long", "traits": { - "smithy.api#documentation": "

                            The number of nodes in the cluster.

                            " + "smithy.api#documentation": "

                            The amount of time an in-progress snapshot backup has been running, or the amount\n of time it took a completed backup to finish.

                            " } }, - "NodeType": { + "SourceRegion": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The node type of the nodes in the cluster.

                            " + "smithy.api#documentation": "

                            The source region from which the snapshot was copied.

                            " } }, - "EncryptedWithHSM": { - "target": "com.amazonaws.redshift#Boolean", + "Tags": { + "target": "com.amazonaws.redshift#TagList", "traits": { - "smithy.api#documentation": "

                            A boolean that indicates whether the snapshot data is encrypted using the HSM keys\n of the source cluster. true indicates that the data is encrypted using HSM\n keys.

                            " + "smithy.api#documentation": "

                            The list of tags for the cluster snapshot.

                            " } }, "RestorableNodeTypes": { @@ -10430,10 +10478,10 @@ "smithy.api#documentation": "

                            The list of node types that this cluster snapshot is able to restore\n into.

                            " } }, - "SnapshotRetentionStartTime": { - "target": "com.amazonaws.redshift#TStamp", + "EnhancedVpcRouting": { + "target": "com.amazonaws.redshift#Boolean", "traits": { - "smithy.api#documentation": "

                            A timestamp representing the start of the retention period for the snapshot.

                            " + "smithy.api#documentation": "

                            An option that specifies whether to create the cluster with enhanced VPC routing\n enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a\n VPC. For more information, see Enhanced VPC Routing in\n the Amazon Redshift Cluster Management Guide.

                            \n

                            If this option is true, enhanced VPC routing is enabled.

                            \n

                            Default: false

                            " } }, "MaintenanceTrackName": { @@ -10442,22 +10490,22 @@ "smithy.api#documentation": "

                            The name of the maintenance track for the snapshot.

                            " } }, - "OwnerAccount": { - "target": "com.amazonaws.redshift#String", + "ManualSnapshotRetentionPeriod": { + "target": "com.amazonaws.redshift#IntegerOptional", "traits": { - "smithy.api#documentation": "

                            For manual snapshots, the AWS customer account used to create or copy the snapshot.\n For automatic snapshots, the owner of the cluster. The owner can perform all snapshot\n actions, such as sharing a manual snapshot.

                            " + "smithy.api#documentation": "

                            The number of days that a manual snapshot is retained. If the value is -1, the manual\n snapshot is retained indefinitely.

                            \n\n

                            The value must be either -1 or an integer between 1 and 3,653.

                            " } }, - "SnapshotIdentifier": { - "target": "com.amazonaws.redshift#String", + "ManualSnapshotRemainingDays": { + "target": "com.amazonaws.redshift#IntegerOptional", "traits": { - "smithy.api#documentation": "

                            The snapshot identifier that is provided in the request.

                            " + "smithy.api#documentation": "

                            The number of days until a manual snapshot will pass its retention period.

                            " } }, - "ClusterVersion": { - "target": "com.amazonaws.redshift#String", + "SnapshotRetentionStartTime": { + "target": "com.amazonaws.redshift#TStamp", "traits": { - "smithy.api#documentation": "

                            The version ID of the Amazon Redshift engine that is running on the cluster.

                            " + "smithy.api#documentation": "

                            A timestamp representing the start of the retention period for the snapshot.

                            " } } }, @@ -10526,10 +10574,10 @@ "com.amazonaws.redshift#SnapshotCopyGrant": { "type": "structure", "members": { - "Tags": { - "target": "com.amazonaws.redshift#TagList", + "SnapshotCopyGrantName": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            A list of tag instances.

                            " + "smithy.api#documentation": "

                            The name of the snapshot copy grant.

                            " } }, "KmsKeyId": { @@ -10538,10 +10586,10 @@ "smithy.api#documentation": "

                            The unique identifier of the customer master key (CMK) in AWS KMS to which\n Amazon Redshift is granted permission.

                            " } }, - "SnapshotCopyGrantName": { - "target": "com.amazonaws.redshift#String", + "Tags": { + "target": "com.amazonaws.redshift#TagList", "traits": { - "smithy.api#documentation": "

                            The name of the snapshot copy grant.

                            " + "smithy.api#documentation": "

                            A list of tag instances.

                            " } } }, @@ -10574,17 +10622,17 @@ "com.amazonaws.redshift#SnapshotCopyGrantMessage": { "type": "structure", "members": { - "SnapshotCopyGrants": { - "target": "com.amazonaws.redshift#SnapshotCopyGrantList", - "traits": { - "smithy.api#documentation": "

                            The list of SnapshotCopyGrant objects.

                            " - } - }, "Marker": { "target": "com.amazonaws.redshift#String", "traits": { "smithy.api#documentation": "

                            An optional parameter that specifies the starting point to return a set of response\n records. When the results of a DescribeSnapshotCopyGrant request exceed the\n value specified in MaxRecords, AWS returns a value in the\n Marker field of the response. You can retrieve the next set of response\n records by providing the returned marker value in the Marker parameter and\n retrying the request.

                            \n

                            Constraints: You can specify either the SnapshotCopyGrantName parameter or the Marker parameter, but not both.

                            " } + }, + "SnapshotCopyGrants": { + "target": "com.amazonaws.redshift#SnapshotCopyGrantList", + "traits": { + "smithy.api#documentation": "

                            The list of SnapshotCopyGrant objects.

                            " + } } }, "traits": { @@ -10620,10 +10668,10 @@ "com.amazonaws.redshift#SnapshotErrorMessage": { "type": "structure", "members": { - "FailureReason": { + "SnapshotIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The text message describing the error.

                            " + "smithy.api#documentation": "

                            A unique identifier for the snapshot returning the error.

                            " } }, "SnapshotClusterIdentifier": { @@ -10638,10 +10686,10 @@ "smithy.api#documentation": "

                            The failure code for the error.

                            " } }, - "SnapshotIdentifier": { + "FailureReason": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            A unique identifier for the snapshot returning the error.

                            " + "smithy.api#documentation": "

                            The text message describing the error.

                            " } } }, @@ -10690,12 +10738,30 @@ "com.amazonaws.redshift#SnapshotSchedule": { "type": "structure", "members": { + "ScheduleDefinitions": { + "target": "com.amazonaws.redshift#ScheduleDefinitionList", + "traits": { + "smithy.api#documentation": "

                            A list of ScheduleDefinitions.

                            " + } + }, "ScheduleIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { "smithy.api#documentation": "

                            A unique identifier for the schedule.

                            " } }, + "ScheduleDescription": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            The description of the schedule.

                            " + } + }, + "Tags": { + "target": "com.amazonaws.redshift#TagList", + "traits": { + "smithy.api#documentation": "

                            An optional set of tags describing the schedule.

                            " + } + }, "NextInvocations": { "target": "com.amazonaws.redshift#ScheduledSnapshotTimeList", "traits": { @@ -10713,24 +10779,6 @@ "traits": { "smithy.api#documentation": "

                            A list of clusters associated with the schedule. A maximum of 100 clusters is returned.

                            " } - }, - "Tags": { - "target": "com.amazonaws.redshift#TagList", - "traits": { - "smithy.api#documentation": "

                            An optional set of tags describing the schedule.

                            " - } - }, - "ScheduleDefinitions": { - "target": "com.amazonaws.redshift#ScheduleDefinitionList", - "traits": { - "smithy.api#documentation": "

                            A list of ScheduleDefinitions.

                            " - } - }, - "ScheduleDescription": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            The description of the schedule.

                            " - } } }, "traits": { @@ -10801,18 +10849,18 @@ "com.amazonaws.redshift#SnapshotSortingEntity": { "type": "structure", "members": { - "SortOrder": { - "target": "com.amazonaws.redshift#SortByOrder", - "traits": { - "smithy.api#documentation": "

                            The order for listing the attributes.

                            " - } - }, "Attribute": { "target": "com.amazonaws.redshift#SnapshotAttributeToSortBy", "traits": { "smithy.api#documentation": "

                            The category for sorting the snapshots.

                            ", "smithy.api#required": {} } + }, + "SortOrder": { + "target": "com.amazonaws.redshift#SortByOrder", + "traits": { + "smithy.api#documentation": "

                            The order for listing the attributes.

                            " + } } }, "traits": { @@ -10899,17 +10947,17 @@ "smithy.api#documentation": "

                            The identifier of the subnet.

                            " } }, - "SubnetStatus": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            The status of the subnet.

                            " - } - }, "SubnetAvailabilityZone": { "target": "com.amazonaws.redshift#AvailabilityZone", "traits": { "smithy.api#documentation": "

                            " } + }, + "SubnetStatus": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            The status of the subnet.

                            " + } } }, "traits": { @@ -11090,34 +11138,34 @@ "com.amazonaws.redshift#TableRestoreStatus": { "type": "structure", "members": { - "SourceDatabaseName": { + "TableRestoreRequestId": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The name of the source database that contains the table being restored.

                            " + "smithy.api#documentation": "

                            The unique identifier for the table restore request.

                            " } }, - "RequestTime": { - "target": "com.amazonaws.redshift#TStamp", + "Status": { + "target": "com.amazonaws.redshift#TableRestoreStatusType", "traits": { - "smithy.api#documentation": "

                            The time that the table restore request was made, in Universal Coordinated Time\n (UTC).

                            " + "smithy.api#documentation": "

                            A value that describes the current state of the table restore request.

                            \n

                            Valid Values: SUCCEEDED, FAILED, CANCELED,\n PENDING, IN_PROGRESS\n

                            " } }, - "SourceTableName": { + "Message": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The name of the source table being restored.

                            " + "smithy.api#documentation": "

                            A description of the status of the table restore request. Status values include\n SUCCEEDED, FAILED, CANCELED,\n PENDING, IN_PROGRESS.

                            " } }, - "TargetDatabaseName": { - "target": "com.amazonaws.redshift#String", + "RequestTime": { + "target": "com.amazonaws.redshift#TStamp", "traits": { - "smithy.api#documentation": "

                            The name of the database to restore the table to.

                            " + "smithy.api#documentation": "

                            The time that the table restore request was made, in Universal Coordinated Time\n (UTC).

                            " } }, - "SnapshotIdentifier": { - "target": "com.amazonaws.redshift#String", + "ProgressInMegaBytes": { + "target": "com.amazonaws.redshift#LongOptional", "traits": { - "smithy.api#documentation": "

                            The identifier of the snapshot that the table is being restored from.

                            " + "smithy.api#documentation": "

                            The amount of data restored to the new table so far, in megabytes (MB).

                            " } }, "TotalDataInMegaBytes": { @@ -11126,28 +11174,22 @@ "smithy.api#documentation": "

                            The total amount of data to restore to the new table, in megabytes (MB).

                            " } }, - "TargetSchemaName": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            The name of the schema to restore the table to.

                            " - } - }, "ClusterIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { "smithy.api#documentation": "

                            The identifier of the Amazon Redshift cluster that the table is being restored\n to.

                            " } }, - "NewTableName": { + "SnapshotIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The name of the table to create as a result of the table restore request.

                            " + "smithy.api#documentation": "

                            The identifier of the snapshot that the table is being restored from.

                            " } }, - "Status": { - "target": "com.amazonaws.redshift#TableRestoreStatusType", + "SourceDatabaseName": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            A value that describes the current state of the table restore request.

                            \n

                            Valid Values: SUCCEEDED, FAILED, CANCELED,\n PENDING, IN_PROGRESS\n

                            " + "smithy.api#documentation": "

                            The name of the source database that contains the table being restored.

                            " } }, "SourceSchemaName": { @@ -11156,22 +11198,28 @@ "smithy.api#documentation": "

                            The name of the source schema that contains the table being restored.

                            " } }, - "Message": { + "SourceTableName": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            A description of the status of the table restore request. Status values include\n SUCCEEDED, FAILED, CANCELED,\n PENDING, IN_PROGRESS.

                            " + "smithy.api#documentation": "

                            The name of the source table being restored.

                            " } }, - "ProgressInMegaBytes": { - "target": "com.amazonaws.redshift#LongOptional", + "TargetDatabaseName": { + "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The amount of data restored to the new table so far, in megabytes (MB).

                            " + "smithy.api#documentation": "

                            The name of the database to restore the table to.

                            " } }, - "TableRestoreRequestId": { + "TargetSchemaName": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The unique identifier for the table restore request.

                            " + "smithy.api#documentation": "

                            The name of the schema to restore the table to.

                            " + } + }, + "NewTableName": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            The name of the table to create as a result of the table restore request.

                            " } } }, @@ -11191,17 +11239,17 @@ "com.amazonaws.redshift#TableRestoreStatusMessage": { "type": "structure", "members": { - "Marker": { - "target": "com.amazonaws.redshift#String", - "traits": { - "smithy.api#documentation": "

                            A pagination token that can be used in a subsequent DescribeTableRestoreStatus request.

                            " - } - }, "TableRestoreStatusDetails": { "target": "com.amazonaws.redshift#TableRestoreStatusList", "traits": { "smithy.api#documentation": "

                            A list of status details for one or more table restore requests.

                            " } + }, + "Marker": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

                            A pagination token that can be used in a subsequent DescribeTableRestoreStatus request.

                            " + } } }, "traits": { @@ -11293,6 +11341,12 @@ "com.amazonaws.redshift#TaggedResource": { "type": "structure", "members": { + "Tag": { + "target": "com.amazonaws.redshift#Tag", + "traits": { + "smithy.api#documentation": "

                            The tag for the resource.

                            " + } + }, "ResourceName": { "target": "com.amazonaws.redshift#String", "traits": { @@ -11304,12 +11358,6 @@ "traits": { "smithy.api#documentation": "

                            The type of resource with which the tag is associated. Valid resource types are:

                            \n
                              \n
                            • \n

                              Cluster

                              \n
                            • \n
                            • \n

                              CIDR/IP

                              \n
                            • \n
                            • \n

                              EC2 security group

                              \n
                            • \n
                            • \n

                              Snapshot

                              \n
                            • \n
                            • \n

                              Cluster security group

                              \n
                            • \n
                            • \n

                              Subnet group

                              \n
                            • \n
                            • \n

                              HSM connection

                              \n
                            • \n
                            • \n

                              HSM certificate

                              \n
                            • \n
                            • \n

                              Parameter group

                              \n
                            • \n
                            \n

                            For more information about Amazon Redshift resource types and constructing ARNs, go to\n Constructing an Amazon Redshift Amazon Resource Name (ARN) in the\n Amazon Redshift Cluster Management Guide.

                            " } - }, - "Tag": { - "target": "com.amazonaws.redshift#Tag", - "traits": { - "smithy.api#documentation": "

                            The tag for the resource.

                            " - } } }, "traits": { @@ -11426,16 +11474,16 @@ "com.amazonaws.redshift#UpdateTarget": { "type": "structure", "members": { - "DatabaseVersion": { + "MaintenanceTrackName": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The cluster version for the new maintenance track.

                            " + "smithy.api#documentation": "

                            The name of the new maintenance track.

                            " } }, - "MaintenanceTrackName": { + "DatabaseVersion": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The name of the new maintenance track.

                            " + "smithy.api#documentation": "

                            The cluster version for the new maintenance track.

                            " } }, "SupportedOperations": { @@ -11452,22 +11500,16 @@ "com.amazonaws.redshift#UsageLimit": { "type": "structure", "members": { - "ClusterIdentifier": { + "UsageLimitId": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The identifier of the cluster with a usage limit.

                            " - } - }, - "Tags": { - "target": "com.amazonaws.redshift#TagList", - "traits": { - "smithy.api#documentation": "

                            A list of tag instances.

                            " + "smithy.api#documentation": "

                            The identifier of the usage limit.

                            " } }, - "UsageLimitId": { + "ClusterIdentifier": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The identifier of the usage limit.

                            " + "smithy.api#documentation": "

                            The identifier of the cluster with a usage limit.

                            " } }, "FeatureType": { @@ -11476,12 +11518,6 @@ "smithy.api#documentation": "

                            The Amazon Redshift feature to which the limit applies.

                            " } }, - "BreachAction": { - "target": "com.amazonaws.redshift#UsageLimitBreachAction", - "traits": { - "smithy.api#documentation": "

                            The action that Amazon Redshift takes when the limit is reached. Possible values are:

                            \n
                              \n
                            • \n

                              \n log - To log an event in a system table. The default is log.

                              \n
                            • \n
                            • \n

                              \n emit-metric - To emit CloudWatch metrics.

                              \n
                            • \n
                            • \n

                              \n disable - To disable the feature until the next usage period begins.

                              \n
                            • \n
                            " - } - }, "LimitType": { "target": "com.amazonaws.redshift#UsageLimitLimitType", "traits": { @@ -11499,6 +11535,18 @@ "traits": { "smithy.api#documentation": "

                            The time period that the amount applies to. A weekly period begins on Sunday. The default is monthly.

                            " } + }, + "BreachAction": { + "target": "com.amazonaws.redshift#UsageLimitBreachAction", + "traits": { + "smithy.api#documentation": "

                            The action that Amazon Redshift takes when the limit is reached. Possible values are:

                            \n
                              \n
                            • \n

                              \n log - To log an event in a system table. The default is log.

                              \n
                            • \n
                            • \n

                              \n emit-metric - To emit CloudWatch metrics.

                              \n
                            • \n
                            • \n

                              \n disable - To disable the feature until the next usage period begins.

                              \n
                            • \n
                            " + } + }, + "Tags": { + "target": "com.amazonaws.redshift#TagList", + "traits": { + "smithy.api#documentation": "

                            A list of tag instances.

                            " + } } }, "traits": { @@ -11643,16 +11691,16 @@ "com.amazonaws.redshift#VpcSecurityGroupMembership": { "type": "structure", "members": { - "Status": { + "VpcSecurityGroupId": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The status of the VPC security group.

                            " + "smithy.api#documentation": "

                            The identifier of the VPC security group.

                            " } }, - "VpcSecurityGroupId": { + "Status": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

                            The identifier of the VPC security group.

                            " + "smithy.api#documentation": "

                            The status of the VPC security group.

                            " } } }, diff --git a/codegen/sdk-codegen/aws-models/s3.2006-03-01.json b/codegen/sdk-codegen/aws-models/s3.2006-03-01.json index cf0cfbfa3a2f..425cc06ae6f2 100644 --- a/codegen/sdk-codegen/aws-models/s3.2006-03-01.json +++ b/codegen/sdk-codegen/aws-models/s3.2006-03-01.json @@ -580,7 +580,7 @@ } }, "com.amazonaws.s3#AnalyticsFilter": { - "type": "structure", + "type": "union", "members": { "Prefix": { "target": "com.amazonaws.s3#Prefix", @@ -2577,7 +2577,7 @@ "target": "com.amazonaws.s3#DeleteBucketPolicyRequest" }, "traits": { - "smithy.api#documentation": "

                            This implementation of the DELETE operation uses the policy subresource to delete the\n policy of a specified bucket. If you are using an identity other than the root user of the\n AWS account that owns the bucket, the calling identity must have the\n DeleteBucketPolicy permissions on the specified bucket and belong to the\n bucket owner's account to use this operation.

                            \n\n

                            If you don't have DeleteBucketPolicy permissions, Amazon S3 returns a 403\n Access Denied error. If you have the correct permissions, but you're not using an\n identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not\n Allowed error.

                            \n\n\n \n

                            As a security precaution, the root user of the AWS account that owns a bucket can\n always use this operation, even if the policy explicitly denies the root user the\n ability to perform this action.

                            \n
                            \n\n\n\n

                            For more information about bucket policies, see Using Bucket Policies and\n UserPolicies.

                            \n

                            The following operations are related to DeleteBucketPolicy\n

                            \n ", + "smithy.api#documentation": "

                            This implementation of the DELETE operation uses the policy subresource to delete the\n policy of a specified bucket. If you are using an identity other than the root user of the\n AWS account that owns the bucket, the calling identity must have the\n DeleteBucketPolicy permissions on the specified bucket and belong to the\n bucket owner's account to use this operation.

                            \n\n

                            If you don't have DeleteBucketPolicy permissions, Amazon S3 returns a 403\n Access Denied error. If you have the correct permissions, but you're not using an\n identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not\n Allowed error.

                            \n\n\n \n

                            As a security precaution, the root user of the AWS account that owns a bucket can\n always use this operation, even if the policy explicitly denies the root user the\n ability to perform this action.

                            \n
                            \n\n

                            For more information about bucket policies, see Using Bucket Policies and\n UserPolicies.

                            \n

                            The following operations are related to DeleteBucketPolicy\n

                            \n ", "smithy.api#http": { "method": "DELETE", "uri": "/{Bucket}?policy", @@ -4551,7 +4551,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Retrieves objects from Amazon S3. To use GET, you must have READ\n access to the object. If you grant READ access to the anonymous user, you can\n return the object without using an authorization header.

                            \n\n

                            An Amazon S3 bucket has no directory hierarchy such as you would find in a typical computer\n file system. You can, however, create a logical hierarchy by using object key names that\n imply a folder structure. For example, instead of naming an object sample.jpg,\n you can name it photos/2006/February/sample.jpg.

                            \n\n

                            To get an object from such a logical hierarchy, specify the full key name for the object\n in the GET operation. For a virtual hosted-style request example, if you have\n the object photos/2006/February/sample.jpg, specify the resource as\n /photos/2006/February/sample.jpg. For a path-style request example, if you\n have the object photos/2006/February/sample.jpg in the bucket named\n examplebucket, specify the resource as\n /examplebucket/photos/2006/February/sample.jpg. For more information about\n request types, see HTTP Host Header Bucket Specification.

                            \n\n

                            To distribute large files to many people, you can save bandwidth costs by using\n BitTorrent. For more information, see Amazon S3\n Torrent. For more information about returning the ACL of an object, see GetObjectAcl.

                            \n\n

                            If the object you are retrieving is stored in the S3 Glacier, S3 Glacier Deep Archive,\n S3 Intelligent-Tiering Archive, or S3 Intelligent-Tiering Deep Archive storage classes, before you can retrieve\n the object you must first restore a copy using RestoreObject. Otherwise, this\n operation returns an InvalidObjectStateError error. For information about\n restoring archived objects, see Restoring\n Archived Objects.

                            \n\n

                            Encryption request headers, like x-amz-server-side-encryption, should not\n be sent for GET requests if your object uses server-side encryption with CMKs stored in AWS\n KMS (SSE-KMS) or server-side encryption with Amazon S3–managed encryption keys (SSE-S3). If your\n object does use these types of keys, you’ll get an HTTP 400 BadRequest error.

                            \n

                            If you encrypt an object by using server-side encryption with customer-provided\n encryption keys (SSE-C) when you store the object in Amazon S3, then when you GET the object,\n you must use the following headers:

                            \n
                              \n
                            • \n

                              x-amz-server-side-encryption-customer-algorithm

                              \n
                            • \n
                            • \n

                              x-amz-server-side-encryption-customer-key

                              \n
                            • \n
                            • \n

                              x-amz-server-side-encryption-customer-key-MD5

                              \n
                            • \n
                            \n

                            For more information about SSE-C, see Server-Side Encryption (Using\n Customer-Provided Encryption Keys).

                            \n\n

                            Assuming you have permission to read object tags (permission for the\n s3:GetObjectVersionTagging action), the response also returns the\n x-amz-tagging-count header that provides the count of number of tags\n associated with the object. You can use GetObjectTagging to retrieve\n the tag set associated with an object.

                            \n\n

                            \n Permissions\n

                            \n

                            You need the s3:GetObject permission for this operation. For more\n information, see Specifying Permissions\n in a Policy. If the object you request does not exist, the error Amazon S3 returns\n depends on whether you also have the s3:ListBucket permission.

                            \n
                              \n
                            • \n

                              If you have the s3:ListBucket permission on the bucket, Amazon S3 will\n return an HTTP status code 404 (\"no such key\") error.

                              \n
                            • \n
                            • \n

                              If you don’t have the s3:ListBucket permission, Amazon S3 will return an\n HTTP status code 403 (\"access denied\") error.

                              \n
                            • \n
                            \n\n\n

                            \n Versioning\n

                            \n

                            By default, the GET operation returns the current version of an object. To return a\n different version, use the versionId subresource.

                            \n\n \n

                            If the current version of the object is a delete marker, Amazon S3 behaves as if the\n object was deleted and includes x-amz-delete-marker: true in the\n response.

                            \n
                            \n\n\n

                            For more information about versioning, see PutBucketVersioning.

                            \n\n

                            \n Overriding Response Header Values\n

                            \n

                            There are times when you want to override certain response header values in a GET\n response. For example, you might override the Content-Disposition response header value in\n your GET request.

                            \n\n

                            You can override values for a set of response headers using the following query\n parameters. These response header values are sent only on a successful request, that is,\n when status code 200 OK is returned. The set of headers you can override using these\n parameters is a subset of the headers that Amazon S3 accepts when you create an object. The\n response headers that you can override for the GET response are Content-Type,\n Content-Language, Expires, Cache-Control,\n Content-Disposition, and Content-Encoding. To override these\n header values in the GET response, you use the following request parameters.

                            \n\n \n

                            You must sign the request, either using an Authorization header or a presigned URL,\n when using these parameters. They cannot be used with an unsigned (anonymous)\n request.

                            \n
                            \n
                              \n
                            • \n

                              \n response-content-type\n

                              \n
                            • \n
                            • \n

                              \n response-content-language\n

                              \n
                            • \n
                            • \n

                              \n response-expires\n

                              \n
                            • \n
                            • \n

                              \n response-cache-control\n

                              \n
                            • \n
                            • \n

                              \n response-content-disposition\n

                              \n
                            • \n
                            • \n

                              \n response-content-encoding\n

                              \n
                            • \n
                            \n\n

                            \n Additional Considerations about Request Headers\n

                            \n\n

                            If both of the If-Match and If-Unmodified-Since headers are\n present in the request as follows: If-Match condition evaluates to\n true, and; If-Unmodified-Since condition evaluates to\n false; then, S3 returns 200 OK and the data requested.

                            \n\n

                            If both of the If-None-Match and If-Modified-Since headers are\n present in the request as follows: If-None-Match condition evaluates to\n false, and; If-Modified-Since condition evaluates to\n true; then, S3 returns 304 Not Modified response code.

                            \n\n

                            For more information about conditional requests, see RFC 7232.

                            \n\n

                            The following operations are related to GetObject:

                            \n ", + "smithy.api#documentation": "

                            Retrieves objects from Amazon S3. To use GET, you must have READ\n access to the object. If you grant READ access to the anonymous user, you can\n return the object without using an authorization header.

                            \n\n

                            An Amazon S3 bucket has no directory hierarchy such as you would find in a typical computer\n file system. You can, however, create a logical hierarchy by using object key names that\n imply a folder structure. For example, instead of naming an object sample.jpg,\n you can name it photos/2006/February/sample.jpg.

                            \n\n

                            To get an object from such a logical hierarchy, specify the full key name for the object\n in the GET operation. For a virtual hosted-style request example, if you have\n the object photos/2006/February/sample.jpg, specify the resource as\n /photos/2006/February/sample.jpg. For a path-style request example, if you\n have the object photos/2006/February/sample.jpg in the bucket named\n examplebucket, specify the resource as\n /examplebucket/photos/2006/February/sample.jpg. For more information about\n request types, see HTTP Host Header Bucket Specification.

                            \n\n

                            To distribute large files to many people, you can save bandwidth costs by using\n BitTorrent. For more information, see Amazon S3\n Torrent. For more information about returning the ACL of an object, see GetObjectAcl.

                            \n\n

                            If the object you are retrieving is stored in the S3 Glacier or\n S3 Glacier Deep Archive storage class, or S3 Intelligent-Tiering Archive or\n S3 Intelligent-Tiering Deep Archive tiers, before you can retrieve the object you must first restore a\n copy using RestoreObject. Otherwise, this operation returns an\n InvalidObjectStateError error. For information about restoring archived\n objects, see Restoring Archived\n Objects.

                            \n\n

                            Encryption request headers, like x-amz-server-side-encryption, should not\n be sent for GET requests if your object uses server-side encryption with CMKs stored in AWS\n KMS (SSE-KMS) or server-side encryption with Amazon S3–managed encryption keys (SSE-S3). If your\n object does use these types of keys, you’ll get an HTTP 400 BadRequest error.

                            \n

                            If you encrypt an object by using server-side encryption with customer-provided\n encryption keys (SSE-C) when you store the object in Amazon S3, then when you GET the object,\n you must use the following headers:

                            \n
                              \n
                            • \n

                              x-amz-server-side-encryption-customer-algorithm

                              \n
                            • \n
                            • \n

                              x-amz-server-side-encryption-customer-key

                              \n
                            • \n
                            • \n

                              x-amz-server-side-encryption-customer-key-MD5

                              \n
                            • \n
                            \n

                            For more information about SSE-C, see Server-Side Encryption (Using\n Customer-Provided Encryption Keys).

                            \n\n

                            Assuming you have permission to read object tags (permission for the\n s3:GetObjectVersionTagging action), the response also returns the\n x-amz-tagging-count header that provides the count of number of tags\n associated with the object. You can use GetObjectTagging to retrieve\n the tag set associated with an object.

                            \n\n

                            \n Permissions\n

                            \n

                            You need the s3:GetObject permission for this operation. For more\n information, see Specifying Permissions\n in a Policy. If the object you request does not exist, the error Amazon S3 returns\n depends on whether you also have the s3:ListBucket permission.

                            \n
                              \n
                            • \n

                              If you have the s3:ListBucket permission on the bucket, Amazon S3 will\n return an HTTP status code 404 (\"no such key\") error.

                              \n
                            • \n
                            • \n

                              If you don’t have the s3:ListBucket permission, Amazon S3 will return an\n HTTP status code 403 (\"access denied\") error.

                              \n
                            • \n
                            \n\n\n

                            \n Versioning\n

                            \n

                            By default, the GET operation returns the current version of an object. To return a\n different version, use the versionId subresource.

                            \n\n \n

                            If the current version of the object is a delete marker, Amazon S3 behaves as if the\n object was deleted and includes x-amz-delete-marker: true in the\n response.

                            \n
                            \n\n\n

                            For more information about versioning, see PutBucketVersioning.

                            \n\n

                            \n Overriding Response Header Values\n

                            \n

                            There are times when you want to override certain response header values in a GET\n response. For example, you might override the Content-Disposition response header value in\n your GET request.

                            \n\n

                            You can override values for a set of response headers using the following query\n parameters. These response header values are sent only on a successful request, that is,\n when status code 200 OK is returned. The set of headers you can override using these\n parameters is a subset of the headers that Amazon S3 accepts when you create an object. The\n response headers that you can override for the GET response are Content-Type,\n Content-Language, Expires, Cache-Control,\n Content-Disposition, and Content-Encoding. To override these\n header values in the GET response, you use the following request parameters.

                            \n\n \n

                            You must sign the request, either using an Authorization header or a presigned URL,\n when using these parameters. They cannot be used with an unsigned (anonymous)\n request.

                            \n
                            \n
                              \n
                            • \n

                              \n response-content-type\n

                              \n
                            • \n
                            • \n

                              \n response-content-language\n

                              \n
                            • \n
                            • \n

                              \n response-expires\n

                              \n
                            • \n
                            • \n

                              \n response-cache-control\n

                              \n
                            • \n
                            • \n

                              \n response-content-disposition\n

                              \n
                            • \n
                            • \n

                              \n response-content-encoding\n

                              \n
                            • \n
                            \n\n

                            \n Additional Considerations about Request Headers\n

                            \n\n

                            If both of the If-Match and If-Unmodified-Since headers are\n present in the request as follows: If-Match condition evaluates to\n true, and; If-Unmodified-Since condition evaluates to\n false; then, S3 returns 200 OK and the data requested.

                            \n\n

                            If both of the If-None-Match and If-Modified-Since headers are\n present in the request as follows: If-None-Match condition evaluates to\n false, and; If-Modified-Since condition evaluates to\n true; then, S3 returns 304 Not Modified response code.

                            \n\n

                            For more information about conditional requests, see RFC 7232.

                            \n\n

                            The following operations are related to GetObject:

                            \n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}/{Key+}?x-id=GetObject", @@ -6576,7 +6576,7 @@ } }, "com.amazonaws.s3#LifecycleRuleFilter": { - "type": "structure", + "type": "union", "members": { "Prefix": { "target": "com.amazonaws.s3#Prefix", @@ -7956,7 +7956,7 @@ } }, "com.amazonaws.s3#MetricsFilter": { - "type": "structure", + "type": "union", "members": { "Prefix": { "target": "com.amazonaws.s3#Prefix", @@ -8957,10 +8957,7 @@ "ContentMD5": { "target": "com.amazonaws.s3#ContentMD5", "traits": { - "smithy.api#deprecated": { - "message": "Content-MD5 header will now be automatically computed and injected in associated operation's Http request." - }, - "smithy.api#documentation": "

                            The base64-encoded 128-bit MD5 digest of the data. This header must be used as a message\n integrity check to verify that the request body was not corrupted in transit. For more\n information, go to RFC\n 1864.\n

                            ", + "smithy.api#documentation": "

                            The base64-encoded 128-bit MD5 digest of the data. This header must be used as a message\n integrity check to verify that the request body was not corrupted in transit. For more\n information, go to RFC\n 1864.\n

                            \n

                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                            ", "smithy.api#httpHeader": "Content-MD5" } }, @@ -9095,10 +9092,7 @@ "ContentMD5": { "target": "com.amazonaws.s3#ContentMD5", "traits": { - "smithy.api#deprecated": { - "message": "Content-MD5 header will now be automatically computed and injected in associated operation's Http request." - }, - "smithy.api#documentation": "

                            The base64-encoded 128-bit MD5 digest of the data. This header must be used as a message\n integrity check to verify that the request body was not corrupted in transit. For more\n information, go to RFC\n 1864.\n

                            ", + "smithy.api#documentation": "

                            The base64-encoded 128-bit MD5 digest of the data. This header must be used as a message\n integrity check to verify that the request body was not corrupted in transit. For more\n information, go to RFC\n 1864.\n

                            \n

                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                            ", "smithy.api#httpHeader": "Content-MD5" } }, @@ -9140,10 +9134,7 @@ "ContentMD5": { "target": "com.amazonaws.s3#ContentMD5", "traits": { - "smithy.api#deprecated": { - "message": "Content-MD5 header will now be automatically computed and injected in associated operation's Http request." - }, - "smithy.api#documentation": "

                            The base64-encoded 128-bit MD5 digest of the server-side encryption configuration. This\n parameter is auto-populated when using the command from the CLI.

                            ", + "smithy.api#documentation": "

                            The base64-encoded 128-bit MD5 digest of the server-side encryption configuration.

                            \n

                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                            ", "smithy.api#httpHeader": "Content-MD5" } }, @@ -9262,7 +9253,7 @@ "target": "com.amazonaws.s3#PutBucketLifecycleConfigurationRequest" }, "traits": { - "smithy.api#documentation": "

                            Creates a new lifecycle configuration for the bucket or replaces an existing lifecycle\n configuration. For information about lifecycle configuration, see Managing Access Permissions to Your Amazon S3\n Resources.

                            \n\n \n

                            Bucket lifecycle configuration now supports specifying a lifecycle rule using an\n object key name prefix, one or more object tags, or a combination of both. Accordingly,\n this section describes the latest API. The previous version of the API supported\n filtering based only on an object key name prefix, which is supported for backward\n compatibility. For the related API description, see PutBucketLifecycle.

                            \n
                            \n\n\n

                            \n Rules\n

                            \n

                            You specify the lifecycle configuration in your request body. The lifecycle\n configuration is specified as XML consisting of one or more rules. Each rule consists of\n the following:

                            \n\n
                              \n
                            • \n

                              Filter identifying a subset of objects to which the rule applies. The filter can\n be based on a key name prefix, object tags, or a combination of both.

                              \n
                            • \n
                            • \n

                              Status whether the rule is in effect.

                              \n
                            • \n
                            • \n

                              One or more lifecycle transition and expiration actions that you want Amazon S3 to\n perform on the objects identified by the filter. If the state of your bucket is\n versioning-enabled or versioning-suspended, you can have many versions of the same\n object (one current version and zero or more noncurrent versions). Amazon S3 provides\n predefined actions that you can specify for current and noncurrent object\n versions.

                              \n
                            • \n
                            \n\n

                            For more information, see Object\n Lifecycle Management and Lifecycle Configuration Elements.

                            \n\n\n

                            \n Permissions\n

                            \n\n\n

                            By default, all Amazon S3 resources are private, including buckets, objects, and related\n subresources (for example, lifecycle configuration and website configuration). Only the\n resource owner (that is, the AWS account that created it) can access the resource. The\n resource owner can optionally grant access permissions to others by writing an access\n policy. For this operation, a user must get the s3:PutLifecycleConfiguration\n permission.

                            \n\n

                            You can also explicitly deny permissions. Explicit deny also supersedes any other\n permissions. If you want to block users or accounts from removing or deleting objects from\n your bucket, you must deny them permissions for the following actions:

                            \n\n
                              \n
                            • \n

                              s3:DeleteObject

                              \n
                            • \n
                            • \n

                              s3:DeleteObjectVersion

                              \n
                            • \n
                            • \n

                              s3:PutLifecycleConfiguration

                              \n
                            • \n
                            \n\n\n

                            For more information about permissions, see Managing Access Permissions to Your Amazon S3\n Resources.

                            \n\n

                            The following are related to PutBucketLifecycleConfiguration:

                            \n ", + "smithy.api#documentation": "

                            Creates a new lifecycle configuration for the bucket or replaces an existing lifecycle\n configuration. For information about lifecycle configuration, see Managing Access Permissions to Your Amazon S3\n Resources.

                            \n\n \n

                            Bucket lifecycle configuration now supports specifying a lifecycle rule using an\n object key name prefix, one or more object tags, or a combination of both. Accordingly,\n this section describes the latest API. The previous version of the API supported\n filtering based only on an object key name prefix, which is supported for backward\n compatibility. For the related API description, see PutBucketLifecycle.

                            \n
                            \n\n \n\n

                            \n Rules\n

                            \n

                            You specify the lifecycle configuration in your request body. The lifecycle\n configuration is specified as XML consisting of one or more rules. Each rule consists of\n the following:

                            \n\n
                              \n
                            • \n

                              Filter identifying a subset of objects to which the rule applies. The filter can\n be based on a key name prefix, object tags, or a combination of both.

                              \n
                            • \n
                            • \n

                              Status whether the rule is in effect.

                              \n
                            • \n
                            • \n

                              One or more lifecycle transition and expiration actions that you want Amazon S3 to\n perform on the objects identified by the filter. If the state of your bucket is\n versioning-enabled or versioning-suspended, you can have many versions of the same\n object (one current version and zero or more noncurrent versions). Amazon S3 provides\n predefined actions that you can specify for current and noncurrent object\n versions.

                              \n
                            • \n
                            \n\n

                            For more information, see Object\n Lifecycle Management and Lifecycle Configuration Elements.

                            \n\n\n

                            \n Permissions\n

                            \n\n\n

                            By default, all Amazon S3 resources are private, including buckets, objects, and related\n subresources (for example, lifecycle configuration and website configuration). Only the\n resource owner (that is, the AWS account that created it) can access the resource. The\n resource owner can optionally grant access permissions to others by writing an access\n policy. For this operation, a user must get the s3:PutLifecycleConfiguration\n permission.

                            \n\n

                            You can also explicitly deny permissions. Explicit deny also supersedes any other\n permissions. If you want to block users or accounts from removing or deleting objects from\n your bucket, you must deny them permissions for the following actions:

                            \n\n
                              \n
                            • \n

                              s3:DeleteObject

                              \n
                            • \n
                            • \n

                              s3:DeleteObjectVersion

                              \n
                            • \n
                            • \n

                              s3:PutLifecycleConfiguration

                              \n
                            • \n
                            \n\n\n

                            For more information about permissions, see Managing Access Permissions to Your Amazon S3\n Resources.

                            \n\n

                            The following are related to PutBucketLifecycleConfiguration:

                            \n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?lifecycle", @@ -9335,10 +9326,7 @@ "ContentMD5": { "target": "com.amazonaws.s3#ContentMD5", "traits": { - "smithy.api#deprecated": { - "message": "Content-MD5 header will now be automatically computed and injected in associated operation's Http request." - }, - "smithy.api#documentation": "

                            The MD5 hash of the PutBucketLogging request body.

                            ", + "smithy.api#documentation": "

                            The MD5 hash of the PutBucketLogging request body.

                            \n

                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                            ", "smithy.api#httpHeader": "Content-MD5" } }, @@ -9453,7 +9441,8 @@ "method": "PUT", "uri": "/{Bucket}?ownershipControls", "code": 200 - } + }, + "smithy.api#httpChecksumRequired": {} } }, "com.amazonaws.s3#PutBucketOwnershipControlsRequest": { @@ -9470,7 +9459,7 @@ "ContentMD5": { "target": "com.amazonaws.s3#ContentMD5", "traits": { - "smithy.api#documentation": "

                            The MD5 hash of the OwnershipControls request body.

                            ", + "smithy.api#documentation": "

                            The MD5 hash of the OwnershipControls request body.

                            \n

                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                            ", "smithy.api#httpHeader": "Content-MD5" } }, @@ -9520,10 +9509,7 @@ "ContentMD5": { "target": "com.amazonaws.s3#ContentMD5", "traits": { - "smithy.api#deprecated": { - "message": "Content-MD5 header will now be automatically computed and injected in associated operation's Http request." - }, - "smithy.api#documentation": "

                            The MD5 hash of the request body.

                            ", + "smithy.api#documentation": "

                            The MD5 hash of the request body.

                            \n

                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                            ", "smithy.api#httpHeader": "Content-MD5" } }, @@ -9557,7 +9543,7 @@ "target": "com.amazonaws.s3#PutBucketReplicationRequest" }, "traits": { - "smithy.api#documentation": "

                            Creates a replication configuration or replaces an existing one. For more information,\n see Replication in the Amazon S3 Developer Guide.

                            \n \n

                            To perform this operation, the user or role performing the operation must have the\n iam:PassRole permission.

                            \n
                            \n

                            Specify the replication configuration in the request body. In the replication\n configuration, you provide the name of the destination bucket where you want Amazon S3 to\n replicate objects, the IAM role that Amazon S3 can assume to replicate objects on your behalf,\n and other relevant information.

                            \n\n\n

                            A replication configuration must include at least one rule, and can contain a maximum of\n 1,000. Each rule identifies a subset of objects to replicate by filtering the objects in\n the source bucket. To choose additional subsets of objects to replicate, add a rule for\n each subset. All rules must specify the same destination bucket.

                            \n\n

                            To specify a subset of the objects in the source bucket to apply a replication rule to,\n add the Filter element as a child of the Rule element. You can filter objects based on an\n object key prefix, one or more object tags, or both. When you add the Filter element in the\n configuration, you must also add the following elements:\n DeleteMarkerReplication, Status, and\n Priority.

                            \n \n

                            The latest version of the replication configuration XML is V2. XML V2 replication\n configurations are those that contain the Filter element for rules, and\n rules that specify S3 Replication Time Control (S3 RTC). In XML V2 replication configurations, Amazon S3 doesn't\n replicate delete markers. Therefore, you must set the\n DeleteMarkerReplication element to Disabled. For backward\n compatibility, Amazon S3 continues to support the XML V1 replication configuration.

                            \n
                            \n

                            For information about enabling versioning on a bucket, see Using Versioning.

                            \n\n

                            By default, a resource owner, in this case the AWS account that created the bucket, can\n perform this operation. The resource owner can also grant others permissions to perform the\n operation. For more information about permissions, see Specifying Permissions in a Policy\n and Managing Access Permissions to Your\n Amazon S3 Resources.

                            \n\n

                            \n Handling Replication of Encrypted Objects\n

                            \n

                            By default, Amazon S3 doesn't replicate objects that are stored at rest using server-side\n encryption with CMKs stored in AWS KMS. To replicate AWS KMS-encrypted objects, add the\n following: SourceSelectionCriteria, SseKmsEncryptedObjects,\n Status, EncryptionConfiguration, and\n ReplicaKmsKeyID. For information about replication configuration, see\n Replicating Objects\n Created with SSE Using CMKs stored in AWS KMS.

                            \n\n

                            For information on PutBucketReplication errors, see List of\n replication-related error codes\n

                            \n\n\n

                            The following operations are related to PutBucketReplication:

                            \n ", + "smithy.api#documentation": "

                            Creates a replication configuration or replaces an existing one. For more information,\n see Replication in the Amazon S3 Developer Guide.

                            \n \n

                            To perform this operation, the user or role performing the operation must have the\n iam:PassRole permission.

                            \n
                            \n

                            Specify the replication configuration in the request body. In the replication\n configuration, you provide the name of the destination bucket where you want Amazon S3 to\n replicate objects, the IAM role that Amazon S3 can assume to replicate objects on your behalf,\n and other relevant information.

                            \n\n\n

                            A replication configuration must include at least one rule, and can contain a maximum of\n 1,000. Each rule identifies a subset of objects to replicate by filtering the objects in\n the source bucket. To choose additional subsets of objects to replicate, add a rule for\n each subset. All rules must specify the same destination bucket.

                            \n\n

                            To specify a subset of the objects in the source bucket to apply a replication rule to,\n add the Filter element as a child of the Rule element. You can filter objects based on an\n object key prefix, one or more object tags, or both. When you add the Filter element in the\n configuration, you must also add the following elements:\n DeleteMarkerReplication, Status, and\n Priority.

                            \n \n

                            If you are using an earlier version of the replication configuration, Amazon S3 handles\n replication of delete markers differently. For more information, see Backward Compatibility.

                            \n
                            \n

                            For information about enabling versioning on a bucket, see Using Versioning.

                            \n\n

                            By default, a resource owner, in this case the AWS account that created the bucket, can\n perform this operation. The resource owner can also grant others permissions to perform the\n operation. For more information about permissions, see Specifying Permissions in a Policy\n and Managing Access Permissions to Your\n Amazon S3 Resources.

                            \n\n

                            \n Handling Replication of Encrypted Objects\n

                            \n

                            By default, Amazon S3 doesn't replicate objects that are stored at rest using server-side\n encryption with CMKs stored in AWS KMS. To replicate AWS KMS-encrypted objects, add the\n following: SourceSelectionCriteria, SseKmsEncryptedObjects,\n Status, EncryptionConfiguration, and\n ReplicaKmsKeyID. For information about replication configuration, see\n Replicating Objects\n Created with SSE Using CMKs stored in AWS KMS.

                            \n\n

                            For information on PutBucketReplication errors, see List of\n replication-related error codes\n

                            \n\n\n

                            The following operations are related to PutBucketReplication:

                            \n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?replication", @@ -9580,10 +9566,7 @@ "ContentMD5": { "target": "com.amazonaws.s3#ContentMD5", "traits": { - "smithy.api#deprecated": { - "message": "Content-MD5 header will now be automatically computed and injected in associated operation's Http request." - }, - "smithy.api#documentation": "

                            The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message\n integrity check to verify that the request body was not corrupted in transit. For more\n information, see RFC 1864.

                            ", + "smithy.api#documentation": "

                            The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message\n integrity check to verify that the request body was not corrupted in transit. For more\n information, see RFC 1864.

                            \n

                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                            ", "smithy.api#httpHeader": "Content-MD5" } }, @@ -9639,10 +9622,7 @@ "ContentMD5": { "target": "com.amazonaws.s3#ContentMD5", "traits": { - "smithy.api#deprecated": { - "message": "Content-MD5 header will now be automatically computed and injected in associated operation's Http request." - }, - "smithy.api#documentation": "

                            >The base64-encoded 128-bit MD5 digest of the data. You must use this header as a\n message integrity check to verify that the request body was not corrupted in transit. For\n more information, see RFC\n 1864.

                            ", + "smithy.api#documentation": "

                            >The base64-encoded 128-bit MD5 digest of the data. You must use this header as a\n message integrity check to verify that the request body was not corrupted in transit. For\n more information, see RFC\n 1864.

                            \n

                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                            ", "smithy.api#httpHeader": "Content-MD5" } }, @@ -9692,10 +9672,7 @@ "ContentMD5": { "target": "com.amazonaws.s3#ContentMD5", "traits": { - "smithy.api#deprecated": { - "message": "Content-MD5 header will now be automatically computed and injected in associated operation's Http request." - }, - "smithy.api#documentation": "

                            The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message\n integrity check to verify that the request body was not corrupted in transit. For more\n information, see RFC 1864.

                            ", + "smithy.api#documentation": "

                            The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message\n integrity check to verify that the request body was not corrupted in transit. For more\n information, see RFC 1864.

                            \n

                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                            ", "smithy.api#httpHeader": "Content-MD5" } }, @@ -9745,10 +9722,7 @@ "ContentMD5": { "target": "com.amazonaws.s3#ContentMD5", "traits": { - "smithy.api#deprecated": { - "message": "Content-MD5 header will now be automatically computed and injected in associated operation's Http request." - }, - "smithy.api#documentation": "

                            >The base64-encoded 128-bit MD5 digest of the data. You must use this header as a\n message integrity check to verify that the request body was not corrupted in transit. For\n more information, see RFC\n 1864.

                            ", + "smithy.api#documentation": "

                            >The base64-encoded 128-bit MD5 digest of the data. You must use this header as a\n message integrity check to verify that the request body was not corrupted in transit. For\n more information, see RFC\n 1864.

                            \n

                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                            ", "smithy.api#httpHeader": "Content-MD5" } }, @@ -9805,10 +9779,7 @@ "ContentMD5": { "target": "com.amazonaws.s3#ContentMD5", "traits": { - "smithy.api#deprecated": { - "message": "Content-MD5 header will now be automatically computed and injected in associated operation's Http request." - }, - "smithy.api#documentation": "

                            The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message\n integrity check to verify that the request body was not corrupted in transit. For more\n information, see RFC 1864.

                            ", + "smithy.api#documentation": "

                            The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message\n integrity check to verify that the request body was not corrupted in transit. For more\n information, see RFC 1864.

                            \n

                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                            ", "smithy.api#httpHeader": "Content-MD5" } }, @@ -9908,10 +9879,7 @@ "ContentMD5": { "target": "com.amazonaws.s3#ContentMD5", "traits": { - "smithy.api#deprecated": { - "message": "Content-MD5 header will now be automatically computed and injected in associated operation's Http request." - }, - "smithy.api#documentation": "

                            The base64-encoded 128-bit MD5 digest of the data. This header must be used as a message\n integrity check to verify that the request body was not corrupted in transit. For more\n information, go to RFC\n 1864.>\n

                            ", + "smithy.api#documentation": "

                            The base64-encoded 128-bit MD5 digest of the data. This header must be used as a message\n integrity check to verify that the request body was not corrupted in transit. For more\n information, go to RFC\n 1864.>\n

                            \n

                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                            ", "smithy.api#httpHeader": "Content-MD5" } }, @@ -10051,10 +10019,7 @@ "ContentMD5": { "target": "com.amazonaws.s3#ContentMD5", "traits": { - "smithy.api#deprecated": { - "message": "Content-MD5 header will now be automatically computed and injected in associated operation's Http request." - }, - "smithy.api#documentation": "

                            The MD5 hash for the request body.

                            ", + "smithy.api#documentation": "

                            The MD5 hash for the request body.

                            \n

                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                            ", "smithy.api#httpHeader": "Content-MD5" } }, @@ -10130,10 +10095,7 @@ "ContentMD5": { "target": "com.amazonaws.s3#ContentMD5", "traits": { - "smithy.api#deprecated": { - "message": "Content-MD5 header will now be automatically computed and injected in associated operation's Http request." - }, - "smithy.api#documentation": "

                            The MD5 hash for the request body.

                            ", + "smithy.api#documentation": "

                            The MD5 hash for the request body.

                            \n

                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                            ", "smithy.api#httpHeader": "Content-MD5" } }, @@ -10514,10 +10476,7 @@ "ContentMD5": { "target": "com.amazonaws.s3#ContentMD5", "traits": { - "smithy.api#deprecated": { - "message": "Content-MD5 header will now be automatically computed and injected in associated operation's Http request." - }, - "smithy.api#documentation": "

                            The MD5 hash for the request body.

                            ", + "smithy.api#documentation": "

                            The MD5 hash for the request body.

                            \n

                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                            ", "smithy.api#httpHeader": "Content-MD5" } }, @@ -10589,10 +10548,7 @@ "ContentMD5": { "target": "com.amazonaws.s3#ContentMD5", "traits": { - "smithy.api#deprecated": { - "message": "Content-MD5 header will now be automatically computed and injected in associated operation's Http request." - }, - "smithy.api#documentation": "

                            The MD5 hash for the request body.

                            ", + "smithy.api#documentation": "

                            The MD5 hash for the request body.

                            \n

                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                            ", "smithy.api#httpHeader": "Content-MD5" } }, @@ -10642,10 +10598,7 @@ "ContentMD5": { "target": "com.amazonaws.s3#ContentMD5", "traits": { - "smithy.api#deprecated": { - "message": "Content-MD5 header will now be automatically computed and injected in associated operation's Http request." - }, - "smithy.api#documentation": "

                            The MD5 hash of the PutPublicAccessBlock request body.

                            ", + "smithy.api#documentation": "

                            The MD5 hash of the PutPublicAccessBlock request body.

                            \n

                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                            ", "smithy.api#httpHeader": "Content-MD5" } }, @@ -10925,7 +10878,7 @@ } }, "com.amazonaws.s3#ReplicationRuleFilter": { - "type": "structure", + "type": "union", "members": { "Prefix": { "target": "com.amazonaws.s3#Prefix", @@ -11123,7 +11076,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Restores an archived copy of an object back into Amazon S3

                            \n

                            This action is not supported by Amazon S3 on Outposts.

                            \n

                            This action performs the following types of requests:

                            \n
                              \n
                            • \n

                              \n select - Perform a select query on an archived object

                              \n
                            • \n
                            • \n

                              \n restore an archive - Restore an archived object

                              \n
                            • \n
                            \n

                            To use this operation, you must have permissions to perform the\n s3:RestoreObject action. The bucket owner has this permission by default\n and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources in the Amazon Simple Storage Service Developer Guide.

                            \n

                            \n Querying Archives with Select Requests\n

                            \n

                            You use a select type of request to perform SQL queries on archived objects. The\n archived objects that are being queried by the select request must be formatted as\n uncompressed comma-separated values (CSV) files. You can run queries and custom analytics\n on your archived data without having to restore your data to a hotter Amazon S3 tier. For an\n overview about select requests, see Querying Archived Objects in the Amazon Simple Storage Service Developer Guide.

                            \n

                            When making a select request, do the following:

                            \n
                              \n
                            • \n

                              Define an output location for the select query's output. This must be an Amazon S3\n bucket in the same AWS Region as the bucket that contains the archive object that is\n being queried. The AWS account that initiates the job must have permissions to write\n to the S3 bucket. You can specify the storage class and encryption for the output\n objects stored in the bucket. For more information about output, see Querying Archived Objects\n in the Amazon Simple Storage Service Developer Guide.

                              \n

                              For more information about the S3 structure in the request body, see\n the following:

                              \n \n
                            • \n
                            • \n

                              Define the SQL expression for the SELECT type of restoration for your\n query in the request body's SelectParameters structure. You can use\n expressions like the following examples.

                              \n
                                \n
                              • \n

                                The following expression returns all records from the specified\n object.

                                \n

                                \n SELECT * FROM Object\n

                                \n
                              • \n
                              • \n

                                Assuming that you are not using any headers for data stored in the object,\n you can specify columns with positional headers.

                                \n

                                \n SELECT s._1, s._2 FROM Object s WHERE s._3 > 100\n

                                \n
                              • \n
                              • \n

                                If you have headers and you set the fileHeaderInfo in the\n CSV structure in the request body to USE, you can\n specify headers in the query. (If you set the fileHeaderInfo field\n to IGNORE, the first row is skipped for the query.) You cannot mix\n ordinal positions with header column names.

                                \n

                                \n SELECT s.Id, s.FirstName, s.SSN FROM S3Object s\n

                                \n
                              • \n
                              \n
                            • \n
                            \n

                            For more information about using SQL with S3 Glacier Select restore, see SQL Reference for Amazon S3 Select and\n S3 Glacier Select in the Amazon Simple Storage Service Developer Guide.

                            \n

                            When making a select request, you can also do the following:

                            \n
                              \n
                            • \n

                              To expedite your queries, specify the Expedited tier. For more\n information about tiers, see \"Restoring Archives,\" later in this topic.

                              \n
                            • \n
                            • \n

                              Specify details about the data serialization format of both the input object that\n is being queried and the serialization of the CSV-encoded query results.

                              \n
                            • \n
                            \n

                            The following are additional important facts about the select feature:

                            \n
                              \n
                            • \n

                              The output results are new Amazon S3 objects. Unlike archive retrievals, they are\n stored until explicitly deleted-manually or through a lifecycle policy.

                              \n
                            • \n
                            • \n

                              You can issue more than one select request on the same Amazon S3 object. Amazon S3 doesn't\n deduplicate requests, so avoid issuing duplicate requests.

                              \n
                            • \n
                            • \n

                              Amazon S3 accepts a select request even if the object has already been restored. A\n select request doesn’t return error response 409.

                              \n
                            • \n
                            \n

                            \n Restoring Archives\n

                            \n

                            Objects that you archive to the S3 Glacier,\n S3 Glacier Deep Archive, S3 Intelligent-Tiering Archive, or S3 Intelligent-Tiering Deep Archive storage\n classes are not accessible in real time. For objects in Archive Access tier or\n Deep Archive Access tier you must first initiate a restore request, and then wait until the object\n is moved into the Frequent Access tier. For objects in S3 Glacier or\n S3 Glacier Deep Archive you must first initiate a restore request, and then wait\n until a temporary copy of the object is available. To access an archived object, you must\n restore the object for the duration (number of days) that you specify.

                            \n

                            To restore a specific object version, you can provide a version ID. If you don't provide\n a version ID, Amazon S3 restores the current version.

                            \n

                            When restoring an archived object (or using a select request), you can specify one of\n the following data access tier options in the Tier element of the request\n body:

                            \n
                              \n
                            • \n

                              \n \n Expedited\n - Expedited retrievals\n allow you to quickly access your data stored in the S3 Glacier or\n S3 Intelligent-Tiering Archive storage class when occasional urgent requests for a subset of\n archives are required. For all but the largest archived objects (250 MB+), data\n accessed using Expedited retrievals is typically made available within 1–5 minutes.\n Provisioned capacity ensures that retrieval capacity for Expedited retrievals is\n available when you need it. Expedited retrievals and provisioned capacity are not\n available for objects stored in the S3 Glacier Deep Archive or\n S3 Intelligent-Tiering Deep Archive storage class.

                              \n
                            • \n
                            • \n

                              \n \n Standard\n - Standard retrievals allow\n you to access any of your archived objects within several hours. This is the default\n option for retrieval requests that do not specify the retrieval option. Standard\n retrievals typically finish within 3–5 hours for objects stored in the\n S3 Glacier or S3 Intelligent-Tiering Archive storage class. They typically\n finish within 12 hours for objects stored in the S3 Glacier Deep Archive or\n S3 Intelligent-Tiering Deep Archive storage class. Standard retrievals are free for objects stored\n in S3 Intelligent-Tiering.

                              \n
                            • \n
                            • \n

                              \n \n Bulk\n - Bulk retrievals are the\n lowest-cost retrieval option in S3 Glacier, enabling you to retrieve large amounts,\n even petabytes, of data inexpensively. Bulk retrievals typically finish within 5–12\n hours for objects stored in the S3 Glacier or S3 Intelligent-Tiering Archive\n storage class. They typically finish within 48 hours for objects stored in the\n S3 Glacier Deep Archive or S3 Intelligent-Tiering Deep Archive storage class. Bulk\n retrievals are free for objects stored in S3 Intelligent-Tiering.

                              \n
                            • \n
                            \n

                            For more information about archive retrieval options and provisioned capacity for\n Expedited data access, see Restoring Archived Objects in the Amazon Simple Storage Service Developer Guide.

                            \n

                            You can use Amazon S3 restore speed upgrade to change the restore speed to a faster speed\n while it is in progress. For more information, see \n Upgrading the speed of an in-progress restore in the\n Amazon Simple Storage Service Developer Guide.

                            \n

                            To get the status of object restoration, you can send a HEAD request.\n Operations return the x-amz-restore header, which provides information about\n the restoration status, in the response. You can use Amazon S3 event notifications to notify you\n when a restore is initiated or completed. For more information, see Configuring Amazon S3 Event Notifications in\n the Amazon Simple Storage Service Developer Guide.

                            \n

                            After restoring an archived object, you can update the restoration period by reissuing\n the request with a new period. Amazon S3 updates the restoration period relative to the current\n time and charges only for the request-there are no data transfer charges. You cannot\n update the restoration period when Amazon S3 is actively processing your current restore request\n for the object.

                            \n

                            If your bucket has a lifecycle configuration with a rule that includes an expiration\n action, the object expiration overrides the life span that you specify in a restore\n request. For example, if you restore an object copy for 10 days, but the object is\n scheduled to expire in 3 days, Amazon S3 deletes the object in 3 days. For more information\n about lifecycle configuration, see PutBucketLifecycleConfiguration and Object Lifecycle Management in\n Amazon Simple Storage Service Developer Guide.

                            \n

                            \n Responses\n

                            \n

                            A successful operation returns either the 200 OK or 202\n Accepted status code.

                            \n
                              \n
                            • \n

                              If the object is not previously restored, then Amazon S3 returns 202\n Accepted in the response.

                              \n
                            • \n
                            • \n

                              If the object is previously restored, Amazon S3 returns 200 OK in the\n response.

                              \n
                            • \n
                            \n

                            \n Special Errors\n

                            \n
                              \n
                            • \n
                                \n
                              • \n

                                \n Code: RestoreAlreadyInProgress\n

                                \n
                              • \n
                              • \n

                                \n Cause: Object restore is already in progress. (This error does not\n apply to SELECT type requests.)\n

                                \n
                              • \n
                              • \n

                                \n HTTP Status Code: 409 Conflict\n

                                \n
                              • \n
                              • \n

                                \n SOAP Fault Code Prefix: Client\n

                                \n
                              • \n
                              \n
                            • \n
                            • \n
                                \n
                              • \n

                                \n Code: GlacierExpeditedRetrievalNotAvailable\n

                                \n
                              • \n
                              • \n

                                \n Cause: expedited retrievals are currently not available. Try again\n later. (Returned if there is insufficient capacity to process the Expedited\n request. This error applies only to Expedited retrievals and not to\n S3 Standard or Bulk retrievals.)\n

                                \n
                              • \n
                              • \n

                                \n HTTP Status Code: 503\n

                                \n
                              • \n
                              • \n

                                \n SOAP Fault Code Prefix: N/A\n

                                \n
                              • \n
                              \n
                            • \n
                            \n \n

                            \n Related Resources\n

                            \n ", + "smithy.api#documentation": "

                            Restores an archived copy of an object back into Amazon S3

                            \n

                            This action is not supported by Amazon S3 on Outposts.

                            \n

                            This action performs the following types of requests:

                            \n
                              \n
                            • \n

                              \n select - Perform a select query on an archived object

                              \n
                            • \n
                            • \n

                              \n restore an archive - Restore an archived object

                              \n
                            • \n
                            \n

                            To use this operation, you must have permissions to perform the\n s3:RestoreObject action. The bucket owner has this permission by default\n and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources in the Amazon Simple Storage Service Developer Guide.

                            \n

                            \n Querying Archives with Select Requests\n

                            \n

                            You use a select type of request to perform SQL queries on archived objects. The\n archived objects that are being queried by the select request must be formatted as\n uncompressed comma-separated values (CSV) files. You can run queries and custom analytics\n on your archived data without having to restore your data to a hotter Amazon S3 tier. For an\n overview about select requests, see Querying Archived Objects in the Amazon Simple Storage Service Developer Guide.

                            \n

                            When making a select request, do the following:

                            \n
                              \n
                            • \n

                              Define an output location for the select query's output. This must be an Amazon S3\n bucket in the same AWS Region as the bucket that contains the archive object that is\n being queried. The AWS account that initiates the job must have permissions to write\n to the S3 bucket. You can specify the storage class and encryption for the output\n objects stored in the bucket. For more information about output, see Querying Archived Objects\n in the Amazon Simple Storage Service Developer Guide.

                              \n

                              For more information about the S3 structure in the request body, see\n the following:

                              \n \n
                            • \n
                            • \n

                              Define the SQL expression for the SELECT type of restoration for your\n query in the request body's SelectParameters structure. You can use\n expressions like the following examples.

                              \n
                                \n
                              • \n

                                The following expression returns all records from the specified\n object.

                                \n

                                \n SELECT * FROM Object\n

                                \n
                              • \n
                              • \n

                                Assuming that you are not using any headers for data stored in the object,\n you can specify columns with positional headers.

                                \n

                                \n SELECT s._1, s._2 FROM Object s WHERE s._3 > 100\n

                                \n
                              • \n
                              • \n

                                If you have headers and you set the fileHeaderInfo in the\n CSV structure in the request body to USE, you can\n specify headers in the query. (If you set the fileHeaderInfo field\n to IGNORE, the first row is skipped for the query.) You cannot mix\n ordinal positions with header column names.

                                \n

                                \n SELECT s.Id, s.FirstName, s.SSN FROM S3Object s\n

                                \n
                              • \n
                              \n
                            • \n
                            \n

                            For more information about using SQL with S3 Glacier Select restore, see SQL Reference for Amazon S3 Select and\n S3 Glacier Select in the Amazon Simple Storage Service Developer Guide.

                            \n

                            When making a select request, you can also do the following:

                            \n
                              \n
                            • \n

                              To expedite your queries, specify the Expedited tier. For more\n information about tiers, see \"Restoring Archives,\" later in this topic.

                              \n
                            • \n
                            • \n

                              Specify details about the data serialization format of both the input object that\n is being queried and the serialization of the CSV-encoded query results.

                              \n
                            • \n
                            \n

                            The following are additional important facts about the select feature:

                            \n
                              \n
                            • \n

                              The output results are new Amazon S3 objects. Unlike archive retrievals, they are\n stored until explicitly deleted-manually or through a lifecycle policy.

                              \n
                            • \n
                            • \n

                              You can issue more than one select request on the same Amazon S3 object. Amazon S3 doesn't\n deduplicate requests, so avoid issuing duplicate requests.

                              \n
                            • \n
                            • \n

                              Amazon S3 accepts a select request even if the object has already been restored. A\n select request doesn’t return error response 409.

                              \n
                            • \n
                            \n

                            \n Restoring objects\n

                            \n

                            Objects that you archive to the S3 Glacier or\n S3 Glacier Deep Archive storage class, and S3 Intelligent-Tiering Archive or\n S3 Intelligent-Tiering Deep Archive tiers are not accessible in real time. For objects in\n Archive Access or Deep Archive Access tiers you must first initiate a restore request, and\n then wait until the object is moved into the Frequent Access tier. For objects in\n S3 Glacier or S3 Glacier Deep Archive storage classes you must\n first initiate a restore request, and then wait until a temporary copy of the object is\n available. To access an archived object, you must restore the object for the duration\n (number of days) that you specify.

                            \n

                            To restore a specific object version, you can provide a version ID. If you don't provide\n a version ID, Amazon S3 restores the current version.

                            \n

                            When restoring an archived object (or using a select request), you can specify one of\n the following data access tier options in the Tier element of the request\n body:

                            \n
                              \n
                            • \n

                              \n \n Expedited\n - Expedited retrievals\n allow you to quickly access your data stored in the S3 Glacier\n storage class or S3 Intelligent-Tiering Archive tier when occasional urgent requests for a\n subset of archives are required. For all but the largest archived objects (250 MB+),\n data accessed using Expedited retrievals is typically made available within 1–5\n minutes. Provisioned capacity ensures that retrieval capacity for Expedited\n retrievals is available when you need it. Expedited retrievals and provisioned\n capacity are not available for objects stored in the S3 Glacier Deep Archive\n storage class or S3 Intelligent-Tiering Deep Archive tier.

                              \n
                            • \n
                            • \n

                              \n \n Standard\n - Standard retrievals allow\n you to access any of your archived objects within several hours. This is the default\n option for retrieval requests that do not specify the retrieval option. Standard\n retrievals typically finish within 3–5 hours for objects stored in the\n S3 Glacier storage class or S3 Intelligent-Tiering Archive tier. They\n typically finish within 12 hours for objects stored in the\n S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier.\n Standard retrievals are free for objects stored in S3 Intelligent-Tiering.

                              \n
                            • \n
                            • \n

                              \n \n Bulk\n - Bulk retrievals are the\n lowest-cost retrieval option in S3 Glacier, enabling you to retrieve large amounts,\n even petabytes, of data inexpensively. Bulk retrievals typically finish within 5–12\n hours for objects stored in the S3 Glacier storage class or\n S3 Intelligent-Tiering Archive tier. They typically finish within 48 hours for objects stored\n in the S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier.\n Bulk retrievals are free for objects stored in S3 Intelligent-Tiering.

                              \n
                            • \n
                            \n

                            For more information about archive retrieval options and provisioned capacity for\n Expedited data access, see Restoring Archived Objects in the Amazon Simple Storage Service Developer Guide.

                            \n

                            You can use Amazon S3 restore speed upgrade to change the restore speed to a faster speed\n while it is in progress. For more information, see \n Upgrading the speed of an in-progress restore in the\n Amazon Simple Storage Service Developer Guide.

                            \n

                            To get the status of object restoration, you can send a HEAD request.\n Operations return the x-amz-restore header, which provides information about\n the restoration status, in the response. You can use Amazon S3 event notifications to notify you\n when a restore is initiated or completed. For more information, see Configuring Amazon S3 Event Notifications in\n the Amazon Simple Storage Service Developer Guide.

                            \n

                            After restoring an archived object, you can update the restoration period by reissuing\n the request with a new period. Amazon S3 updates the restoration period relative to the current\n time and charges only for the request-there are no data transfer charges. You cannot\n update the restoration period when Amazon S3 is actively processing your current restore request\n for the object.

                            \n

                            If your bucket has a lifecycle configuration with a rule that includes an expiration\n action, the object expiration overrides the life span that you specify in a restore\n request. For example, if you restore an object copy for 10 days, but the object is\n scheduled to expire in 3 days, Amazon S3 deletes the object in 3 days. For more information\n about lifecycle configuration, see PutBucketLifecycleConfiguration and Object Lifecycle Management in\n Amazon Simple Storage Service Developer Guide.

                            \n

                            \n Responses\n

                            \n

                            A successful operation returns either the 200 OK or 202\n Accepted status code.

                            \n
                              \n
                            • \n

                              If the object is not previously restored, then Amazon S3 returns 202\n Accepted in the response.

                              \n
                            • \n
                            • \n

                              If the object is previously restored, Amazon S3 returns 200 OK in the\n response.

                              \n
                            • \n
                            \n

                            \n Special Errors\n

                            \n
                              \n
                            • \n
                                \n
                              • \n

                                \n Code: RestoreAlreadyInProgress\n

                                \n
                              • \n
                              • \n

                                \n Cause: Object restore is already in progress. (This error does not\n apply to SELECT type requests.)\n

                                \n
                              • \n
                              • \n

                                \n HTTP Status Code: 409 Conflict\n

                                \n
                              • \n
                              • \n

                                \n SOAP Fault Code Prefix: Client\n

                                \n
                              • \n
                              \n
                            • \n
                            • \n
                                \n
                              • \n

                                \n Code: GlacierExpeditedRetrievalNotAvailable\n

                                \n
                              • \n
                              • \n

                                \n Cause: expedited retrievals are currently not available. Try again\n later. (Returned if there is insufficient capacity to process the Expedited\n request. This error applies only to Expedited retrievals and not to\n S3 Standard or Bulk retrievals.)\n

                                \n
                              • \n
                              • \n

                                \n HTTP Status Code: 503\n

                                \n
                              • \n
                              • \n

                                \n SOAP Fault Code Prefix: N/A\n

                                \n
                              • \n
                              \n
                            • \n
                            \n \n

                            \n Related Resources\n

                            \n ", "smithy.api#http": { "method": "POST", "uri": "/{Bucket}/{Key+}?restore", @@ -12001,7 +11954,7 @@ "Days": { "target": "com.amazonaws.s3#IntelligentTieringDays", "traits": { - "smithy.api#documentation": "

                            The number of days that you want your archived data to be accessible. The minimum number\n of days specified in the restore request must be at least 90 days. If a smaller value is\n specifed it will be ignored.

                            ", + "smithy.api#documentation": "

                            The number of consecutive days of no access after which an object will be eligible to be\n transitioned to the corresponding tier. The minimum number of days specified for\n Archive Access tier must be at least 90 days and Deep Archive Access tier must be at least\n 180 days. The maximum can be up to 2 years (730 days).

                            ", "smithy.api#required": {} } }, diff --git a/codegen/sdk-codegen/aws-models/service-catalog-appregistry.2020-06-24.json b/codegen/sdk-codegen/aws-models/service-catalog-appregistry.2020-06-24.json index 34b6938d0ce2..ea124385b13c 100644 --- a/codegen/sdk-codegen/aws-models/service-catalog-appregistry.2020-06-24.json +++ b/codegen/sdk-codegen/aws-models/service-catalog-appregistry.2020-06-24.json @@ -252,7 +252,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Associates an attribute group with an application to augment the application's metadata with the group's attributes. This way applications can be described with user-defined details which are machine-readable (e.g. for third-party integrations).

                            ", + "smithy.api#documentation": "

                            Associates an attribute group with an application to augment the application's metadata\n with the group's attributes. This feature enables applications to be described with\n user-defined details that are machine-readable, such as third-party integrations.

                            ", "smithy.api#http": { "method": "PUT", "uri": "/applications/{application}/attribute-groups/{attributeGroup}", @@ -343,6 +343,7 @@ "resourceType": { "target": "com.amazonaws.servicecatalogappregistry#ResourceType", "traits": { + "smithy.api#documentation": "

                            The type of resource of which the application will be associated.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -394,7 +395,7 @@ "arn": { "target": "com.amazonaws.servicecatalogappregistry#AttributeGroupArn", "traits": { - "smithy.api#documentation": "

                            The Amazon resource name (ARN) that specifies the application across services.

                            " + "smithy.api#documentation": "

                            The Amazon resource name (ARN) that specifies the attribute group across services.

                            " } }, "name": { @@ -482,7 +483,7 @@ "arn": { "target": "com.amazonaws.servicecatalogappregistry#AttributeGroupArn", "traits": { - "smithy.api#documentation": "

                            The Amazon resource name (ARN) that specifies the application across services.

                            " + "smithy.api#documentation": "

                            The Amazon resource name (ARN) that specifies the attribute group across services.

                            " } }, "name": { @@ -600,7 +601,7 @@ "clientToken": { "target": "com.amazonaws.servicecatalogappregistry#ClientToken", "traits": { - "smithy.api#documentation": "

                            A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the clientToken, the same response is returned for each repeated request.

                            ", + "smithy.api#documentation": "

                            A unique identifier that you provide to ensure idempotency. If you retry a request that\n completed successfully using the same client token and the same parameters, the retry succeeds\n without performing any further actions. If you retry a successful request using the same\n client token, but one or more of the parameters are different, the retry fails.

                            ", "smithy.api#idempotencyToken": {}, "smithy.api#required": {} } @@ -613,7 +614,7 @@ "application": { "target": "com.amazonaws.servicecatalogappregistry#Application", "traits": { - "smithy.api#documentation": "

                            The name or ID of the application.

                            " + "smithy.api#documentation": "

                            Information about the application.

                            " } } } @@ -641,7 +642,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Creates a new attribute group as a container for user-defined attributes. This approach enables users to have full control over their cloud application's metadata in a rich machine-readable format to facilitate integration with automated workflows and third-party tools.

                            ", + "smithy.api#documentation": "

                            Creates a new attribute group as a container for user-defined attributes. This feature\n enables users to have full control over their cloud application's metadata in a rich\n machine-readable format to facilitate integration with automated workflows and third-party\n tools.

                            ", "smithy.api#http": { "method": "POST", "uri": "/attribute-groups", @@ -681,7 +682,7 @@ "clientToken": { "target": "com.amazonaws.servicecatalogappregistry#ClientToken", "traits": { - "smithy.api#documentation": "

                            A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the\n clientToken, the same response is returned for each repeated request.

                            ", + "smithy.api#documentation": "

                            A unique identifier that you provide to ensure idempotency. If you retry a request that\n completed successfully using the same client token and the same parameters, the retry succeeds\n without performing any further actions. If you retry a successful request using the same\n client token, but one or more of the parameters are different, the retry fails.

                            ", "smithy.api#idempotencyToken": {}, "smithy.api#required": {} } @@ -694,7 +695,7 @@ "attributeGroup": { "target": "com.amazonaws.servicecatalogappregistry#AttributeGroup", "traits": { - "smithy.api#documentation": "

                            The name or ID of the attribute group that holds the attributes to describe the application.

                            " + "smithy.api#documentation": "

                            Information about the attribute group.

                            " } } } @@ -719,7 +720,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Delete an application, specified either by its application ID or name.

                            ", + "smithy.api#documentation": "

                            Deletes an application that is specified either by its application ID or name. All associated attribute groups and resources must be disassociated from it before deleting an application.

                            ", "smithy.api#http": { "method": "DELETE", "uri": "/applications/{application}", @@ -746,7 +747,7 @@ "application": { "target": "com.amazonaws.servicecatalogappregistry#ApplicationSummary", "traits": { - "smithy.api#documentation": "

                            The name or ID of the application.

                            " + "smithy.api#documentation": "

                            Information about the deleted application.

                            " } } } @@ -798,7 +799,7 @@ "attributeGroup": { "target": "com.amazonaws.servicecatalogappregistry#AttributeGroupSummary", "traits": { - "smithy.api#documentation": "

                            The name or ID of the attribute group that holds the attributes to describe the application.

                            " + "smithy.api#documentation": "

                            Information about the deleted attribute group.

                            " } } } @@ -832,7 +833,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Disassociates an attribute group from an application to remove the extra attributes contained in the attribute group from the application's metadata. This operation reverts AssociateAttributeGroup.

                            ", + "smithy.api#documentation": "

                            Disassociates an attribute group from an application to remove the extra attributes contained in the attribute group from the application's metadata. This operation reverts AssociateAttributeGroup.

                            ", "smithy.api#http": { "method": "DELETE", "uri": "/applications/{application}/attribute-groups/{attributeGroup}", @@ -867,13 +868,13 @@ "applicationArn": { "target": "com.amazonaws.servicecatalogappregistry#ApplicationArn", "traits": { - "smithy.api#documentation": "

                            The Amazon resource name (ARN) of the application that was augmented with attributes.

                            " + "smithy.api#documentation": "

                            The Amazon resource name (ARN) that specifies the application.

                            " } }, "attributeGroupArn": { "target": "com.amazonaws.servicecatalogappregistry#AttributeGroupArn", "traits": { - "smithy.api#documentation": "

                            The Amazon resource name (ARN) of the attribute group that contains the application's new attributes.

                            " + "smithy.api#documentation": "

                            The Amazon resource name (ARN) that specifies the attribute group.

                            " } } } @@ -917,7 +918,7 @@ "resourceType": { "target": "com.amazonaws.servicecatalogappregistry#ResourceType", "traits": { - "smithy.api#documentation": "

                            The type of the resource that's being disassociated.

                            ", + "smithy.api#documentation": "

                            The type of the resource that is being disassociated.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -925,7 +926,7 @@ "resource": { "target": "com.amazonaws.servicecatalogappregistry#ResourceSpecifier", "traits": { - "smithy.api#documentation": "

                            The name or ID of the resource of which the application will be associated.

                            ", + "smithy.api#documentation": "

                            The name or ID of the resource.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -938,7 +939,7 @@ "applicationArn": { "target": "com.amazonaws.servicecatalogappregistry#ApplicationArn", "traits": { - "smithy.api#documentation": "

                            The Amazon resource name (ARN) of the application that was augmented with attributes.

                            " + "smithy.api#documentation": "

                            The Amazon resource name (ARN) that specifies the application.

                            " } }, "resourceArn": { @@ -969,7 +970,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Retrieves metadata information about one of your applications. The application can be specified either by its unique ID or by its name (which is unique within one account in one region at a given point in time). Specify by ID in automated workflows if you want to make sure that the exact same application is returned or a ResourceNotFoundException is thrown, avoiding the ABA addressing problem.

                            ", + "smithy.api#documentation": "

                            Retrieves metadata information about one of your applications. The application can be specified either by its unique ID or by its name (which is unique within one account in one region at a given point in time). Specify by ID in automated workflows if you want to make sure that the exact same application is returned or a ResourceNotFoundException is thrown, avoiding the ABA addressing problem.

                            ", "smithy.api#http": { "method": "GET", "uri": "/applications/{application}", @@ -1038,7 +1039,7 @@ "tags": { "target": "com.amazonaws.servicecatalogappregistry#Tags", "traits": { - "smithy.api#documentation": "

                            Key-value pairs you can use to associate with the application.

                            " + "smithy.api#documentation": "

                            Key-value pairs associated with the application.

                            " } } } @@ -1063,7 +1064,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Retrieves an attribute group, either by its name or its ID.

                            ", + "smithy.api#documentation": "

                            Retrieves an attribute group, either by its name or its ID. The attribute group can be specified either by its unique ID or by its name.

                            ", "smithy.api#http": { "method": "GET", "uri": "/attribute-groups/{attributeGroup}", @@ -1090,13 +1091,13 @@ "id": { "target": "com.amazonaws.servicecatalogappregistry#AttributeGroupId", "traits": { - "smithy.api#documentation": "

                            The identifier of the application.

                            " + "smithy.api#documentation": "

                            The identifier of the attribute group.

                            " } }, "arn": { "target": "com.amazonaws.servicecatalogappregistry#AttributeGroupArn", "traits": { - "smithy.api#documentation": "

                            The Amazon resource name (ARN) that specifies the application across services.

                            " + "smithy.api#documentation": "

                            The Amazon resource name (ARN) that specifies the attribute group across services.

                            " } }, "name": { @@ -1132,7 +1133,7 @@ "tags": { "target": "com.amazonaws.servicecatalogappregistry#Tags", "traits": { - "smithy.api#documentation": "

                            Key-value pairs you can use to associate with the attribute group.

                            " + "smithy.api#documentation": "

                            Key-value pairs associated with the attribute group.

                            " } } } @@ -1207,7 +1208,7 @@ "applications": { "target": "com.amazonaws.servicecatalogappregistry#ApplicationSummaries", "traits": { - "smithy.api#documentation": "

                            The name or ID of the application.

                            " + "smithy.api#documentation": "

                            This list of applications.

                            " } }, "nextToken": { @@ -1365,7 +1366,7 @@ "resources": { "target": "com.amazonaws.servicecatalogappregistry#Resources", "traits": { - "smithy.api#documentation": "

                            The name or ID of the resource of which the application will be associated.

                            " + "smithy.api#documentation": "

                            Information about the resources.

                            " } }, "nextToken": { @@ -1433,7 +1434,7 @@ "attributeGroups": { "target": "com.amazonaws.servicecatalogappregistry#AttributeGroupSummaries", "traits": { - "smithy.api#documentation": "

                            A list of attribute group IDs.

                            " + "smithy.api#documentation": "

                            This list of attribute groups.

                            " } }, "nextToken": { @@ -1485,7 +1486,7 @@ "arn": { "target": "com.amazonaws.servicecatalogappregistry#StackArn", "traits": { - "smithy.api#documentation": "

                            The Amazon resource name (ARN) that specifies the application across services.

                            " + "smithy.api#documentation": "

                            The Amazon resource name (ARN) that specifies the resource across services.

                            " } } }, @@ -1630,7 +1631,7 @@ "application": { "target": "com.amazonaws.servicecatalogappregistry#ApplicationSpecifier", "traits": { - "smithy.api#documentation": "

                            The name or ID of the application. The name must be unique in the region in which you are\n updating the attribute group.

                            ", + "smithy.api#documentation": "

                            The name or ID of the application that will be updated.

                            ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1638,13 +1639,13 @@ "name": { "target": "com.amazonaws.servicecatalogappregistry#Name", "traits": { - "smithy.api#documentation": "

                            The anme of the application. The name must be unique in the region in which you are creating the application.

                            " + "smithy.api#documentation": "

                            The new name of the application. The name must be unique in the region in which you are updating the application.

                            " } }, "description": { "target": "com.amazonaws.servicecatalogappregistry#Description", "traits": { - "smithy.api#documentation": "

                            The description of the application.

                            " + "smithy.api#documentation": "

                            The new description of the application.

                            " } } } @@ -1655,7 +1656,7 @@ "application": { "target": "com.amazonaws.servicecatalogappregistry#Application", "traits": { - "smithy.api#documentation": "

                            The name or ID of the application.

                            " + "smithy.api#documentation": "

                            The updated information of the application.

                            " } } } @@ -1728,7 +1729,7 @@ "attributeGroup": { "target": "com.amazonaws.servicecatalogappregistry#AttributeGroup", "traits": { - "smithy.api#documentation": "

                            The name or ID of the attribute group that holds the attributes to describe the application.

                            " + "smithy.api#documentation": "

                            The updated information of the attribute group.

                            " } } }